android_kernel_oneplus_msm8998/arch
Andy Lutomirski 6c4db09c29 x86/mm/64: Fix reboot interaction with CR4.PCIDE
commit 924c6b900cfdf376b07bccfd80e62b21914f8a5a upstream.

Trying to reboot via real mode fails with PCID on: long mode cannot
be exited while CR4.PCIDE is set.  (No, I have no idea why, but the
SDM and actual CPUs are in agreement here.)  The result is a GPF and
a hang instead of a reboot.

I didn't catch this in testing because neither my computer nor my VM
reboots this way.  I can trigger it with reboot=bios, though.

Fixes: 660da7c9228f ("x86/mm: Enable CR4.PCIDE on supported systems")
Reported-and-tested-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Signed-off-by: Andy Lutomirski <luto@kernel.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Borislav Petkov <bp@alien8.de>
Link: https://lkml.kernel.org/r/f1e7d965998018450a7a70c2823873686a8b21c0.1507524746.git.luto@kernel.org
Cc: Hugh Dickins <hughd@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-01-02 20:33:24 +01:00
..
alpha alpha: fix build failures 2017-12-25 14:22:16 +01:00
arc ARC: Re-enable MMU upon Machine Check exception 2017-09-27 11:00:16 +02:00
arm ARM: dma-mapping: disallow dma_get_sgtable() for non-kernel managed memory 2017-12-25 14:22:13 +01:00
arm64 arm64: Initialise high_memory global variable earlier 2017-12-25 14:22:08 +01:00
avr32
blackfin pinctrl: adi2: Fix Kconfig build problem 2017-12-20 10:05:00 +01:00
c6x
cris
frv mm: larger stack guard gap, between vmas 2017-06-26 07:13:11 +02:00
h8300
hexagon
ia64
m32r
m68k
metag metag/uaccess: Check access_ok in strncpy_from_user 2017-05-25 14:30:16 +02:00
microblaze
mips MIPS: math-emu: Fix final emulation phase for certain instructions 2017-12-25 14:22:15 +01:00
mn10300
nios2
openrisc openrisc: fix issue handling 8 byte get_user calls 2017-12-20 10:04:54 +01:00
parisc parisc: Fix validity check of pointer size argument in new CAS implementation 2017-11-30 08:37:24 +00:00
powerpc powerpc/perf: Dereference BHRB entries safely 2018-01-02 20:33:21 +01:00
s390 s390: always save and restore all registers on context switch 2017-12-16 10:33:56 +01:00
score
sh serial: sh-sci: Fix register offsets for the IRDA serial port 2017-11-15 17:13:10 +01:00
sparc sparc64/mm: set fields in deferred pages 2017-12-16 10:33:55 +01:00
tile mm: larger stack guard gap, between vmas 2017-06-26 07:13:11 +02:00
um
unicore32
x86 x86/mm/64: Fix reboot interaction with CR4.PCIDE 2018-01-02 20:33:24 +01:00
xtensa mm: larger stack guard gap, between vmas 2017-06-26 07:13:11 +02:00
.gitignore
Kconfig