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

Re: [PATCH] tools/libxl: Only access legacy altp2m on HVM


  • To: Jan Beulich <jbeulich@xxxxxxxx>
  • From: Jason Andryuk <jason.andryuk@xxxxxxx>
  • Date: Tue, 13 May 2025 09:38:57 -0400
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0)
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=orluJ8TcxPOIyUFAoseuIzVylR2FrEPCWeTZIvbzfqc=; b=xHo2s9TJezVmlpXa1ZlxODWIJEzwhX7vrWi/6UlPDixUgxKnbkOviuadH15cuhmkDIS3Mr0IFIb+t+OerVsPfpiWOvbnIKIxLSJ82iESHI3o7K41/mGRyxiptc8zStJB7gP3xfypB/+V2G5h2W/6qnNKANyRl6Vna6LcTz6tr9IzNeqofTSlwgVeW+qRWuKgzWpM47Aw6gkYI9wYxtDUYeWNc66awbHw1PN6OGAhCCqbuM4+lb/5XuJE/ZJjLLXCEoQTY2+ZjpTvlgdt74wu0Ik5RtdUeyWRTB/3yhZr+b+YOZl4t8uNA//hSHjeWsfCmyStlFQo8eBtLgZ8VNBZNw==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=koZDTQbC3aCSbV5E8VjuMfPOacq1poNuzD4nno+Oc8eNCvRcQPkcEy72CUchFnbSiNbWPNqJRkyP7K+M4OBi+QKeoP7u5sB17B04K2dvwzojypjnqUMARMD0Bd4xCrZGLCgeemZh9w7hAfmXs7Sb0Le82QEVcWJvcAQ/vvKVMPREJnxeDmpGaftZD26YvagfR9AvsQ+oBWIC8zG/EkzsBkVIxkhvicBbkQViur4jlh8yWI+jVugq+dbTDAv1kp2opaXguR0nVKcyBzvYhddYVd6Yp5D2pxv21y+pNqx/gie4z8/RjsHgKKy544MJg3KrNxsAd6H0cEYuzgrzvbcOSA==
  • Cc: Anthony PERARD <anthony.perard@xxxxxxxxxx>, Juergen Gross <jgross@xxxxxxxx>, <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Tue, 13 May 2025 13:39:13 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On 2025-05-13 03:27, Jan Beulich wrote:
On 13.05.2025 01:54, Jason Andryuk wrote:
Only access the HVM union b_info->u.hvm on HVM guests.  The union
access is not guarded, so this reads and sets the default even on
non-HVM guests.  Usually this doesn't matter as PV and PVH unions are
smaller and zero-initialized, but the zero default will be re-written as
a -1 boolean.  Generally, it it could incorrectly set b_info->altp2m
through aliased data.

Fixes: 0291089f6ea8 ("xen: enable altp2m at create domain domctl")
Signed-off-by: Jason Andryuk <jason.andryuk@xxxxxxx>
Change-Id: Ifaca3533dcce3f409c2efa292c7e96fba6371d9d
---
  tools/libs/light/libxl_x86.c | 10 ++++++----
  1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/tools/libs/light/libxl_x86.c b/tools/libs/light/libxl_x86.c
index 0b1c2d3a96..b8f6663829 100644
--- a/tools/libs/light/libxl_x86.c
+++ b/tools/libs/light/libxl_x86.c
@@ -821,10 +821,12 @@ int libxl__arch_domain_build_info_setdefault(libxl__gc 
*gc,
       * If the legacy field info->u.hvm.altp2m is set, activate altp2m.
       * Otherwise set altp2m based on the field info->altp2m.
       */
-    libxl_defbool_setdefault(&b_info->u.hvm.altp2m, false);
-    if (b_info->altp2m == LIBXL_ALTP2M_MODE_DISABLED &&
-        libxl_defbool_val(b_info->u.hvm.altp2m))
-        b_info->altp2m = libxl_defbool_val(b_info->u.hvm.altp2m);
+    if (b_info->type == LIBXL_DOMAIN_TYPE_HVM) {
+        libxl_defbool_setdefault(&b_info->u.hvm.altp2m, false);
+        if (b_info->altp2m == LIBXL_ALTP2M_MODE_DISABLED &&
+            libxl_defbool_val(b_info->u.hvm.altp2m))
+            b_info->altp2m = libxl_defbool_val(b_info->u.hvm.altp2m);
+    }

I think at least the latter half of the comment wants to move inside the
if() then.

Yes.  Actually, I think the whole comment should move inside the if().

Regards,
Jason



 


Rackspace

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