Commit c5b19946 authored by Christian Borntraeger's avatar Christian Borntraeger

kernel: Fix sparse warning for ACCESS_ONCE

Commit 927609d6 ("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: 927609d6 ("kernel: tighten rules for ACCESS ONCE")
Signed-off-by: default avatarChristian Borntraeger <borntraeger@de.ibm.com>
parent 378af02b
...@@ -461,7 +461,7 @@ static __always_inline void __assign_once_size(volatile void *p, void *res, int ...@@ -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. * If possible use READ_ONCE/ASSIGN_ONCE instead.
*/ */
#define __ACCESS_ONCE(x) ({ \ #define __ACCESS_ONCE(x) ({ \
__maybe_unused typeof(x) __var = 0; \ __maybe_unused typeof(x) __var = (__force typeof(x)) 0; \
(volatile typeof(x) *)&(x); }) (volatile typeof(x) *)&(x); })
#define ACCESS_ONCE(x) (*__ACCESS_ONCE(x)) #define ACCESS_ONCE(x) (*__ACCESS_ONCE(x))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment