x86: vmm: Disable IRQs when mucking with pcpu GPCs
authorBarret Rhoden <brho@cs.berkeley.edu>
Fri, 13 Jan 2017 22:38:34 +0000 (17:38 -0500)
committerBarret Rhoden <brho@cs.berkeley.edu>
Wed, 18 Jan 2017 15:00:03 +0000 (10:00 -0500)
commit3edf19faec5def1f9055e0855101b5b00aee7bc6
tree20c670e83f632492da414f019a70e0a963d9eedb
parent56fbd8e93bd3438b186cc144a5e529018109f6e1
x86: vmm: Disable IRQs when mucking with pcpu GPCs

vmx_clear_vmcs() is called from a few places, and interrupts could be on.
We could have had a race where we start to clear, then get interrupted by
an IPI/IKM that mucks with the per-cpu GPC state.  Then the interrupt
returns.  I didn't see this one - we'd probably need at least one VM
bouncing around the cores to get this bug.

Signed-off-by: Barret Rhoden <brho@cs.berkeley.edu>
kern/arch/x86/vmm/intel/vmx.c