Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp482503pxb; Wed, 3 Mar 2021 08:00:48 -0800 (PST) X-Google-Smtp-Source: ABdhPJzziqI9GcPPx/ar8MEMEKU4L1l2tNWlI+jefci1OGIO6MhlBAXfaMXaiZsyVDwqVhM3AP1O X-Received: by 2002:a17:906:6047:: with SMTP id p7mr26541884ejj.400.1614787247867; Wed, 03 Mar 2021 08:00:47 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1614787247; cv=none; d=google.com; s=arc-20160816; b=lMThgvPPwVdldCGpysG8ao3skbbDLWbdxILZTWSDbB+f99vk/I0X5LjTpb0HMNQoP7 1pJFTwnVoj14rKTM0DctlOvFMZQRQgnLITYDpifcKpxvpwFeThaar2KoPnDkXZ4Qo641 +7hz0CSaRFgC39EdiZyfRYz+SFmvt4keCLS/3VkKML/AG3t8gLXvAWgptp2f3Ht0aiiD IKEGxvmSnrGiOqrreyB8o3xM29qUfughNz3deMdW6E8YeVSJ7niBWFSRBtgvdAExTLAe Fw4sYOT4I3fkHruou5eiK7mXM2hgfwc6xixarR4vHMpoe+NvsuwZMSl5NbxwIuv8CKde /wYQ== 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 :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=7jYSYpKNyoD6t7Vg8U+t1P1x6sLkllm0RQ95kJq4n/c=; b=WTu5UWrW8I+HgZDm5uKCAwVDfEECNO8Dmc/wfNLPZ4dQqK6i6h5/HvqjUjHUOEjcpD xvO2TvOwJSi/Ou0BRm2hJpM/7ZPIm3wYDrupC9/lxn9UH+W5x56qwzWRSz4uGpunx6uF Gw21s/S3SY4YJXLLkJrd9FPYnjNSat4qtSXUyI+FPMrazV41miitNCGtJWZZmroWdlGh atBu/xqdeBVu1XAZ8JKSPE0IltFvXIyH6st7xyUUpRWxhkvJpVz1oOUeF/yQPwhHZR1p 1Zj6qcMWXjUzb41SghTrltY1ISCCM4EBmQHGu7q6qZ+DWLC3wAJMvsntGJYL8N6ultHs n8kg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=zR6Bjx9o; 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=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id y13si10168415edv.220.2021.03.03.07.59.52; Wed, 03 Mar 2021 08:00:47 -0800 (PST) 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=@linuxfoundation.org header.s=korg header.b=zR6Bjx9o; 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=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238317AbhCAXQs (ORCPT + 99 others); Mon, 1 Mar 2021 18:16:48 -0500 Received: from mail.kernel.org ([198.145.29.99]:49702 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S239170AbhCAR6k (ORCPT ); Mon, 1 Mar 2021 12:58:40 -0500 Received: by mail.kernel.org (Postfix) with ESMTPSA id A5E9864F53; Mon, 1 Mar 2021 17:24:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1614619468; bh=/hS2dSqWdN4oAme0hnNdRTMKzCSelfT/7EwRHKSEjG0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=zR6Bjx9oPen2n8jKj3QMCIQ990k/NHhXf1z1KaKxWuNi0NOuqWOl+1B66Ro5yrGLM pp/o5CKcHRJufUe+U1J7dBvvQgUCSHD5ffVE3NjMgeOqZf88/w+6TU9EvA4h973dyo aDzde8VnJljtLw54/qc8bppo1SHFZix7QEwZ4iBQ= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Ben Gardon , Sean Christopherson , Paolo Bonzini , Sasha Levin Subject: [PATCH 5.10 465/663] KVM: x86/mmu: Expand collapsible SPTE zap for TDP MMU to ZONE_DEVICE and HugeTLB pages Date: Mon, 1 Mar 2021 17:11:53 +0100 Message-Id: <20210301161204.867425082@linuxfoundation.org> X-Mailer: git-send-email 2.30.1 In-Reply-To: <20210301161141.760350206@linuxfoundation.org> References: <20210301161141.760350206@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Sean Christopherson [ Upstream commit c060c72ffeb448fbb5864faa1f672ebfe14dd25f ] Zap SPTEs that are backed by ZONE_DEVICE pages when zappings SPTEs to rebuild them as huge pages in the TDP MMU. ZONE_DEVICE huge pages are managed differently than "regular" pages and are not compound pages. Likewise, PageTransCompoundMap() will not detect HugeTLB, so switch to PageCompound(). This matches the similar check in kvm_mmu_zap_collapsible_spte. Cc: Ben Gardon Fixes: 14881998566d ("kvm: x86/mmu: Support disabling dirty logging for the tdp MMU") Signed-off-by: Sean Christopherson Message-Id: <20210213005015.1651772-2-seanjc@google.com> Signed-off-by: Paolo Bonzini Signed-off-by: Sasha Levin --- arch/x86/kvm/mmu/tdp_mmu.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/x86/kvm/mmu/tdp_mmu.c b/arch/x86/kvm/mmu/tdp_mmu.c index c842d17240ccb..ffa0bd0e033fb 100644 --- a/arch/x86/kvm/mmu/tdp_mmu.c +++ b/arch/x86/kvm/mmu/tdp_mmu.c @@ -1055,7 +1055,8 @@ static void zap_collapsible_spte_range(struct kvm *kvm, pfn = spte_to_pfn(iter.old_spte); if (kvm_is_reserved_pfn(pfn) || - !PageTransCompoundMap(pfn_to_page(pfn))) + (!PageCompound(pfn_to_page(pfn)) && + !kvm_is_zone_device_pfn(pfn))) continue; tdp_mmu_set_spte(kvm, &iter, 0); -- 2.27.0