KEYS: Add missing smp_rmb() primitives to the keyring search code
authorDavid Howells <[email protected]>
Tue, 17 Jan 2012 20:39:40 +0000 (20:39 +0000)
committerJames Morris <[email protected]>
Tue, 17 Jan 2012 23:41:27 +0000 (10:41 +1100)
commitefde8b6e16f11e7d1681c68d86c7fd51053cada7
tree4fb5e80428c4f36c5da35ff3319cd71c1771451c
parent25add8cf99c9ec8b8dc0acd8b9241e963fc0d29c
KEYS: Add missing smp_rmb() primitives to the keyring search code

Add missing smp_rmb() primitives to the keyring search code.

When keyring payloads are appended to without replacement (thus using up spare
slots in the key pointer array), an smp_wmb() is issued between the pointer
assignment and the increment of the key count (nkeys).

There should be corresponding read barriers between the read of nkeys and
dereferences of keys[n] when n is dependent on the value of nkeys.

Signed-off-by: David Howells <[email protected]>
Reviewed-by: Paul E. McKenney <[email protected]>
Signed-off-by: James Morris <[email protected]>
security/keys/gc.c
security/keys/keyring.c