[PATCH 2/3] kcsan: Clarify Kconfig option KCSAN_IGNORE_ATOMICS

From: Marco Elver
Date: Tue Feb 04 2020 - 09:04:29 EST


Clarify difference between options KCSAN_IGNORE_ATOMICS and
KCSAN_ASSUME_PLAIN_WRITES_ATOMIC in help text.

Signed-off-by: Marco Elver <elver@xxxxxxxxxx>
---
lib/Kconfig.kcsan | 15 ++++++++++++---
1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/lib/Kconfig.kcsan b/lib/Kconfig.kcsan
index 08972376f0454..35fab63111d75 100644
--- a/lib/Kconfig.kcsan
+++ b/lib/Kconfig.kcsan
@@ -131,8 +131,17 @@ config KCSAN_ASSUME_PLAIN_WRITES_ATOMIC
config KCSAN_IGNORE_ATOMICS
bool "Do not instrument marked atomic accesses"
help
- If enabled, never instruments marked atomic accesses. This results in
- not reporting data races where one access is atomic and the other is
- a plain access.
+ Never instrument marked atomic accesses. This option can be used for
+ more advanced filtering. Conflicting marked atomic reads and plain
+ writes will never be reported as a data race, however, will cause
+ plain reads and marked writes to result in "unknown origin" reports.
+ If combined with CONFIG_KCSAN_REPORT_RACE_UNKNOWN_ORIGIN=n, data
+ races where at least one access is marked atomic will never be
+ reported.
+
+ Like KCSAN_ASSUME_PLAIN_WRITES_ATOMIC, conflicting marked atomic
+ reads and plain writes will not be reported as data races, however,
+ unlike that option, data races due to two conflicting plain writes
+ will be reported (if CONFIG_KCSAN_ASSUME_PLAIN_WRITES_ATOMIC=n).

endif # KCSAN
--
2.25.0.341.g760bfbb309-goog