+++ /dev/null
-From 6d98c3c1fef632225f341c91f898f704c513a416 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Thu, 28 Mar 2024 20:16:58 +0100
-Subject: selinux: avoid dereference of garbage after mount failure
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-From: Christian Göttsche <cgzones@googlemail.com>
-
-[ Upstream commit 37801a36b4d68892ce807264f784d818f8d0d39b ]
-
-In case kern_mount() fails and returns an error pointer return in the
-error branch instead of continuing and dereferencing the error pointer.
-
-While on it drop the never read static variable selinuxfs_mount.
-
-Cc: stable@vger.kernel.org
-Fixes: 0619f0f5e36f ("selinux: wrap selinuxfs state")
-Signed-off-by: Christian Göttsche <cgzones@googlemail.com>
-Signed-off-by: Paul Moore <paul@paul-moore.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- security/selinux/selinuxfs.c | 12 +++++++-----
- 1 file changed, 7 insertions(+), 5 deletions(-)
-
-diff --git a/security/selinux/selinuxfs.c b/security/selinux/selinuxfs.c
-index f2f6203e0fff5..a96895d8bb6d7 100644
---- a/security/selinux/selinuxfs.c
-+++ b/security/selinux/selinuxfs.c
-@@ -2208,7 +2208,6 @@ static struct file_system_type sel_fs_type = {
- .kill_sb = sel_kill_sb,
- };
-
--static struct vfsmount *selinuxfs_mount __ro_after_init;
- struct path selinux_null __ro_after_init;
-
- static int __init init_sel_fs(void)
-@@ -2230,18 +2229,21 @@ static int __init init_sel_fs(void)
- return err;
- }
-
-- selinux_null.mnt = selinuxfs_mount = kern_mount(&sel_fs_type);
-- if (IS_ERR(selinuxfs_mount)) {
-+ selinux_null.mnt = kern_mount(&sel_fs_type);
-+ if (IS_ERR(selinux_null.mnt)) {
- pr_err("selinuxfs: could not mount!\n");
-- err = PTR_ERR(selinuxfs_mount);
-- selinuxfs_mount = NULL;
-+ err = PTR_ERR(selinux_null.mnt);
-+ selinux_null.mnt = NULL;
-+ return err;
- }
-+
- selinux_null.dentry = d_hash_and_lookup(selinux_null.mnt->mnt_root,
- &null_name);
- if (IS_ERR(selinux_null.dentry)) {
- pr_err("selinuxfs: could not lookup null!\n");
- err = PTR_ERR(selinux_null.dentry);
- selinux_null.dentry = NULL;
-+ return err;
- }
-
- return err;
---
-2.43.0
-