linux/security/keys
David Howells 4aab1e896a KEYS: Make request_key() and co. return an error for a negative key
Make request_key() and co. return an error for a negative or rejected key.  If
the key was simply negated, then return ENOKEY, otherwise return the error
with which it was rejected.

Without this patch, the following command returns a key number (with the latest
keyutils):

	[root@andromeda ~]# keyctl request2 user debug:foo rejected @s
	586569904

Trying to print the key merely gets you a permission denied error:

	[root@andromeda ~]# keyctl print 586569904
	keyctl_read_alloc: Permission denied

Doing another request_key() call does get you the error, as long as it hasn't
expired yet:

	[root@andromeda ~]# keyctl request user debug:foo
	request_key: Key was rejected by service

Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: James Morris <jmorris@namei.org>
2011-03-17 11:59:49 +11:00
..
compat.c KEYS: Add an iovec version of KEYCTL_INSTANTIATE 2011-03-08 11:17:22 +11:00
encrypted.c KEYS: Add an RCU payload dereference macro 2011-03-08 11:17:11 +11:00
encrypted.h encrypted-keys: rename encrypted_defined files to encrypted 2011-01-24 10:27:57 +11:00
gc.c KEYS: Fix up comments in key management code 2011-01-21 14:59:30 -08:00
internal.h KEYS: Improve /proc/keys 2011-03-17 11:59:32 +11:00
key.c KEYS: Add a new keyctl op to reject a key with a specified error code 2011-03-08 11:17:18 +11:00
keyctl.c KEYS: Make request_key() and co. return an error for a negative key 2011-03-17 11:59:49 +11:00
keyring.c KEYS: Improve /proc/keys 2011-03-17 11:59:32 +11:00
Makefile encrypted-keys: rename encrypted_defined files to encrypted 2011-01-24 10:27:57 +11:00
permission.c KEYS: Fix up comments in key management code 2011-01-21 14:59:30 -08:00
proc.c KEYS: Improve /proc/keys 2011-03-17 11:59:32 +11:00
process_keys.c KEYS: Improve /proc/keys 2011-03-17 11:59:32 +11:00
request_key_auth.c KEYS: Improve /proc/keys 2011-03-17 11:59:32 +11:00
request_key.c KEYS: Improve /proc/keys 2011-03-17 11:59:32 +11:00
sysctl.c sysctl: Drop & in front of every proc_handler. 2009-11-18 08:37:40 -08:00
trusted.c KEYS: Add an RCU payload dereference macro 2011-03-08 11:17:11 +11:00
trusted.h trusted-keys: rename trusted_defined files to trusted 2011-01-24 10:14:22 +11:00
user_defined.c KEYS: Improve /proc/keys 2011-03-17 11:59:32 +11:00