[linux-cifs-client] Fwd: cifsd killed on wrong pwd

Thomas Anglmaier ta at peek-a-boo.at
Thu Jun 4 11:26:47 GMT 2009


hi list,
 
we face a problem on several linux systems where multiple users mount cifs shares from a unique server.
the cifs-documentation says that a single thread (cifsd) is started for each unique server and it seems that cifsd is getting killed if a users tries to mount and gives wrong password. even if there are existing mounts from that server.
 
here is what happens:
 
 
root at tofo2 ~]# df -ha
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1             7.6G  4.8G  2.5G  67% /
proc                     0     0     0   -  /proc
sysfs                    0     0     0   -  /sys
devpts                   0     0     0   -  /dev/pts
tmpfs                 125M     0  125M   0% /dev/shm
none                     0     0     0   -  /proc/sys/fs/binfmt_misc
sunrpc                   0     0     0   -  /var/lib/nfs/rpc_pipefs

[root at tofo2 ~]# echo 1 > /proc/fs/cifs/MultiuserMount 
[root at tofo2 ~]# dmesg
[root at tofo2 ~]#  mount -t cifs -o user=tom //tofo1/home1 /mnt/1
Password: 

[root at tofo2 ~]# df -ha
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1             7.6G  4.8G  2.5G  67% /
proc                     0     0     0   -  /proc
sysfs                    0     0     0   -  /sys
devpts                   0     0     0   -  /dev/pts
tmpfs                 125M     0  125M   0% /dev/shm
none                     0     0     0   -  /proc/sys/fs/binfmt_misc
sunrpc                   0     0     0   -  /var/lib/nfs/rpc_pipefs
//tofo1/home1         7.6G  2.5G  4.7G  35% /mnt/1

[root at tofo2 ~]#  mount -t cifs -o user=max //tofo1/home2 /mnt/2
Password: 		#giving wrong password
mount error 13 = Permission denied
Refer to the mount.cifs(8) manual page (e.g.man mount.cifs)

[root at tofo2 ~]# df -ha
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1             7.6G  4.8G  2.5G  67% /
proc                     0     0     0   -  /proc
sysfs                    0     0     0   -  /sys
devpts                   0     0     0   -  /dev/pts
tmpfs                 125M     0  125M   0% /dev/shm
none                     0     0     0   -  /proc/sys/fs/binfmt_misc
sunrpc                   0     0     0   -  /var/lib/nfs/rpc_pipefs
//tofo1/home1         0.0K  0.0K  0.0K   -  /mnt/1
[root at tofo2 ~]# stat /mnt/1 
stat: cannot stat `/mnt/1': Input/output error


#dmesg output of the 2nd mount request (with wrong passwd)
 fs/cifs/cifsfs.c: CIFS VFS: in cifs_statfs as Xid: 75 with uid: 0
 fs/cifs/cifssmb.c: In QFSPosixInfo
 fs/cifs/transport.c: For smb_command 50
 fs/cifs/transport.c: Sending smb of length 68
 fs/cifs/connect.c: rfc1002 length 0x74
 fs/cifs/cifsfs.c: CIFS VFS: leaving cifs_statfs (xid = 75) rc = 0
 fs/cifs/cifsfs.c: Devname: //tofo1/home2 flags: 64 
 fs/cifs/connect.c: CIFS VFS: in cifs_mount as Xid: 76 with uid: 0
 fs/cifs/connect.c: Username: max
 fs/cifs/connect.c: UNC: \\tofo1\home2 ip: 192.168.0.20
 fs/cifs/connect.c: Existing tcp session with server found
 fs/cifs/connect.c: Existing smb sess not found
 fs/cifs/connect.c: Security Mode: 0x3 Capabilities: 0x80f3fd TimeAdjust: -7200
 fs/cifs/sess.c: sess setup type 2
 fs/cifs/transport.c: For smb_command 115
 fs/cifs/transport.c: Sending smb:  total_len 244
 fs/cifs/connect.c: rfc1002 length 0x27
 Status code returned 0xc000006d NT_STATUS_LOGON_FAILURE
 fs/cifs/netmisc.c: Mapping smb error code 5 to POSIX err -13
 fs/cifs/misc.c: Null buffer passed to cifs_small_buf_release
 fs/cifs/sess.c: ssetup rc from sendrecv2 is -13
 fs/cifs/sess.c: ssetup freeing small buf ca306900
 CIFS VFS: Send error in SessSetup = -13
 fs/cifs/connect.c: No session or bad tcon
 fs/cifs/connect.c: cifsd thread killed
 fs/cifs/connect.c: CIFS VFS: leaving cifs_mount (xid = 76) rc = -13
 CIFS VFS: cifs_mount failed w/return code = -13
 fs/cifs/cifsfs.c: CIFS VFS: in cifs_statfs as Xid: 77 with uid: 0
 fs/cifs/cifssmb.c: In QFSPosixInfo
 fs/cifs/cifssmb.c: In QFSInfo
 fs/cifs/cifssmb.c: OldQFSInfo
 fs/cifs/cifsfs.c: CIFS VFS: leaving cifs_statfs (xid = 77) rc = -5
 fs/cifs/inode.c: CIFS VFS: in cifs_revalidate as Xid: 78 with uid: 0
 fs/cifs/inode.c: Revalidate:  inode 0xc956fe20 count 1 dentry: 0xc8f41c40 d_time 0 jiffies 4452665
 fs/cifs/inode.c: Getting info on 
 fs/cifs/cifssmb.c: In QPathInfo (Unix) the path 
 fs/cifs/inode.c: error on getting revalidate info -5
 fs/cifs/inode.c: cifs_revalidate - inode unchanged
 fs/cifs/inode.c: CIFS VFS: leaving cifs_revalidate (xid = 78) rc = -5
 fs/cifs/inode.c: CIFS VFS: in cifs_revalidate as Xid: 79 with uid: 0
 fs/cifs/inode.c: Revalidate:  inode 0xc956fe20 count 1 dentry: 0xc8f41c40 d_time 0 jiffies 4452990
 fs/cifs/inode.c: Getting info on 
 fs/cifs/cifssmb.c: In QPathInfo (Unix) the path 
 fs/cifs/inode.c: error on getting revalidate info -5
 fs/cifs/inode.c: cifs_revalidate - inode unchanged
 fs/cifs/inode.c: CIFS VFS: leaving cifs_revalidate (xid = 79) rc = -5


now the "cifsd" kernel thread is gone:
[root at tofo2 ~]# ps aux | grep cifsd | grep -v grep
root      2643  0.0  0.0      0     0 ?        S<   11:35   0:00 [cifsdnotifyd]


the line that makes me worry in the dmesg output is:
fs/cifs/connect.c: cifsd thread killed

further on in this output:
 fs/cifs/connect.c: Existing tcp session with server found
 fs/cifs/connect.c: Existing smb sess not found

for my very naive understanding should'nt it say smthg like "Existing smb sess found" instead of "Existing smb sess *not* found" over here?


is this usual behaviour? am i missing some mount options or did i discover a bug?
i searched all mailinglists but did not find a related problem description.

can anyone point me in the right direction or have had the same problem?

thanks in advance
thomas


More information about the linux-cifs-client mailing list