diff options
Diffstat (limited to 'security/selinux/ss/mls.c')
| -rw-r--r-- | security/selinux/ss/mls.c | 83 | 
1 files changed, 33 insertions, 50 deletions
diff --git a/security/selinux/ss/mls.c b/security/selinux/ss/mls.c index cd38f5913b63..989c809d310d 100644 --- a/security/selinux/ss/mls.c +++ b/security/selinux/ss/mls.c @@ -4,19 +4,15 @@   *   * Author : Stephen Smalley, <[email protected]>   */ +  /*   * Updated: Trusted Computer Solutions, Inc. <[email protected]> + *          Support for enhanced MLS infrastructure. + *          Copyright (C) 2004-2006 Trusted Computer Solutions, Inc.   * - *	Support for enhanced MLS infrastructure. - * - * Copyright (C) 2004-2006 Trusted Computer Solutions, Inc. - */ -/*   * Updated: Hewlett-Packard <[email protected]> - * - *      Added support to import/export the MLS label from NetLabel - * - * (c) Copyright Hewlett-Packard Development Company, L.P., 2006 + *          Added support to import/export the MLS label from NetLabel + *          Copyright (C) Hewlett-Packard Development Company, L.P., 2006   */  #include <linux/kernel.h> @@ -52,7 +48,8 @@ int mls_compute_context_len(struct policydb *p, struct context *context)  		head = -2;  		prev = -2;  		e = &context->range.level[l].cat; -		ebitmap_for_each_positive_bit(e, node, i) { +		ebitmap_for_each_positive_bit(e, node, i) +		{  			if (i - prev > 1) {  				/* one or more negative bits are skipped */  				if (head != prev) { @@ -86,8 +83,7 @@ int mls_compute_context_len(struct policydb *p, struct context *context)   * the MLS fields of `context' into the string `*scontext'.   * Update `*scontext' to point to the end of the MLS fields.   */ -void mls_sid_to_context(struct policydb *p, -			struct context *context, +void mls_sid_to_context(struct policydb *p, struct context *context,  			char **scontext)  {  	char *scontextp, *nm; @@ -112,7 +108,8 @@ void mls_sid_to_context(struct policydb *p,  		head = -2;  		prev = -2;  		e = &context->range.level[l].cat; -		ebitmap_for_each_positive_bit(e, node, i) { +		ebitmap_for_each_positive_bit(e, node, i) +		{  			if (i - prev > 1) {  				/* one or more negative bits are skipped */  				if (prev != head) { @@ -230,12 +227,8 @@ int mls_context_isvalid(struct policydb *p, struct context *c)   * Policy read-lock must be held for sidtab lookup.   *   */ -int mls_context_to_sid(struct policydb *pol, -		       char oldc, -		       char *scontext, -		       struct context *context, -		       struct sidtab *s, -		       u32 def_sid) +int mls_context_to_sid(struct policydb *pol, char oldc, char *scontext, +		       struct context *context, struct sidtab *s, u32 def_sid)  {  	char *sensitivity, *cur_cat, *next_cat, *rngptr;  	struct level_datum *levdatum; @@ -333,7 +326,8 @@ int mls_context_to_sid(struct policydb *pol,  				return -EINVAL;  			for (i = catdatum->value; i < rngdatum->value; i++) { -				rc = ebitmap_set_bit(&context->range.level[l].cat, i, 1); +				rc = ebitmap_set_bit( +					&context->range.level[l].cat, i, 1);  				if (rc)  					return rc;  			} @@ -371,8 +365,8 @@ int mls_from_string(struct policydb *p, char *str, struct context *context,  	if (!tmpstr) {  		rc = -ENOMEM;  	} else { -		rc = mls_context_to_sid(p, ':', tmpstr, context, -					NULL, SECSID_NULL); +		rc = mls_context_to_sid(p, ':', tmpstr, context, NULL, +					SECSID_NULL);  		kfree(tmpstr);  	} @@ -382,8 +376,7 @@ int mls_from_string(struct policydb *p, char *str, struct context *context,  /*   * Copies the MLS range `range' into `context'.   */ -int mls_range_set(struct context *context, -				struct mls_range *range) +int mls_range_set(struct context *context, struct mls_range *range)  {  	int l, rc = 0; @@ -399,9 +392,8 @@ int mls_range_set(struct context *context,  	return rc;  } -int mls_setup_user_range(struct policydb *p, -			 struct context *fromcon, struct user_datum *user, -			 struct context *usercon) +int mls_setup_user_range(struct policydb *p, struct context *fromcon, +			 struct user_datum *user, struct context *usercon)  {  	if (p->mls_enabled) {  		struct mls_level *fromcon_sen = &(fromcon->range.level[0]); @@ -444,10 +436,8 @@ int mls_setup_user_range(struct policydb *p,   * policy `oldp' to the values specified in the policy `newp',   * storing the resulting context in `newc'.   */ -int mls_convert_context(struct policydb *oldp, -			struct policydb *newp, -			struct context *oldc, -			struct context *newc) +int mls_convert_context(struct policydb *oldp, struct policydb *newp, +			struct context *oldc, struct context *newc)  {  	struct level_datum *levdatum;  	struct cat_datum *catdatum; @@ -468,8 +458,9 @@ int mls_convert_context(struct policydb *oldp,  			return -EINVAL;  		newc->range.level[l].sens = levdatum->level->sens; -		ebitmap_for_each_positive_bit(&oldc->range.level[l].cat, -					      node, i) { +		ebitmap_for_each_positive_bit(&oldc->range.level[l].cat, node, +					      i) +		{  			int rc;  			catdatum = symtab_search(&newp->p_cats, @@ -486,13 +477,9 @@ int mls_convert_context(struct policydb *oldp,  	return 0;  } -int mls_compute_sid(struct policydb *p, -		    struct context *scontext, -		    struct context *tcontext, -		    u16 tclass, -		    u32 specified, -		    struct context *newcontext, -		    bool sock) +int mls_compute_sid(struct policydb *p, struct context *scontext, +		    struct context *tcontext, u16 tclass, u32 specified, +		    struct context *newcontext, bool sock)  {  	struct range_trans rtr;  	struct mls_range *r; @@ -532,8 +519,8 @@ int mls_compute_sid(struct policydb *p,  		case DEFAULT_TARGET_LOW_HIGH:  			return mls_context_cpy(newcontext, tcontext);  		case DEFAULT_GLBLUB: -			return mls_context_glblub(newcontext, -						  scontext, tcontext); +			return mls_context_glblub(newcontext, scontext, +						  tcontext);  		}  		fallthrough; @@ -563,8 +550,7 @@ int mls_compute_sid(struct policydb *p,   * NetLabel MLS sensitivity level field.   *   */ -void mls_export_netlbl_lvl(struct policydb *p, -			   struct context *context, +void mls_export_netlbl_lvl(struct policydb *p, struct context *context,  			   struct netlbl_lsm_secattr *secattr)  {  	if (!p->mls_enabled) @@ -585,8 +571,7 @@ void mls_export_netlbl_lvl(struct policydb *p,   * NetLabel MLS sensitivity level into the context.   *   */ -void mls_import_netlbl_lvl(struct policydb *p, -			   struct context *context, +void mls_import_netlbl_lvl(struct policydb *p, struct context *context,  			   struct netlbl_lsm_secattr *secattr)  {  	if (!p->mls_enabled) @@ -607,8 +592,7 @@ void mls_import_netlbl_lvl(struct policydb *p,   * MLS category field.  Returns zero on success, negative values on failure.   *   */ -int mls_export_netlbl_cat(struct policydb *p, -			  struct context *context, +int mls_export_netlbl_cat(struct policydb *p, struct context *context,  			  struct netlbl_lsm_secattr *secattr)  {  	int rc; @@ -637,8 +621,7 @@ int mls_export_netlbl_cat(struct policydb *p,   * negative values on failure.   *   */ -int mls_import_netlbl_cat(struct policydb *p, -			  struct context *context, +int mls_import_netlbl_cat(struct policydb *p, struct context *context,  			  struct netlbl_lsm_secattr *secattr)  {  	int rc;  |