freebsd-dev/sys/amd64
Neel Natu a5045426db Fix a race in pmap_emulate_accessed_dirty() that could trigger a EPT
misconfiguration VM-exit.

An EPT misconfiguration is triggered when the processor encounters a PTE
that is writable but not readable (WR=10). On processors that require A/D
bit emulation PG_M and PG_A map to EPT_PG_WRITE and EPT_PG_READ respectively.

If the PTE is updated as in the following code snippet:
	*pte |= PG_M;
	*pte |= PG_A;
then it is possible for another processor to observe the PTE after the PG_M
(aka EPT_PG_WRITE) bit is set but before PG_A (aka EPT_PG_READ) bit is set.

This will trigger an EPT misconfiguration VM-exit on the other processor.

Reported by:	rodrigc
Reviewed by:	grehan
MFC after:	3 days
2014-10-21 01:06:58 +00:00
..
acpica don't set CR4 PSE bit on amd64 2014-07-23 15:53:29 +00:00
amd64 Fix a race in pmap_emulate_accessed_dirty() that could trigger a EPT 2014-10-21 01:06:58 +00:00
conf As per [1] Intel only supports this driver on 64bit platforms. 2014-09-23 08:33:03 +00:00
ia32 x86: Allow users to change PSL_RF via ptrace(PT_SETREGS...) 2013-11-14 15:37:20 +00:00
include Pass up the error status of minidumpsys() to its callers. 2014-10-08 20:25:21 +00:00
linux32 Re-gen after r271743 implementing most of 2014-09-18 08:40:00 +00:00
pci Pull in r267961 and r267973 again. Fix for issues reported will follow. 2014-06-28 03:56:17 +00:00
vmm Fix build to not bogusly always rebuild vmm.ko. 2014-10-17 13:20:49 +00:00
Makefile