All of lore.kernel.org
 help / color / mirror / Atom feed
* [nfs, rpc] crap with refcounting and rmmod races
@ 2011-06-22 19:12 ` Al Viro
  0 siblings, 0 replies; 9+ messages in thread
From: Al Viro @ 2011-06-22 19:12 UTC (permalink / raw)
  To: linux-nfs; +Cc: linux-fsdevel, Linus Torvalds

	There's something seriously screwed up with nfs4_closedata and
path_get()/path_put() in nfs4_do_close()/nfs4_free_closedata().

	Look: either we never call the latter before all preexisting
references to data->path.mnt are dropped, in which case we don't
need to grab/put the damn thing at all.  *OR* it is possible, in
which case that data->path.mnt might be the only thing that still
holds nfs.ko pinned down and right after the path_put() we might
be running code in a module with refcount 0.  Which is not a good
thing...

	Note that extra references to vfsmount do not prevent umount from
removing the sucker from the tree and dropping the preexisting reference
to it.  umount -l will do that just fine.

	This thing is called as ->rpc_release(); do we have anything
protecting the issuer of rpc_run_task() from being rmmod'ed before (or
during) the call of ->rpc_release()?

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2011-06-22 23:05 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-06-22 19:12 [nfs, rpc] crap with refcounting and rmmod races Al Viro
2011-06-22 19:12 ` Al Viro
2011-06-22 19:31 ` Al Viro
2011-06-22 19:31   ` Al Viro
2011-06-22 21:51 ` Al Viro
2011-06-22 21:51   ` Al Viro
2011-06-22 22:48   ` Trond Myklebust
2011-06-22 22:58     ` Al Viro
2011-06-22 23:05       ` Trond Myklebust

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.