X-Git-Url: http://git.monstr.eu/?a=blobdiff_plain;f=Documentation%2Fdev-tools%2Fkcsan.rst;fp=Documentation%2Fdev-tools%2Fkcsan.rst;h=7db43c7c09b8cb1bd880329805cc068e1f2c5096;hb=49f72d5358dd3c0d28bcd2232c513000b15480f0;hp=69dc9c502ccc5eaf2e8ee49b2586ccf84bab0aeb;hpb=08cac6049412061e571fadadc3e23464dc46d0f2;p=linux-2.6-microblaze.git diff --git a/Documentation/dev-tools/kcsan.rst b/Documentation/dev-tools/kcsan.rst index 69dc9c502ccc..7db43c7c09b8 100644 --- a/Documentation/dev-tools/kcsan.rst +++ b/Documentation/dev-tools/kcsan.rst @@ -127,6 +127,14 @@ Kconfig options: causes KCSAN to not report data races due to conflicts where the only plain accesses are aligned writes up to word size. +* ``CONFIG_KCSAN_PERMISSIVE``: Enable additional permissive rules to ignore + certain classes of common data races. Unlike the above, the rules are more + complex involving value-change patterns, access type, and address. This + option depends on ``CONFIG_KCSAN_REPORT_VALUE_CHANGE_ONLY=y``. For details + please see the ``kernel/kcsan/permissive.h``. Testers and maintainers that + only focus on reports from specific subsystems and not the whole kernel are + recommended to disable this option. + To use the strictest possible rules, select ``CONFIG_KCSAN_STRICT=y``, which configures KCSAN to follow the Linux-kernel memory consistency model (LKMM) as closely as possible.