]> git.baikalelectronics.ru Git - kernel.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)
commit3f66460deaab615020f1b6d0b7890bb4ba8a7e4b
treed75869642ea5ce962ed9aa442db2784d3779ca2e
parent75e9d2feb31ea4aa4412c0e31a30d9fd15c8de93
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