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

From: David Howells
Date: Fri Aug 01 2008 - 10:02:20 EST


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?

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.

David
--
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/