Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9b8f5f573770f33b28c45255ac82e6457278c782
Commit:     9b8f5f573770f33b28c45255ac82e6457278c782
Parent:     a6f8de3d9b124c95893054fd2a78bc7be5bb9000
Author:     Jeff Layton <[EMAIL PROTECTED]>
AuthorDate: Fri Nov 9 23:25:04 2007 +0000
Committer:  Steve French <[EMAIL PROTECTED]>
CommitDate: Fri Nov 9 23:25:04 2007 +0000

    [CIFS] fix oops on second mount to same server when null auth is used
    
    When a share is mounted using no username, cifs_mount sets
    volume_info.username as a NULL pointer, and the sesInfo userName as an
    empty string. The volume_info.username is passed to a couple of other
    functions to see if there is an existing unc or tcp connection that can
    be used. These functions assume that the username will be a valid
    string that can be passed to strncmp. If the pointer is NULL, then the
    kernel will oops if there's an existing session to which the string
    can be compared.
    
    This patch changes cifs_mount to set volume_info.username to an empty
    string in this situation, which prevents the oops and should make it
    so that the comparison to other null auth sessions match.
    
    Signed-off-by: Jeff Layton <[EMAIL PROTECTED]>
    Signed-off-by: Steve French <[EMAIL PROTECTED]>
---
 fs/cifs/CHANGES   |    1 +
 fs/cifs/connect.c |    2 +-
 2 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/fs/cifs/CHANGES b/fs/cifs/CHANGES
index 53629b8..64dd222 100644
--- a/fs/cifs/CHANGES
+++ b/fs/cifs/CHANGES
@@ -1,5 +1,6 @@
 Version 1.52
 ------------
+Fix oops on second mount to server when null auth is used.
 
 Version 1.51
 ------------
diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c
index 380ee99..1102160 100644
--- a/fs/cifs/connect.c
+++ b/fs/cifs/connect.c
@@ -1790,7 +1790,7 @@ cifs_mount(struct super_block *sb, struct cifs_sb_info 
*cifs_sb,
 
        if (volume_info.nullauth) {
                cFYI(1, ("null user"));
-               volume_info.username = NULL;
+               volume_info.username = "";
        } else if (volume_info.username) {
                /* BB fixme parse for domain name here */
                cFYI(1, ("Username: %s", volume_info.username));
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to