diff options
author | Christian Brauner <brauner@kernel.org> | 2023-03-30 10:13:16 +0300 |
---|---|---|
committer | Christian Brauner <brauner@kernel.org> | 2023-03-31 13:13:37 +0300 |
commit | cb2239c198ad9fbd5aced22cf93e45562da781eb (patch) | |
tree | 5d43c4188c28df77d264af1f4e46e0274a0843cf | |
parent | 197b6b60ae7bc51dd0814953c562833143b292aa (diff) | |
download | linux-cb2239c198ad9fbd5aced22cf93e45562da781eb.tar.xz |
fs: drop peer group ids under namespace lock
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/00000000000088694505f8132d77@google.com
Fixes: 2a1867219c7b ("fs: add mount_setattr()")
Reported-by: syzbot+8ac3859139c685c4f597@syzkaller.appspotmail.com
Cc: stable@vger.kernel.org # 5.12+
Message-Id: <20230330-vfs-mount_setattr-propagation-fix-v1-1-37548d91533b@kernel.org>
Signed-off-by: Christian Brauner <brauner@kernel.org>
-rw-r--r-- | fs/namespace.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/namespace.c b/fs/namespace.c index bc0f15257b49..6836e937ee61 100644 --- a/fs/namespace.c +++ b/fs/namespace.c @@ -4183,9 +4183,9 @@ out: unlock_mount_hash(); if (kattr->propagation) { - namespace_unlock(); if (err) cleanup_group_ids(mnt, NULL); + namespace_unlock(); } return err; |