[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 1/9] x86/domain: Ensure a vCPU's FPU is reset early
- To: xen-devel@xxxxxxxxxxxxxxxxxxxx
- From: Ross Lagerwall <ross.lagerwall@xxxxxxxxxx>
- Date: Tue, 24 Mar 2026 18:19:29 +0000
- Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none
- 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=hQE140WqrdSbZEDIjgDe1+jOyuXiUrVJVSGp4gkd+CE=; b=ev18N0TTZBxMDe1uMOuTwdGtBhbssjMFREYdRHGirjCjxCMPFkN59MZuzoIGYV09HeQYOm0lrsjT0V1KlMVPA19eAOpJVOiRRTIy5vrxyFp7nvFnJhEWvWT5q2ZEwVTINZ4Zl/aoWX6PeAvcOVg6GYT20rvhQPBm6pgSJgqJOTVUfhlkWRhOy+Bo2NbhloMHLZNxwlbHzirvP++iz6Yb0/mii9+JEMhOL7yOlC95T22R4GviyD9/LN6XlM8ADdsCXue0X+aNpYEil2a8Y2zpo9+LXoEL6ePBI+DnX7whkbkDkMzdLW3FbtMwv+gZtknCd6JzBnWetB1KK9B0Uve4qw==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=EHQy3XKvoar89pFgfYPY/6C1iBO7Hs7Kj3oMHwa1Kpr+UwL1W90ZWK0N8broURgvHrzftqZeO4OgVjDC+ZpNZz2ulcKr7JUD4VkX6XlnvbDJPSw6hIW00T5QfI0IYB59ExrITW2jd7aEm9xytMCyEu1vQXxFBH1hDul7ApsK9rJVzbQ/j+VW3tXyecmi6yFVUEiZqXJhszC+5trCjZfpUlnECYI39mH+JHfP0ZZm2gSzQCIFINzl9CmkNQwkwpF3yPZx8bwhRDFvjQfc3+aZND076Uj0oVo+DDNSSgFOOJQVHbH5VQDbcCO337g32tlqWo3IG/AKr7NuF8GMJQCYsg==
- Authentication-results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
- Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com;
- Cc: Jan Beulich <jbeulich@xxxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Roger Pau Monné <roger.pau@xxxxxxxxxx>, Ross Lagerwall <ross.lagerwall@xxxxxxxxxx>
- Delivery-date: Tue, 24 Mar 2026 18:19:55 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
When using eager-fpu, a vCPU's FPU is always marked as initialized on
context switch but it is possible that neither vcpu_reset_fpu() nor
vcpu_setup_fpu() has been called on it. If that happens,
arch_get_info_guest() would return a block of all 0's for the FPU
context claiming it to be valid.
Fix this by calling vcpu_reset_fpu() during vCPU creation.
Signed-off-by: Ross Lagerwall <ross.lagerwall@xxxxxxxxxx>
---
New in v2
xen/arch/x86/domain.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
index 9ba2774762cc..82da1c5d7b38 100644
--- a/xen/arch/x86/domain.c
+++ b/xen/arch/x86/domain.c
@@ -522,6 +522,8 @@ int arch_vcpu_create(struct vcpu *v)
if ( (rc = vcpu_init_fpu(v)) != 0 )
return rc;
+ vcpu_reset_fpu(v);
+
vmce_init_vcpu(v);
arch_vcpu_regs_init(v);
--
2.53.0
|