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

[PATCH] x86/cpuid: do not expand max leaves on restore


  • To: <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Roger Pau Monne <roger.pau@xxxxxxxxxx>
  • Date: Fri, 23 Apr 2021 12:54:08 +0200
  • 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=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=53O2tEnqOV87xRSq5S2pjHQKd2sUEhduNa0fw8jowx8=; b=AWY6yAdDLjpzDxv4A/Q4ksxDdP/N/+i9/IZSGEV86eGXn2AplEH34F4WjPgZfggqC+Agg+0eVNko1n9CHVkD+Oc31UwhTf3h8NqFDXV52v+KdfLcRsmf2fxUkrDpkMnnYnsipn7628Gm+9FoeHm6iLhcbwUr2EfUwPnT9slHAzobmvgoQQrsVIv/dZBTiZO7RZj82OdtwwceRKxag8pt2Z70Xh9/5WgEWJcgphoZ9/BTjtg/eSrBF6eowtIefFLK3oIvepKelO6rmLwkZ8m3T6aF3bcRRFKh5YYkBSEulBxRJTLKTsuVBvyjdZx7urs5DgzUAfWwDSFWLVp5b2Re/Q==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OfqA6bdtDd85aYUpFC8EtuSIKMRrRWOI3vh4mNawqVsYUGYxUEZngl0KGd5fWGSfvl4fAUfqKvskanqf/46NEnc7moItB/9ftLIU8eXYPT7YLlw+Hu4+qoamwgttfMXiZaT3AhblndjzkJ0rzb8HOhTN3Ks77frb9sYO7zLAf8dE9UUxFzRgKBX/pNHKI9B1IZtDnmmaaUsj3WBTDgLS20nnASPxgqhSPNKNOBfO7Ol2Ab2ohr0gEPHN54GhXDJs0TyqAULcbWM5kPNYExtovyMLqeFIDQi+nIxL3Jof1sYAa9/BZjkGoKYty+X0tLn7WEyZRBh9B0BHGJB+6JXOiQ==
  • Authentication-results: esa6.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
  • Cc: Roger Pau Monne <roger.pau@xxxxxxxxxx>, Ian Jackson <iwj@xxxxxxxxxxxxxx>, Wei Liu <wl@xxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
  • Delivery-date: Fri, 23 Apr 2021 10:54:24 +0000
  • Ironport-hdrordr: A9a23:mN0kya7SrVIA6OUZ5APXwciBI+orLtY04lQ7vn1ZYRZeftWE0+ Wnm/oG3RH54QxhJE0Is/roAtjlfVr385lp7Y4NeZKrWwf7sGWlRbsSkrfK6TvmBiH466phxb 5tGpIOeuHYIHpbqYLB4Ae+G8s929XvysqVrMrX0nsFd3ATV4hO9AF8YzzrcHFeZA4DPpYhEY rZ28wvnUvcRV0yTuCWQkYIRPLCodqjruOSXTcjCwQ84AeDyROEgYSKaCSw5RsVXzNRzbpKyw Gs+GGUicvD04DZ9jbm22De9JhQktf6o+EzfvCksNQfKTnnl2+TFeNccoCCpzw8raWO71sngb D30m4dFvlz8H/YcyWJpwLs0WDboVATwkLloGXo5EfLkIjcfnYaA9AErZ9FehHZgnBQwu1U4e Zu5SalkLZ5STnHhz/w4tDUUQoCrDvEnVMy1eMcy2dSXuIlGc9shJ1a8U0QC5EaE0vBmfMaLN U=
  • Ironport-sdr: RXn9/Svsc9sclGozNQenDGkNaF7qOVaIhuNRmVsPYzlC9BpZesNjvTOVGunjoBf97vMD73CTTW 9DuGxmUgRZ7W4JsU+RmTOtpwDBLyWf4zNLizjn4EpJFabw0gg4wbtttr84V2hOfHVnt+2sBdRn 1qx31yI0PtteF8m5oRnQJ92sG+U8utCb5RlUC9xwM9qh591z7LxsbsYihol1XFYIEUd73AQWeV TGWSJO973Xj8CxdsydbHtixqTEhrRy5UH3yIm4QiFGY8PIhM0xKH9TsShFGtDRj7cbwHJMr0RF IB4=
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

When restoring limit the maximum leaves to the ones supported by Xen
4.13 in order to not expand the maximum leaf a guests sees. Note this
is unlikely to cause real issues.

Guests restored from Xen versions 4.13 or greater will contain CPUID
data on the stream that will override the values set by
xc_cpuid_apply_policy.

Reported-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>
---
 tools/libs/guest/xg_cpuid_x86.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/tools/libs/guest/xg_cpuid_x86.c b/tools/libs/guest/xg_cpuid_x86.c
index 5ea69ad3d51..9296fdc34bd 100644
--- a/tools/libs/guest/xg_cpuid_x86.c
+++ b/tools/libs/guest/xg_cpuid_x86.c
@@ -510,6 +510,11 @@ int xc_cpuid_apply_policy(xc_interface *xch, uint32_t 
domid, bool restore,
         {
             p->feat.mpx = test_bit(X86_FEATURE_MPX, host_featureset);
         }
+
+        /* Clamp maximum leaves to the supported ones on 4.13. */
+        p->basic.max_leaf = min(p->basic.max_leaf, 0xdu);
+        p->feat.max_subleaf = min(p->feat.max_subleaf, 1u);
+        p->extd.max_leaf = min(p->extd.max_leaf, 0x1cu);
     }
 
     if ( featureset )
-- 
2.30.1




 


Rackspace

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