[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] tools/libxl: Only read legacy altp2m on HVM
- To: <xen-devel@xxxxxxxxxxxxxxxxxxxx>
- From: Jason Andryuk <jason.andryuk@xxxxxxx>
- Date: Mon, 12 May 2025 19:54:08 -0400
- Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org 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=FWzImoHZtUsaD5LYTagTZgAmQYYnBWuK5k+u1fuPZEk=; b=emkViMz0FXpc9yv29gMaMtu7f/xValj61OAV1jfjvOuWBL6i27yYXnhW8ASx1+HZt+qcIBvUVF7BspiQVwmc3GY8TOmJCeBqrKSI5t7EB76IAUOqrqRIIXAMghuZ82ZmQhaDBNvr3CelgIsmlh+6kCaoA/vaairq1rsZF+2TeK8eHJDUASYBzKg8a98LjGXDjQ//x7uL/emUOCAojPS4OjFFdKBpH+8G9vvPRsmfFIIvRdrJf7U1nMmgGkibAPqhYobhX4R2+UrPFGfR0somPozXubmkhHcltURAwic94jvWRWhrPBUIxfaDleSoQ2dnZXdzp+OwhmnjUySawQMPTQ==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=yztJB1E6jZtmrOVY5I9VlUcAvwXGM0A7lXTky+QTTmZIrgbDMeib+qw60oT2N0GTZNCpByPVehWh71k1OmRuJ7FwvrgH/0B2Bvy4fByeY2h6FPi4YxJ6GNhjEc/Wk+U7aoZgjl3mtyuAY/UTSNMoRDli/SrzGK+F/9uWdHjauxJKU+ooXNivoR0bu5274kn0+C15dRzUl7lIwZctfe9xkwuZKUNCXRs8oREXN1GgEky5o6oouj3DoW4id8BVjzPK7vfbMMpa7rOdAvrB/u6F49pjCHy8qkIWJ0aydbh7koHNBte13hy+kD1SM/vR+F4XUI1eB43wurmgDIAvx4DKHg==
- Cc: Jason Andryuk <jason.andryuk@xxxxxxx>, Anthony PERARD <anthony.perard@xxxxxxxxxx>, Juergen Gross <jgross@xxxxxxxx>
- Delivery-date: Mon, 12 May 2025 23:54:57 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
Only read the HVM union b_info->u.hvm on HVM guests. The union
access is not guarded, so this reads even on non-HVM guests. Usually
this doesn't matter as PV and PVH unions are smaller and
zero-initialized. But 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>
---
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);
+ }
return 0;
}
--
2.49.0
|