Received: by 2002:a6b:500f:0:0:0:0:0 with SMTP id e15csp242280iob; Mon, 2 May 2022 18:16:10 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz4Bexohs2qMWGHyH1rs3bjqCoBfG3PV+D8vXjIBIc66aGfEfKN7v2hOKdSxx7Msqwtd1/S X-Received: by 2002:a17:90a:ab08:b0:1cd:34ec:c731 with SMTP id m8-20020a17090aab0800b001cd34ecc731mr2134023pjq.202.1651540570706; Mon, 02 May 2022 18:16:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1651540570; cv=none; d=google.com; s=arc-20160816; b=WYf3FjEKYTFX1dRQogzv0pLANSwAGkJv+7OCB4RhZ0AyTV2jwWReSDlb65W5oM/oNd K0yqifbzRnYou2SgXcaAKN02rD4Fb1Bvps3Hqh5KJCzL67svpSLXlBbx9nvbF199eqEc 39PReu0tHkUzwrVVO15H8d58QoaI3tPoqKGctabM5jOoTO0fEyEhoeU7e/1p3nueA2tc TTiFUiE/c8rTUxJ3Wl5pOmNJlJ3bGoqgX+P0+IlosFdkDeDuu/6suKkmWucdEccHR4mt YAnxADPyzORYiIn+j2w0dg1t+GQ8YQgTAqeMJBkeOr4tglGegJ76AUZs1NjIgpXFV0G6 kztA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=anSPafkQqNha1LInTXGyT/knojelZRXZMj/RKRVvBmM=; b=BnsSC5eKuJCsIZphD1Y9x5p48PLiBZY6sBp6J/sI21j93XgUlevm8AVUCav+wZGYiP InzBPC6Vqnx9LVRjMBr9dPdAzJ/Oxfss4XBooBizY/7bJZRehMHmycF670SfbRZPJ30Q q5ED0xVo9Qb9EEoJ8CEzpuOKbh1ovdcY0xs0GwqOFrQVsuQGLhK/fbI35HWH2UTdtHFi WPMztUurH3Rh/UT8XlRX8Yp/TDY55yAFFptRnTh3UYBSYzOqo6QnlPsYIpEkMMspLv7R 5DnwlNf1iCOT4nt04QQogL5f6q4MNrgbZ5+JVl3KOaXGWEosEDvx2/y0ZAYhJJn3nHDu C1Ow== ARC-Authentication-Results: i=1; mx.google.com; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [23.128.96.19]) by mx.google.com with ESMTPS id pm2-20020a17090b3c4200b001cb6940edb6si889915pjb.13.2022.05.02.18.16.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 May 2022 18:16:10 -0700 (PDT) Received-SPF: softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) client-ip=23.128.96.19; Authentication-Results: mx.google.com; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 2CF573A718; Mon, 2 May 2022 17:56:05 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1376715AbiEAWLd (ORCPT + 99 others); Sun, 1 May 2022 18:11:33 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43958 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1355597AbiEAWL1 (ORCPT ); Sun, 1 May 2022 18:11:27 -0400 Received: from vps-vb.mhejs.net (vps-vb.mhejs.net [37.28.154.113]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1EE301C93F; Sun, 1 May 2022 15:08:00 -0700 (PDT) Received: from MUA by vps-vb.mhejs.net with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1nlHjM-0008Mj-L7; Mon, 02 May 2022 00:07:52 +0200 From: "Maciej S. Szmigiero" To: Paolo Bonzini , Sean Christopherson Cc: Vitaly Kuznetsov , Wanpeng Li , Jim Mattson , Joerg Roedel , Maxim Levitsky , kvm@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 02/12] KVM: SVM: Don't BUG if userspace injects an interrupt with GIF=0 Date: Mon, 2 May 2022 00:07:26 +0200 Message-Id: <35426af6e123cbe91ec7ce5132ce72521f02b1b5.1651440202.git.maciej.szmigiero@oracle.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RDNS_NONE, SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=no 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 From: "Maciej S. Szmigiero" Don't BUG/WARN on interrupt injection due to GIF being cleared, since it's trivial for userspace to force the situation via KVM_SET_VCPU_EVENTS (even if having at least a WARN there would be correct for KVM internally generated injections). kernel BUG at arch/x86/kvm/svm/svm.c:3386! invalid opcode: 0000 [#1] SMP CPU: 15 PID: 926 Comm: smm_test Not tainted 5.17.0-rc3+ #264 Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015 RIP: 0010:svm_inject_irq+0xab/0xb0 [kvm_amd] Code: <0f> 0b 0f 1f 00 0f 1f 44 00 00 80 3d ac b3 01 00 00 55 48 89 f5 53 RSP: 0018:ffffc90000b37d88 EFLAGS: 00010246 RAX: 0000000000000000 RBX: ffff88810a234ac0 RCX: 0000000000000006 RDX: 0000000000000000 RSI: ffffc90000b37df7 RDI: ffff88810a234ac0 RBP: ffffc90000b37df7 R08: ffff88810a1fa410 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000 R13: ffff888109571000 R14: ffff88810a234ac0 R15: 0000000000000000 FS: 0000000001821380(0000) GS:ffff88846fdc0000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f74fc550008 CR3: 000000010a6fe000 CR4: 0000000000350ea0 Call Trace: inject_pending_event+0x2f7/0x4c0 [kvm] kvm_arch_vcpu_ioctl_run+0x791/0x17a0 [kvm] kvm_vcpu_ioctl+0x26d/0x650 [kvm] __x64_sys_ioctl+0x82/0xb0 do_syscall_64+0x3b/0xc0 entry_SYSCALL_64_after_hwframe+0x44/0xae Fixes: 219b65dcf6c0 ("KVM: SVM: Improve nested interrupt injection") Cc: stable@vger.kernel.org Co-developed-by: Sean Christopherson Signed-off-by: Sean Christopherson Signed-off-by: Maciej S. Szmigiero --- arch/x86/kvm/svm/svm.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c index 75b4f3ac8b1a..1cec671fc668 100644 --- a/arch/x86/kvm/svm/svm.c +++ b/arch/x86/kvm/svm/svm.c @@ -3384,8 +3384,6 @@ static void svm_inject_irq(struct kvm_vcpu *vcpu) { struct vcpu_svm *svm = to_svm(vcpu); - BUG_ON(!(gif_set(svm))); - trace_kvm_inj_virq(vcpu->arch.interrupt.nr); ++vcpu->stat.irq_injections;