KEYS: Consistent ordering for __key_link_begin and restrict check
authorMat Martineau <mathew.j.martineau@linux.intel.com>
Tue, 4 Oct 2016 23:27:32 +0000 (16:27 -0700)
committerMat Martineau <mathew.j.martineau@linux.intel.com>
Tue, 4 Apr 2017 21:10:11 +0000 (14:10 -0700)
commit4a420896f12d2d043602f134ae18ad6be5b9d9dd
treee94fefe0dd32c3bbe3a3585277305ce8b270201f
parentefba797b977c99bc6e0c301299272c80fb8b287f
KEYS: Consistent ordering for __key_link_begin and restrict check

The keyring restrict callback was sometimes called before
__key_link_begin and sometimes after, which meant that the keyring
semaphores were not always held during the restrict callback.

If the semaphores are consistently acquired before checking link
restrictions, keyring contents cannot be changed after the restrict
check is complete but before the evaluated key is linked to the keyring.

Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
security/keys/key.c