summaryrefslogtreecommitdiffstats
path: root/fs/compat_ioctl.c
diff options
context:
space:
mode:
authorJeff Layton <jlayton@redhat.com>2010-09-29 15:27:08 -0400
committerSteve French <sfrench@us.ibm.com>2010-10-01 17:50:08 +0000
commitf569599ae70f0899035f8d5876a7939f629c5976 (patch)
tree4d7f7c32b9c89f15841bdbf372e75afe09bdef53 /fs/compat_ioctl.c
parent522440ed55d2cc8855ea5f82bc067e0483b2e1be (diff)
downloadlinux-f569599ae70f0899035f8d5876a7939f629c5976.tar.bz2
cifs: prevent infinite recursion in cifs_reconnect_tcon
cifs_reconnect_tcon is called from smb_init. After a successful reconnect, cifs_reconnect_tcon will call reset_cifs_unix_caps. That function will, in turn call CIFSSMBQFSUnixInfo and CIFSSMBSetFSUnixInfo. Those functions also call smb_init. It's possible for the session and tcon reconnect to succeed, and then for another cifs_reconnect to occur before CIFSSMBQFSUnixInfo or CIFSSMBSetFSUnixInfo to be called. That'll cause those functions to call smb_init and cifs_reconnect_tcon again, ad infinitum... Break the infinite recursion by having those functions use a new smb_init variant that doesn't attempt to perform a reconnect. Reported-and-Tested-by: Michal Suchanek <hramrach@centrum.cz> Signed-off-by: Jeff Layton <jlayton@redhat.com> Signed-off-by: Steve French <sfrench@us.ibm.com>
Diffstat (limited to 'fs/compat_ioctl.c')
0 files changed, 0 insertions, 0 deletions