From patchwork Thu May 4 18:18:27 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mingwei Zhang X-Patchwork-Id: 90176 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp534002vqo; Thu, 4 May 2023 11:44:19 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ45eZ86zP6bLUfG5jlEQwXbU5CjIj5si3R8wBo9WFYfJsVg+JJ0h9k7fu7i0Bl1QqPVck/C X-Received: by 2002:a17:90a:9a4:b0:24d:f992:5286 with SMTP id 33-20020a17090a09a400b0024df9925286mr2954072pjo.36.1683225858897; Thu, 04 May 2023 11:44:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1683225858; cv=none; d=google.com; s=arc-20160816; b=rUqfSkf4APOMBkCB3KXoyDZPOcVG85szNJjZpDkmTeWcClGLIVbzoWtvV/89a40nuu 8ew+9pnWDRI9b+vEGYEh3Fow7Au29XxWyFEFjg9+SCFdFR+mgwlAp/5jbyVTQP4QPBkQ C5s7L5JsUvE4Q/uADAQ5jlaxCrfdUvwXTX+yq5Tj9iCsERluOqvdocuH6cYlgczM8szp izi9VcVDpTsbKz0oTg55sTYNGT9/iBGV6w0CIFG5VHUkAFdUtMCY/9c49A52BME7ZVFB sZdI9iDgzTuUjI7RysCsjeUftRMOif4ZRmPNZD1OCi0mAr+zLDyRrkR0+P9YLH60uKsa gvEA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:from:subject:message-id:mime-version:date :reply-to:dkim-signature; bh=Hjvvowe8zEt4UQcm8nbwrIVRsEeLiH5hkw0jaKF/Pdo=; b=bDb6rf4U3DPqN1cJu09Y+S7i8mPDQpD6Tn62Oqsen+kjFCar0xj70304TYg8v3BB4k kMO5nGkAGY5QQH44V3GFmdf9MMJqNRRyacMCL/+fhSL8k5f3AWwpDN8z93UuAREdH3M1 95tupM2V+BCNO8gHD30IRSfvvGcptfhF1pvNw0RzhbdM1n5OoDk1VqNztBVkOoD2sDSt wSLwbAiVzLRZ6RcNJbjVODKVSzQhPJLMB5IGYmtnXbDksI7HHp8S/PriPXJLjhS8tuTl JZkBW+F1KrFSmyR/DuLkUxbp6IEHUKGUX76Nh/mYOx3mUC2LtiLBLldgAk6cZK0bY7i+ OI/w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20221208 header.b=foecG0AH; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id e11-20020a17090a728b00b0023418ec51f8si4505309pjg.136.2023.05.04.11.44.03; Thu, 04 May 2023 11:44:18 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20221208 header.b=foecG0AH; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229609AbjEDSSw (ORCPT + 99 others); Thu, 4 May 2023 14:18:52 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56424 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229618AbjEDSSd (ORCPT ); Thu, 4 May 2023 14:18:33 -0400 Received: from mail-yb1-xb49.google.com (mail-yb1-xb49.google.com [IPv6:2607:f8b0:4864:20::b49]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 925C61FD9 for ; Thu, 4 May 2023 11:18:31 -0700 (PDT) Received: by mail-yb1-xb49.google.com with SMTP id 3f1490d57ef6-b9a7e3fc659so1831269276.1 for ; Thu, 04 May 2023 11:18:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20221208; t=1683224311; x=1685816311; h=cc:to:from:subject:message-id:mime-version:date:reply-to:from:to:cc :subject:date:message-id:reply-to; bh=Hjvvowe8zEt4UQcm8nbwrIVRsEeLiH5hkw0jaKF/Pdo=; b=foecG0AHRxDcRcf2EK4zMC4X1DGntPmpGdgtDOgYwhprnBk9aaucm+tbsuckeYwTP1 FUH9UxtcSd1Ur0Dz7N/OKOjqfMVn31F1ztoFdaHyxedZQOxLYkBISJRasVrxCJfhV4hm SBP0qDwxwSrqtiriTVe5zvLYVtkyj5C+8QzxHt6QYzK6Tv58F9+uUZLjY5H8QQn9DTZk iCbB1cVZxfwF0l8Q+pHBkBmayGIvP+rfkWolkp10nxmQZnXAtNefl848AMlapMSsm0LO kKY4dgqhJj2Kc+4UZ7/2snJOssg60adsk/0daCNNGOmJNnS+t3cBq0Fp20x+qYFQvdFK a+4g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683224311; x=1685816311; h=cc:to:from:subject:message-id:mime-version:date:reply-to :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=Hjvvowe8zEt4UQcm8nbwrIVRsEeLiH5hkw0jaKF/Pdo=; b=G/LR7swxExPmK1xZs9zCiy7QjCyPRIBwFKA3WgXixs+4us+JnUJqmVw6UB5QjhgXOx 8OXJckqmTVCCdBs1HNK96tidQVPOdZuuJsLQyBMaxe2Rd0Q0RVWiszk+PYi8TKstsqrp PtjNhq3thGGiTlkDZYN4z/3VGvEQLsILIpd8Jrt58w9U/8aJCG4/i+xeh1yJ7UQj3TCN 0vVlRo4nuPLiQEzl9rGgnXEwWx3PNp08Ypq2z76TZEIxRWI/QRUTyCDkH99h0LpvBVkG UxIJQqOYwqaMV/vjFhFLcV7QmJAcxJHtwlV+wLdVIsptNrqRa6ehb68VCKKQSgCEY2iY /qmQ== X-Gm-Message-State: AC+VfDzgIYbtmvhA5cP9c+TTSBtrLqjO3tJZPzFyCGosJod9HHqJw/3P cgzpp5UwwBNJgaGmohoJawkVXw7QIJ/o X-Received: from mizhang-super.c.googlers.com ([34.105.13.176]) (user=mizhang job=sendgmr) by 2002:a5b:947:0:b0:b8f:6a10:7654 with SMTP id x7-20020a5b0947000000b00b8f6a107654mr370701ybq.5.1683224310867; Thu, 04 May 2023 11:18:30 -0700 (PDT) Reply-To: Mingwei Zhang Date: Thu, 4 May 2023 18:18:27 +0000 Mime-Version: 1.0 X-Mailer: git-send-email 2.40.1.521.gf1e218fcd8-goog Message-ID: <20230504181827.130532-1-mizhang@google.com> Subject: [PATCH v2] KVM: VMX: add MSR_IA32_TSX_CTRL into msrs_to_save From: Mingwei Zhang To: Sean Christopherson , Paolo Bonzini Cc: "H. Peter Anvin" , kvm@vger.kernel.org, linux-kernel@vger.kernel.org, Jim Mattson , Mingwei Zhang X-Spam-Status: No, score=-9.6 required=5.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE,USER_IN_DEF_DKIM_WL autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1764990238213542803?= X-GMAIL-MSGID: =?utf-8?q?1764990238213542803?= Add MSR_IA32_TSX_CTRL into msrs_to_save[] to explicitly tell userspace to save/restore the register value during migration. Missing this may cause userspace that relies on KVM ioctl(KVM_GET_MSR_INDEX_LIST) fail to port the value to the target VM. In addition, there is no need to add MSR_IA32_TSX_CTRL when ARCH_CAP_TSX_CTRL_MSR is not supported in guest. So add the checking in kvm_probe_msr_to_save(). Fixes: b07a5c53d42a ("KVM: vmx: use MSR_IA32_TSX_CTRL to hard-disable TSX on guest that lack it") Reported-by: Jim Mattson Signed-off-by: Mingwei Zhang Reviewed-by: Jim Mattson Reviewed-by: Xiaoyao Li Reviewed-by: Jim Mattson --- arch/x86/kvm/x86.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index 237c483b1230..c8accbd6c861 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c @@ -1431,7 +1431,7 @@ static const u32 msrs_to_save_base[] = { #endif MSR_IA32_TSC, MSR_IA32_CR_PAT, MSR_VM_HSAVE_PA, MSR_IA32_FEAT_CTL, MSR_IA32_BNDCFGS, MSR_TSC_AUX, - MSR_IA32_SPEC_CTRL, + MSR_IA32_SPEC_CTRL, MSR_IA32_TSX_CTRL, MSR_IA32_RTIT_CTL, MSR_IA32_RTIT_STATUS, MSR_IA32_RTIT_CR3_MATCH, MSR_IA32_RTIT_OUTPUT_BASE, MSR_IA32_RTIT_OUTPUT_MASK, MSR_IA32_RTIT_ADDR0_A, MSR_IA32_RTIT_ADDR0_B, @@ -7077,6 +7077,10 @@ static void kvm_probe_msr_to_save(u32 msr_index) if (!kvm_cpu_cap_has(X86_FEATURE_XFD)) return; break; + case MSR_IA32_TSX_CTRL: + if (!(kvm_get_arch_capabilities() & ARCH_CAP_TSX_CTRL_MSR)) + return; + break; default: break; }