summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Brauner <brauner@kernel.org>2025-09-29 11:41:16 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-10-19 16:34:07 +0200
commit2d68f8a7379d9c61005e982600c61948d4d019bd (patch)
tree6447395def57c558dff6fc187a702841096da399
parente051ab688e5d2c460503120adc6d5b7f328ab5cf (diff)
downloadlinux-2d68f8a7379d9c61005e982600c61948d4d019bd.tar.gz
linux-2d68f8a7379d9c61005e982600c61948d4d019bd.tar.bz2
linux-2d68f8a7379d9c61005e982600c61948d4d019bd.zip
mount: handle NULL values in mnt_ns_release()
commit 6c7ca6a02f8f9549a438a08a23c6327580ecf3d6 upstream. When calling in listmount() mnt_ns_release() may be passed a NULL pointer. Handle that case gracefully. Signed-off-by: Christian Brauner <brauner@kernel.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--fs/namespace.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/namespace.c b/fs/namespace.c
index f5e46c2595b1..cc4926d53e7d 100644
--- a/fs/namespace.c
+++ b/fs/namespace.c
@@ -153,7 +153,7 @@ static void mnt_ns_release(struct mnt_namespace *ns)
lockdep_assert_not_held(&mnt_ns_tree_lock);
/* keep alive for {list,stat}mount() */
- if (refcount_dec_and_test(&ns->passive)) {
+ if (ns && refcount_dec_and_test(&ns->passive)) {
put_user_ns(ns->user_ns);
kfree(ns);
}