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:   Fri, 10 Nov 2023 12:51:18 -0700
From:   jim.cromie@...il.com
To:     Łukasz Bartosik <lb@...ihalf.com>
Cc:     Jason Baron <jbaron@...mai.com>,
        Andrew Morton <akpm@...ux-foundation.org>,
        Kees Cook <keescook@...omium.org>,
        Douglas Anderson <dianders@...omium.org>,
        Guenter Roeck <groeck@...gle.com>,
        Yaniv Tzoreff <yanivt@...gle.com>,
        Benson Leung <bleung@...gle.com>,
        Steven Rostedt <rostedt@...dmis.org>,
        Vincent Whitchurch <vincent.whitchurch@...s.com>,
        Pekka Paalanen <ppaalanen@...il.com>,
        Sean Paul <seanpaul@...omium.org>,
        Daniel Vetter <daniel@...ll.ch>, linux-kernel@...r.kernel.org,
        upstream@...ihalf.com
Subject: Re: [PATCH v1 10/12] dyndbg: add processing of T(race) flag argument

On Fri, Nov 10, 2023 at 7:52 AM Łukasz Bartosik <lb@...ihalf.com> wrote:
>
> sob., 4 lis 2023 o 04:06 <jim.cromie@...il.com> napisał(a):
> >
> > On Fri, Nov 3, 2023 at 7:10 AM Łukasz Bartosik <lb@...ihalf.com> wrote:
> > >
> > > Add processing of argument provided to T(race) flag.
> > > The argument value determines destination of debug logs:
> > >
> > > 0 - debug logs will be written to prdbg and devdbg trace events
> > > [1..255] - debug logs will be written to trace instance
> > >
> > > A user can provide trace destination by folowing T flag with
> > > ":" and trace destination value in range [0..255], for example:
> > >
> > > echo "module thunderbolt =pT:7" > /sys/kernel/debug/dynamic_debug/control
> > > echo "module thunderbolt =lT:7,p" > /sys/kernel/debug/dynamic_debug/control
> > >
> > > When T flag with argument is followed by other flags then the next flag has
> > > to be preceded with ",".
> > >
> >
> > the trailing , seems punctuation heavy.
> > Could we just stipulate that any :string  (leading : trailing anything)
> > be the last flag in the spec ?
> > bare T flags are not constrained otherwise.
> > seems fine as API-spec-by-error-codes.
> >
>
> I followed Jason's suggestion to use "," when T flag is not the last
> flag and destination is explicitly provided for the T flag, like in
> the example above
> "echo "module thunderbolt =lT:7,p" > /sys/kernel/debug/dynamic_debug/control".
>
> With "," we can have the following cases:
> - when T is the last flag then it doesn't need to be followed by ","
> even if destination is explicitly provided, for example "lpT:7",
> - when T is not the last flag and destination is explicitly provided
> then "," has to be used before next flag, for example "lT:7,p",
> - when T is not the last flag and destination is not explicitly
> provided then "," is not required, for example "lTp",
>
> Jim, Jason, would you please come to terms if we want to use "," or
> just assume that T has to be the last flag in the spec ?
>

Im fine either way -   eliminating punctuation has a cost too,
it adds some order dependency which isnt there now.
If that complicates the code, no-good.


> >
> >
> >
> > > When no value is provided trace destination defaults to 0, for example:

That seems wrong now - it should default to whatever it was previously set to,

this allows setting a non-default dest while disabling the site:
   echo class DRM_UT_CORE -T:core-log  > /proc/dynamic_debug/control

then just enabling it later, to use the preset dest
   echo class DRM_UT_CORE +T  > /proc/dynamic_debug/control
or more likely:
   echo 0x01 > /sys/module/drm/parameters/debug_trace

this way, debug_trace is just like debug, but still can write to the
separate trace-instances

> > >
> > > echo "module thunderbolt =T" > /sys/kernel/debug/dynamic_debug/control
> > > echo "module thunderbolt =lTp" > /sys/kernel/debug/dynamic_debug/control
> >
> > no colon after T means p is a flag, not a destination name
>
> Yes, in this case p is a flag because when T is not followed
> explicitly by destination then next character would be treated as
> another flag.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ