summaryrefslogtreecommitdiff
path: root/include/linux/compiler.h
diff options
context:
space:
mode:
authorAlexey Dobriyan <adobriyan@gmail.com>2024-06-24 18:39:49 +0300
committerAndrew Morton <akpm@linux-foundation.org>2024-06-28 19:36:30 -0700
commit7c812814e8c34a41bff6fe49987760ffaf8702af (patch)
tree1c881eec056c5724a3443b8dae655011397d9d1c /include/linux/compiler.h
parent961a2851324561caed579764ffbee3db82b32829 (diff)
compiler.h: simplify data_race() macro
-Wdeclaration-after-statement used since forever required statement expressions to inject __kcsan_disable_current(), __kcsan_enable_current() to mark data race. Now that it is gone, make macro expansion simpler. __unqual_scalar_typeof() is wordy macro by itself. "expr" is expanded twice. Link: https://lkml.kernel.org/r/fb62163f-ba21-4661-be5b-bb5124abc87d@p183 Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Reviewed-by: Marco Elver <elver@google.com> Cc: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Diffstat (limited to 'include/linux/compiler.h')
-rw-r--r--include/linux/compiler.h6
1 files changed, 2 insertions, 4 deletions
diff --git a/include/linux/compiler.h b/include/linux/compiler.h
index 8c252e073bd8..2ea6120f3f7a 100644
--- a/include/linux/compiler.h
+++ b/include/linux/compiler.h
@@ -200,10 +200,8 @@ void ftrace_likely_update(struct ftrace_likely_data *f, int val,
*/
#define data_race(expr) \
({ \
- __unqual_scalar_typeof(({ expr; })) __v = ({ \
- __kcsan_disable_current(); \
- expr; \
- }); \
+ __kcsan_disable_current(); \
+ __auto_type __v = (expr); \
__kcsan_enable_current(); \
__v; \
})