Skip to content

Commit

Permalink
[CIFS] fix oops on second mount to same server when null auth is used
Browse files Browse the repository at this point in the history
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 <jlayton@redhat.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
  • Loading branch information
Jeff Layton authored and Steve French committed Nov 9, 2007
1 parent a6f8de3 commit 9b8f5f5
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 1 deletion.
1 change: 1 addition & 0 deletions fs/cifs/CHANGES
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
Version 1.52
------------
Fix oops on second mount to server when null auth is used.

Version 1.51
------------
Expand Down
2 changes: 1 addition & 1 deletion fs/cifs/connect.c
Original file line number Diff line number Diff line change
Expand Up @@ -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));
Expand Down

0 comments on commit 9b8f5f5

Please sign in to comment.