lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Tue, 25 Aug 2020 17:32:26 +0200
From:   Vincent Whitchurch <vincent.whitchurch@...s.com>
To:     Jason Baron <jbaron@...mai.com>
CC:     Steven Rostedt <rostedt@...dmis.org>,
        "mingo@...hat.com" <mingo@...hat.com>, kernel <kernel@...s.com>,
        "corbet@....net" <corbet@....net>,
        "pmladek@...e.com" <pmladek@...e.com>,
        "sergey.senozhatsky@...il.com" <sergey.senozhatsky@...il.com>,
        "john.ogness@...utronix.de" <john.ogness@...utronix.de>,
        "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v2] dynamic debug: allow printing to trace event

On Fri, Aug 14, 2020 at 11:30:34PM +0200, Jason Baron wrote:
> On 8/14/20 1:15 PM, Steven Rostedt wrote:
> > On Fri, 14 Aug 2020 15:31:51 +0200
> > Vincent Whitchurch <vincent.whitchurch@...s.com> wrote:
> >> index aa9ff9e1c0b3..f599ed21ecc5 100644
> >> --- a/include/linux/dynamic_debug.h
> >> +++ b/include/linux/dynamic_debug.h
> >> @@ -27,13 +27,16 @@ struct _ddebug {
> >>  	 * writes commands to <debugfs>/dynamic_debug/control
> >>  	 */
> >>  #define _DPRINTK_FLAGS_NONE	0
> >> -#define _DPRINTK_FLAGS_PRINT	(1<<0) /* printk() a message using the format */
> >> +#define _DPRINTK_FLAGS_PRINTK	(1<<0) /* printk() a message using the format */
> > 
> > The above looks like a cleanup unrelated to this patch, and probably
> > should be on its own.
> 
> I read it as we used to have this one thing called 'print', which really meant
> printk, but now that we also have the ability to output to the trace buffer,
> what does 'print' mean now? So I read it as being part of this change.

Yes, that's what was intended, but I think it makes sense to split it
out as Steven suggested so I've done that now (and also renamed the
combined flag to the less ambiguous _DPRINTK_FLAGS_ENABLE).

>
> > 
> >>  #define _DPRINTK_FLAGS_INCL_MODNAME	(1<<1)
> >>  #define _DPRINTK_FLAGS_INCL_FUNCNAME	(1<<2)
> >>  #define _DPRINTK_FLAGS_INCL_LINENO	(1<<3)
> >>  #define _DPRINTK_FLAGS_INCL_TID		(1<<4)
> >> +#define _DPRINTK_FLAGS_TRACE		(1<<5)	
> >> +#define _DPRINTK_FLAGS_PRINT		(_DPRINTK_FLAGS_PRINTK | \
> >> +					 _DPRINTK_FLAGS_TRACE)
> 
> 
> Is _DPRINTK_FLAGS_PRINT actually used anywhere? Looks to me like
> it can be removed.

It's used from DYNAMIC_DEBUG_BRANCH() as well as from
lib/dynamic_debug.c to check if the location is enabled.

> This is a feature I've wanted for dynamic debug for a while. Thanks for
> implementing it!
> 
> Dynamic can be enabled on the command line in order to print things early
> in boot (I think ftrace can as well), I want to make sure that there are
> no ordering issues here? And things wouldn't blow up if we enable printing
> to the ftrace buffer early on via dyanmic debug?

I tried enabling all dynamic debug locations and tracing via the command
line and that worked fine:

 dyndbg="file * +x" trace_event=printk:*

Powered by blists - more mailing lists