diff options
| author | Christian Brauner <brauner@kernel.org> | 2026-02-26 14:50:09 +0100 |
|---|---|---|
| committer | Christian Brauner <brauner@kernel.org> | 2026-02-27 22:00:08 +0100 |
| commit | e6b899f08066e744f89df16ceb782e06868bd148 (patch) | |
| tree | fe5fbdafe96c1c39aabef7e65eae4d210a79e8d7 /include/linux | |
| parent | a0b4c7a49137ed21279f354eb59f49ddae8dffc2 (diff) | |
nsfs: tighten permission checks for ns iteration ioctls
Even privileged services should not necessarily be able to see other
privileged service's namespaces so they can't leak information to each
other. Use may_see_all_namespaces() helper that centralizes this policy
until the nstree adapts.
Link: https://patch.msgid.link/20260226-work-visibility-fixes-v1-1-d2c2853313bd@kernel.org
Fixes: a1d220d9dafa ("nsfs: iterate through mount namespaces")
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Cc: stable@kernel.org # v6.12+
Signed-off-by: Christian Brauner <brauner@kernel.org>
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/ns_common.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/ns_common.h b/include/linux/ns_common.h index 825f5865bfc5..c8e227a3f9e2 100644 --- a/include/linux/ns_common.h +++ b/include/linux/ns_common.h @@ -55,6 +55,8 @@ static __always_inline bool is_ns_init_id(const struct ns_common *ns) #define ns_common_free(__ns) __ns_common_free(to_ns_common((__ns))) +bool may_see_all_namespaces(void); + static __always_inline __must_check int __ns_ref_active_read(const struct ns_common *ns) { return atomic_read(&ns->__ns_ref_active); |
