On Fri, May 10, 2024 at 03:50:57PM +0200, Oleg Nesterov wrote: > On 05/10, Oleg Nesterov wrote: > > > > On 05/07, Paul E. McKenney wrote: > > > > > > By the stricter data-race rules used in RCU code [1], > > ... > > > [1] https://docs.google.com/document/d/1FwZaXSg3A55ivVoWffA9iMuhJ3_Gmj_E494dLYjjyLQ/edit?usp=sharing > > > > I am getting more and more confused... > > > > Does this mean that KCSAN/etc treats the files in kernel/rcu/ > > differently than the "Rest of Kernel"? Or what? > > > > And how is it enforced? > > I can only find the strnstr(buf, "rcu") checks in skip_report(), > but they only cover the KCSAN_REPORT_VALUE_CHANGE_ONLY case... Huh, new one on me! When I run KCSAN, I set CONFIG_KCSAN_STRICT=y, which implies CONFIG_KCSAN_REPORT_VALUE_CHANGE_ONLY=n, which should prevent skip_report() from even being invoked. Which suggests that in the rest of the kernel, including "rcu_" in your function name gets you stricter KCSAN checking. ;-) Thanx, Paul