keys: fix sparse warning by adding __user annotation to cast
authorJames Morris <jmorris@namei.org>
Mon, 29 Dec 2008 03:35:35 +0000 (14:35 +1100)
committerJames Morris <jmorris@namei.org>
Wed, 31 Dec 2008 23:32:44 +0000 (10:32 +1100)
Fix the following sparse warning:

      CC      security/keys/key.o
    security/keys/keyctl.c:1297:10: warning: incorrect type in argument 2 (different address spaces)
    security/keys/keyctl.c:1297:10:    expected char [noderef] <asn:1>*buffer
    security/keys/keyctl.c:1297:10:    got char *<noident>

which appears to be caused by lack of __user annotation to the cast of
a syscall argument.

Signed-off-by: James Morris <jmorris@namei.org>
Acked-by: David Howells <dhowells@redhat.com>
security/keys/keyctl.c

index 6688765..0979679 100644 (file)
@@ -1294,7 +1294,7 @@ asmlinkage long sys_keyctl(int option, unsigned long arg2, unsigned long arg3,
 
        case KEYCTL_GET_SECURITY:
                return keyctl_get_security((key_serial_t) arg2,
-                                          (char *) arg3,
+                                          (char __user *) arg3,
                                           (size_t) arg4);
 
        default: