kmemleak fails to report detected leaks after allocation failure

From: Nick Bowler
Date: Tue Jul 19 2011 - 17:14:57 EST


I just ran into a somewhat amusing issue with kmemleak. After running
for a while (10 days), and detecting about 100 "suspected memory leaks",
kmemleak ultimately reported:

kmemleak: Cannot allocate a kmemleak_object structure
kmemleak: Automatic memory scanning thread ended
kmemleak: Kernel memory leak detector disabled

OK, so something failed and kmemleak apparently can't recover from
this. However, at this point, it appears that kmemleak has *also*
lost the ability to report the earlier leaks that it actually
detected.

cat: /sys/kernel/debug/kmemleak: Device or resource busy

It seems to me that kmemleak shouldn't lose the ability to report leaks
that it already detected after it disables itself due to an issue that
was potentially caused by the very leaks that it managed to detect
(unlikely in this instance, but still...).

This was on a 2.6.39.2 kernel on x86_64.

I imagine that such a failure is unlikely to repeat itself, but I
figured I'd throw it out there.

Cheers,
--
Nick Bowler, Elliptic Technologies (http://www.elliptictech.com/)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/