]> git.hungrycats.org Git - linux/commitdiff
kernel: Fix sparse warning for ACCESS_ONCE
authorChristian Borntraeger <borntraeger@de.ibm.com>
Mon, 12 Jan 2015 11:13:39 +0000 (12:13 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 6 Mar 2015 22:57:42 +0000 (14:57 -0800)
commit c5b19946eb76c67566aae6a84bf2b10ad59295ea upstream.

Commit 927609d622a3 ("kernel: tighten rules for ACCESS ONCE") results in
sparse warnings like "Using plain integer as NULL pointer" - Let's add a
type cast to the dummy assignment.
To avoid warnings lik "sparse: warning: cast to restricted __hc32" we also
use __force on that cast.

Fixes: 927609d622a3 ("kernel: tighten rules for ACCESS ONCE")
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
include/linux/compiler.h

index 4a0e80d09a81e6036ed5adfb72909ae05b34208d..0b203111c16606ed35ad28583ed1cbf75a0044b4 100644 (file)
@@ -461,7 +461,7 @@ static __always_inline void __write_once_size(volatile void *p, void *res, int s
  * If possible use READ_ONCE/ASSIGN_ONCE instead.
  */
 #define __ACCESS_ONCE(x) ({ \
-        __maybe_unused typeof(x) __var = 0; \
+        __maybe_unused typeof(x) __var = (__force typeof(x)) 0; \
        (volatile typeof(x) *)&(x); })
 #define ACCESS_ONCE(x) (*__ACCESS_ONCE(x))