• David Howells's avatar
    KEYS: Make request_key() and co. return an error for a negative key · 4aab1e89
    David Howells authored
    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: default avatarDavid Howells <dhowells@redhat.com>
    Signed-off-by: default avatarJames Morris <jmorris@namei.org>
    4aab1e89
keyctl.c 39.1 KB