cifs: handle the TCP_Server_Info->tsk field more carefully
authorJeff Layton <jlayton@redhat.com>
Wed, 22 Oct 2008 17:57:07 +0000 (13:57 -0400)
committerSteve French <sfrench@us.ibm.com>
Thu, 23 Oct 2008 05:06:20 +0000 (05:06 +0000)
commitb1c8d2b421376bc941823ee93e36cb491609b02c
tree40908334b5a289ef7e6337d14d29104cc2bd79e2
parent8d281efb67463fe8aac8f6e10b31492fc218bf2b
cifs: handle the TCP_Server_Info->tsk field more carefully

cifs: handle the TCP_Server_Info->tsk field more carefully

We currently handle the TCP_Server_Info->tsk field without any locking,
but with some half-measures to try and prevent races. These aren't
really sufficient though. When taking down cifsd, use xchg() to swap
the contents of the tsk field with NULL so we don't end up trying
to send it more than one signal. Also, don't allow cifsd to exit until
the signal is received if we expect one.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
fs/cifs/connect.c