x86/boot: Clean up the trampoline transition into Long mode
authorAndrew Cooper <andrew.cooper3@citrix.com>
Thu, 2 Jan 2020 14:38:32 +0000 (14:38 +0000)
committerAndrew Cooper <andrew.cooper3@citrix.com>
Fri, 3 Jan 2020 18:37:24 +0000 (18:37 +0000)
commita44d982b14b8ed297d5a687f949afd20059a324e
treefedde990c17fadcce11112d109bf26af7893694e
parent34492a38606fe2a1a4fb9ba8f17deb3f656961ee
x86/boot: Clean up the trampoline transition into Long mode

The jmp after setting %cr0 is redundant with the following ljmp.

The CPUID to protect the jump to higher mappings was inserted due to an
abundance of caution/paranoia before Spectre was public.  It doesn't usefully
protect against an attack, which is able to leak memory with one single
instruction's worth of onward speculation.

Only CPU Hotplug (if used at all) will use this path while guests are
executing.  An attacker would have to be running and primed on an adjacent
thread while a hotplug event occurred, to gain one single data sample, and
have some other way of inferring that a hotplug event has occurred, which it
won't know directly.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
xen/arch/x86/boot/trampoline.S