Stories
Slash Boxes
Comments

SoylentNews is people

SoylentNews is powered by your submissions, so send in your scoop. Only 17 submissions in the queue.

Submission Preview

Link to Story

Google Sanitizer identifying Race Conditions in the Linux Kernel

Accepted submission by JoeMerchant at 2019-10-05 01:59:48 from the Does quick always have to be dirty? dept.
OS

The greatest evil visited on every complex project I have ever been under schedule pressure to ship is the: sleep X, while we wait for something else to finish. It's infinitely easier than actual signaling for readiness, and it _usually_ works fine... I guess Linux kernel devs do the same, nice that it's open source so that people with less schedule pressure are free to critique and improve it.

One of the contributions Google is working on for the upstream Linux kernel is a new "sanitizer" [phoronix.com]. Over the years Google has worked on AddressSanitizer for finding memory corruption bugs, UndefinedBehaviorSanitizer for undefined behavior within code, and other sanitizers. The Linux kernel has been exposed to this as well as other open-source projects while their newest sanitizer is KCSAN and focused as a Kernel Concurrency Sanitizer.

The Kernel Concurrency Sanitizer (KCSAN) is focused on discovering data-race issues within the kernel code. This dynamic data-race detector is an alternative to the Kernel Thread Sanitizer.

In their testing just last month, in two days they found over 300 unique data race conditions [oreilly.com] within the mainline kernel.


Original Submission