In the Linux kernel, the following vulnerability has been resolved:
fs/fhandle.c: fix a race in call of haslockedchildren()
maydecodefh() is calling haslockedchildren() while holding no locks. That's an oopsable race...
The rest of the callers are safe since they are holding namespace_sem and are guaranteed a positive refcount on the mount in question.
Rename the current haslockedchildren() to _haslocked_children(), make it static and switch the fs/namespace.c users to it.
Make haslockedchildren() a wrapper for _haslockedchildren(), calling the latter under readseqlockexcl(&mountlock).