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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20110605202434.GA1986@leaf>
Date:	Sun, 5 Jun 2011 13:24:34 -0700
From:	Josh Triplett <josh@...htriplett.org>
To:	Ingo Molnar <mingo@...e.hu>
Cc:	Sam Ravnborg <sam@...nborg.org>,
	Jeremy Fitzhardinge <jeremy@...p.org>,
	Andrew Morton <akpm@...ux-foundation.org>,
	Linus Torvalds <torvalds@...ux-foundation.org>,
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH] Unhide DEBUG_BUGVERBOSE when EXPERT=y, even if
 DEBUG_KERNEL=n

On Sun, Jun 05, 2011 at 07:31:43PM +0200, Ingo Molnar wrote:
> * Josh Triplett <josh@...htriplett.org> wrote:
> > On Sun, Jun 05, 2011 at 11:34:45AM +0200, Ingo Molnar wrote:
> > > * Josh Triplett <josh@...htriplett.org> wrote:
> > > 
> > > >  config DEBUG_BUGVERBOSE
> > > > -	bool "Verbose BUG() reporting (adds 70K)" if DEBUG_KERNEL && EXPERT
> > > > +	bool "Verbose BUG() reporting (adds 70K)" if DEBUG_KERNEL || EXPERT
> > > 
> > > Well, DEBUG_KERNEL really means two things:
> > > 
> > >   - make more debugging options available
> > >   - allow the *disabling* of existing (default-enabled) debug options
> > 
> > As well as one more: a quick "git grep DEBUG_KERNEL" turns up a few uses
> > in actual kernel source code, to control debugging features.  Those
> > should likely use separately selectable debug options, but they
> > currently don't.
> > 
> > ~/src/linux-2.6$ find * -not -name 'Kconfig*' -not -name '*defconfig' | xargs grep -n DEBUG_KERNEL
> > arch/parisc/mm/init.c:653:#ifdef CONFIG_DEBUG_KERNEL /* double-sanity-check paranoia */
> > arch/powerpc/kernel/sysfs.c:229:#ifdef CONFIG_DEBUG_KERNEL
> > arch/powerpc/kernel/sysfs.c:258:#endif /* CONFIG_DEBUG_KERNEL */
> > arch/powerpc/kernel/sysfs.c:299:#ifdef CONFIG_DEBUG_KERNEL
> > arch/powerpc/kernel/sysfs.c:328:#endif /* CONFIG_DEBUG_KERNEL */
> > arch/blackfin/include/asm/entry.h:53:/* As a debugging aid - we save IPEND when DEBUG_KERNEL is on,
> > arch/blackfin/include/asm/entry.h:56:# ifndef CONFIG_DEBUG_KERNEL
> > arch/blackfin/include/asm/entry.h:65:# else /* CONFIG_DEBUG_KERNEL */
> > arch/blackfin/include/asm/entry.h:77:# endif /* CONFIG_DEBUG_KERNEL */
> > arch/blackfin/include/asm/context.S:208:#ifdef CONFIG_DEBUG_KERNEL
> > drivers/usb/musb/musb_core.c:557:                * REVISIT:  do delays from lots of DEBUG_KERNEL checks
> 
> These are basically just 4 cases out of thousands of drivers, zero in 
> essence. Also, none seems significant in terms of code size.

Sure, but they still need fixing.

> > > So i think the right solution would be to select DEBUG_KERNEL if 
> > > EXPERT is enabled - this would simplify things and would allow the 
> > > removal of a lot of EXPERT conditions from the debug options.
> > > 
> > > Ok?
> > 
> > I could live with that, as long as CONFIG_DEBUG_KERNEL never 
> > directly enables any debugging code like it does above, and just 
> > acts like CONFIG_EXPERT in hiding a pile of unnecessary options.  
> > DEBUG_KERNEL should probably also have some text saying it doesn't 
> > actually enable any kernel debugging on its own, once that becomes 
> > true.
> 
> Yeah. I'd suggest you try that route instead of cluttering all of the 
> debugging Kconfigs with || EXPERT conditions, which doesnt really 
> look acceptable.

In fairness, I didn't plan to add it to more than two. :)

Nonetheless, patch shortly.

- Josh Triplett
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ