diff options
Diffstat (limited to 'security/selinux/status.c')
| -rw-r--r-- | security/selinux/status.c | 44 | 
1 files changed, 21 insertions, 23 deletions
diff --git a/security/selinux/status.c b/security/selinux/status.c index 4bc8f809934c..19ef929a075c 100644 --- a/security/selinux/status.c +++ b/security/selinux/status.c @@ -39,21 +39,21 @@   * It returns a reference to selinux_status_page. If the status page is   * not allocated yet, it also tries to allocate it at the first time.   */ -struct page *selinux_kernel_status_page(struct selinux_state *state) +struct page *selinux_kernel_status_page(void)  {  	struct selinux_kernel_status   *status;  	struct page		       *result = NULL; -	mutex_lock(&state->status_lock); -	if (!state->status_page) { -		state->status_page = alloc_page(GFP_KERNEL|__GFP_ZERO); +	mutex_lock(&selinux_state.status_lock); +	if (!selinux_state.status_page) { +		selinux_state.status_page = alloc_page(GFP_KERNEL|__GFP_ZERO); -		if (state->status_page) { -			status = page_address(state->status_page); +		if (selinux_state.status_page) { +			status = page_address(selinux_state.status_page);  			status->version = SELINUX_KERNEL_STATUS_VERSION;  			status->sequence = 0; -			status->enforcing = enforcing_enabled(state); +			status->enforcing = enforcing_enabled();  			/*  			 * NOTE: the next policyload event shall set  			 * a positive value on the status->policyload, @@ -62,11 +62,11 @@ struct page *selinux_kernel_status_page(struct selinux_state *state)  			 */  			status->policyload = 0;  			status->deny_unknown = -				!security_get_allow_unknown(state); +				!security_get_allow_unknown();  		}  	} -	result = state->status_page; -	mutex_unlock(&state->status_lock); +	result = selinux_state.status_page; +	mutex_unlock(&selinux_state.status_lock);  	return result;  } @@ -76,14 +76,13 @@ struct page *selinux_kernel_status_page(struct selinux_state *state)   *   * It updates status of the current enforcing/permissive mode.   */ -void selinux_status_update_setenforce(struct selinux_state *state, -				      int enforcing) +void selinux_status_update_setenforce(int enforcing)  {  	struct selinux_kernel_status   *status; -	mutex_lock(&state->status_lock); -	if (state->status_page) { -		status = page_address(state->status_page); +	mutex_lock(&selinux_state.status_lock); +	if (selinux_state.status_page) { +		status = page_address(selinux_state.status_page);  		status->sequence++;  		smp_wmb(); @@ -93,7 +92,7 @@ void selinux_status_update_setenforce(struct selinux_state *state,  		smp_wmb();  		status->sequence++;  	} -	mutex_unlock(&state->status_lock); +	mutex_unlock(&selinux_state.status_lock);  }  /* @@ -102,23 +101,22 @@ void selinux_status_update_setenforce(struct selinux_state *state,   * It updates status of the times of policy reloaded, and current   * setting of deny_unknown.   */ -void selinux_status_update_policyload(struct selinux_state *state, -				      int seqno) +void selinux_status_update_policyload(int seqno)  {  	struct selinux_kernel_status   *status; -	mutex_lock(&state->status_lock); -	if (state->status_page) { -		status = page_address(state->status_page); +	mutex_lock(&selinux_state.status_lock); +	if (selinux_state.status_page) { +		status = page_address(selinux_state.status_page);  		status->sequence++;  		smp_wmb();  		status->policyload = seqno; -		status->deny_unknown = !security_get_allow_unknown(state); +		status->deny_unknown = !security_get_allow_unknown();  		smp_wmb();  		status->sequence++;  	} -	mutex_unlock(&state->status_lock); +	mutex_unlock(&selinux_state.status_lock);  }  |