From patchwork Thu Dec 1 23:26:55 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Christopherson X-Patchwork-Id: 28606 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp542921wrr; Thu, 1 Dec 2022 15:34:53 -0800 (PST) X-Google-Smtp-Source: AA0mqf6fwTR6wyzv4N5qujhJEpQ28n06suJ8FubMUlRyR4I5eu1x2FbE46KlgGozLa8HhmOOU17s X-Received: by 2002:a62:e80f:0:b0:574:cc3d:a23f with SMTP id c15-20020a62e80f000000b00574cc3da23fmr32462591pfi.53.1669937693315; Thu, 01 Dec 2022 15:34:53 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1669937693; cv=none; d=google.com; s=arc-20160816; b=nkbukYEfvEmit2HOSbE1b3jnpBfzh+Umy5lpCOSYkhVUTCoIiV932P4+oBaGheqoIV yAS/hZueT0lc+Qq92ZYRbMyM0dT+7eMTCuF44+P8ECC4xsOZl/1f1r0dJNRWkapT+3vW s3aQl7P7WNgP2lbKnJEnwiXQIMEcGm5W5B3zjGkyLeHxR3Cu3REV9+1DHH5hf5f1W/9m MJsRGKKkgHzWbn/IhuEvgCm8N0/EXPCc4q1Vq3kXov01ffChbp6KP9bYerWMAzw8jQ7a 6RZxbG/xf9Xl6ZtNoXo8vdh3+/zYonBmcDkQdV66Jyyi/yXlK3tGJBXWPEm6Xwlcng+Q PsBQ== 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:references :mime-version:in-reply-to:date:reply-to:dkim-signature; bh=e1NugFnVCB110oXGMzrxJ93wD+BGdk2//9yqV+Q+IFc=; b=Vus1PhCEJnCZ50LvidnDYPTZ+QDH8R6BD8hpOlkq/DljvLY8oRzCLa+4M3luwIwVvN HRvzMHuQ63v2wr4E6LaD0q9rRKdgRt7dnTgqvxz38KDaeYsVlWyREzDgrPEGhRnKA4/+ OJaRjfdItg6dXKGCx26dShEQaIEKb4EKTRxoWySsQ6zjm+Ud71gJrM1gr5ykCIje2oN0 xUxfY6GjFtBDXlaArLamWF6RH6Q9DF39wi0mh2+rAiYnLh0vFcNA5fTM20V8s5aKx2Af fJIcRieETgMsSdMYF1ECfBCL5pNNzTaDLFnYZGupu9afcNTbGUlrG32Rh/y+hkqfB3Ks w0YA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=AMe6PZQj; 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 hk10-20020a17090b224a00b002188666feeasi9707809pjb.3.2022.12.01.15.34.38; Thu, 01 Dec 2022 15:34:53 -0800 (PST) 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=20210112 header.b=AMe6PZQj; 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 S232090AbiLAX3U (ORCPT + 99 others); Thu, 1 Dec 2022 18:29:20 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59316 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231978AbiLAX2s (ORCPT ); Thu, 1 Dec 2022 18:28:48 -0500 Received: from mail-pj1-x1049.google.com (mail-pj1-x1049.google.com [IPv6:2607:f8b0:4864:20::1049]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BB10F10B5 for ; Thu, 1 Dec 2022 15:27:45 -0800 (PST) Received: by mail-pj1-x1049.google.com with SMTP id b1-20020a17090a10c100b0020da29fa5e5so3450153pje.2 for ; Thu, 01 Dec 2022 15:27:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:reply-to:from:to:cc:subject:date:message-id:reply-to; bh=e1NugFnVCB110oXGMzrxJ93wD+BGdk2//9yqV+Q+IFc=; b=AMe6PZQjL+GG9iGCzR8Y1kDAWFNDPhfhQ+A1ONMZtd40MzMjOdxdVkLPy+o4zaOX0k EapYcGzlaA1WBqr4QlwRfZ/UOs5nydC4Z1Q/Gf0DfQdR3+VxXzQfOWCYeJSuLnkwtnNB L7Vajcoe+gve+aTRDGu6MsW0HaBmVK74RQOdCPb2q3azcTPtng2zprtO4MceWEGmlla3 f3hiYd9MJ2N+xVUOXVq+DxA3f9DleU3IbHw/BTopzy8ZL9QIuIC8mpHHUKu8syJvajlJ alNgTMKhLluW+5etzrvrxstnTPTvrN0Wrp8jdMFi222FhOv00hZ6Xw+CcRQjc1UzjctI O/Sw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:reply-to:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=e1NugFnVCB110oXGMzrxJ93wD+BGdk2//9yqV+Q+IFc=; b=ZIpYLEqi7+sRlH7tQUJAJ0Y/bOlOAfUaMEIgAhdj9eFUEOdrSarwHpPFlT+7UgiD+3 ZYC/lC2TGx8Yb6Cnlnr27RTjhqHRMDvt/ZWROVz2Z3HhqCfPSTcIir9GFHHaVu752qFs uIm7aIxHoGutq0xqWL3+vlM+TdfO7OVUFcoCqth0IHLx9F+9xVYQ9QcTIuEeDrb5r6hw ao6/CjwLN5Va85XCDlzpUj/x9VwcS6+Q9DeEDwCknFjFo4Yasu87WpV8vS5vXIogPY0M Rb1bXpzW6F6r0wvzW7CVw2YyhpKZrT6ymF4+3siUvN54qMbtXkjBi2AiH7LNHd4XaaLA X6UA== X-Gm-Message-State: ANoB5plmLUBLHwafFSWjL5N3QaXVFrD9NrFDDLgrFUIi7/xJMhE6Zuji /4Ozpx/z1QI6z7N+M56MBI8/IETmWXY= X-Received: from zagreus.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:5c37]) (user=seanjc job=sendgmr) by 2002:a17:902:6904:b0:188:fd9b:479d with SMTP id j4-20020a170902690400b00188fd9b479dmr53509373plk.93.1669937248948; Thu, 01 Dec 2022 15:27:28 -0800 (PST) Reply-To: Sean Christopherson Date: Thu, 1 Dec 2022 23:26:55 +0000 In-Reply-To: <20221201232655.290720-1-seanjc@google.com> Mime-Version: 1.0 References: <20221201232655.290720-1-seanjc@google.com> X-Mailer: git-send-email 2.39.0.rc0.267.gcb52ba06e7-goog Message-ID: <20221201232655.290720-17-seanjc@google.com> Subject: [PATCH 16/16] KVM: SVM: Use "standard" stgi() helper when disabling SVM From: Sean Christopherson To: Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , x86@kernel.org, Sean Christopherson , Paolo Bonzini Cc: "H. Peter Anvin" , linux-kernel@vger.kernel.org, kvm@vger.kernel.org, Andrew Cooper 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,USER_IN_DEF_DKIM_WL autolearn=ham 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?1751056586603893257?= X-GMAIL-MSGID: =?utf-8?q?1751056586603893257?= Now that kvm_rebooting is guaranteed to be true prior to disabling SVM in an emergency, use the existing stgi() helper instead of open coding STGI. In effect, eat faults on STGI if and only if kvm_rebooting==true. Signed-off-by: Sean Christopherson --- arch/x86/kvm/svm/svm.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c index 08ed4679903a..72899a61f708 100644 --- a/arch/x86/kvm/svm/svm.c +++ b/arch/x86/kvm/svm/svm.c @@ -579,13 +579,9 @@ static inline void kvm_cpu_svm_disable(void) if (efer & EFER_SVME) { /* * Force GIF=1 prior to disabling SVM, e.g. to ensure INIT and - * NMI aren't blocked. Eat faults on STGI, as it #UDs if SVM - * isn't enabled and SVM can be disabled by an NMI callback. + * NMI aren't blocked. */ - asm_volatile_goto("1: stgi\n\t" - _ASM_EXTABLE(1b, %l[fault]) - ::: "memory" : fault); -fault: + stgi(); wrmsrl(MSR_EFER, efer & ~EFER_SVME); } }