From: Christian Borntraeger Date: Mon, 12 Jan 2015 11:13:39 +0000 (+0100) Subject: kernel: Fix sparse warning for ACCESS_ONCE X-Git-Tag: v3.19.1~9 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fec1418da2939d368d934d787f340dd667edc5b7;p=thirdparty%2Fkernel%2Fstable.git kernel: Fix sparse warning for ACCESS_ONCE 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 Signed-off-by: Greg Kroah-Hartman --- diff --git a/include/linux/compiler.h b/include/linux/compiler.h index 4a0e80d09a81e..0b203111c1660 100644 --- a/include/linux/compiler.h +++ b/include/linux/compiler.h @@ -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))