[PATCH 0/4] cifs: fix oopses and mem corruption with concurrent mount/umount (try #3)

From: Jeff Layton
Date: Wed Oct 22 2008 - 10:14:35 EST

This patchset is intended to fix the oopses, memory corruption and mount
failures when using the reproducer detailed here:


This is the third attempt at this. Since the second attempt, Steve has
committed the patch to remove kthread_stop from the cifsd shutdown
codepath. That will fix the deadlocks, but opens the window wider for
the oopses and memory corruption in this code.

The main difference in the remaining patches is that this set combines
the patches that disable the structure sharing with the one that
re-enables the TCP session sharing. It also adds a new patch that
re-enables the sharing of SMB sessions. With this set, only tree
connections are no longer shared.

With this, I've been able to run the reproducer in the above BZ for
several hours, whereas before it would regularly crash after just a few

Jeff Layton (4):
cifs: clean up server protocol handling for TCP_Server_Info
cifs: handle the TCP_Server_Info->tsk field more carefully
cifs: disable sharing session and tcon and add new TCP sharing code
cifs: reinstate sharing of SMB sessions

fs/cifs/cifs_debug.c | 54 ++++----
fs/cifs/cifsfs.c | 25 +++--
fs/cifs/cifsglob.h | 20 +--
fs/cifs/cifssmb.c | 20 +---
fs/cifs/connect.c | 354 +++++++++++++++++++++++---------------------------
fs/cifs/misc.c | 15 +--
6 files changed, 223 insertions(+), 265 deletions(-)

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/