1
linux/security/keys
David Howells fd75815f72 KEYS: Add invalidation support
Add support for invalidating a key - which renders it immediately invisible to
further searches and causes the garbage collector to immediately wake up,
remove it from keyrings and then destroy it when it's no longer referenced.

It's better not to do this with keyctl_revoke() as that marks the key to start
returning -EKEYREVOKED to searches when what is actually desired is to have the
key refetched.

To invalidate a key the caller must be granted SEARCH permission by the key.
This may be too strict.  It may be better to also permit invalidation if the
caller has any of READ, WRITE or SETATTR permission.

The primary use for this is to evict keys that are cached in special keyrings,
such as the DNS resolver or an ID mapper.

Signed-off-by: David Howells <dhowells@redhat.com>
2012-05-11 10:56:56 +01:00
..
encrypted-keys encrypted-keys: fix rcu and sparse messages 2012-01-18 10:41:30 +11:00
compat.c KEYS: Add invalidation support 2012-05-11 10:56:56 +01:00
gc.c KEYS: Add invalidation support 2012-05-11 10:56:56 +01:00
internal.h KEYS: Add invalidation support 2012-05-11 10:56:56 +01:00
Kconfig KEYS: Move the key config into security/keys/Kconfig 2012-05-11 10:56:56 +01:00
key.c KEYS: Add invalidation support 2012-05-11 10:56:56 +01:00
keyctl.c KEYS: Add invalidation support 2012-05-11 10:56:56 +01:00
keyring.c KEYS: Add invalidation support 2012-05-11 10:56:56 +01:00
Makefile KEYS: Reorganise keys Makefile 2012-05-11 10:56:56 +01:00
permission.c KEYS: Add invalidation support 2012-05-11 10:56:56 +01:00
proc.c KEYS: Add invalidation support 2012-05-11 10:56:56 +01:00
process_keys.c KEYS: Do LRU discard in full keyrings 2012-05-11 10:56:56 +01:00
request_key_auth.c KEYS: Don't return EAGAIN to keyctl_assume_authority() 2011-06-14 15:03:29 +10:00
request_key.c usermodehelper: kill umh_wait, renumber UMH_* constants 2012-03-23 16:58:41 -07:00
sysctl.c sysctl: Drop & in front of every proc_handler. 2009-11-18 08:37:40 -08:00
trusted.c keys: fix trusted/encrypted keys sparse rcu_assign_pointer messages 2012-01-18 10:41:29 +11:00
trusted.h trusted-keys: rename trusted_defined files to trusted 2011-01-24 10:14:22 +11:00
user_defined.c Merge git://git.samba.org/sfrench/cifs-2.6 2012-01-23 08:59:49 -08:00