diff options
Diffstat (limited to 'security/selinux/include/security.h')
| -rw-r--r-- | security/selinux/include/security.h | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/security/selinux/include/security.h b/security/selinux/include/security.h index 7c543003d653..72447370bc95 100644 --- a/security/selinux/include/security.h +++ b/security/selinux/include/security.h | |||
| @@ -27,13 +27,14 @@ | |||
| 27 | #define POLICYDB_VERSION_RANGETRANS 21 | 27 | #define POLICYDB_VERSION_RANGETRANS 21 |
| 28 | #define POLICYDB_VERSION_POLCAP 22 | 28 | #define POLICYDB_VERSION_POLCAP 22 |
| 29 | #define POLICYDB_VERSION_PERMISSIVE 23 | 29 | #define POLICYDB_VERSION_PERMISSIVE 23 |
| 30 | #define POLICYDB_VERSION_BOUNDARY 24 | ||
| 30 | 31 | ||
| 31 | /* Range of policy versions we understand*/ | 32 | /* Range of policy versions we understand*/ |
| 32 | #define POLICYDB_VERSION_MIN POLICYDB_VERSION_BASE | 33 | #define POLICYDB_VERSION_MIN POLICYDB_VERSION_BASE |
| 33 | #ifdef CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX | 34 | #ifdef CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX |
| 34 | #define POLICYDB_VERSION_MAX CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX_VALUE | 35 | #define POLICYDB_VERSION_MAX CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX_VALUE |
| 35 | #else | 36 | #else |
| 36 | #define POLICYDB_VERSION_MAX POLICYDB_VERSION_PERMISSIVE | 37 | #define POLICYDB_VERSION_MAX POLICYDB_VERSION_BOUNDARY |
| 37 | #endif | 38 | #endif |
| 38 | 39 | ||
| 39 | #define CONTEXT_MNT 0x01 | 40 | #define CONTEXT_MNT 0x01 |
| @@ -62,6 +63,16 @@ enum { | |||
| 62 | extern int selinux_policycap_netpeer; | 63 | extern int selinux_policycap_netpeer; |
| 63 | extern int selinux_policycap_openperm; | 64 | extern int selinux_policycap_openperm; |
| 64 | 65 | ||
| 66 | /* | ||
| 67 | * type_datum properties | ||
| 68 | * available at the kernel policy version >= POLICYDB_VERSION_BOUNDARY | ||
| 69 | */ | ||
| 70 | #define TYPEDATUM_PROPERTY_PRIMARY 0x0001 | ||
| 71 | #define TYPEDATUM_PROPERTY_ATTRIBUTE 0x0002 | ||
| 72 | |||
| 73 | /* limitation of boundary depth */ | ||
| 74 | #define POLICYDB_BOUNDS_MAXDEPTH 4 | ||
| 75 | |||
| 65 | int security_load_policy(void *data, size_t len); | 76 | int security_load_policy(void *data, size_t len); |
| 66 | 77 | ||
| 67 | int security_policycap_supported(unsigned int req_cap); | 78 | int security_policycap_supported(unsigned int req_cap); |
| @@ -117,6 +128,8 @@ int security_node_sid(u16 domain, void *addr, u32 addrlen, | |||
| 117 | int security_validate_transition(u32 oldsid, u32 newsid, u32 tasksid, | 128 | int security_validate_transition(u32 oldsid, u32 newsid, u32 tasksid, |
| 118 | u16 tclass); | 129 | u16 tclass); |
| 119 | 130 | ||
| 131 | int security_bounded_transition(u32 oldsid, u32 newsid); | ||
| 132 | |||
| 120 | int security_sid_mls_copy(u32 sid, u32 mls_sid, u32 *new_sid); | 133 | int security_sid_mls_copy(u32 sid, u32 mls_sid, u32 *new_sid); |
| 121 | 134 | ||
| 122 | int security_net_peersid_resolve(u32 nlbl_sid, u32 nlbl_type, | 135 | int security_net_peersid_resolve(u32 nlbl_sid, u32 nlbl_type, |
