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]
Message-ID: <2598523.FcGXNBlX6l@ubuntu-mate-laptop>
Date:   Wed, 24 Mar 2021 20:09:06 -0400
From:   Julian Braha <julianbraha@...il.com>
To:     Geert Uytterhoeven <geert@...ux-m68k.org>
Cc:     linux-kernel@...r.kernel.org
Subject: Re: [PATCH] lib: fix kconfig dependency on ARCH_WANT_FRAME_POINTERS

On Wednesday, March 24, 2021 4:12:34 AM EDT you wrote:
> Hi Julian,
> 
> On Wed, Mar 24, 2021 at 7:48 AM Julian Braha <julianbraha@...il.com> wrote:
> > On Monday, March 22, 2021 3:43:41 AM EDT you wrote:
> > > On Sun, Mar 21, 2021 at 11:40 PM Julian Braha <julianbraha@...il.com> wrote:
> > > > On Sunday, March 21, 2021 2:28:43 PM EDT you wrote:
> > > > > On Sat, Mar 20, 2021 at 1:17 AM Julian Braha <julianbraha@...il.com> wrote:
> > > > > > When LATENCYTOP is enabled and ARCH_WANT_FRAME_POINTERS
> > > > > > is disabled, Kbuild gives the following warning:
> > > > > >
> > > > > > WARNING: unmet direct dependencies detected for FRAME_POINTER
> > > > > >   Depends on [n]: DEBUG_KERNEL [=y] && (M68K || UML || SUPERH) || ARCH_WANT_FRAME_POINTERS [=n] || MCOUNT [=n]
> > > > > >   Selected by [y]:
> > > > > >   - LATENCYTOP [=y] && DEBUG_KERNEL [=y] && STACKTRACE_SUPPORT [=y] && PROC_FS [=y] && !MIPS && !PPC && !S390 && !MICROBLAZE && !ARM && !ARC && !X86
> > > > > >
> > > > > > This is because LATENCYTOP selects FRAME_POINTER,
> > > > > > without selecting or depending on ARCH_WANT_FRAME_POINTERS,
> > > > > > despite FRAME_POINTER depending on ARCH_WANT_FRAME_POINTERS.
> > > > > >
> > > > > > Signed-off-by: Julian Braha <julianbraha@...il.com>
> > > > >
> > > > > Thanks for your patch!
> > > > >
> > > > > > --- a/lib/Kconfig.debug
> > > > > > +++ b/lib/Kconfig.debug
> > > > > > @@ -1675,6 +1675,7 @@ config LATENCYTOP
> > > > > >         depends on DEBUG_KERNEL
> > > > > >         depends on STACKTRACE_SUPPORT
> > > > > >         depends on PROC_FS
> > > > > > +       select ARCH_WANT_FRAME_POINTERS if !MIPS && !PPC && !S390 && !MICROBLAZE && !ARM && !ARC && !X86
> > > > >
> > > > > ARCH_WANT_FRAME_POINTERS is a symbol that is only to be selected by
> > > > > architecture-specific configuration, and must not be overridden:
> > > > >
> > > > >     # Select this config option from the architecture Kconfig, if it
> > > > >     # is preferred to always offer frame pointers as a config
> > > > >     # option on the architecture (regardless of KERNEL_DEBUG):
> > > > >
> > > > > Probably this should be turned into a depends instead?
> > > > >
> > > > > >         select FRAME_POINTER if !MIPS && !PPC && !S390 && !MICROBLAZE && !ARM && !ARC && !X86
> > > > > >         select KALLSYMS
> > > > > >         select KALLSYMS_ALL
> > >
> > > > Making this a 'depends' causes a recursive dependency error.
> > > > Any other ideas?
> > >
> > > What about
> > >
> > >     -select FRAME_POINTER if !MIPS && !PPC && !S390 && !MICROBLAZE &&
> > > !ARM && !ARC && !X86
> > >     +depends on FRAME_POINTER if !MIPS && !PPC && !S390 && !MICROBLAZE
> > > && !ARM && !ARC && !X86
> > >
> > > ?
> >
> > Sadly, this won't work either. In Kconfig, 'depends' cannot have an 'if' after it (only 'select' can.)
> > Kbuild gives an error for this.
> 
> Oops
> 
>     select FRAME_POINTER || MIPS || PPC || S390 || MICROBLAZE || ARM
> || ARC || X86
> 
> of course.
> 
> Gr{oetje,eeting}s,
> 
>                         Geert
> 
> 

Hi Geert,

I think it's a typo, but if you meant:
select FRAME_POINTER if MIPS || PPC || S390 || MICROBLAZE || ARM || ARC || X86
Then that works.

- Julian Braha



Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ