Re: [patch 05/14] percpu: Use a Kconfig variable to configure arch specific percpu setup

Christoph Lameter
2007-11-28T18:51:38Z

On Wed, 28 Nov 2007, Rusty Russell wrote:

> On Wednesday 28 November 2007 05:14:47 Christoph Lameter wrote:
> > On Tue, 27 Nov 2007, Rusty Russell wrote:
> > > Have you considered moving x86-64's setup_per_cpu_areas into generic
> > > code? It's a bit messier because some archs might not have set up NUMA
> > > stuff yet, but it's logically generic...
> >
> > Yes that will happen later. This is just the early cleanup work. I
> > plan to generally bring the two x86 arches in line. The pda will be
> > folded into the per cpu area and after that its easy to do.
>
> Unfortunately, we tried to get rid of the x86-64 pda (like i386) but you lose
> the ability to use the stack protection config option. That's because it
> assumes that gs:0x68 (or something) is the stack canary; we need a YA gcc
> change to make this gs:__builtin_stack_canary_off (where gcc can emit
> __builtin_stack_canary_off as a weak absolute symbol, so we can override it
> for the kernel.

This works if you rebase the per cpu area at zero. gs:0x68 is still the
stack canary.

The i386 method does not work because the segment register does not
directly point to the pda.