Received: by 2002:a5d:9c59:0:0:0:0:0 with SMTP id 25csp278019iof; Mon, 6 Jun 2022 03:21:44 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwuvukcPhQw7miLvPTUqw4IVoumcjO/yeIhsErenFdqXNNABKIkr0gA8cd6sIozzHRqrOKW X-Received: by 2002:a05:6a00:16cf:b0:51b:5f55:9bc with SMTP id l15-20020a056a0016cf00b0051b5f5509bcmr23598024pfc.7.1654510904116; Mon, 06 Jun 2022 03:21:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1654510904; cv=none; d=google.com; s=arc-20160816; b=ixPqpTCTfhLna8QqG/ojIlIBl6Q69JksWG1mnFhfwYBJ1dbqI8Baw7P3EodYG7Rk2L 59Tf3udW/cRL6CliCQ4ZTh2D0Ic6ivryl7x58lGpgjUAHpz0dUJJWIO9B3rxKeYXKg8l 8/VevTeFncSDMJCGvUYZXxfJDBrbqc1hlBL8BWZ+sz+GupAL/U8lWPHRj4CM0iBUeNww NL12j6DxWQi9sRQJ/KIIt4EL8K49xOeTyMStcG1CIuhI66R4k3sAlDuvM4m8ci/7hsVb Ob4lmdYQbsUt4t2ESfO6lwBoekqct7C1Qs04bRw9hjYoZ7z/a0ZMQR2TFeaT5LfKzm7F HV4Q== 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 :message-id:date:subject:cc:to:from:dkim-signature; bh=msxAvr4XM/oCskuspbnvVpLblnOEn0LwxGLlwecT+a8=; b=O5yU1r9uIR5h6Je4/hCYTUnZ+IPl8Ti0IxyXPQYaUbAlKwCJYEFxFncLDlMG0A1GD0 UWvLWGP60XE8Ld56FEuc29hNh3ToFx+DdiROKt4bBmz3XDO0JYMdXWy3mgUFnXSoi7qO IEGGTZ4f5kHHN997Uv+ZPwrtuBE70Rs3JMgauZzGQhJyd7BzBgLU9lo0Xj04Y292VSq6 9TyCp0Jfyv9oC76FeSpxbpt8nsNS4RtRgbnMlf0vLpXz3UQJwJm6R4RnNQX7M6DWzegh 8SGjnt6ycZq7eUx1Mw5hknKGJyXxOljLbQmLQ111Qt3vo6nDpFG2zxOZXAtyMb8EkZqv ukwA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b="B/7eRr3a"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id k5-20020a056a00134500b0051c0c76c264si6495849pfu.357.2022.06.06.03.21.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Jun 2022 03:21:44 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b="B/7eRr3a"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id D985111A39F; Mon, 6 Jun 2022 02:58:56 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233104AbiFFJ6s (ORCPT + 99 others); Mon, 6 Jun 2022 05:58:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46898 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233033AbiFFJ6n (ORCPT ); Mon, 6 Jun 2022 05:58:43 -0400 Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CC1B41EC52; Mon, 6 Jun 2022 02:58:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1654509522; x=1686045522; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=CnqY3WLlc8HFY+CvHCMWaMsQzY4zu9VF10JrJlKu66k=; b=B/7eRr3apdZjCXt2bDF5EQVi6vQy9VBT/mTbyef2//nCNEkWykDFE3Ls l7gJNgfqttckiTvbO99cRXIiEroUr+s6eb/4AfQ73O72uijpfLsezWfwd C6Z4FJuDj+tpKLNrE34mQ40Wloa3ottS0517ArPNk+9FvO2oUAGpscIgB L22bTN/ZqVt2ebMJlIB216suSJaU4MPojnbSop3Y3pxUpLY83rO4bfXbL jEV+D73TgnHkiNq/qOyeBOINmiH7RV8Y3a5fNobV3CJQo4FzBN0dtJhgt imR6074x1Hb4EZ1i5E6F+RNyZPtpzjnOgspOG5f6d0JYc+rCLQ3pbVTge w==; X-IronPort-AV: E=McAfee;i="6400,9594,10369"; a="258913612" X-IronPort-AV: E=Sophos;i="5.91,280,1647327600"; d="scan'208";a="258913612" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Jun 2022 02:58:38 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.91,280,1647327600"; d="scan'208";a="682185460" Received: from q.bj.intel.com ([10.238.154.102]) by fmsmga002.fm.intel.com with ESMTP; 06 Jun 2022 02:58:34 -0700 From: shaoqin.huang@intel.com To: pbonzini@redhat.com Cc: Shaoqin Huang , Sean Christopherson , Vitaly Kuznetsov , Wanpeng Li , Jim Mattson , Joerg Roedel , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , x86@kernel.org, "H. Peter Anvin" , Ben Gardon , kvm@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2] KVM: x86/mmu: Check every prev_roots in __kvm_mmu_free_obsolete_roots() Date: Mon, 6 Jun 2022 18:59:05 -0600 Message-Id: <20220607005905.2933378-1-shaoqin.huang@intel.com> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=0.1 required=5.0 tests=BAYES_00,DATE_IN_FUTURE_12_24, DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU, 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: Shaoqin Huang When freeing obsolete previous roots, check prev_roots as intended, not the current root. Signed-off-by: Shaoqin Huang Fixes: 527d5cd7eece ("KVM: x86/mmu: Zap only obsolete roots if a root shadow page is zapped") --- Changes in v2: - Make the commit message more clearer. - Fixed the missing idx. arch/x86/kvm/mmu/mmu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/x86/kvm/mmu/mmu.c b/arch/x86/kvm/mmu/mmu.c index f4653688fa6d..e826ee9138fa 100644 --- a/arch/x86/kvm/mmu/mmu.c +++ b/arch/x86/kvm/mmu/mmu.c @@ -5179,7 +5179,7 @@ static void __kvm_mmu_free_obsolete_roots(struct kvm *kvm, struct kvm_mmu *mmu) roots_to_free |= KVM_MMU_ROOT_CURRENT; for (i = 0; i < KVM_MMU_NUM_PREV_ROOTS; i++) { - if (is_obsolete_root(kvm, mmu->root.hpa)) + if (is_obsolete_root(kvm, mmu->prev_roots[i].hpa)) roots_to_free |= KVM_MMU_ROOT_PREVIOUS(i); } -- 2.30.2