diff options
Diffstat (limited to 'security/selinux/ss/policydb.h')
| -rw-r--r-- | security/selinux/ss/policydb.h | 14 | 
1 files changed, 13 insertions, 1 deletions
diff --git a/security/selinux/ss/policydb.h b/security/selinux/ss/policydb.h index 4e3ab9d0b31..732ea4a6868 100644 --- a/security/selinux/ss/policydb.h +++ b/security/selinux/ss/policydb.h @@ -77,6 +77,15 @@ struct role_trans {  	struct role_trans *next;  }; +struct filename_trans { +	struct filename_trans *next; +	u32 stype;		/* current process */ +	u32 ttype;		/* parent dir context */ +	u16 tclass;		/* class of new object */ +	const char *name;	/* last path component */ +	u32 otype;		/* expected of new object */ +}; +  struct role_allow {  	u32 role;		/* current role */  	u32 new_role;		/* new role */ @@ -217,6 +226,9 @@ struct policydb {  	/* role transitions */  	struct role_trans *role_tr; +	/* file transitions with the last path component */ +	struct filename_trans *filename_trans; +  	/* bools indexed by (value - 1) */  	struct cond_bool_datum **bool_val_to_struct;  	/* type enforcement conditional access vectors and transitions */ @@ -302,7 +314,7 @@ static inline int next_entry(void *buf, struct policy_file *fp, size_t bytes)  	return 0;  } -static inline int put_entry(void *buf, size_t bytes, int num, struct policy_file *fp) +static inline int put_entry(const void *buf, size_t bytes, int num, struct policy_file *fp)  {  	size_t len = bytes * num;  |