summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2026-08-17 13:26:40 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2026-08-17 13:26:40 -0700
commitc3d6d6dde3a3e11b421839497793da71ad6faa44 (patch)
tree0f7777c5204b74fee33e101adf1ef796ce2104c7
parent1c3e8cef79ea5f1415cff0d3c507e2e07b71ade8 (diff)
parent083e8742e301a24f0c458696b45b481345888b85 (diff)
Merge tag 'vfs-7.3-rc1.mount' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs
Pull mount updates from Christian Brauner: - Make the legacy mount API notify pollers of propagation changes. Changing propagation via change_mnt_propagation() or with MOVE_MOUNT_SET_GROUP update the propagation relationship of the target mount. But unlike mount_setattr() neither path touched the affected mount namespace. So pollers of /proc/<pid>/mountinfo were never woken. - Also remove a redundant panic() in mnt_init() * tag 'vfs-7.3-rc1.mount' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs: mount: remove redundant panic() in mnt_init() fs/namespace: notify pollers of legacy propagation changes
-rw-r--r--fs/namespace.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/fs/namespace.c b/fs/namespace.c
index 426ac9e4eece..3c382c2bdeec 100644
--- a/fs/namespace.c
+++ b/fs/namespace.c
@@ -2908,6 +2908,9 @@ static int do_change_type(const struct path *path, int ms_flags)
for (m = mnt; m; m = (recurse ? next_mnt(m, mnt) : NULL))
change_mnt_propagation(m, type);
+ guard(mount_locked_reader)();
+ touch_mnt_namespace(mnt->mnt_ns);
+
return 0;
}
@@ -3481,6 +3484,10 @@ static int do_set_group(const struct path *from_path, const struct path *to_path
list_add(&to->mnt_share, &from->mnt_share);
set_mnt_shared(to);
}
+
+ guard(mount_locked_reader)();
+ touch_mnt_namespace(to->mnt_ns);
+
return 0;
}
@@ -6263,9 +6270,6 @@ void __init mnt_init(void)
HASH_ZERO,
&mp_hash_shift, &mp_hash_mask, 0, 0);
- if (!mount_hashtable || !mountpoint_hashtable)
- panic("Failed to allocate mount hash table\n");
-
kernfs_init();
err = sysfs_init();