linux/kernel/kcsan
Marco Elver d8949ef1d9 kcsan: Introduce scoped ASSERT_EXCLUSIVE macros
Introduce ASSERT_EXCLUSIVE_*_SCOPED(), which provide an intuitive
interface to use the scoped-access feature, without having to explicitly
mark the start and end of the desired scope. Basing duration of the
checks on scope avoids accidental misuse and resulting false positives,
which may be hard to debug. See added comments for usage.

The macros are implemented using __attribute__((__cleanup__(func))),
which is supported by all compilers that currently support KCSAN.

Suggested-by: Boqun Feng <boqun.feng@gmail.com>
Suggested-by: Paul E. McKenney <paulmck@kernel.org>
Signed-off-by: Marco Elver <elver@google.com>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2020-04-13 17:18:13 -07:00
..
atomic.h kcsan: Add current->state to implicitly atomic accesses 2020-03-25 09:56:00 -07:00
core.c kcsan: Add support for scoped accesses 2020-04-13 17:18:11 -07:00
debugfs.c kcsan: Introduce scoped ASSERT_EXCLUSIVE macros 2020-04-13 17:18:13 -07:00
encoding.h kcsan: Prefer __always_inline for fast-path 2020-03-21 09:40:19 +01:00
kcsan.h kcsan: Avoid blocking producers in prepare_report() 2020-04-13 17:18:11 -07:00
Makefile kcsan, trace: Make KCSAN compatible with tracing 2020-03-21 09:44:41 +01:00
report.c kcsan: Add support for scoped accesses 2020-04-13 17:18:11 -07:00
test.c kcsan: Fix 0-sized checks 2020-03-21 09:42:42 +01:00