Hi all, We would like to share a new data-race detector for the Linux kernel: Kernel Concurrency Sanitizer (KCSAN) -- https://github.com/google/ktsan/wiki/KCSAN (Details: https://github.com/google/ktsan/blob/kcsan/Documentation/dev-tools/kcsan.rst)
To those of you who we mentioned at LPC that we're working on a watchpoint-based KTSAN inspired by DataCollider [1], this is it (we renamed it to KCSAN to avoid confusion with KTSAN). [1] http://usenix.org/legacy/events/osdi10/tech/full_papers/Erickson.pdf In the coming weeks we're planning to: * Set up a syzkaller instance. * Share the dashboard so that you can see the races that are found. * Attempt to send fixes for some races upstream (if you find that the kcsan-with-fixes branch contains an important fix, please feel free to point it out and we'll prioritize that). There are a few open questions: * The big one: most of the reported races are due to unmarked accesses; prioritization or pruning of races to focus initial efforts to fix races might be required. Comments on how best to proceed are welcome. We're aware that these are issues that have recently received attention in the context of the LKMM (https://lwn.net/Articles/793253/). * How/when to upstream KCSAN? Feel free to test and send feedback. Thanks, -- Marco