Re: [PATCH 2/3] binfmt_elf_fdpic: Convert initial stack alignment to arch_align_stack().

From: Paul Mundt
Date: Fri Aug 01 2008 - 17:45:44 EST


On Fri, Aug 01, 2008 at 03:01:19PM +0100, David Howells wrote:
> Paul Mundt <lethal@xxxxxxxxxxxx> wrote:
>
> > + * In some cases (e.g. Hyper-Threading), we want to avoid L1
> > + * evictions by the processes running on the same package. One
> > + * thing we can do is to shuffle the initial stack for them, so
> > + * we give the architecture an opportunity to do so here.
> > + */
> > #ifdef CONFIG_MMU
> > - sp = bprm->p;
> > + sp = arch_align_stack(bprm->p);
> > #else
> > - sp = mm->start_stack;
> > + sp = arch_align_stack(mm->start_stack);
>
> Ummm... You're calling arch_align_stack() under NOMMU... Is that really a
> good idea?
>
Not particularly, no.

> You can't necessarily move the stack pointer without exiting the allocated
> region or shrinking the amount of stack space the executable asked for. If
> you want to do this sort of thing, you need to tell the memory allocator what
> you're up to - or at the very least allocate some slack.
>
Yes, that's a good point, and one that probably ought to be documented
alongside the initial alignment. I'll send an updated patch.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/