compiler.h: Avoid nested statement expression in data_race()
[linux-2.6-microblaze.git] / include / linux / compiler.h
index 7b090d2..f0bfbe8 100644 (file)
@@ -264,12 +264,12 @@ void ftrace_likely_update(struct ftrace_likely_data *f, int val,
  */
 #define data_race(expr)                                                        \
 ({                                                                     \
-       __kcsan_disable_current();                                      \
-       ({                                                              \
-               __unqual_scalar_typeof(({ expr; })) __v = ({ expr; });  \
-               __kcsan_enable_current();                               \
-               __v;                                                    \
+       __unqual_scalar_typeof(({ expr; })) __v = ({                    \
+               __kcsan_disable_current();                              \
+               expr;                                                   \
        });                                                             \
+       __kcsan_enable_current();                                       \
+       __v;                                                            \
 })
 
 /*