Re: [PATCHv2] kmemleak: Add option to print warnings to dmesg

From: Catalin Marinas
Date: Fri Aug 31 2018 - 10:56:21 EST


On Thu, Aug 30, 2018 at 09:43:27AM +0200, Vincent Whitchurch wrote:
> On Tue, Aug 28, 2018 at 11:26:22AM +0100, Catalin Marinas wrote:
> > On Tue, Aug 28, 2018 at 12:14:12PM +0200, Vincent Whitchurch wrote:
> > > On Mon, Aug 27, 2018 at 03:16:41PM -0700, Andrew Morton wrote:
> > > > On Mon, 27 Aug 2018 10:38:21 +0200 Vincent Whitchurch <vincent.whitchurch@xxxxxxxx> wrote:
> > > > > +config DEBUG_KMEMLEAK_WARN
> > > > > + bool "Print kmemleak object warnings to log buffer"
> > > > > + depends on DEBUG_KMEMLEAK
> > > > > + help
> > > > > + Say Y here to make kmemleak print information about unreferenced
> > > > > + objects (including stacktraces) as warnings to the kernel log buffer.
> > > > > + Otherwise this information is only available by reading the kmemleak
> > > > > + debugfs file.
> > > >
> > > > Why add the config option? Why not simply make the change for all
> > > > configs?
> > >
> > > No particular reason other than preserving the current behaviour for
> > > existing users. I can remove the config option if Catalin is fine with
> > > it.
> >
> > IIRC, in the early kmemleak days, people complained about it being to
> > noisy (the false positives rate was also much higher), so the default
> > behaviour was changed to monitor (almost) quietly with the details
> > available via debugfs. I'd like to keep this default behaviour but we
> > could have a "verbose" command via both debugfs and kernel parameter (as
> > we do with "off" and "on"). Would this work for you?
>
> Either a config option or a parameter are usable for me. How about
> something like this? It can be enabled with kmemleak.verbose=1 or "echo
> 1 > /sys/module/kmemleak/parameters/verbose":

Works for me (slightly inconsistent with "echo ... >
/sys/kernel/debug/kmemleak" but a module_param seems to work better here
as it's a configuration rather than an action).

--
Catalin