9p: fix a race condition bug in umount which caused a segfault umounting partitions after heavy activity would sometimes trigger a segmentation violation. This fix appears to remove that problem. Fix originally provided by Latchesar Ionkov. Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
diff --git a/net/9p/client.c b/net/9p/client.c index bb2b8a3..cb170750 100644 --- a/net/9p/client.c +++ b/net/9p/client.c
@@ -127,12 +127,12 @@ clnt->trans = NULL; } - if (clnt->fidpool) - p9_idpool_destroy(clnt->fidpool); - list_for_each_entry_safe(fid, fidptr, &clnt->fidlist, flist) p9_fid_destroy(fid); + if (clnt->fidpool) + p9_idpool_destroy(clnt->fidpool); + kfree(clnt); } EXPORT_SYMBOL(p9_client_destroy);