KEYS: Improve /proc/keys
authorDavid Howells <dhowells@redhat.com>
Fri, 11 Mar 2011 17:57:23 +0000 (17:57 +0000)
committerJames Morris <jmorris@namei.org>
Thu, 17 Mar 2011 00:59:32 +0000 (11:59 +1100)
commit78b7280cce23293f7570ad52c1ffe1485c6d9669
treef3051c5fe69cb41e88f9470dead8534dda3e94e0
parentc151694b2c48d956ac8c8c59c6927f89cc29ef70
KEYS: Improve /proc/keys

Improve /proc/keys by:

 (1) Don't attempt to summarise the payload of a negated key.  It won't have
     one.  To this end, a helper function - key_is_instantiated() has been
     added that allows the caller to find out whether the key is positively
     instantiated (as opposed to being uninstantiated or negatively
     instantiated).

 (2) Do show keys that are negative, expired or revoked rather than hiding
     them.  This requires an override flag (no_state_check) to be passed to
     search_my_process_keyrings() and keyring_search_aux() to suppress this
     check.

     Without this, keys that are possessed by the caller, but only grant
     permissions to the caller if possessed are skipped as the possession check
     fails.

     Keys that are visible due to user, group or other checks are visible with
     or without this patch.

Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: James Morris <jmorris@namei.org>
include/linux/key.h
net/dns_resolver/dns_key.c
security/keys/internal.h
security/keys/keyring.c
security/keys/proc.c
security/keys/process_keys.c
security/keys/request_key.c
security/keys/request_key_auth.c
security/keys/user_defined.c