diff options
author | Ingo Molnar <mingo@kernel.org> | 2023-10-07 11:32:24 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2023-10-07 11:32:24 +0200 |
commit | 8db30574db25fa20cdcfa03e374edc3f8b8dc301 (patch) | |
tree | 0b54686593694b68fb0537197eaa4bec7a44985d /security/selinux/hooks.c | |
parent | d4d6596b43868a1e05fe5b047e73c3aff96444c6 (diff) | |
parent | 9e0bc36ab07c550d791bf17feeb479f1dfc42d89 (diff) |
Merge branch 'sched/urgent' into sched/core, to pick up fixes and refresh the branch
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'security/selinux/hooks.c')
-rw-r--r-- | security/selinux/hooks.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c index 10350534de6d..2aa0e219d721 100644 --- a/security/selinux/hooks.c +++ b/security/selinux/hooks.c @@ -2775,14 +2775,20 @@ static int selinux_umount(struct vfsmount *mnt, int flags) static int selinux_fs_context_submount(struct fs_context *fc, struct super_block *reference) { - const struct superblock_security_struct *sbsec; + const struct superblock_security_struct *sbsec = selinux_superblock(reference); struct selinux_mnt_opts *opts; + /* + * Ensure that fc->security remains NULL when no options are set + * as expected by selinux_set_mnt_opts(). + */ + if (!(sbsec->flags & (FSCONTEXT_MNT|CONTEXT_MNT|DEFCONTEXT_MNT))) + return 0; + opts = kzalloc(sizeof(*opts), GFP_KERNEL); if (!opts) return -ENOMEM; - sbsec = selinux_superblock(reference); if (sbsec->flags & FSCONTEXT_MNT) opts->fscontext_sid = sbsec->sid; if (sbsec->flags & CONTEXT_MNT) |