From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 18CA33F6C2C for ; Fri, 26 Jun 2026 11:26:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782473220; cv=none; b=Qq8RaH1H6Z9PJIMLDLFXgEKU3aYTA0xoAEvdLsfdz9TcfyVGgwYUvhzP3e6LUJVoHMsBSzQjXiz9bnuMytKC7HllKCAGrB1KDjOT4rw3h18FEdzUcv3R84QMAWpTnqayopdqI3zCTFibalOgN9whvHadWKvkmF4ckV+O49TXw38= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782473220; c=relaxed/simple; bh=IsMFqh5lCzslhR35A+TpAigK0yuuYqvptTFT8QA/wU8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=U5es+hge6kwRoNHHiozyTpBlt96jRFie28SH8rwxioDLBfkPkVe1C9goWOIfCM3mjdhfvwm/VaCV89rSoaEGuXjpHWWDQyQ+oVsOg60/SNey655LorHrBSVkuv32I+EIsk6X1s/wQuoZGuM1HoKcdZ9nryEDAnbjpd2A6XHHeys= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=BMEcy0b/; dkim=pass (2048-bit key) header.d=redhat.com header.i=@redhat.com header.b=izFO1jjY; arc=none smtp.client-ip=170.10.133.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="BMEcy0b/"; dkim=pass (2048-bit key) header.d=redhat.com header.i=@redhat.com header.b="izFO1jjY" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1782473216; 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=pL854WDCy8UICjVgQlEGBttHpjAaK87n93leEJVa9jE=; b=BMEcy0b/8tNdlwoSRQ1S5Y19lg5KaPCxevJfH4nEPWBqOBDRT1ofFQzPmtlL/6pxHbFG4c pK2Vg20ITEzjy6I0rtgI8f2I/EOwemyyp15c4bVAMcYZqCmAZZT4fzDyBNqLX9lVQ0IQw/ e7RtpbrDj25AzjYERsOKhjRTH8yQWX0= Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-52-uf4VVX9YMO-h3vSTUaG4gw-1; Fri, 26 Jun 2026 07:26:52 -0400 X-MC-Unique: uf4VVX9YMO-h3vSTUaG4gw-1 X-Mimecast-MFC-AGG-ID: uf4VVX9YMO-h3vSTUaG4gw_1782473211 Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-4926d371224so2868375e9.1 for ; Fri, 26 Jun 2026 04:26:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1782473211; x=1783078011; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=pL854WDCy8UICjVgQlEGBttHpjAaK87n93leEJVa9jE=; b=izFO1jjY86fxlhwcgV0Sg+vlXEQUyfAUhpmM20CJQtbHpqytXWHlao2ZGwLwa39TLm AzdKJNbP/6li0n70HavRSJ2ICXUgYWy9sWnvr3LMuMsC6qCMbAotgM4C42VIiFmd+xJv dSs9Rgv6O6lV6N0t1oqrW5Ucaicju7rnU/7sjyoG2HHpV8MQJ3hcVKcBRxWLJ4WgQ7V2 zHng/CX6EOUEEy0zy4h/QhBDSD3L+ub6OXHgLML8IKfPnCeL8/WgKwhIvQMBmS2XCX/9 YYnUEJbFmvb7C4i4bKCJ8+8hy6mPCjBzwCf4XkvaNeZU92/ob33gIoiVkisHV02gydQf tF8A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782473211; x=1783078011; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=pL854WDCy8UICjVgQlEGBttHpjAaK87n93leEJVa9jE=; b=tSWRzhkmE/jon6lAvCEMxvVoMRu98sTJwVxYon/6M/PBWZUiby4bgismHkuodnhJOt Qb2JEEMoOaMhjcn/HMImSEERAOlj/hFIzIUJHC5VHe8HH3YYF5zuUPKaFl7xpUbfgmxL itypj7DEjN6zLm2dN7KuzMtO4sCHzzuu87PXOeDeFcrqG8yddrWduslmzGE7E4XmYGfT vI5DyGV0Q7Oj0meHDvvD/c9xFFVwRvKGoawfK3YknMRB0OcP9fyi+JgJw9WP7xr0WWAh Btj82djBkev+HnlWJTVN+2Ap0hOU2GT08Iy575oeSt4zmgFnjCtbKJp9GIwkgvCHUliH pxXQ== X-Gm-Message-State: AOJu0Yw6ejMmw/hhY270prNFaBOYXFp4vU2Pm5zKUAt6MIHnXzHeu9iX FTJhT0Du3QhPgbblYWo1ULsLHJJJPAYpPlXQRuWyLYqpYrR009uZJDB+SEtvkQcWfwcT/2erd/f ENt3H9b5zJomJSdSPIbvr7hphhKM1BRpl906UURQoJHqBG2aozdIL2U+nDJBCScognzV8rh9JZE s2TXZvEM9E4kUfQWifppstoymhND6VCgFIF8TX0008+T4UFops0A== X-Gm-Gg: AfdE7cmRN7mxUYHnlkCT2Q+2VV6ly9vms2onWjH+t8a1hRaYu5OsK/Roe8O6dGWc5Yv a9KdzFb5VC9voMEBIgF6zj+0G4UJwJ2qk9GgCydWssusipJczboIZUl2eO2fF5MizvH1zpYDaAS b9n10sds4U0jrh7KQVNhaBNN+Aa387lgI+5VlPGQZk1ZFz/FetkvS75ulX0ED4jtTqjU9jaewN4 D2D3LrwhZTvhLxU8jBTZzoLlUo80K/nCFzpCAIB1i5ninXEhFXQiLeBR5v+29kA+Y1b7Xpjh1Fp ZzA+PSdMI4gy+9T8Vrv2Kizqlwfji74XXIlKTfTsqLtwC/fz+U8w+ijcovI6txxi7lCsCM82KX2 dqSTfdiIYMJ8Wd98evrk+ZJDReEJeOq2LFbcEbzGBOllhpYz5gvWqSS8TEAknzMNcSAcNrBipa9 tIodE2KofM3qhGnkmC X-Received: by 2002:a05:600c:8b4b:b0:492:2f5b:7ed4 with SMTP id 5b1f17b1804b1-49266892555mr90504765e9.36.1782473211230; Fri, 26 Jun 2026 04:26:51 -0700 (PDT) X-Received: by 2002:a05:600c:8b4b:b0:492:2f5b:7ed4 with SMTP id 5b1f17b1804b1-49266892555mr90504355e9.36.1782473210815; Fri, 26 Jun 2026 04:26:50 -0700 (PDT) Received: from [192.168.10.48] ([151.95.124.208]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-492690168d5sm97634785e9.14.2026.06.26.04.26.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 26 Jun 2026 04:26:50 -0700 (PDT) From: Paolo Bonzini To: linux-kernel@vger.kernel.org, kvm@vger.kernel.org, stable@vger.kernel.org Cc: David Matlack , Lai Jiangshan Subject: [PATCH 5.10.y 06/17] KVM: x86/mmu: Stop passing "direct" to mmu_alloc_root() Date: Fri, 26 Jun 2026 13:26:23 +0200 Message-ID: <20260626112634.1778506-7-pbonzini@redhat.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260626112634.1778506-1-pbonzini@redhat.com> References: <20260626112634.1778506-1-pbonzini@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: David Matlack commit 86938ab6925b8fe174ca6abf397e6ea9d3c054a4 upstream. The "direct" argument is vcpu->arch.mmu->root_role.direct, because unlike non-root page tables, it's impossible to have a direct root in an indirect MMU. So just use that. Suggested-by: Lai Jiangshan Signed-off-by: David Matlack Message-Id: <20220516232138.1783324-4-dmatlack@google.com> Signed-off-by: Paolo Bonzini --- arch/x86/kvm/mmu/mmu.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/arch/x86/kvm/mmu/mmu.c b/arch/x86/kvm/mmu/mmu.c index 97705c28a97e..b168b804ac7f 100644 --- a/arch/x86/kvm/mmu/mmu.c +++ b/arch/x86/kvm/mmu/mmu.c @@ -3224,8 +3224,9 @@ static int mmu_check_root(struct kvm_vcpu *vcpu, gfn_t root_gfn) } static hpa_t mmu_alloc_root(struct kvm_vcpu *vcpu, gfn_t gfn, gva_t gva, - u8 level, bool direct) + u8 level) { + bool direct = vcpu->arch.mmu->mmu_role.base.direct; struct kvm_mmu_page *sp; sp = kvm_mmu_get_page(vcpu, gfn, gva, level, direct, ACC_ALL); @@ -3245,14 +3246,14 @@ static int mmu_alloc_direct_roots(struct kvm_vcpu *vcpu) root = kvm_tdp_mmu_get_vcpu_root_hpa(vcpu); mmu->root_hpa = root; } else if (shadow_root_level >= PT64_ROOT_4LEVEL) { - root = mmu_alloc_root(vcpu, 0, 0, shadow_root_level, true); + root = mmu_alloc_root(vcpu, 0, 0, shadow_root_level); mmu->root_hpa = root; } else if (shadow_root_level == PT32E_ROOT_LEVEL) { for (i = 0; i < 4; ++i) { MMU_WARN_ON(VALID_PAGE(mmu->pae_root[i])); root = mmu_alloc_root(vcpu, i << (30 - PAGE_SHIFT), - i << 30, PT32_ROOT_LEVEL, true); + i << 30, PT32_ROOT_LEVEL); mmu->pae_root[i] = root | PT_PRESENT_MASK; } mmu->root_hpa = __pa(mmu->pae_root); @@ -3287,7 +3288,7 @@ static int mmu_alloc_shadow_roots(struct kvm_vcpu *vcpu) MMU_WARN_ON(VALID_PAGE(mmu->root_hpa)); root = mmu_alloc_root(vcpu, root_gfn, 0, - mmu->shadow_root_level, false); + mmu->shadow_root_level); mmu->root_hpa = root; goto set_root_pgd; } @@ -3319,7 +3320,7 @@ static int mmu_alloc_shadow_roots(struct kvm_vcpu *vcpu) } root = mmu_alloc_root(vcpu, root_gfn, i << 30, - PT32_ROOT_LEVEL, false); + PT32_ROOT_LEVEL); mmu->pae_root[i] = root | pm_mask; } -- 2.54.0