Re: [PATCH] x86/vdso: fix lsl operand order

From: Andy Lutomirski
Date: Sat Sep 01 2018 - 16:44:23 EST


On Sat, Sep 1, 2018 at 1:14 PM, Samuel Neves <sneves@xxxxxxxxx> wrote:
> In the __getcpu function, lsl was using the wrong target
> and destination registers. Luckily, the compiler tends to
> choose %eax for both variables, so it has been working
> so far.
>
> Cc: x86@xxxxxxxxxx
> Cc: stable@xxxxxxxxxxxxxxx
> Signed-off-by: Samuel Neves <sneves@xxxxxxxxx>

Acked-by: Andy Lutomirski <luto@xxxxxxxxxx>
Fixes: a582c540ac1b ("x86/vdso: Use RDPID in preference to LSL when available")

Whoops! I even wrote a selftest just for the offending commit, but,
of course, the selftest passes :( I tested this by giving gcc some
gentle encouragement to allocate different registers, and the existing
code is indeed wrong and the fix indeed fixes it.

--Andy