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

[PATCH 1/2] x86/shadow: fix PAE check for top-level table unshadowing


  • To: "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Jan Beulich <jbeulich@xxxxxxxx>
  • Date: Thu, 19 Jan 2023 14:19:13 +0100
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=AitU+pHKk+enzQgMWj+BP+8JFiOp/gFdjRqxb0m96BM=; b=JtqbaSJSW2UxZcmeVZ8ngXPT5p9xIWEkDNhV6j8LXfOp7FHUTdsdVPYu8ZLzyfnUwU5S6KOQUnT1YnLlv3+/VaQZ4vfQbYijf5A8NQzEYWMaUzPGktUYchUatjlXWFDepOlGwwqAOGz+HILVPGqZsTRk1dQCo9qhI7t5hJLTRaDMzkIWCMfftC3ku/50GospYtjLS/Q3kkmMmGSdp18nxsN05ebhNqeUNVz87K1jGDqqhzod3hxCwSEJsTaHGOLsVp15G/NiX2CrAiXk/aX1ui6XshDQLCiVyBlHpNkbazc7ze+RQSm9YwttkyHJtbvZL9hRsViH6VCAahPDkakERA==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lzjzR4+FWN5lJ6i+PeyCgmB6LvWoUsBmXtVYOv/mjCn7EEhkrRH1rvIi4l44KhPpMDzmquqwXUvk2v5zk4Y8VmQ53JEMf/KwZ97t0vujbLjaZP+iRk0vkRY8WEkPO+iBttEVLZWN3DD2eYc2pTYLXI5wP02ju/HnQqBH/RADinCMjmaTN6n/lusFpUtuGsn9YSOUyGhnc18farGZcyizKhmdqIFMcm3JQeU9zdpNKmn+YkbAXAqnThcwUV3f+ddNK1KNpUFaLcGDfIEy8jtU5gvVC9SIi7BhFUWp6v+uYfP7wejhu9WTn0CAP8bhweDWU4Pn5KCCY18CALvLbyTxJA==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com;
  • Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>, Roger Pau Monné <roger.pau@xxxxxxxxxx>, Tim Deegan <tim@xxxxxxx>, George Dunlap <george.dunlap@xxxxxxxxxx>
  • Delivery-date: Thu, 19 Jan 2023 13:19:19 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

Clearly within the for_each_vcpu() the vCPU of this loop is meant, not
the (loop invariant) one the fault occurred on.

Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
---
Quitle likely this mistake would have been avoided if the function scope
variable was named "curr", leaving "v" available for purposes likethe
one here. Doing the rename now would, however, be quite a bit of code
churn.

--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -2672,10 +2672,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) )
                 {




 


Rackspace

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