]> xenbits.xensource.com Git - people/aperard/xen-unstable.git/commitdiff
x86/mem_sharing: add missing m2p entry when mapping shared_info page
authorTamas K Lengyel <tamas@tklengyel.com>
Thu, 23 Nov 2023 11:10:46 +0000 (12:10 +0100)
committerJan Beulich <jbeulich@suse.com>
Thu, 23 Nov 2023 11:10:46 +0000 (12:10 +0100)
When mapping in the shared_info page to a fork the m2p entry wasn't set
resulting in the shared_info being reset even when the fork reset was called
with only reset_state and not reset_memory. This results in an extra
unnecessary TLB flush.

Fixes: 1a0000ac775 ("mem_sharing: map shared_info page to same gfn during fork")
Signed-off-by: Tamas K Lengyel <tamas@tklengyel.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
master commit: 23eb39acf011ef9bbe02ed4619c55f208fbcd39b
master date: 2023-10-31 16:10:14 +0000

xen/arch/x86/mm/mem_sharing.c

index 94b6b782ef2ea5c5f8c6058fb6a5d5c2103005df..142258f16a7feef78b3b2675fb486515a4c454d4 100644 (file)
@@ -1847,6 +1847,8 @@ static int copy_special_pages(struct domain *cd, struct domain *d)
                                 p2m_ram_rw, p2m->default_access, -1);
             if ( rc )
                 return rc;
+
+            set_gpfn_from_mfn(mfn_x(new_mfn), gfn_x(old_gfn));
         }
     }