Hi Jeff, Ive put your patches on the system which had the issue once. cifs and mounts are working ok. As I can't find a way to reliably reproduce it, I'll just leave it running and check its logs daily. On Fri, Sep 3, 2010 at 10:25 PM, Jeff Layton <jlayton@xxxxxxxxxx> wrote: > We've had some sporradic reports of problems recently where the > ses->server pointers have been NULL. That pointer should only get set to > NULL when cifs_demultiplex_thread exits. That should only happen when > the last reference to it is put. If it gets cleaned up before then, > other structures will hold pointers to it, and we'll get NULL pointer > dereferences. > > Unfortunately, there are some places in cifs_demuliplex_thread where > this rule is broken. In certain error conditions, cifsd will exit even > though the reference count hasn't gone to zero yet. This patchset is > intended to close these holes. With it, cifsd should only exit when the > last reference to it is put. > > Exiting from the loop early is a serious error that's likely to cause an > oops. I think we ought to consider this patchset for 2.6.36 and maybe > for stable. > > Thoughts? > > Jeff Layton (3): > cifs: prevent cifsd from exiting prematurely > cifs: eliminate some more premature cifsd exits > cifs: prevent possible memory corruption in cifs_demultiplex_thread > > fs/cifs/cifsproto.h | 3 +- > fs/cifs/connect.c | 58 +++++++++++++++++--------------------------------- > fs/cifs/netmisc.c | 22 +++++++++++-------- > 3 files changed, 35 insertions(+), 48 deletions(-) > > -- To unsubscribe from this list: send the line "unsubscribe linux-cifs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html