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: <20120507210355.GA10761@merkur.ravnborg.org>
Date:	Mon, 7 May 2012 23:03:55 +0200
From:	Sam Ravnborg <sam@...nborg.org>
To:	Thomas Gleixner <tglx@...utronix.de>
Cc:	LKML <linux-kernel@...r.kernel.org>
Subject: Re: [patch 01/18] fork: Remove the weak insanity

On Mon, May 07, 2012 at 10:55:18PM +0200, Thomas Gleixner wrote:
> On Sat, 5 May 2012, Sam Ravnborg wrote:
> 
> > On Sat, May 05, 2012 at 03:05:40PM -0000, Thomas Gleixner wrote:
> > > We error out when compiling with gcc4.1.[01] as it miscompiles
> > > __weak. The workaround with magic defines is not longer
> > > necessary. Make it __weak again.
> > 
> > The cleanup is much appreciated!
> > 
> > But the magic defines is IMO much better than the CONFIG_ based approach
> > that this patch-set introduces in the last patch.
> > 
> > If you do:
> > 
> >     $git grep arch_task_cache_init
> > 
> > Then if you see:
> > 
> >     #define arch_task_cache_init arch_task_cache_init
> > 
> > Then you know alrady that this arch will provide a local implementation
> > of arch_task_cache_init().
> > No need to grep for an ARCH_XXX symbol that you need to look up
> > somewhere else.
> 
> I'm not following that argument.
> 
> Removing that magic define thing does not change anything. The change
> is:
...
> 
> Now for the last patch in the series:
> 
> It merily moves 
> 
> #define __HAVE_ARCH_THREAD_INFO_ALLOCATOR 
> 
> to a Kconfig based
> 
>    select ARCH_THREAD_INFO_ALLOCATOR

The point was that rather than using a Kconfig symbol for this the
architecutres that required a dedicated implementation could do the:

    #define foo foo

trick.


And the generic implmentation should then do:
#ifndef foo
void foo(int bar)
{
}
#endif

You are right that the archs implmenting foo() will stand
out in the grep anyway.
But using the define trick you do not spread it up to the Kconfig level,
for individual functions.

	Sam
--
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