diff options
author | David Howells <dhowells@redhat.com> | 2011-08-22 15:08:51 +0200 |
---|---|---|
committer | James Morris <jmorris@namei.org> | 2011-08-23 01:57:34 +0200 |
commit | 6d528b082294f0ddabd6368297546a2c0b67d4fe (patch) | |
tree | 268bf5dbd454c689947c51867bf5b77e21c97eae /security/keys/keyring.c | |
parent | KEYS: keyctl_get_keyring_ID() should create a session keyring if create flag set (diff) | |
download | linux-6d528b082294f0ddabd6368297546a2c0b67d4fe.tar.xz linux-6d528b082294f0ddabd6368297546a2c0b67d4fe.zip |
KEYS: __key_link() should use the RCU deref wrapper for keyring payloads
__key_link() should use the RCU deref wrapper rcu_dereference_locked_keyring()
for accessing keyring payloads rather than calling rcu_dereference_protected()
directly.
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: James Morris <jmorris@namei.org>
Diffstat (limited to 'security/keys/keyring.c')
-rw-r--r-- | security/keys/keyring.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/security/keys/keyring.c b/security/keys/keyring.c index 30e242f7bd0e..37a7f3b28852 100644 --- a/security/keys/keyring.c +++ b/security/keys/keyring.c @@ -860,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); |