Re: [PATCH 09/31] x86/entry/32: Leave the kernel via trampoline stack

From: Andy Lutomirski
Date: Fri Feb 09 2018 - 12:44:22 EST


On Fri, Feb 9, 2018 at 5:05 PM, Linus Torvalds
<torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:
> On Fri, Feb 9, 2018 at 1:25 AM, Joerg Roedel <joro@xxxxxxxxxx> wrote:
>> +
>> + /* Copy over the stack-frame */
>> + cld
>> + rep movsb
>
> Ugh. This is going to be horrendous. Maybe not noticeable on modern
> CPU's, but the whole 32-bit code is kind of pointless on a modern CPU.
>
> At least use "rep movsl". If the kernel stack isn't 4-byte aligned,
> you have issues.
>

The 64-bit code mostly uses a bunch of push instructions for this.