keys: fix missing __user in KEYCTL_PKEY_QUERY
authorBen Dooks <ben.dooks@codethink.co.uk>
Fri, 1 Mar 2019 11:30:26 +0000 (11:30 +0000)
committerJames Morris <james.morris@microsoft.com>
Mon, 4 Mar 2019 23:48:37 +0000 (15:48 -0800)
The arg5 of KEYCTL_PKEY_QUERY should have a __user pointer tag on
it as it is a user pointer. This clears the following sparse warning
for this:

security/keys/keyctl.c:1755:43: warning: incorrect type in argument 3 (different address spaces)
security/keys/keyctl.c:1755:43:    expected struct keyctl_pkey_query [noderef] <asn:1>*<noident>
security/keys/keyctl.c:1755:43:    got struct keyctl_pkey_query *<noident>

Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
Acked-by: Serge Hallyn <serge@hallyn.com>
Signed-off-by: James Morris <james.morris@microsoft.com>
security/keys/keyctl.c

index e8093d0..5efde25 100644 (file)
@@ -1751,7 +1751,7 @@ SYSCALL_DEFINE5(keyctl, int, option, unsigned long, arg2, unsigned long, arg3,
                        return -EINVAL;
                return keyctl_pkey_query((key_serial_t)arg2,
                                         (const char __user *)arg4,
-                                        (struct keyctl_pkey_query *)arg5);
+                                        (struct keyctl_pkey_query __user *)arg5);
 
        case KEYCTL_PKEY_ENCRYPT:
        case KEYCTL_PKEY_DECRYPT: