Automating source code evolutions using Coccinelle

New APIs are continually added to the Linux kernel, to improve functionality, reliability, or performance.  Nevertheless, it is a challenge to update old code to use these new APIs.  Coccinelle is a program matching and transformation tool for C code that has been...

Deciphering Oopsies How to debug kernel oops

The Linux kernel is a very complex beast living in millions of households and data centers around the world. Normally, you’re not supposed to notice its presence but when it gets cranky because of something not suiting it, it spits crazy messages called colloquially...

Fixing coverity bugs all around the Linux kernel

Coverity scans the kernel code and reports issues that can hide coding mistakes and vulnerabilities. It reports around 6,000 outstanding defects in the Linux kernel, some of which were identified 11 years ago. I’m dedicated to fix those defects and this is a...

A year of fixing Coverity issues all over the Linux kernel

Coverity is a static analyzer that scans the kernel code and reports issues that can hide coding mistakes and vulnerabilities. Currently, it reports around 5,000 outstanding defects in the Linux kernel. I’m dedicated to fixing those defects and, this talk is a status...

Hunting and fixing bugs all over the Linux kernel

At a rate of almost 9 changes per hour (24/7), the Linux kernel is definitely a scary beast. Bugs are introduced on a daily basis and, through the use of multiple code analyzers, *some* of them are detected and fixed before they hit mainline. Over the course of the...