forked from mirrors/linux
		
	selinux: keep SELinux in sync with new capability definitions
When a new capability is defined, SELinux needs to be updated. Trigger a build error if a new capability is defined without corresponding update to security/selinux/include/classmap.h's COMMON_CAP2_PERMS. This is similar to BUILD_BUG_ON() guards in the SELinux nlmsgtab code to ensure that SELinux tracks new netlink message types as needed. Note that there is already a similar build guard in security/selinux/hooks.c to detect when more than 64 capabilities are defined, since that will require adding a third capability class to SELinux. A nicer way to do this would be to extend scripts/selinux/genheaders or a similar tool to auto-generate the necessary definitions and code for SELinux capability checking from include/uapi/linux/capability.h. AppArmor does something similar in its Makefile, although it only needs to generate a single table of names. That is left as future work. Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov> [PM: reformat the description to keep checkpatch.pl happy] Signed-off-by: Paul Moore <paul@paul-moore.com>
This commit is contained in:
		
							parent
							
								
									ea49d10eee
								
							
						
					
					
						commit
						3322d0d64f
					
				
					 1 changed files with 4 additions and 0 deletions
				
			
		|  | @ -24,6 +24,10 @@ | ||||||
| #define COMMON_CAP2_PERMS  "mac_override", "mac_admin", "syslog", \ | #define COMMON_CAP2_PERMS  "mac_override", "mac_admin", "syslog", \ | ||||||
| 		"wake_alarm", "block_suspend", "audit_read" | 		"wake_alarm", "block_suspend", "audit_read" | ||||||
| 
 | 
 | ||||||
|  | #if CAP_LAST_CAP > CAP_AUDIT_READ | ||||||
|  | #error New capability defined, please update COMMON_CAP2_PERMS. | ||||||
|  | #endif | ||||||
|  | 
 | ||||||
| /*
 | /*
 | ||||||
|  * Note: The name for any socket class should be suffixed by "socket", |  * Note: The name for any socket class should be suffixed by "socket", | ||||||
|  *	 and doesn't contain more than one substr of "socket". |  *	 and doesn't contain more than one substr of "socket". | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue
	
	 Stephen Smalley
						Stephen Smalley