]> asedeno.scripts.mit.edu Git - linux.git/commit
affs_lookup(): close a race with affs_remove_link()
authorAl Viro <viro@zeniv.linux.org.uk>
Sun, 6 May 2018 16:15:20 +0000 (12:15 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Mon, 21 May 2018 18:27:45 +0000 (14:27 -0400)
commit30da870ce4a4e007c901858a96e9e394a1daa74a
treed75869642ea5ce962ed9aa442db2784d3779ca2e
parentb127125d9db23e4856156a7c909a3c8e18b69f99
affs_lookup(): close a race with affs_remove_link()

we unlock the directory hash too early - if we are looking at secondary
link and primary (in another directory) gets removed just as we unlock,
we could have the old primary moved in place of the secondary, leaving
us to look into freed entry (and leaving our dentry with ->d_fsdata
pointing to a freed entry).

Cc: stable@vger.kernel.org # 2.4.4+
Acked-by: David Sterba <dsterba@suse.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/affs/namei.c