Messages in this thread | | | Subject | Re: FSGSBASE causing panic on 5.9-rc1 | From | Tom Lendacky <> | Date | Thu, 20 Aug 2020 15:15:45 -0500 |
| |
On 8/20/20 3:07 PM, Dave Hansen wrote: > On 8/20/20 12:05 PM, Tom Lendacky wrote: >>> I added a quick hack to save TSC_AUX to a new variable in the SVM >>> struct and then restore it right after VMEXIT (just after where GS is >>> restored in svm_vcpu_enter_exit()) and my guest is no longer crashing. >> >> Sorry, I mean my host is no longer crashing. > > Just to make sure I've got this: > 1. Older CPUs didn't have X86_FEATURE_RDPID > 2. FSGSBASE patches started using RDPID in the NMI entry path when > supported *AND* FSGSBASE was enabled > 3. There was a latent SVM bug which did not restore the RDPID data > before NMIs were reenabled after VMEXIT > 4. If an NMI comes in the window between VMEXIT and the > wrmsr(TSC_AUX)... boom
Right, which means that the setting of TSC_AUX to the guest value needs to be moved, too.
Thanks, Tom
> > If FSGSBASE reverted is disabled (as Tom did on the command-line), then > the RDPID path isn't hit. > > Fun. >
| |