summaryrefslogtreecommitdiff
path: root/security/keys/user_defined.c
diff options
context:
space:
mode:
authorStephen Rothwell <sfr@canb.auug.org.au>2011-05-04 12:25:08 +1000
committerStephen Rothwell <sfr@canb.auug.org.au>2011-05-04 12:25:14 +1000
commitf92f43d41e14e0910dc0e363818a54f78e629ad3 (patch)
tree3825461348918357286eb488182fd4a3644d5ad7 /security/keys/user_defined.c
parent6d4a1eee6108605dba3e87a6211e8d0bea5d57fd (diff)
parent4a9d2d87d2e5fd35e3f077dd4b4ce795bafde3b4 (diff)
Merge remote-tracking branch 'rcu/rcu/next'
Conflicts: net/core/filter.c
Diffstat (limited to 'security/keys/user_defined.c')
-rw-r--r--security/keys/user_defined.c16
1 files changed, 2 insertions, 14 deletions
diff --git a/security/keys/user_defined.c b/security/keys/user_defined.c
index 63bb1aaffc0a..5b366d7af3c4 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);
}
}