From c5b19946eb76c67566aae6a84bf2b10ad59295ea Mon Sep 17 00:00:00 2001 From: Christian Borntraeger Date: Mon, 12 Jan 2015 12:13:39 +0100 Subject: kernel: Fix sparse warning for ACCESS_ONCE 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 diff --git a/include/linux/compiler.h b/include/linux/compiler.h index 5e186bf..7bebf05 100644 --- a/include/linux/compiler.h +++ b/include/linux/compiler.h @@ -461,7 +461,7 @@ static __always_inline void __assign_once_size(volatile void *p, void *res, int * 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)) -- cgit v0.10.2