From: Christian Brauner <brau...@kernel.org>

When cleaning up peer group ids in the failure path we need to make sure
to hold on to the namespace lock. Otherwise another thread might just
turn the mount from a shared into a non-shared mount concurrently.

Link: https://lore.kernel.org/lkml/00000000000088694505f8132...@google.com
Fixes: 2a1867219c7b ("fs: add mount_setattr()")
Reported-by: syzbot+8ac3859139c685c4f...@syzkaller.appspotmail.com
Cc: sta...@vger.kernel.org # 5.12+
Message-Id: 
<20230330-vfs-mount_setattr-propagation-fix-v1-1-37548d915...@kernel.org>
Signed-off-by: Christian Brauner <brau...@kernel.org>

(cherry picked from commit cb2239c198ad9fbd5aced22cf93e45562da781eb)
https://jira.sw.ru/browse/PSBM-144416
Signed-off-by: Pavel Tikhomirov <ptikhomi...@virtuozzo.com>
---
 fs/namespace.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/namespace.c b/fs/namespace.c
index f37cae055dbf..49d972024249 100644
--- a/fs/namespace.c
+++ b/fs/namespace.c
@@ -4280,9 +4280,9 @@ static int do_mount_setattr(struct path *path, struct 
mount_kattr *kattr)
        unlock_mount_hash();
 
        if (kattr->propagation) {
-               namespace_unlock();
                if (err)
                        cleanup_group_ids(mnt, NULL);
+               namespace_unlock();
        }
 
        return err;
-- 
2.39.2

_______________________________________________
Devel mailing list
Devel@openvz.org
https://lists.openvz.org/mailman/listinfo/devel

Reply via email to