Skip to content
Commit 1f282cdc authored by Al Viro's avatar Al Viro
Browse files

fs/fhandle.c: fix a race in call of has_locked_children()



may_decode_fh() is calling has_locked_children() 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 has_locked_children() to __has_locked_children(), make
it static and switch the fs/namespace.c users to it.

Make has_locked_children() a wrapper for __has_locked_children(), calling
the latter under read_seqlock_excl(&mount_lock).

Reviewed-by: default avatarChristian Brauner <brauner@kernel.org>
Reviewed-by: default avatarJeff Layton <jlayton@kernel.org>
Fixes: 620c266f ("fhandle: relax open_by_handle_at() permission checks")
Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent a82ba839
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment