On Thu, 17 Sep 2026 06:47:37 -0700 Breno Leitao <[email protected]> wrote:

> CONFIG_DEBUG_KMEMLEAK_VERBOSE sends every report to the console, so a
> transient false positive there is broadcast to whatever collects the
> kernel log rather than sitting in the debugfs file until someone looks.
> That asymmetry justifies being more conservative than the general case.
> 
> Require one more consecutive unreferenced scan before reporting. The
> only cost is that a genuine leak is reported one scan interval later
> (600s by default); the value stays writable at run time through the
> module parameter.
> 
> Kernels without CONFIG_DEBUG_KMEMLEAK_VERBOSE keep reporting on the
> first unreferenced scan.
> 
> I've been running constant upstream kernel with
> CONFIG_DEBUG_KMEMLEAK_VERBOSE set, and I am still seeing some rare false
> positive, that goes away with min_unref_scans=3, so, making it the
> default based on my heuristic.

I'm guessing going from 2 to 3 reduces the false-positive reporting
rate, but they're still possible.

It all sounds rather rubbery.  Why do these false positives occur,
anyway?  Are we papering over a fundamental problem by filtering out
its user-visible effects?


Reply via email to