From nobody Fri Oct 31 03:41:12 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=1; a=rsa-sha256; t=1750176090; cv=none; d=zohomail.com; s=zohoarc; b=NYM+5tUA+av7gGHok8z4jqqck5Hn38Tu9yHj1l7yPKNu1xY/yCVR1lUyLocEdiNzFN2SN/3ZVybRGqLL3QpXlfjHQzOGJ7V1knKQqJzvSD3qpwiG9MPpi1Eis7Y6pBMr+xEiK6SXWZMDb8qHhjUU59GVm8/SVZ7YBJl1Oy0T6Ks= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1750176090; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=ulK3xIt+h78Zthsg3MeayiU/GOWMs3yPXN88/YiK/8M=; b=UzVCQRAfHrtFoGjcRbx0OwWZS754hM3Dlv7XxzgOsFO7jsY4+IMCHTYpFM5EP7KPDZC1TDQQEiTO4ZxtWhmqEcXHCJ4Kaw8fgW7mpKZwZ5Ch9uPchnsZ4ahA4kknz3bHiwfOmgFkeq77CKwGpB9bkEgf3AxfmjQZHBdawH7Oq6k= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1750176090881171.2581456579984; Tue, 17 Jun 2025 09:01:30 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1018320.1395217 (Exim 4.92) (envelope-from ) id 1uRYkG-0007Od-Sn; Tue, 17 Jun 2025 16:01:08 +0000 Received: by outflank-mailman (output) from mailman id 1018320.1395217; Tue, 17 Jun 2025 16:01:08 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uRYkG-0007OW-Pp; Tue, 17 Jun 2025 16:01:08 +0000 Received: by outflank-mailman (input) for mailman id 1018320; Tue, 17 Jun 2025 16:01:07 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uRYkF-0007ON-NM for xen-devel@lists.xenproject.org; Tue, 17 Jun 2025 16:01:07 +0000 Received: from mail-wr1-x433.google.com (mail-wr1-x433.google.com [2a00:1450:4864:20::433]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 4683e42b-4b94-11f0-a309-13f23c93f187; Tue, 17 Jun 2025 18:01:06 +0200 (CEST) Received: by mail-wr1-x433.google.com with SMTP id ffacd0b85a97d-3a4ef2c2ef3so4881352f8f.2 for ; Tue, 17 Jun 2025 09:01:06 -0700 (PDT) Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de. [37.24.206.209]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-b31c1b48c69sm887321a12.31.2025.06.17.09.01.02 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 17 Jun 2025 09:01:04 -0700 (PDT) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 4683e42b-4b94-11f0-a309-13f23c93f187 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1750176065; x=1750780865; darn=lists.xenproject.org; h=content-transfer-encoding:in-reply-to:autocrypt:content-language :references:cc:to:from:subject:user-agent:mime-version:date :message-id:from:to:cc:subject:date:message-id:reply-to; bh=ulK3xIt+h78Zthsg3MeayiU/GOWMs3yPXN88/YiK/8M=; b=dX+60u4LpyCgl/JljXPSdAFq3KawB5eFiH0qRGVKHXc69KQcQBiRVpyjmPVAXVtdmI BSbF79J/8EVDm4fNwPolXqBwsRGhBJKOooLc9aHyVGydyPfTCN+u38SJSwHb5KJQOFQB aaPt92Qwfv9HHkVuo75F2f8Y+F+mU2VAC0woHLylnzYCfeJvqiF191aIGnmfqEW8JAKy BN3hUq3ADb0bNEUpBRnFlOGKN+Re1OWUWhwxtoq3jl8XQGCPrkDgLBCN6VM83liyCZuK owriRjuWm1LSKXT6sKwbPc53pygW+Te9dKVFn38naAffNIH/99AKUFXwB7CrWeTsqQt9 25Yw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750176065; x=1750780865; h=content-transfer-encoding:in-reply-to:autocrypt:content-language :references:cc:to:from:subject:user-agent:mime-version:date :message-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=ulK3xIt+h78Zthsg3MeayiU/GOWMs3yPXN88/YiK/8M=; b=dnfixQVqRxugQqYJf7/7UVg4OjcjJZBSSub4U/2jFZgSVZ258oGNnnUbu2iayVSxnt AWdU9OzpW1NdKhy+8RS91O2OpQRb2M9FxmgBGPiLRzNrhG+cHPUDtGIzqN6LXSR8irPm rhHw8Q30OrAE4iOS8BVc7tL28B3auhG5mews1EeJxKj78bkBDLXrdGjqEKw1/lVzFzv/ M8Lx4XZgup7Ys4ZlflwJ9DdC+n3jLXxJYZE93jgA/ahlqw/16nnm7SNCoOyX8pJGKFLs 3ToyVc9BODnXyLACEFZYhVzgG0icLdjaFOgJGxatvxVB76P4fqlZXKn05e8lmvavTYNI MRog== X-Gm-Message-State: AOJu0Yxl/mNSNXHdDKVghKFPR39bP9Ym2v+x1SFvhzDcyYesXLN/roYN AxqtF6jlW+YVWX18/uPvkBXDl2Nou30xSbS/GyrY8iUglIaalhbnylF22T0nk0UrJgAFQftUW5I 8I9w= X-Gm-Gg: ASbGncsHmWaaLP8dJMNFicnyu5icfUhcd/xwAVTkO4qXuEJVZGUXS+j2ATU9kPhnzLQ FMYJIDlIvQujLhs3V2QzNTILLZEQmJ0bwcR1SfpyAlLhSl+tpCTtI88hIXwRa0Un/ul9oXkGFxG +8BYulpllv1fT4vNw7sssGXfp9DgD190H5gYgiIHrnumVNIFGPPCQ7pcnT4C+R6AZrrazetuGu1 fJmoM4EMCMT0jnDdfiy530MrPdB+q2d5fYa8m5pi+csonuIAaZO7kBjLYXDrjpGOZEus/sYNL0/ OJ2QOjVjZoQnE9L8DhPsG1BFQhHGpFAmMSte+6IR+drwp+iBAw7tgGMrqr/HYXNvAOvyvTeRmGd SUQpSdfj+Gk3RDf7a9YPIxMzFrrdoDfD/xvmNaty68poOwLqEs0XLTB3Jsw== X-Google-Smtp-Source: AGHT+IFjZmYHii4t2L2R0ugtCzUKVlmB42TBcZ5xy1BcP9d5aOoVv0yvcaJKBbeg5694XWmPTYP8tw== X-Received: by 2002:a05:6000:22c2:b0:3a4:fea6:d49f with SMTP id ffacd0b85a97d-3a572e568b4mr10994770f8f.49.1750176065283; Tue, 17 Jun 2025 09:01:05 -0700 (PDT) Message-ID: <6702a867-da38-46e1-88d3-614776f55e5e@suse.com> Date: Tue, 17 Jun 2025 18:00:58 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH v2 1/5] vVMX: adjust reg_read() for 32-bit guests From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= References: <080f33dc-6381-4b85-8fd5-78e93e265b13@suse.com> Content-Language: en-US Autocrypt: addr=jbeulich@suse.com; keydata= xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A nAuWpQkjM1ASeQwSHEeAWPgskBQL In-Reply-To: <080f33dc-6381-4b85-8fd5-78e93e265b13@suse.com> Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1750176092395116600 Content-Type: text/plain; charset="utf-8" Using the full 64-bit register values is wrong in this case; especially soon after a mode switch from long mode to 32-bit one upper halves of registers may continue to be non-zero. Fixes: 09fce8016596 ("Nested VMX: Emulation of guest VMXON/OFF instruction") Signed-off-by: Jan Beulich --- Note that the affected VMX insns are invalid to use from compatibility mode, and hence the more expensive vmx_guest_x86_mode() doesn't need using here. (VMCALL and VMFUNC, which are permitted in compatibility mode, aren't taking this path. In fact both aren't dealt with at all [explicitly] in vvmx.c.) --- v2: Add code comment. --- a/xen/arch/x86/hvm/vmx/vvmx.c +++ b/xen/arch/x86/hvm/vmx/vvmx.c @@ -360,7 +360,18 @@ enum vmx_insn_errno set_vvmcs_real_safe( static unsigned long reg_read(struct cpu_user_regs *regs, unsigned int index) { - return *decode_gpr(regs, index); + unsigned long val =3D *decode_gpr(regs, index); + + /* + * Outside of 64-bit mode, zero-extend the result from 32 bits, like + * hardware would. + * NB: A long-mode check is sufficient here, as insns this logic is us= ed + * for will #UD in compatibility mode (and hence not make it here). + */ + if ( !hvm_long_mode_active(current) ) + val =3D (uint32_t)val; + + return val; } =20 static void reg_write(struct cpu_user_regs *regs, From nobody Fri Oct 31 03:41:12 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=1; a=rsa-sha256; t=1750176106; cv=none; d=zohomail.com; s=zohoarc; b=ToHKyA/llBSH3kBCnO422XR2iMR0PndFM1RYfcAaatY+8+LtYyUcJnfmyzWwGOJsFzd2hbFn7iUlLw/7qjQmSgf00kFCESL6ynaIHeUVRUddPzkMt3ORzDZZNaFu76DR047p3jLcEbyW71KGGT5JNmFk+TBsU4BsJiIa+OINUXI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1750176106; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=1gWmQLQxYAEESQC8axErZtnimL9IBwDep0Ap1Gsnze4=; b=eTRi3VU7hVe3l9xrjBalBPQ8KvYZuJxXzh9AASaoHO/lHEJMlVAaqtF4vG84oW66jANM0jUoTmXszVQ99C3rU0MlBd1A0wPlbsUt0XD8RJBfpKDSbN69f37vTJUOAPgneo2Y1jT9KSLuI0mA/hWDta7qEMEwMEOPrb2lFddZaW8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1750176106196205.6021480630518; Tue, 17 Jun 2025 09:01:46 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1018323.1395227 (Exim 4.92) (envelope-from ) id 1uRYkh-0007oW-4M; Tue, 17 Jun 2025 16:01:35 +0000 Received: by outflank-mailman (output) from mailman id 1018323.1395227; Tue, 17 Jun 2025 16:01:35 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uRYkh-0007oP-10; Tue, 17 Jun 2025 16:01:35 +0000 Received: by outflank-mailman (input) for mailman id 1018323; Tue, 17 Jun 2025 16:01:33 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uRYkf-0007f6-TX for xen-devel@lists.xenproject.org; Tue, 17 Jun 2025 16:01:33 +0000 Received: from mail-wr1-x42a.google.com (mail-wr1-x42a.google.com [2a00:1450:4864:20::42a]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 55b111d6-4b94-11f0-b894-0df219b8e170; Tue, 17 Jun 2025 18:01:31 +0200 (CEST) Received: by mail-wr1-x42a.google.com with SMTP id ffacd0b85a97d-3a54836cb7fso4139209f8f.2 for ; Tue, 17 Jun 2025 09:01:31 -0700 (PDT) Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de. [37.24.206.209]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-b2fe168a0c2sm7592910a12.60.2025.06.17.09.01.27 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 17 Jun 2025 09:01:30 -0700 (PDT) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 55b111d6-4b94-11f0-b894-0df219b8e170 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1750176091; x=1750780891; darn=lists.xenproject.org; h=content-transfer-encoding:in-reply-to:autocrypt:content-language :references:cc:to:from:subject:user-agent:mime-version:date :message-id:from:to:cc:subject:date:message-id:reply-to; bh=1gWmQLQxYAEESQC8axErZtnimL9IBwDep0Ap1Gsnze4=; b=OI5i2BN2KJr4N9JVzxlJA9fCZt46qUHTvyo+AQHJqrsYGzIcv0/WZu0dNiiDUSA5TN NS4cncvOBGbQKk5IhLWzxZJ+AJY3fDVinYEPL1wTKkS5kfnbL2QQPMrsNZp1kasPGG6S TCANY5RJEj4lSNwKzzwhTKzCHeIRtdmJugpCl2Myx7Da4TO2gyGFQ9kwmlnwylN/e2Iy eFm5I+t5sfraSvpEBBlt6fjUlQ/y6vORYkhGMEfLV4wcPrwnf61NpRoTh83SacQWvw5p bJfv9024LNkUT06eXcBAQnK5v6LbU0nusfwwiQGEU8X/U380pVnxDqMSHMYFaI6ScNuJ UDQA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750176091; x=1750780891; h=content-transfer-encoding:in-reply-to:autocrypt:content-language :references:cc:to:from:subject:user-agent:mime-version:date :message-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=1gWmQLQxYAEESQC8axErZtnimL9IBwDep0Ap1Gsnze4=; b=E7t4cZc12Ts4nOxqptA1aNU77U6u02QLD8ObYImibhnFMGhxYbuIbM+cRQW7mvEgy+ uHGGqSGH42/0U2uZksy1gZP7EPUaO+ItvGFKgG4rbErWN5mtV2F1Z2mGrazYoiIbR0HZ +yjprDCXRZAS4Yi3Rg0Pz7xBbDH+Sc6M474U1qDU+6vK8qFEz3f+6je5YZ4OAauN8dE2 IkFvjHKnm5offU9wfRzq+bZ2RP2nc3pUsuk7/VwCuWZlD8Vt3gXPRRwiEbav1ztgAhdz X51EtU6BJECIbEk7lB3UxQTC7n3MMp+wVYpCIVflWyJN9xhQYVd5lOFX152HH4AcpckP YABg== X-Gm-Message-State: AOJu0YxqXypWYnulRBjYFS1d+XR8+7qNGoMCRljU9zy4aHUs+827zGAs JtiGmRzm2+ZS6m6DPXCBWrMslmThyCWh0iX2FZofguPShcaqkyljKe9qCcepMdtAKMMNzjG1o79 MKdI= X-Gm-Gg: ASbGncur02BNCIaRpROaZMQ+bV3Y5e3QCCSp3BXVxSa639u0xoy/L1/V/zk5N8FuPEy MXeQ3P+/oRwor7AL7mFuwKFhnMDxZF5hT0xsseiAx0j6NTP5kgVj8yx6xJ55dyV2FzQ5ZGWuNvV 5LygggI8woUCO28wTC4qPixoSWX1o2ZpYuttMvLsSKqmPtNkEb+6nGD7JvrD/pkmfgXNEfXqwk6 hZoq7KQ9qnN8zsMOSQESzGKgS+gHj9eX2mPTtRFiNrMpV9XUphNe7XrhCqr/2DRFK7vmJbGdKqP ZmjzShrrBptuHiMNgQZz84j+jiqrcTSphI74lLwlf/3v7GgLHr5PLXxNIb3mmmfdiTvhF6a0Ay6 8Vo2melumMEHSH6SkjZpm8zdRMYg4Hag2CyDkeQZHjMgs9pM= X-Google-Smtp-Source: AGHT+IEijHlGceymDYKDl6o4LnhCwxti4p6phzM8aOgYlCUv9bYiElLA/eBJVIACtiNFVUBe0QtYIw== X-Received: by 2002:a5d:64e3:0:b0:3a4:df80:7284 with SMTP id ffacd0b85a97d-3a572367931mr11854548f8f.1.1750176090784; Tue, 17 Jun 2025 09:01:30 -0700 (PDT) Message-ID: <808044df-5892-43e8-9a35-10f1d9a971c9@suse.com> Date: Tue, 17 Jun 2025 18:01:23 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH v2 2/5] vVMX: adjust reg_write() for 32-bit guests From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= References: <080f33dc-6381-4b85-8fd5-78e93e265b13@suse.com> Content-Language: en-US Autocrypt: addr=jbeulich@suse.com; keydata= xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A nAuWpQkjM1ASeQwSHEeAWPgskBQL In-Reply-To: <080f33dc-6381-4b85-8fd5-78e93e265b13@suse.com> Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1750176113403116600 Content-Type: text/plain; charset="utf-8" Using the full 64-bit register values is slightly wrong in this case; 32-bit writes of registers would normally zero-extend the value to 64 bits. The difference may be observable after switching (back) to 64-bit mode (even if as per the spec upper halves of registers are undefined after a mode switch, in reality they retain their values). Fixes: 33a7028fec44 ("Nexted VMX: Emulation of guest VMREAD") Signed-off-by: Jan Beulich --- Note that the sole affected VMX insn (VMREAD) is invalid to use from compatibility mode, and hence the more expensive vmx_guest_x86_mode() doesn't need using here. --- v2: Add code comment. --- a/xen/arch/x86/hvm/vmx/vvmx.c +++ b/xen/arch/x86/hvm/vmx/vvmx.c @@ -378,6 +378,14 @@ static void reg_write(struct cpu_user_re unsigned int index, unsigned long value) { + /* + * Outside of 64-bit mode, make sure we don't store non-zero upper hal= ves + * in GPRs. + * NB: A long-mode check is sufficient here, as insns this logic is us= ed + * for will #UD in compatibility mode (and hence not make it here). + */ + if ( !hvm_long_mode_active(current) ) + value =3D (uint32_t)value; *decode_gpr(regs, index) =3D value; } From nobody Fri Oct 31 03:41:12 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=1; a=rsa-sha256; t=1750176133; cv=none; d=zohomail.com; s=zohoarc; b=TTsm73YZ4T83z4m+NTjiPm6akBbIbcTCS+J8E0phD7qojljcENHjMklq0uTfkYvBsKlyhpqYkHrN6Y5E0cvz+rKlnluyg+tTUlSA0wgc2WNv/FM9GKs1zeYxpb4QPQ5N+EGr6SZJhD45RY7DiS5dGHU+D0r5TVTWPI5u2607VNo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1750176133; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=kbK8A6UfhnsYfm+d2Zb2+HPRhtyajycOq9heJRLUnAo=; b=N56rd+wG8kqLpVQSfG8E2IvuYE1rzFWyjohp0dL4gSwDGopPJaPdNEweQLYoWOhut9UwBqAzeQ3213PGNySrPNjuw/SyzgrsVfOEN61h5SRnKlTLcMTD87rVIIOzH8JG9nUzioV460y9o2sQNjXwEtmKZtiGXnsuaAMmk4UjNfw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1750176133516614.0637811644999; Tue, 17 Jun 2025 09:02:13 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1018328.1395237 (Exim 4.92) (envelope-from ) id 1uRYl4-0008FX-Ej; Tue, 17 Jun 2025 16:01:58 +0000 Received: by outflank-mailman (output) from mailman id 1018328.1395237; Tue, 17 Jun 2025 16:01:58 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uRYl4-0008FQ-As; Tue, 17 Jun 2025 16:01:58 +0000 Received: by outflank-mailman (input) for mailman id 1018328; Tue, 17 Jun 2025 16:01:57 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uRYl3-00088u-Ij for xen-devel@lists.xenproject.org; Tue, 17 Jun 2025 16:01:57 +0000 Received: from mail-wr1-x42b.google.com (mail-wr1-x42b.google.com [2a00:1450:4864:20::42b]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 64f9fd46-4b94-11f0-a309-13f23c93f187; Tue, 17 Jun 2025 18:01:57 +0200 (CEST) Received: by mail-wr1-x42b.google.com with SMTP id ffacd0b85a97d-3a4fea34e07so3346563f8f.1 for ; Tue, 17 Jun 2025 09:01:57 -0700 (PDT) Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de. [37.24.206.209]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-23692e44fcesm15327245ad.169.2025.06.17.09.01.53 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 17 Jun 2025 09:01:55 -0700 (PDT) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 64f9fd46-4b94-11f0-a309-13f23c93f187 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1750176116; x=1750780916; darn=lists.xenproject.org; h=content-transfer-encoding:in-reply-to:autocrypt:content-language :references:cc:to:from:subject:user-agent:mime-version:date :message-id:from:to:cc:subject:date:message-id:reply-to; bh=kbK8A6UfhnsYfm+d2Zb2+HPRhtyajycOq9heJRLUnAo=; b=U9vru15wWlEjVchU6yC3JVz2j0jh07gN2B5AjPpzNIg5KX5tjh5BUND3Qk8e+yCx5Y 8zTjvg3BAp3CnyCTgoMqyyqnrSu0Xh1VBMh8o/k2FRarP0Qfsq5s4RCPvzuKm2A7xlf9 CVXhUMU0u8hWYVqw+Nd6RgaYsoO8xl8WdbdL+ERszcLMHfrOE09kegtEXlf0BwkR0hE5 NamRwoBD9tGevePeotXPVAEvIL/8gc+A94SCIJU8zRPFXRhaujbhwh2MzRnT2WqQnHd/ JhFA0WG3pSrbFyvPUatCuBkkjPdtkHQqDODTVAPLfQF011PsAel8z6dw5Eowhf2NBHrQ lu4g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750176116; x=1750780916; h=content-transfer-encoding:in-reply-to:autocrypt:content-language :references:cc:to:from:subject:user-agent:mime-version:date :message-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=kbK8A6UfhnsYfm+d2Zb2+HPRhtyajycOq9heJRLUnAo=; b=JVExQ484HmBlySk9rOT2i3/bvDKvQ0x6fSwmQ5WWO5+OQ7trHTmLO3mb4vfJv4OC28 LzoJ57dTR/yqXmnNyW33ye+J1naFqOgEji/xIvez3j7vgb4p6+81ZBMCoALe2PBWsUtG PPN9+QsuYY/UY98u3O1RkaYGJqdVan0f3pTeQXX91Aa2BjSnZB/mZ/Eva4pRZV3HZ0oo YqVIfwm75iHCsrndQEmM5GH+Z1aIm9P5zjI0JKr/o94X9YLAkE8PAGkfCHBnowvkSTJO Np8nut5RBZ/qU+OXFDoeOtZSvj0WK38vl6RvHMYViApOrwk3mCG5Hw+/pjTxm9+Od9nF 3b0A== X-Gm-Message-State: AOJu0Yyk0zvc1WavNYpIfm5SnxDXFdOGVbmNecL3OZ95QqnnizpXM2IL miuN4ivK9NZinzZmc0cP3KqC6IYaReW6Tb6VSyUYwuSQ9SUGCk4rKB3Q3u8fcw29t/yZp4R7Atp P3d4= X-Gm-Gg: ASbGncsO/wT2aUp1v1N1v2C/OdvZnAPl4T+gk/4/RZlrknj//lZOXikzs+fUK0AsOJ3 XIXzPE4EMc8imfzoXz650ZV6SaehtJKNlmsDC7hd2H/goFklSO7bVtJu8P6z4lIrEMOY4AbBlfO WNxoQXjExhHL2p3su+4UGjDmrYR0ThWsg6m/sS9OIYTBsFCBv6VSZRH/uVDFSdMB//dUoQ2a7/0 8R90Zp/DSyd4qiKqRD7uyr0Szcrv5ZRb2chVW+raAaf4zZ2U36LL5pn6Ye8gQ1tX++R3/y6plMG WehrycvcxVOzntDzftM4JEOMDmRHtvLDvt+JUbmCRMWTRqnZhTC6QoDT5MsEj+8d/5cmSKi2dpZ wFOPKoebMESrr+ggIzU8ebOtryX3u7YrrmlbgXjpKLJ1Kf2I= X-Google-Smtp-Source: AGHT+IFQloxc1HO51Alt+gIn4xw7hcnYk6sIpicZjdJHPtrOPiDNlAJ3k7VsgBmyqCoSBTTUM9cC0w== X-Received: by 2002:a5d:5f87:0:b0:3a4:dd00:9af3 with SMTP id ffacd0b85a97d-3a572e588d7mr10765151f8f.56.1750176116374; Tue, 17 Jun 2025 09:01:56 -0700 (PDT) Message-ID: <23dc1582-0e24-41ed-9433-787c7ef6f658@suse.com> Date: Tue, 17 Jun 2025 18:01:49 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH v2 3/5] vVMX: prefer hvm_long_mode_active() in decode_vmx_inst() From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= References: <080f33dc-6381-4b85-8fd5-78e93e265b13@suse.com> Content-Language: en-US Autocrypt: addr=jbeulich@suse.com; keydata= xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A nAuWpQkjM1ASeQwSHEeAWPgskBQL In-Reply-To: <080f33dc-6381-4b85-8fd5-78e93e265b13@suse.com> Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1750176139834116600 Content-Type: text/plain; charset="utf-8" All affected VMX insns are invalid to use from compatibility mode, and hence the more expensive vmx_guest_x86_mode() doesn't need using here. Signed-off-by: Jan Beulich --- a/xen/arch/x86/hvm/vmx/vvmx.c +++ b/xen/arch/x86/hvm/vmx/vvmx.c @@ -430,7 +430,7 @@ static int decode_vmx_inst(struct cpu_us } else { - bool mode_64bit =3D vmx_guest_x86_mode(v) =3D=3D X86_MODE_64BIT; + bool mode_64bit =3D hvm_long_mode_active(v); =20 decode->type =3D VMX_INST_MEMREG_TYPE_MEMORY; From nobody Fri Oct 31 03:41:12 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=1; a=rsa-sha256; t=1750176182; cv=none; d=zohomail.com; s=zohoarc; b=HcQzi4/2Ti0E4juIY1lBiY8/DS1LkGUyH0uyAGt1IEBtpPFZw31kizc+m1qPZvNczVgtdHkUAcwRFJpWbJw3qJj6DpYxJAI8FP+Z384BfM+geuT/wGFrap6bjCKwvPGwdwgpii5LQhOeX9OdNJdsMka3zgMFBlbXuTJe5jUP39o= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1750176182; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=m0r2g8AumYTO+yNs7PfmqPv/BjQUKEeF7pA9dmiAzgc=; b=IupiwM9TkyreqZ4Lca1bBOLlM69MBWm8b9lsdDW2XkaUX72c9nnI3g9MWrM2bfuD/A4/UL5HIsGstn4ZfpXSfio6E0K/zEDWxDboctl3RpEVY9JZ1bsMpKrLLPs+5mY9nAwR6OqN4T9wDG//g0eG2+suIm2lcQd6xW9mckEtWdw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1750176168169758.7550238755629; Tue, 17 Jun 2025 09:02:48 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1018342.1395246 (Exim 4.92) (envelope-from ) id 1uRYlc-0000SB-LP; Tue, 17 Jun 2025 16:02:32 +0000 Received: by outflank-mailman (output) from mailman id 1018342.1395246; Tue, 17 Jun 2025 16:02:32 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uRYlc-0000S4-IZ; Tue, 17 Jun 2025 16:02:32 +0000 Received: by outflank-mailman (input) for mailman id 1018342; Tue, 17 Jun 2025 16:02:31 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uRYlb-0007f6-Cg for xen-devel@lists.xenproject.org; Tue, 17 Jun 2025 16:02:31 +0000 Received: from mail-lf1-x12a.google.com (mail-lf1-x12a.google.com [2a00:1450:4864:20::12a]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 786d636d-4b94-11f0-b894-0df219b8e170; Tue, 17 Jun 2025 18:02:29 +0200 (CEST) Received: by mail-lf1-x12a.google.com with SMTP id 2adb3069b0e04-553bcba4ff8so2877205e87.2 for ; Tue, 17 Jun 2025 09:02:29 -0700 (PDT) Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de. [37.24.206.209]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-748900b09f1sm9014057b3a.113.2025.06.17.09.02.25 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 17 Jun 2025 09:02:27 -0700 (PDT) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 786d636d-4b94-11f0-b894-0df219b8e170 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1750176149; x=1750780949; darn=lists.xenproject.org; h=content-transfer-encoding:in-reply-to:autocrypt:content-language :references:cc:to:from:subject:user-agent:mime-version:date :message-id:from:to:cc:subject:date:message-id:reply-to; bh=m0r2g8AumYTO+yNs7PfmqPv/BjQUKEeF7pA9dmiAzgc=; b=NyIwtuHJIHvzl1WfYneJJco0VYKxUq8YTxSwIZdWNcZToPGQqPgyNEHZypWOZQijlw aWj+mb9ZE6hJELkKTPbf+YW8td172vgx+plAiu5tYAtZGtqS9Xa2PYBeCQW6HrAzrj/6 +lv9rRGV8/JVB1avwmjPPy2NEP0O70xaj3gnIvutry0dYZ32iwj9AvTCPJOlNMKXVivR r65z4Wi42J1Nw/UsKyoPQ0v9Uc6OafuCG+6ExFL3p5VEKeHBO2dFGXUA962CPkslOs2w 1yIQsb5aGY+EiaFqUa8bYiMrzKRTDhx+t5e1MR7+KMcDi36rSia4JatrY3Bqb3vMfiXF m4RA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750176149; x=1750780949; h=content-transfer-encoding:in-reply-to:autocrypt:content-language :references:cc:to:from:subject:user-agent:mime-version:date :message-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=m0r2g8AumYTO+yNs7PfmqPv/BjQUKEeF7pA9dmiAzgc=; b=CJXkUzg+X3GMXH5wMR+PhYsknLfa6XUB93ZglgUQQDXgDlLmyTNHbo06qZLZJP/SrN Ou2y0yAZ1pFnCGZ3llm+edtCqrf5UFLC6S2hny05yAfQXfyPT6UB8djmY9F0bY+A8zGU X7XhVjDsTaxbtgG/fsS7QIahKgeElLGGcOQwNnuyDSM2Av88hRB+b8iXZqPj8wffzKXQ yQpPn9rkPdmw6uTUL0f8Ys3mkgFmrp82zfpNcsxZTu3k+eNNEfmR48VjC4B8eXNDOtKm BbNWFsiCeu6xTGQwdnMd+Nm3GiMOTuChtowvFR+keBPEhuOzVDauIYwb+GPW1exvs5CC 3hfw== X-Gm-Message-State: AOJu0Yw0XnTBMNJy6NhQZ7LQfM8/1xIkhl6PwCHJGQRXMwetamE2YWOi zdWnIkipaZUxpQZAsV5pNamwSX+yvlGZhtOydvyX4OQyn5i8RE+htA0uO4Ml29ktXPSTC9lXYCe WeBo= X-Gm-Gg: ASbGncvFneY6dBcQEaoZLFqkRZj8VF/7kwxoJyBCpSjhvhWV35Z1VOtywaR7kh8VAt8 SHiM25FChiT8qY6fZlERxWv4O6Zh+RrctVydOXxmcRmt3UkJSwnEOsVjBAOVy2sQ8Mp6vN1fjcT 9JXob0ABsTATu9mCLcyDcO8vXI4rmc2e1xoQbYNoS/JBRbYfXxNBzZyVM4DDKIjMcvVf076U+LD hUd1D0ZSUYYa0sgtXLJYCXqgKMZUloTh+Avs1bgsGwAneXS5M4PR6d+wH9sgVMGVJ7SEHRVgsjL 4TP06nvJslxFPgBxs/KsNt8NYd7vX4LeonHK9MGLlEjX0vvn0i/YlcuguAzOp4gRLfLFMFGaYDO BlWU9TUY5fYx9ugzt487Xr2RYgbCiexSE7Ai9z+6XoJsidNY= X-Google-Smtp-Source: AGHT+IHW7PvOSxWAKW31+3M7RYDViPeuR9qGeTgU3uJr15ojueHOvA46JpnfdZEme8SB7cuDRQR7Pw== X-Received: by 2002:a05:6512:15aa:b0:553:34d6:d67d with SMTP id 2adb3069b0e04-553b6f4e4b3mr3497288e87.46.1750176148524; Tue, 17 Jun 2025 09:02:28 -0700 (PDT) Message-ID: <283e9961-7bf8-4f2c-9fcc-f4e09c91a28a@suse.com> Date: Tue, 17 Jun 2025 18:02:21 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH v2 4/5] vVMX: operand size in decode_vmx_inst() From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= References: <080f33dc-6381-4b85-8fd5-78e93e265b13@suse.com> Content-Language: en-US Autocrypt: addr=jbeulich@suse.com; keydata= xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A nAuWpQkjM1ASeQwSHEeAWPgskBQL In-Reply-To: <080f33dc-6381-4b85-8fd5-78e93e265b13@suse.com> Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1750176190060116600 Content-Type: text/plain; charset="utf-8" Address size is entirely irrelevant to operand size determination; For VMREAD and VMWRITE outside of 64-bit mode operand size is 32 bits, while in 64-bit mode it's (naturally) 64 bits. For all other insns it's 64 bits (a physical address) or 128 bits (INVEPT, INVVPID). To limit the amount of change here, keep the latter at reading only 64 bits from guest space. Fixes: 09fce8016596 ("Nested VMX: Emulation of guest VMXON/OFF instruction") Signed-off-by: Jan Beulich --- Beyond the wrong operand handling for INVEPT and INVVPID, the latter also doesn't even have the part read checked to have bits 16 and above all clear. --- a/xen/arch/x86/hvm/vmx/vvmx.c +++ b/xen/arch/x86/hvm/vmx/vvmx.c @@ -411,13 +411,13 @@ static inline u32 __n2_secondary_exec_co =20 static int decode_vmx_inst(struct cpu_user_regs *regs, struct vmx_inst_decoded *decode, - unsigned long *poperandS) + unsigned long *poperandS, unsigned int size) { struct vcpu *v =3D current; union vmx_inst_info info; struct segment_register seg; unsigned long base, index, seg_base, disp, offset; - int scale, size; + unsigned int scale; =20 __vmread(VMX_INSTRUCTION_INFO, &offset); info.word =3D offset; @@ -449,7 +449,8 @@ static int decode_vmx_inst(struct cpu_us =20 __vmread(EXIT_QUALIFICATION, &disp); =20 - size =3D 1 << (info.fields.addr_size + 1); + if ( !size ) + size =3D 4 << mode_64bit; =20 offset =3D base + index * scale + disp; base =3D !mode_64bit || info.fields.segment >=3D x86_seg_fs ? @@ -464,7 +465,9 @@ static int decode_vmx_inst(struct cpu_us if ( poperandS !=3D NULL ) { pagefault_info_t pfinfo; - int rc =3D hvm_copy_from_guest_linear(poperandS, base, size, + int rc =3D hvm_copy_from_guest_linear(poperandS, base, + min_t(unsigned int, size, + sizeof(*poperandS)), 0, &pfinfo); =20 if ( rc =3D=3D HVMTRANS_bad_linear_to_gfn ) @@ -1561,7 +1564,7 @@ static int nvmx_handle_vmxon(struct cpu_ uint32_t nvmcs_revid; int rc; =20 - rc =3D decode_vmx_inst(regs, &decode, &gpa); + rc =3D decode_vmx_inst(regs, &decode, &gpa, sizeof(gpa)); if ( rc !=3D X86EMUL_OKAY ) return rc; =20 @@ -1788,7 +1791,7 @@ static int nvmx_handle_vmptrld(struct cp unsigned long gpa =3D 0; int rc; =20 - rc =3D decode_vmx_inst(regs, &decode, &gpa); + rc =3D decode_vmx_inst(regs, &decode, &gpa, sizeof(gpa)); if ( rc !=3D X86EMUL_OKAY ) return rc; =20 @@ -1865,7 +1868,7 @@ static int nvmx_handle_vmptrst(struct cp unsigned long gpa =3D 0; int rc; =20 - rc =3D decode_vmx_inst(regs, &decode, &gpa); + rc =3D decode_vmx_inst(regs, &decode, &gpa, sizeof(gpa)); if ( rc !=3D X86EMUL_OKAY ) return rc; =20 @@ -1891,7 +1894,7 @@ static int nvmx_handle_vmclear(struct cp void *vvmcs; int rc; =20 - rc =3D decode_vmx_inst(regs, &decode, &gpa); + rc =3D decode_vmx_inst(regs, &decode, &gpa, sizeof(gpa)); if ( rc !=3D X86EMUL_OKAY ) return rc; =20 @@ -1953,7 +1956,7 @@ static int nvmx_handle_vmread(struct cpu u64 value =3D 0; int rc; =20 - rc =3D decode_vmx_inst(regs, &decode, NULL); + rc =3D decode_vmx_inst(regs, &decode, NULL, 0); if ( rc !=3D X86EMUL_OKAY ) return rc; =20 @@ -1996,7 +1999,7 @@ static int nvmx_handle_vmwrite(struct cp enum vmx_insn_errno err; int rc; =20 - rc =3D decode_vmx_inst(regs, &decode, &operand); + rc =3D decode_vmx_inst(regs, &decode, &operand, 0); if ( rc !=3D X86EMUL_OKAY ) return rc; =20 @@ -2038,7 +2041,7 @@ static int nvmx_handle_invept(struct cpu unsigned long eptp; int ret; =20 - if ( (ret =3D decode_vmx_inst(regs, &decode, &eptp)) !=3D X86EMUL_OKAY= ) + if ( (ret =3D decode_vmx_inst(regs, &decode, &eptp, 16)) !=3D X86EMUL_= OKAY ) return ret; =20 switch ( reg_read(regs, decode.reg2) ) @@ -2066,7 +2069,7 @@ static int nvmx_handle_invvpid(struct cp unsigned long vpid; int ret; =20 - if ( (ret =3D decode_vmx_inst(regs, &decode, &vpid)) !=3D X86EMUL_OKAY= ) + if ( (ret =3D decode_vmx_inst(regs, &decode, &vpid, 16)) !=3D X86EMUL_= OKAY ) return ret; =20 switch ( reg_read(regs, decode.reg2) ) From nobody Fri Oct 31 03:41:12 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=1; a=rsa-sha256; t=1750176671; cv=none; d=zohomail.com; s=zohoarc; b=Ze5PPQZzD/w6wcj8YVAxC2/5oBUi8HMf6lKDWK2dHFs7pudTdB9qRoGHmwZ3TYdDoV1Ptos2gWXMW/pnASX6frRovJ1JOjEDsCCNAK02883Y1YoDiZbS9ACnxiWeji47jV44tQwpTyYmqPk/Nqzp/FO1QAqapLJPruWmLyIWLrw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1750176671; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=3VoPrsapEJe6cnYVGPlEbMcKBx2LN9u76bVC8NTafYM=; b=RJe0M5vR/bMBAWpcsJJxUOc+zRRyBI9/TdJNQVwShnYhv8IRfB1V1EOfWUTF8POU6VXuOwOhUQNZWgjGfBaJ9eoT6s8sahYK6c06XpjLGDw0hE92i3GRsiGNKkjpkgPJJX+IsEfHc5OiuViAJgtjGijRAcC7C14bf5jQAzvKrgk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1750176671212876.200005126652; Tue, 17 Jun 2025 09:11:11 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1018354.1395258 (Exim 4.92) (envelope-from ) id 1uRYti-0002GW-GX; Tue, 17 Jun 2025 16:10:54 +0000 Received: by outflank-mailman (output) from mailman id 1018354.1395258; Tue, 17 Jun 2025 16:10:54 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uRYti-0002GP-B2; Tue, 17 Jun 2025 16:10:54 +0000 Received: by outflank-mailman (input) for mailman id 1018354; Tue, 17 Jun 2025 16:10:52 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uRYm2-0007f6-Gy for xen-devel@lists.xenproject.org; Tue, 17 Jun 2025 16:02:58 +0000 Received: from mail-lf1-x130.google.com (mail-lf1-x130.google.com [2a00:1450:4864:20::130]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 88a830a3-4b94-11f0-b894-0df219b8e170; Tue, 17 Jun 2025 18:02:56 +0200 (CEST) Received: by mail-lf1-x130.google.com with SMTP id 2adb3069b0e04-5535652f42cso5897291e87.2 for ; Tue, 17 Jun 2025 09:02:56 -0700 (PDT) Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de. [37.24.206.209]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-74890083c0fsm9033929b3a.72.2025.06.17.09.02.53 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 17 Jun 2025 09:02:55 -0700 (PDT) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 88a830a3-4b94-11f0-b894-0df219b8e170 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1750176176; x=1750780976; darn=lists.xenproject.org; h=content-transfer-encoding:in-reply-to:autocrypt:content-language :references:cc:to:from:subject:user-agent:mime-version:date :message-id:from:to:cc:subject:date:message-id:reply-to; bh=3VoPrsapEJe6cnYVGPlEbMcKBx2LN9u76bVC8NTafYM=; b=QTcdaAEYqvb6VCs1ey0tE+knX2Rwk9sVOrxa7HHcfzE3ZTSJn7VmBHT5L5P2/Ttej/ /Fd9UZf36oZjj90oFtjDMRRsh+cn6+53PwUEzJY9MT+EIAHVH1Aw1dvdXna/TAVxYeZM cz8RlhFVzgFdEQlY4t4W2Y9FV5TQ8wKgqGhOh30kLxk/AMFoGB5ulOPsp5EyrRc+ZyQq fPfWDton79Brw25ZXj4CuOsEjTgsp/sG1lPGrv2yj+XIu4mVpXR9BlQsjCaah40d0sKB uPV1n/8AAcBVXlu+F1EejDGjrAAf6wQyWKL83tSnKj4ySnjZgzSm7f5wqxJwqPcPTB4h bN9g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750176176; x=1750780976; h=content-transfer-encoding:in-reply-to:autocrypt:content-language :references:cc:to:from:subject:user-agent:mime-version:date :message-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=3VoPrsapEJe6cnYVGPlEbMcKBx2LN9u76bVC8NTafYM=; b=YE4/uX/yxQwruWZBAL/Ta+T7GXzRuIqgM6I+/ew1QjZmC5K2nlRGeVmH2rPIbU48nx EH3SsKDJyMw5dA+DMPu4CPiMQY7QEOa6mvL2lUhVpjNaAn2PUtP67EmcKTmrjD2o7eIz 6h13H0e/t12EnfCqjAuJReXd7uwj3wjzx5nG6VQDt0ZOSk55BcJJI8HPSDruH9W5sL1O m01/3J7AqtxQkJfcVgAJ/rQtGoa9MRpTZiNvCvpLek3310J9aD3DKKxB0P4KWnwuvRe7 IhCZlLhMYhu7PbDyHUGXt6IkIBx6+z1Bh4HkV01rNMhY25M1yKj6rDn0ftNqlfo6vVI6 vO8g== X-Gm-Message-State: AOJu0YwdXXGug6MSo4MFjxse2BT91w/m9nXN/o7Q31EANUvsxD0lQNYV h91R4rvOihrEy8qIdu+v8xtEP2zlNebVY1jUL8v2AstCHPcbqQ6IcitRGtKzvpTwW2bC+ow5T7e 8/rg= X-Gm-Gg: ASbGnctn8nSTRDpPObVBGEaie8hPuVggq1+sFco5NzT9uHpIMyjq/Llz1HWco77iaK4 M4VnYw1spGd00Uuy7JhiXdxvRctJDQQroghgzElH/1WYeTQAh5yzN+EXTfzmTCQT4Tw5gZRPurR HhBi2gXZClXbWTs1xB7P5tSr/sFr+jcH+3rqpLeLEPvKAmibskKYc4Z3nuDZrtODtA8Z9Vjctyy yavT2iiA/6z248H0Mzw81IylZv5kM4xsC+BddKx8fnir/FYwV83Qsopd1p8Xk5nies3c7oP3Wfh 02l5oUEwhov7D3yEZSrnpQrvHZUa71w7P3x8+PVojEhDBp3Vx5NuZAeoFjZCjGRJub2oRNX9AgM oIlR8QSy6EbCPCjRc81sxbxjRkSgkpvXq2B3Lvm5MyVncLCY= X-Google-Smtp-Source: AGHT+IE19BxAWlHpgOXiWe2qTL9rpAV4ct7l2odaZJlPG0+KL8RAh62AvEcmfqulcGKe0/k4ttRBJA== X-Received: by 2002:a05:6512:4011:b0:553:ad48:3f2b with SMTP id 2adb3069b0e04-553b6e7d1e3mr3501048e87.2.1750176176030; Tue, 17 Jun 2025 09:02:56 -0700 (PDT) Message-ID: <5bc8d03f-ee68-4405-b615-f3183d60c2b5@suse.com> Date: Tue, 17 Jun 2025 18:02:49 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH v2 5/5] vVMX: address size in decode_vmx_inst() From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= References: <080f33dc-6381-4b85-8fd5-78e93e265b13@suse.com> Content-Language: en-US Autocrypt: addr=jbeulich@suse.com; keydata= xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A nAuWpQkjM1ASeQwSHEeAWPgskBQL In-Reply-To: <080f33dc-6381-4b85-8fd5-78e93e265b13@suse.com> Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1750176673128116600 Content-Type: text/plain; charset="utf-8" While the original use of the address size file in the instruction info provided was wrong, it still wants using: The offset into the designated segment still may need truncating accordingly. Fixes: 09fce8016596 ("Nested VMX: Emulation of guest VMXON/OFF instruction") Signed-off-by: Jan Beulich --- a/xen/arch/x86/hvm/vmx/vvmx.c +++ b/xen/arch/x86/hvm/vmx/vvmx.c @@ -453,6 +453,13 @@ static int decode_vmx_inst(struct cpu_us size =3D 4 << mode_64bit; =20 offset =3D base + index * scale + disp; + switch ( info.fields.addr_size ) + { + case 0: offset =3D (uint16_t)offset; break; + case 1: offset =3D (uint32_t)offset; break; + default: break; + } + base =3D !mode_64bit || info.fields.segment >=3D x86_seg_fs ? seg_base + offset : offset; if ( offset + size - 1 < offset ||