KVM: MMU: Fix potential race setting upper shadow ptes on nonpae hosts
authorAvi Kivity <avi@qumranet.com>
Sun, 13 Jul 2008 08:33:54 +0000 (11:33 +0300)
committerAvi Kivity <avi@qumranet.com>
Sun, 20 Jul 2008 09:42:40 +0000 (12:42 +0300)
commit722c05f2192070bac0208b2c16ce13929b32d92f
tree918037277cd65ec4abc1a9b5b15dcf0b8bb8fe25
parent2a7c5b8b550b1fb1db9eb490420132e637f5dcb4
KVM: MMU: Fix potential race setting upper shadow ptes on nonpae hosts

The direct mapped shadow code (used for real mode and two dimensional paging)
sets upper-level ptes using direct assignment rather than calling
set_shadow_pte().  A nonpae host will split this into two writes, which opens
up a race if another vcpu accesses the same memory area.

Fix by calling set_shadow_pte() instead of assigning directly.

Noticed by Izik Eidus.

Signed-off-by: Avi Kivity <avi@qumranet.com>
arch/x86/kvm/mmu.c