[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[xen master] x86/shadow: fix PAE check for top-level table unshadowing



commit f8fdceefbb1193ec81667eb40b83bc525cb71204
Author:     Jan Beulich <jbeulich@xxxxxxxx>
AuthorDate: Fri Jan 20 09:23:42 2023 +0100
Commit:     Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Fri Jan 20 09:23:42 2023 +0100

    x86/shadow: fix PAE check for top-level table unshadowing
    
    Clearly within the for_each_vcpu() the vCPU of this loop is meant, not
    the (loop invariant) one the fault occurred on.
    
    Fixes: 3d5e6a3ff383 ("x86 hvm: implement HVMOP_pagetable_dying")
    Fixes: ef3b0d8d2c39 ("x86/shadow: shadow_table[] needs only one entry for 
PV-only configs")
    Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
    Reviewed-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
---
 xen/arch/x86/mm/shadow/multi.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/mm/shadow/multi.c b/xen/arch/x86/mm/shadow/multi.c
index 98c0b7302a..8b3e678fa0 100644
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -2677,10 +2677,10 @@ static int cf_check sh_page_fault(
 #if GUEST_PAGING_LEVELS == 3
             unsigned int i;
 
-            for_each_shadow_table(v, i)
+            for_each_shadow_table(tmp, i)
             {
                 mfn_t smfn = pagetable_get_mfn(
-                                 v->arch.paging.shadow.shadow_table[i]);
+                                 tmp->arch.paging.shadow.shadow_table[i]);
 
                 if ( mfn_x(smfn) )
                 {
--
generated by git-patchbot for /home/xen/git/xen.git#master



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.