On 3/28/2024 12:16 PM, Christian Göttsche wrote: > From: Christian Göttsche <cgzones@xxxxxxxxxxxxxx> > > 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. > > Fixes: 0619f0f5e36f ("selinux: wrap selinuxfs state") > Signed-off-by: Christian Göttsche <cgzones@xxxxxxxxxxxxxx> > --- > 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 d18581d741e8..7e9aa5d151b4 100644 > --- a/security/selinux/selinuxfs.c > +++ b/security/selinux/selinuxfs.c > @@ -2125,7 +2125,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) > @@ -2147,18 +2146,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; Surely this is unnecessary. > } > > return err;