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: <73c1f2160901270825y5e7f3974m830c399074c2e8f1@mail.gmail.com>
Date:	Tue, 27 Jan 2009 11:25:56 -0500
From:	Brian Gerst <brgerst@...il.com>
To:	James Bottomley <James.Bottomley@...senpartnership.com>
Cc:	Ingo Molnar <mingo@...e.hu>, Tejun Heo <htejun@...il.com>,
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH 1/2 #tj-percpu] x86: fix build breakage on voyage

On Tue, Jan 27, 2009 at 11:04 AM, James Bottomley
<James.Bottomley@...senpartnership.com> wrote:
> On Tue, 2009-01-27 at 16:50 +0100, Ingo Molnar wrote:
>> * James Bottomley <James.Bottomley@...senPartnership.com> wrote:
>>
>> > On Tue, 2009-01-27 at 12:37 +0100, Ingo Molnar wrote:
>> > > * Tejun Heo <htejun@...il.com> wrote:
>> > >
>> > > > From: James Bottomley <James.Bottomley@...senPartnership.com>
>> > > >
>> > > > Impact: build fix
>> > > >
>> > > > x86_cpu_to_apicid and x86_bios_cpu_apicid aren't defined for voyage.
>> > > > Earlier patch forgot to conditionalize early percpu clearing.  Fix it.
>> > >
>> > > > +#ifdef CONFIG_X86_LOCAL_APIC
>> > > >         early_per_cpu_ptr(x86_cpu_to_apicid) = NULL;
>> > > >         early_per_cpu_ptr(x86_bios_cpu_apicid) = NULL;
>> > > > +#endif
>> > >
>> > > That patch is not acceptable - it is ugly and it adds another set of
>> > > #ifdefs to an already complex piece of code.
>> > >
>> > > As i explained it to James in recent threads, the clean and acceptable
>> > > solution to this class of problems is to switch Voyager away from that
>> > > fragile subarch code to proper generic x86 code. (just like we did it for
>> > > other subarchitectures)
>> > >
>> > > There is nothing in Voyager that justifies special treatment in the area
>> > > of x86 percpu code.
>> > >
>> > > This is one of the mails that explains the principles:
>> > >
>> > >   http://lkml.indiana.edu/hypermail/linux/kernel/0901.2/00954.html
>> > >
>> > > Or - if there's no time/interest in doing that, we can mark Voyager as
>> > > CONFIG_BROKEN.
>> >
>> > Have you quite finished?
>>
>> What is that supposed to mean?
>
> It's a conventional response implying your rant wasn't factually
> connected to the actual problem at hand.  The justification was actually
> in the text you cut ... but boils down to you can reproduce it in a non
> voyager configuration, so it's not a voyager specific problem.
>
> The actual problem, as I see it, is how (or whether) to get rid of the
> nine #if/#ifdefs that clutter setup_percpu.c ... none of which is
> voyager specific.

To be fair, setup_percpu.c isn't built on UP.  But we're splitting
hairs over just 3 conditional variables.  I'm open to ideas, but I'm
quite certain that any general solution will have more overhead than
the current code.  I am looking at a patch to remove the early percpu
pointers, so the second set of ifdefs would go away.

--
Brian Gerst
--
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