Messages in this thread | | | Date | Fri, 01 Jul 2011 14:26:27 -0700 | From | "H. Peter Anvin" <> | Subject | Re: [PATCH] x86: add missing verify_cpu to 32bit wakeup |
| |
On 07/01/2011 02:19 PM, Kees Cook wrote: > Some BIOSes will reset the Intel XD_DISABLE MSR bit when resuming from S3, > which can interact poorly with ebba638ae723d8a8fc2f7abce5ec18b688b791d7. > In 32bit PAE mode, this can lead to a fault when EFER is restored by > the kernel wakeup routines, due to it setting the NX bit for a CPU > that (thanks to the BIOS reset) now incorrectly thinks it lacks the NX > feature. 64bit wakeup already handled this through its common call path > that would hit verify_cpu(). 32bit has a separate path for restoring > CPU state on S3 wakeup, and needed to call verify_cpu() to handle this > situation.
For S3, we should save/restore MISC_ENABLE instead... in fact, we already save it, we just restore it too late.
-hpa
| |