diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-04-22 18:15:48 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-04-22 18:15:48 -0400 |
commit | e199ceee15c8f8652cc3bb97651bdf246ba23c5f (patch) | |
tree | 1d6540d2f0724af08e117324326322e9c882260b /security/selinux/hooks.c | |
parent | b24a31442e2ff66053ae4f76e9c69c557d59c7d1 (diff) | |
parent | 618442509128fe4514be94de70ce54075cd9a706 (diff) |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6:
SELinux fixups needed for preemptable RCU from -rt
SELinux: no BUG_ON(!ss_initialized) in selinux_clone_mnt_opts
Diffstat (limited to 'security/selinux/hooks.c')
-rw-r--r-- | security/selinux/hooks.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c index 1bf2543ea942..33af321f647b 100644 --- a/security/selinux/hooks.c +++ b/security/selinux/hooks.c | |||
@@ -755,9 +755,18 @@ static void selinux_sb_clone_mnt_opts(const struct super_block *oldsb, | |||
755 | int set_context = (oldsbsec->flags & CONTEXT_MNT); | 755 | int set_context = (oldsbsec->flags & CONTEXT_MNT); |
756 | int set_rootcontext = (oldsbsec->flags & ROOTCONTEXT_MNT); | 756 | int set_rootcontext = (oldsbsec->flags & ROOTCONTEXT_MNT); |
757 | 757 | ||
758 | /* we can't error, we can't save the info, this shouldn't get called | 758 | /* |
759 | * this early in the boot process. */ | 759 | * if the parent was able to be mounted it clearly had no special lsm |
760 | BUG_ON(!ss_initialized); | 760 | * mount options. thus we can safely put this sb on the list and deal |
761 | * with it later | ||
762 | */ | ||
763 | if (!ss_initialized) { | ||
764 | spin_lock(&sb_security_lock); | ||
765 | if (list_empty(&newsbsec->list)) | ||
766 | list_add(&newsbsec->list, &superblock_security_head); | ||
767 | spin_unlock(&sb_security_lock); | ||
768 | return; | ||
769 | } | ||
761 | 770 | ||
762 | /* how can we clone if the old one wasn't set up?? */ | 771 | /* how can we clone if the old one wasn't set up?? */ |
763 | BUG_ON(!oldsbsec->initialized); | 772 | BUG_ON(!oldsbsec->initialized); |