diff options
| author | 2006-06-11 23:04:37 -0400 | |
|---|---|---|
| committer | 2006-06-11 23:04:37 -0400 | |
| commit | fec69a97489f961026e24536dbb7b86ac663948c (patch) | |
| tree | 869713470d81ebc261598489a2711960336c7c37 /security/selinux/hooks.c | |
| parent | [PATCH] libata: add missing ->data_xfer for pdc_adma (diff) | |
| parent | [PATCH] sata_mv: grab host lock inside eng_timeout (diff) | |
| download | linux-dev-fec69a97489f961026e24536dbb7b86ac663948c.tar.xz linux-dev-fec69a97489f961026e24536dbb7b86ac663948c.zip | |
Merge branch 'upstream-fixes' into upstream
Conflicts:
drivers/scsi/sata_sil24.c
Diffstat (limited to 'security/selinux/hooks.c')
| -rw-r--r-- | security/selinux/hooks.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c index 21dad415b896..90b4cdc0c948 100644 --- a/security/selinux/hooks.c +++ b/security/selinux/hooks.c @@ -4422,6 +4422,7 @@ void selinux_complete_init(void) /* Set up any superblocks initialized prior to the policy load. */ printk(KERN_INFO "SELinux: Setting up existing superblocks.\n"); + spin_lock(&sb_lock); spin_lock(&sb_security_lock); next_sb: if (!list_empty(&superblock_security_head)) { @@ -4430,19 +4431,20 @@ next_sb: struct superblock_security_struct, list); struct super_block *sb = sbsec->sb; - spin_lock(&sb_lock); sb->s_count++; - spin_unlock(&sb_lock); spin_unlock(&sb_security_lock); + spin_unlock(&sb_lock); down_read(&sb->s_umount); if (sb->s_root) superblock_doinit(sb, NULL); drop_super(sb); + spin_lock(&sb_lock); spin_lock(&sb_security_lock); list_del_init(&sbsec->list); goto next_sb; } spin_unlock(&sb_security_lock); + spin_unlock(&sb_lock); } /* SELinux requires early initialization in order to label |
