Re: [PATCH 03/16] x86/entry/32: Leave the kernel via the trampoline stack

From: Josh Poimboeuf
Date: Wed Jan 17 2018 - 09:45:23 EST


On Wed, Jan 17, 2018 at 03:14:18PM +0100, Joerg Roedel wrote:
> On Wed, Jan 17, 2018 at 06:00:07AM -0800, Brian Gerst wrote:
> > On Wed, Jan 17, 2018 at 5:57 AM, Brian Gerst <brgerst@xxxxxxxxx> wrote:
> > But then again, you could take a fault on the trampoline stack if you
> > get a bad segment. Perhaps just pushing the new stack pointer onto
> > the process stack before user segment loads will be the right move.
>
> User segment loads pop from the stack, so having anything on-top also
> doesn't work.
>
> Maybe I can leave some space at the bottom of the task-stack at entry
> time and store the pointer there on exit, if that doesn't confuse the
> stack unwinder too much.

If you put it at the end of the stack page, I _think_ all you'd have to
do is just adjust TOP_OF_KERNEL_STACK_PADDING.

--
Josh