aboutsummaryrefslogtreecommitdiffstats
path: root/security/keys/keyring.c
diff options
context:
space:
mode:
authorWolfgang Wiedmeyer <wolfgit@wiedmeyer.de>2015-10-23 23:15:19 +0200
committerWolfgang Wiedmeyer <wolfgit@wiedmeyer.de>2015-10-23 23:15:19 +0200
commit272e77de798362c31e6452a46a0e7d5b6aaeb550 (patch)
tree52c767d8f7a1ffd3df0a910478450da5d9d47cf4 /security/keys/keyring.c
parent7134863d0877e48d58344a51024a410fe1093a34 (diff)
downloadkernel_samsung_smdk4412-272e77de798362c31e6452a46a0e7d5b6aaeb550.zip
kernel_samsung_smdk4412-272e77de798362c31e6452a46a0e7d5b6aaeb550.tar.gz
kernel_samsung_smdk4412-272e77de798362c31e6452a46a0e7d5b6aaeb550.tar.bz2
first round of updates to the security code
Diffstat (limited to 'security/keys/keyring.c')
-rw-r--r--security/keys/keyring.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/security/keys/keyring.c b/security/keys/keyring.c
index a06ffab..37a7f3b 100644
--- a/security/keys/keyring.c
+++ b/security/keys/keyring.c
@@ -155,7 +155,6 @@ static void keyring_destroy(struct key *keyring)
}
klist = rcu_dereference_check(keyring->payload.subscriptions,
- rcu_read_lock_held() ||
atomic_read(&keyring->usage) == 0);
if (klist) {
for (loop = klist->nkeys - 1; loop >= 0; loop--)
@@ -861,8 +860,7 @@ void __key_link(struct key *keyring, struct key *key,
kenter("%d,%d,%p", keyring->serial, key->serial, nklist);
- klist = rcu_dereference_protected(keyring->payload.subscriptions,
- rwsem_is_locked(&keyring->sem));
+ klist = rcu_dereference_locked_keyring(keyring);
atomic_inc(&key->usage);