From b954f2974125cd2fb2ff70212ccb9d478c4e8530 Mon Sep 17 00:00:00 2001 From: Linus Torvalds Date: Sat, 30 Apr 2005 15:42:33 -0700 Subject: [PATCH] --- yaml --- r: 617 b: refs/heads/master c: 1d651f3332340c232ff66b7f5bab66cb8903859f h: refs/heads/master i: 615: bbdc5717f0387cc1e7e7abae957a61e46c8a717a v: v3 --- [refs] | 2 +- trunk/arch/ppc64/kernel/signal32.c | 4 ++-- trunk/fs/cifs/CHANGES | 4 +++- trunk/fs/cifs/TODO | 12 ++++++++++-- trunk/fs/cifs/cifssmb.c | 6 ++++-- 5 files changed, 20 insertions(+), 8 deletions(-) diff --git a/[refs] b/[refs] index 6c3a566d053d..1883930ec463 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4774e2260cf25c54f2188dd0407676e3af6f1f23 +refs/heads/master: 1d651f3332340c232ff66b7f5bab66cb8903859f diff --git a/trunk/arch/ppc64/kernel/signal32.c b/trunk/arch/ppc64/kernel/signal32.c index b0e167db6af9..3c2fa5c284c0 100644 --- a/trunk/arch/ppc64/kernel/signal32.c +++ b/trunk/arch/ppc64/kernel/signal32.c @@ -657,7 +657,7 @@ static int handle_rt_signal32(unsigned long sig, struct k_sigaction *ka, /* Save user registers on the stack */ frame = &rt_sf->uc.uc_mcontext; - if (put_user(regs->gpr[1], (unsigned long __user *)newsp)) + if (put_user(regs->gpr[1], (u32 __user *)newsp)) goto badframe; if (vdso32_rt_sigtramp && current->thread.vdso_base) { @@ -842,7 +842,7 @@ static int handle_signal32(unsigned long sig, struct k_sigaction *ka, regs->link = (unsigned long) frame->mctx.tramp; } - if (put_user(regs->gpr[1], (unsigned long __user *)newsp)) + if (put_user(regs->gpr[1], (u32 __user *)newsp)) goto badframe; regs->gpr[1] = (unsigned long) newsp; regs->gpr[3] = sig; diff --git a/trunk/fs/cifs/CHANGES b/trunk/fs/cifs/CHANGES index 4d2404305ab6..95483baab706 100644 --- a/trunk/fs/cifs/CHANGES +++ b/trunk/fs/cifs/CHANGES @@ -4,7 +4,9 @@ Fix error mapping of the TOO_MANY_LINKS (hardlinks) case. Do not oops if root user kills cifs oplock kernel thread or kills the cifsd thread (NB: killing the cifs kernel threads is not recommended, unmount and rmmod cifs will kill them when they are -no longer needed). +no longer needed). Fix readdir to ASCII servers (ie older servers +which do not support Unicode) and also require asterik. + Version 1.33 ------------ diff --git a/trunk/fs/cifs/TODO b/trunk/fs/cifs/TODO index 1e8490ed6948..8cc881694e29 100644 --- a/trunk/fs/cifs/TODO +++ b/trunk/fs/cifs/TODO @@ -1,4 +1,4 @@ -version 1.32 April 3, 2005 +version 1.34 April 29, 2005 A Partial List of Missing Features ================================== @@ -70,7 +70,15 @@ r) Implement O_DIRECT flag on open (already supported on mount) s) Allow remapping of last remaining character (\) to +0xF000 which (this character is valid for POSIX but not for Windows) -KNOWN BUGS (updated April 3, 2005) +t) Create UID mapping facility so server UIDs can be mapped on a per +mount or a per server basis to client UIDs or nobody if no mapping +exists. This is helpful when Unix extensions are negotiated to +allow better permission checking when UIDs differ on the server +and client. Add new protocol request to the CIFS protocol +standard for asking the server for the corresponding name of a +particular uid. + +KNOWN BUGS (updated April 29, 2005) ==================================== See http://bugzilla.samba.org - search on product "CifsVFS" for current bug list. diff --git a/trunk/fs/cifs/cifssmb.c b/trunk/fs/cifs/cifssmb.c index b004fef0a42b..741ff0c69f37 100644 --- a/trunk/fs/cifs/cifssmb.c +++ b/trunk/fs/cifs/cifssmb.c @@ -2451,12 +2451,14 @@ CIFSFindFirst(const int xid, struct cifsTconInfo *tcon, name_len += 2; } else { /* BB add check for overrun of SMB buf BB */ name_len = strnlen(searchName, PATH_MAX); - name_len++; /* trailing null */ /* BB fix here and in unicode clause above ie if(name_len > buffersize-header) free buffer exit; BB */ strncpy(pSMB->FileName, searchName, name_len); - pSMB->FileName[name_len] = 0; /* just in case */ + pSMB->FileName[name_len] = '\\'; + pSMB->FileName[name_len+1] = '*'; + pSMB->FileName[name_len+2] = 0; + name_len += 3; } params = 12 + name_len /* includes null */ ;