From 2b74e1a91e2287125ec9b24f78b3ccad1dab9cf2 Mon Sep 17 00:00:00 2001 From: Kaige Fu Date: Tue, 5 Mar 2019 13:30:58 +0000 Subject: [PATCH] HV: PAE: Add stac()/clac() in local_gva2gpa_pae Accessing memory of guest will cause page fault when SMAP is enabled. This patch stac()/clac() correspondingly to get rid of this situation. Tracked-On: #2713 Signed-off-by: Kaige Fu Acked-by: Eddie Dong --- hypervisor/arch/x86/guest/guest_memory.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/hypervisor/arch/x86/guest/guest_memory.c b/hypervisor/arch/x86/guest/guest_memory.c index 0b9934272..a535a361c 100644 --- a/hypervisor/arch/x86/guest/guest_memory.c +++ b/hypervisor/arch/x86/guest/guest_memory.c @@ -215,7 +215,9 @@ static int32_t local_gva2gpa_pae(struct acrn_vcpu *vcpu, struct page_walk_info * base = (uint64_t *)gpa2hva(vcpu->vm, addr); if (base != NULL) { index = (gva >> 30U) & 0x3UL; + stac(); entry = base[index]; + clac(); if ((entry & PAGE_PRESENT) != 0U) { pw_info->level = 2U;