keys: Cache the hash value to avoid lots of recalculation
authorDavid Howells <dhowells@redhat.com>
Wed, 26 Jun 2019 20:02:32 +0000 (21:02 +0100)
committerDavid Howells <dhowells@redhat.com>
Wed, 26 Jun 2019 20:02:32 +0000 (21:02 +0100)
commit355ef8e15885020da88f5ba2d85ce42b1d01f537
tree7c3f7c5b8b599fc487b3f822cf2ab402a9c791f5
parentf771fde82051976a6fc0fd570f8b86de4a92124b
keys: Cache the hash value to avoid lots of recalculation

Cache the hash of the key's type and description in the index key so that
we're not recalculating it every time we look at a key during a search.
The hash function does a bunch of multiplications, so evading those is
probably worthwhile - especially as this is done for every key examined
during a search.

This also allows the methods used by assoc_array to get chunks of index-key
to be simplified.

Signed-off-by: David Howells <dhowells@redhat.com>
include/linux/key.h
security/keys/internal.h
security/keys/key.c
security/keys/keyring.c