diff options
Diffstat (limited to 'security/keys/user_defined.c')
| -rw-r--r-- | security/keys/user_defined.c | 16 | 
1 files changed, 2 insertions, 14 deletions
diff --git a/security/keys/user_defined.c b/security/keys/user_defined.c index c6ca8662a46..f66baf44f32 100644 --- a/security/keys/user_defined.c +++ b/security/keys/user_defined.c @@ -69,18 +69,6 @@ error:  EXPORT_SYMBOL_GPL(user_instantiate);  /* - * dispose of the old data from an updated user defined key - */ -static void user_update_rcu_disposal(struct rcu_head *rcu) -{ -	struct user_key_payload *upayload; - -	upayload = container_of(rcu, struct user_key_payload, rcu); - -	kfree(upayload); -} - -/*   * update a user defined key   * - the key's semaphore is write-locked   */ @@ -114,7 +102,7 @@ int user_update(struct key *key, const void *data, size_t datalen)  		key->expiry = 0;  	} -	call_rcu(&zap->rcu, user_update_rcu_disposal); +	kfree_rcu(zap, rcu);  error:  	return ret; @@ -145,7 +133,7 @@ void user_revoke(struct key *key)  	if (upayload) {  		rcu_assign_pointer(key->payload.data, NULL); -		call_rcu(&upayload->rcu, user_update_rcu_disposal); +		kfree_rcu(upayload, rcu);  	}  }  |