Messages in this thread | | | Subject | Re: [PATCH 1/2] vfs: free vfsmount through rcu work from kern_unmount | From | Rik van Riel <> | Date | Fri, 18 Feb 2022 14:33:31 -0500 |
| |
On Fri, 2022-02-18 at 19:26 +0000, Al Viro wrote: > On Fri, Feb 18, 2022 at 01:31:13PM -0500, Rik van Riel wrote: > > After kern_unmount returns, callers can no longer access the > > vfsmount structure. However, the vfsmount structure does need > > to be kept around until the end of the RCU grace period, to > > make sure other accesses have all gone away too. > > > > This can be accomplished by either gating each kern_unmount > > on synchronize_rcu (the comment in the code says it all), or > > by deferring the freeing until the next grace period, where > > it needs to be handled in a workqueue due to the locking in > > mntput_no_expire(). > > NAK. There's code that relies upon kern_unmount() being > synchronous. That's precisely the reason why MNT_INTERNAL > is treated that way in mntput_no_expire().
Fair enough. Should I make a kern_unmount_rcu() version that gets called just from mq_put_mnt()?
-- All Rights Reversed. [unhandled content-type:application/pgp-signature] | |