Re: [PATCH v4 15/29] x86/mm/64: Enable vmapped stacks

From: Linus Torvalds
Date: Mon Jun 27 2016 - 13:28:18 EST


On Mon, Jun 27, 2016 at 8:54 AM, Andy Lutomirski <luto@xxxxxxxxxxxxxx> wrote:
>
> How about:
>
> tsk_stack = (unsigned long)task_stack_page(tsk);
> if (regs->rsp <= tsk_stack + 7*8 && regs->rsp > tsk_stack - PAGE_SIZE) {

I'm not at all convinced that regs->rsp will be all that reliable
under a double-fault scenario either. I'd be more inclined to trusr
cr2 than the register state.

It's true that double faults can happen for *other* reasons entirely,
and as such it's not clear that %cr2 is reliable either, but since
this is all just about a printout, I'd rather go that way anyway.

Linus