diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2025-06-01 21:02:26 +0300 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2025-06-07 07:38:34 +0300 |
commit | 5f31c549382bcddbbd754c72c5433b19420d485d (patch) | |
tree | 7b6a4775bc1f26857cc6883c12f74c9c08966e07 /tools/perf/scripts/python/exported-sql-viewer.py | |
parent | 1f282cdc1d219c4a557f7009e81bc792820d9d9a (diff) | |
download | linux-5f31c549382bcddbbd754c72c5433b19420d485d.tar.xz |
path_overmount(): avoid false negatives
Holding namespace_sem is enough to make sure that result remains valid.
It is *not* enough to avoid false negatives from __lookup_mnt(). Mounts
can be unhashed outside of namespace_sem (stuck children getting detached
on final mntput() of lazy-umounted mount) and having an unrelated mount
removed from the hash chain while we traverse it may end up with false
negative from __lookup_mnt(). We need to sample and recheck the seqlock
component of mount_lock...
Bug predates the introduction of path_overmount() - it had come from
the code in finish_automount() that got abstracted into that helper.
Reviewed-by: Christian Brauner <brauner@kernel.org>
Fixes: 26df6034fdb2 ("fix automount/automount race properly")
Fixes: 6ac392815628 ("fs: allow to mount beneath top mount")
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'tools/perf/scripts/python/exported-sql-viewer.py')
0 files changed, 0 insertions, 0 deletions