Received: by 2002:a05:6a10:f3d0:0:0:0:0 with SMTP id a16csp3940449pxv; Tue, 13 Jul 2021 07:21:31 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzQ1tUOxZQsVsSxeZ/7JrdZ7js/101g7REjnvwY6CpxyNB2yb2X8h8gmSirCt+gzli4h+Kw X-Received: by 2002:a92:8747:: with SMTP id d7mr3216434ilm.173.1626186091188; Tue, 13 Jul 2021 07:21:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1626186091; cv=none; d=google.com; s=arc-20160816; b=Y8Aa6NMCPkClgwJC1BKvPvsFHTft89g5O0H+elqIEAztOWpqsV2Pu5+Pexju1EPKS8 zFm6vtLF56Y1EDUoqR5coGdFXAANUhcex9fb//bPWvbpP6cleUdxZEamrI59NeHWifpF s5rHsM+eLGZvQBui0D9854wtd1JkYliJQVJjAEt+1g+aETPbUKqsuteE80ljiXXcqkVK S1BWq6BrabtlY9GwawEsBJf3f8OnjX5M+4puLVSNC6/mfvLg/GnOc3zmifQK9pihujcS mNvCx3IhS9k/rdb+TusE15WyHRGgX+dA27mlwHezzQoni1KqnJyIciWqkcK/IT1vEuhZ yJdA== 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 :dkim-signature; bh=USi2neR0DzsSktw+Hla23BMDPYFAw2A7hH8ryXVbt+4=; b=oYdfMexWOQcE1Htvn34uiIuJorISXmYC3EvnTqSqKTyO9ThnTtZMjLiJ7onBeKZngF 1dPInhSNyg43FPbRH2fW6NKWUTwJxeeBhxsefH3j1SVmmchAC0Z7RO646Tcbz6dIsXrz riZrJuwcBLeH2M7YQoxyS7Vwa/JQZqMqWd1m+6vlrjtujbIHNv4NQi3nXwjdFuv8Ybpf xiE4ip0u9TS2MKTTvDjDCK3wcVp6vqtNfWHdraYNGLZPuzfYAbgzaCTUx3ovka9B0P2D axZtD1HhEEE4zzscrL704iNosr44FJHU0p59x2n7bruVLUqdbqpXMGHIyrZkfFAtaVzo 2LTw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=X8J5J3wm; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id e16si23315831iom.90.2021.07.13.07.21.18; Tue, 13 Jul 2021 07:21:31 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=X8J5J3wm; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236820AbhGMOX3 (ORCPT + 99 others); Tue, 13 Jul 2021 10:23:29 -0400 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:60387 "EHLO us-smtp-delivery-124.mimecast.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236789AbhGMOX2 (ORCPT ); Tue, 13 Jul 2021 10:23:28 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1626186037; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=USi2neR0DzsSktw+Hla23BMDPYFAw2A7hH8ryXVbt+4=; b=X8J5J3wmArsj26Zr37pW9oXKiKn/bAk+snp8GgVyPtK5grVFzR91g+e9HqYDIwv9Qi9hYk c7xuWt/ZOLGBi4886clWGvOKX92sgRe4BVNv9StuVsRqQbOZ/4vqI1xRezYh5kpzrcCyVk OFMZzl11sYJGqGl0UwWa8Ug6SDyYf40= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-395-0v-X716FMSa4D9euX_Q_ZA-1; Tue, 13 Jul 2021 10:20:36 -0400 X-MC-Unique: 0v-X716FMSa4D9euX_Q_ZA-1 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id BE7DD801AC5; Tue, 13 Jul 2021 14:20:34 +0000 (UTC) Received: from localhost.localdomain (unknown [10.40.192.10]) by smtp.corp.redhat.com (Postfix) with ESMTP id 0BE915D6AB; Tue, 13 Jul 2021 14:20:29 +0000 (UTC) From: Maxim Levitsky To: kvm@vger.kernel.org Cc: linux-kernel@vger.kernel.org (open list:X86 ARCHITECTURE (32-BIT AND 64-BIT)), Jim Mattson , Joerg Roedel , Borislav Petkov , Vitaly Kuznetsov , Wanpeng Li , Paolo Bonzini , Thomas Gleixner , "H. Peter Anvin" , Ingo Molnar , x86@kernel.org (maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT)), Sean Christopherson , Maxim Levitsky Subject: [PATCH v2 1/8] KVM: SVM: svm_set_vintr don't warn if AVIC is active but is about to be deactivated Date: Tue, 13 Jul 2021 17:20:16 +0300 Message-Id: <20210713142023.106183-2-mlevitsk@redhat.com> In-Reply-To: <20210713142023.106183-1-mlevitsk@redhat.com> References: <20210713142023.106183-1-mlevitsk@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org It is possible for AVIC inhibit and AVIC active state to be mismatched. Currently we disable AVIC right away on vCPU which started the AVIC inhibit request thus this warning doesn't trigger but at least in theory, if svm_set_vintr is called at the same time on multiple vCPUs, the warning can happen. Signed-off-by: Maxim Levitsky --- arch/x86/kvm/svm/svm.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c index 12c06ea28f5c..d4d14e318ab5 100644 --- a/arch/x86/kvm/svm/svm.c +++ b/arch/x86/kvm/svm/svm.c @@ -1560,8 +1560,11 @@ static void svm_set_vintr(struct vcpu_svm *svm) { struct vmcb_control_area *control; - /* The following fields are ignored when AVIC is enabled */ - WARN_ON(kvm_vcpu_apicv_active(&svm->vcpu)); + /* + * The following fields are ignored when AVIC is enabled + */ + WARN_ON(kvm_apicv_activated(svm->vcpu.kvm)); + svm_set_intercept(svm, INTERCEPT_VINTR); /* -- 2.26.3