diff options
| author | Al Viro <[email protected]> | 2025-06-01 18:02:26 +0000 |
|---|---|---|
| committer | Al Viro <[email protected]> | 2025-06-07 04:38:34 +0000 |
| commit | 5f31c549382bcddbbd754c72c5433b19420d485d (patch) | |
| tree | 7b6a4775bc1f26857cc6883c12f74c9c08966e07 /drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c | |
| parent | fs/fhandle.c: fix a race in call of has_locked_children() (diff) | |
| download | kernel-5f31c549382bcddbbd754c72c5433b19420d485d.tar.gz kernel-5f31c549382bcddbbd754c72c5433b19420d485d.zip | |
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 <[email protected]>
Fixes: 26df6034fdb2 ("fix automount/automount race properly")
Fixes: 6ac392815628 ("fs: allow to mount beneath top mount")
Signed-off-by: Al Viro <[email protected]>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c')
0 files changed, 0 insertions, 0 deletions
