• Marco Elver's avatar
    kcsan: Add option to allow watcher interruptions · 48b1fc19
    Marco Elver authored
    Add option to allow interrupts while a watchpoint is set up. This can be
    enabled either via CONFIG_KCSAN_INTERRUPT_WATCHER or via the boot
    parameter 'kcsan.interrupt_watcher=1'.
    
    Note that, currently not all safe per-CPU access primitives and patterns
    are accounted for, which could result in false positives. For example,
    asm-generic/percpu.h uses plain operations, which by default are
    instrumented. On interrupts and subsequent accesses to the same
    variable, KCSAN would currently report a data race with this option.
    
    Therefore, this option should currently remain disabled by default, but
    may be enabled for specific test scenarios.
    
    To avoid new warnings, changes all uses of smp_processor_id() to use the
    raw version (as already done in kcsan_found_watchpoint()). The exact SMP
    processor id is for informational purposes in the report, and
    correctness is not affected.
    Signed-off-by: default avatarMarco Elver <elver@google.com>
    Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
    48b1fc19
Kconfig.kcsan 6.28 KB