[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