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().