forked from mirrors/linux
		
	SELinux: do all flags twiddling in one place
Currently we set the initialize and seclabel flag in one place. Do some unrelated printk then we unset the seclabel flag. Eww. Instead do the flag twiddling in one place in the code not seperated by unrelated printk. Also don't set and unset the seclabel flag. Only set it if we need to. Signed-off-by: Eric Paris <eparis@redhat.com>
This commit is contained in:
		
							parent
							
								
									12f348b9dc
								
							
						
					
					
						commit
						eadcabc697
					
				
					 1 changed files with 5 additions and 7 deletions
				
			
		| 
						 | 
				
			
			@ -387,8 +387,6 @@ static int sb_finish_set_opts(struct super_block *sb)
 | 
			
		|||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	sbsec->flags |= (SE_SBINITIALIZED | SBLABEL_MNT);
 | 
			
		||||
 | 
			
		||||
	if (sbsec->behavior > ARRAY_SIZE(labeling_behaviors))
 | 
			
		||||
		printk(KERN_ERR "SELinux: initialized (dev %s, type %s), unknown behavior\n",
 | 
			
		||||
		       sb->s_id, sb->s_type->name);
 | 
			
		||||
| 
						 | 
				
			
			@ -397,11 +395,11 @@ static int sb_finish_set_opts(struct super_block *sb)
 | 
			
		|||
		       sb->s_id, sb->s_type->name,
 | 
			
		||||
		       labeling_behaviors[sbsec->behavior-1]);
 | 
			
		||||
 | 
			
		||||
	if (sbsec->behavior == SECURITY_FS_USE_GENFS ||
 | 
			
		||||
	    sbsec->behavior == SECURITY_FS_USE_MNTPOINT ||
 | 
			
		||||
	    sbsec->behavior == SECURITY_FS_USE_NONE ||
 | 
			
		||||
	    sbsec->behavior > ARRAY_SIZE(labeling_behaviors))
 | 
			
		||||
		sbsec->flags &= ~SBLABEL_MNT;
 | 
			
		||||
	sbsec->flags |= SE_SBINITIALIZED;
 | 
			
		||||
	if (sbsec->behavior == SECURITY_FS_USE_XATTR ||
 | 
			
		||||
	    sbsec->behavior == SECURITY_FS_USE_TRANS ||
 | 
			
		||||
	    sbsec->behavior == SECURITY_FS_USE_TASK)
 | 
			
		||||
		sbsec->flags |= SBLABEL_MNT;
 | 
			
		||||
 | 
			
		||||
	/* Special handling for sysfs. Is genfs but also has setxattr handler*/
 | 
			
		||||
	if (strncmp(sb->s_type->name, "sysfs", sizeof("sysfs")) == 0)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue