staging: android: binder: fix sparse warnings
authorEmil Goode <emilgoode@gmail.com>
Mon, 23 Apr 2012 22:36:29 +0000 (00:36 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 24 Apr 2012 18:01:46 +0000 (11:01 -0700)
Fix sparse warnings by adding __user annotation to stucts.

This patch fixes the the following sparse warnings:

drivers/staging/android/binder.c:1343:76: warning:
incorrect type in argument 2 (different address spaces)
drivers/staging/android/binder.c:1343:76:
expected void [noderef] <asn:1>*ptr
drivers/staging/android/binder.c:1343:76: got void *binder
drivers/staging/android/binder.c:1567:57: warning:
incorrect type in argument 2 (different address spaces)
drivers/staging/android/binder.c:1567:57:
expected void const [noderef] <asn:1>*from
drivers/staging/android/binder.c:1567:57:
got void const *buffer
drivers/staging/android/binder.c:1573:46: warning:
incorrect type in argument 2 (different address spaces)
drivers/staging/android/binder.c:1573:46:
expected void const [noderef] <asn:1>*from
drivers/staging/android/binder.c:1573:46:
got void const *offsets
drivers/staging/android/binder.c:1603:76: warning:
incorrect type in argument 2 (different address spaces)
drivers/staging/android/binder.c:1603:76:
expected void [noderef] <asn:1>*ptr
drivers/staging/android/binder.c:1603:76: got void *binder
drivers/staging/android/binder.c:1605:64: warning:
incorrect type in argument 2 (different address spaces)
drivers/staging/android/binder.c:1605:64:
expected void [noderef] <asn:1>*ptr
drivers/staging/android/binder.c:1605:64: got void *binder
drivers/staging/android/binder.c:1605:76: warning:
incorrect type in argument 3 (different address spaces)
drivers/staging/android/binder.c:1605:76:
expected void [noderef] <asn:1>*cookie
drivers/staging/android/binder.c:1605:76: got void *cookie
drivers/staging/android/binder.c:1613:40: error:
incompatible types in comparison

Signed-off-by: Emil Goode <emilgoode@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/android/binder.h

index 6602474..2f7d195 100644 (file)
@@ -53,12 +53,12 @@ struct flat_binder_object {
 
        /* 8 bytes of data. */
        union {
-               void            *binder;        /* local object */
+               void __user     *binder;        /* local object */
                signed long     handle;         /* remote object */
        };
 
        /* extra data associated with local object */
-       void                    *cookie;
+       void __user             *cookie;
 };
 
 /*
@@ -139,9 +139,9 @@ struct binder_transaction_data {
        union {
                struct {
                        /* transaction data */
-                       const void      *buffer;
+                       const void __user       *buffer;
                        /* offsets from buffer to flat_binder_object structs */
-                       const void      *offsets;
+                       const void __user       *offsets;
                } ptr;
                uint8_t buf[8];
        } data;