propagate_one(): mnt_set_mountpoint() needs mount_lock
authorAl Viro <viro@zeniv.linux.org.uk>
Mon, 27 Apr 2020 14:26:22 +0000 (10:26 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Mon, 27 Apr 2020 14:37:14 +0000 (10:37 -0400)
commitb0d3869ce9eeacbb1bbd541909beeef4126426d5
treed710d97e4dfff49cea1b0267bf0bfb149e7bcd04
parent3815f1be546e752327b5868af103ccdddcc4db77
propagate_one(): mnt_set_mountpoint() needs mount_lock

... to protect the modification of mp->m_count done by it.  Most of
the places that modify that thing also have namespace_lock held,
but not all of them can do so, so we really need mount_lock here.
Kudos to Piotr Krysiuk <piotras@gmail.com>, who'd spotted a related
bug in pivot_root(2) (fixed unnoticed in 5.3); search for other
similar turds has caught out this one.

Cc: stable@kernel.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/pnode.c