kcsan: Clarify Kconfig option KCSAN_IGNORE_ATOMICS
authorMarco Elver <elver@google.com>
Tue, 4 Feb 2020 17:21:11 +0000 (18:21 +0100)
committerIngo Molnar <mingo@kernel.org>
Sat, 21 Mar 2020 08:42:21 +0000 (09:42 +0100)
Clarify difference between options KCSAN_IGNORE_ATOMICS and
KCSAN_ASSUME_PLAIN_WRITES_ATOMIC in help text.

Signed-off-by: Marco Elver <elver@google.com>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
lib/Kconfig.kcsan

index 66126853dab0286771a6304f1bc062e97c6e8c21..020ac63e436170e3a27d5122bbb969e1da408d42 100644 (file)
@@ -132,8 +132,18 @@ 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
+         additional 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.
+
+         Similar to KCSAN_ASSUME_PLAIN_WRITES_ATOMIC, but including unaligned
+         accesses, 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 (aligned and
+         unaligned, if CONFIG_KCSAN_ASSUME_PLAIN_WRITES_ATOMIC=n).
 
 endif # KCSAN