Faults in Linux Kernel 3.x : Locking but not unlocking

As part of my work, I need to annotate  the reports generated using Coccinelle Scripts as bugs/FPs for recent Linux Kernels, recent as in versions > 3.0 till the current one 3.18.

As I’m reading the reports (newer ones), so today I completed Linux_lockintr.new.org.

This file had many todos, so it took me some time to complete it. This org file contains report for cases where a lock that is taken but not released. In simple words, cases where a unlock was missing. Interrupts are disabled at the same time. I have written some blog post related to this pattern.

Most of them had the cases where spin_lock_irqsave, spin_lock_irq are used.

What is spin_lock_irq and  spin_lock_irqsave?

This is a very good read on this, plus I have also written a blog post on this, linked above.

What did I find?

There were both FPs and Bugs. This was pretty simple to classify, some needed careful check.

There are some patches lined up for this case too.

#bugs, #coccinelle-scripts, #faults, #linux-kernel, #linux-kernels