Received: by 2002:a05:6359:c8b:b0:c7:702f:21d4 with SMTP id go11csp91170rwb; Fri, 30 Sep 2022 18:01:43 -0700 (PDT) X-Google-Smtp-Source: AMsMyM4nPumHIhgBycny3PO0xADrczCM9rgwO62UxzESvBXyAmDDPRjknAJNCfUzziozUV1CBrHc X-Received: by 2002:a17:90a:4048:b0:209:8cc5:200a with SMTP id k8-20020a17090a404800b002098cc5200amr999978pjg.20.1664586103182; Fri, 30 Sep 2022 18:01:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1664586103; cv=none; d=google.com; s=arc-20160816; b=FtQGzgwnRAYSzgpg1ca6tAyMPzHeRxll6mpgRxNSF8quJIezX2HEIb9QYclfWlvEJT 4kYnstBAoK/K28TfrCyIAUzwM3YJ7paUzmJDRU81td+boFvosrnGJQrWBdTeQ9Now8tS CuG50Q9aDvFM0g91jBRrTqXKbejrwLcLlgf4zDn75awr8FROgLrdYyHmAscm2/HCeFJh gKXb+CzanwI4/MXh8N0QCewDN/gTUHQlZQ4wYnfJvNvOczzNyZ31SAtXwjvVw2x1yH3e M1F2Do3z4VNoW5IHMWorK7NmRNedg8LCHDXtasi9hQYMrNAuJ/NTru3pi/sbJSqPxYge tTsA== 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=M/spcK9wHVTD8Sd/Y0FAGZb50phXWK7By/2gXnYm8Kc=; b=AbAGRWUNqYmJAXi7nzejFMAyfBRQgklvFWetxaS/pBfunmJPOfOjEoR2cTN2lJjIHJ LBzORz3KeypveDJpapAJm+xG6RKdutv0yTPFGPEhMumhK+F16MHh6PFuqVSB58jAB/qC bhaI1xCh82ejNlOMCD5+JoOt6Y7/yuuIourT8NDoBQExlFx9TZSdLTDVIjPlURFtkRU9 naC7dG8tMrQuq1DUTP5qCrbAmUtF9NHrUC57b0N+veDIB0+GHHj5jL9SSWtcduls+AG5 Ww01w7xrUn24ODQAWi4tGdTScFAc7+28lcxx+wOrlYKcqwvAr+webvLm66VSKRwsu5vL Nilw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=a3A2SsPt; 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 Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id a191-20020a6390c8000000b0043c7cbc5d9esi4618793pge.524.2022.09.30.18.01.19; Fri, 30 Sep 2022 18:01:43 -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=20210112 header.b=a3A2SsPt; 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 S232850AbiJAA7u (ORCPT + 99 others); Fri, 30 Sep 2022 20:59:50 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37608 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232799AbiJAA7h (ORCPT ); Fri, 30 Sep 2022 20:59:37 -0400 Received: from mail-pg1-x549.google.com (mail-pg1-x549.google.com [IPv6:2607:f8b0:4864:20::549]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A91D41AF931 for ; Fri, 30 Sep 2022 17:59:27 -0700 (PDT) Received: by mail-pg1-x549.google.com with SMTP id l72-20020a63914b000000b00434ac6f8214so3703269pge.13 for ; Fri, 30 Sep 2022 17:59:27 -0700 (PDT) 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; bh=M/spcK9wHVTD8Sd/Y0FAGZb50phXWK7By/2gXnYm8Kc=; b=a3A2SsPtQ9WnBAERm+S/X0qzW5ZN8giGyMAolX/ZSvBJAtdQVXwFc+agKJML8greuU sCyvFnkrobvE1RuJBAZ0qPQwaWEjLTkZ4qlwxzEXeJeakNv+RFxGoqybhYcGVP+rtKEA hEm9AxJTXsI6450LFVX2wpo6qpU2mjlIwnoO15CachELhJjVVZizw2SbO8S/QbwX9NJM CgOoNLIsW6p6nO1trhMWu5w5B1ZYd0ivQh/9Gk+c6HCZNqo+wIuajuh3pjbuZhKf650B ikEKgJiU1lwAaiYzMyRdyweY2yOQruVFodsbZdRNTqPp9TXWStmBtVeNIpMkDQa8jzIN irPw== 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; bh=M/spcK9wHVTD8Sd/Y0FAGZb50phXWK7By/2gXnYm8Kc=; b=cMwV9xtKlc1Nevq8qRsf9i1go0uVtx8PHC8NmJIJqukfA2TCgCgwk3VUzkFRjwhR3H hiicjYrgwEU/8cKghfCMi71VwOEfJYQgFOU5XsT/mAr5VTA1WP56gOzKPJHncNzggm72 6mxXP5XhanU/o0/l7WaocL9wuPOGbPnM+oh6pzbLdiFHFc7cVBMh4P8xySkiGdetmyqC ozSzXUfzBp55zf7elATGWVpiZfNAjZBgTNTjfmt4DAY896ef78s6w0SjkkPeXIpAuzx5 D1xShBuZAtIFCVOLLTB+WYwKDuzJ+ykqlEkiMGScT1L/oz/Jbt2rmSY5YrknTWLCLaEl WYdw== X-Gm-Message-State: ACrzQf3iW7iY7oGZJxYo6quMYqXPVzPtG0pZmtMOAYoT3dVJn8t2ly0s FR2yVcMihLDwj435B44hinj6Hm39ERk= X-Received: from zagreus.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:5c37]) (user=seanjc job=sendgmr) by 2002:a17:903:18d:b0:178:28d1:4a13 with SMTP id z13-20020a170903018d00b0017828d14a13mr11507907plg.160.1664585967120; Fri, 30 Sep 2022 17:59:27 -0700 (PDT) Reply-To: Sean Christopherson Date: Sat, 1 Oct 2022 00:58:48 +0000 In-Reply-To: <20221001005915.2041642-1-seanjc@google.com> Mime-Version: 1.0 References: <20221001005915.2041642-1-seanjc@google.com> X-Mailer: git-send-email 2.38.0.rc1.362.ged0d419d3c-goog Message-ID: <20221001005915.2041642-6-seanjc@google.com> Subject: [PATCH v4 05/32] KVM: x86: Don't inhibit APICv/AVIC on xAPIC ID "change" if APIC is disabled From: Sean Christopherson To: Sean Christopherson , Paolo Bonzini Cc: kvm@vger.kernel.org, linux-kernel@vger.kernel.org, Alejandro Jimenez , Suravee Suthikulpanit , Maxim Levitsky , Li RongQing Content-Type: text/plain; charset="UTF-8" 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 Don't inhibit APICv/AVIC due to an xAPIC ID mismatch if the APIC is hardware disabled. The ID cannot be consumed while the APIC is disabled, and the ID is guaranteed to be set back to the vcpu_id when the APIC is hardware enabled (architectural behavior correctly emulated by KVM). Fixes: 3743c2f02517 ("KVM: x86: inhibit APICv/AVIC on changes to APIC ID or APIC base") Cc: stable@vger.kernel.org Signed-off-by: Sean Christopherson --- arch/x86/kvm/lapic.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/arch/x86/kvm/lapic.c b/arch/x86/kvm/lapic.c index 5de1c7aa1ce9..67260f7ce43a 100644 --- a/arch/x86/kvm/lapic.c +++ b/arch/x86/kvm/lapic.c @@ -2072,6 +2072,9 @@ static void kvm_lapic_xapic_id_updated(struct kvm_lapic *apic) { struct kvm *kvm = apic->vcpu->kvm; + if (!kvm_apic_hw_enabled(apic)) + return; + if (KVM_BUG_ON(apic_x2apic_mode(apic), kvm)) return; -- 2.38.0.rc1.362.ged0d419d3c-goog