From nobody Fri Oct 3 19:17:25 2025 Received: from mail-pj1-f73.google.com (mail-pj1-f73.google.com [209.85.216.73]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 247112236F2 for ; Wed, 27 Aug 2025 00:05:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.73 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756253147; cv=none; b=I4S4qucPqAH/eDegiLJ4AGDs1YE8dWhQodlqnJgVPMdJ40ZLZtbj1wthtc+x9TNMWKW4DB/zz72GfrLQC+tf5t8SLewOzhmISG2VZBYdljF3fwXREi8q8O9FX/+6QcclOYUspTEuhqL5d93NQSZ4RNDKSxi7FyJqqzYc91dMvFc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756253147; c=relaxed/simple; bh=+ptPO8wiWLdE67ovmdHqqqNTkWuU8Wbd/ifeWjv87No=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=O0s43up4NhMOBL+XwxoI+b6VG+eIVd6DvWZE0YnuQa5Rex+Zzfpu+zYm9rQBlapSnnFR2Tl0ldXVmN+iu20zfu3CnjFyhtFaX7rme/FcxACcaxQcZFIJrFbJ/sAjNLsaWsrAmhA5uTBD/8uK/t2f+INcKM8ms2HDZlGPg+j32G8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--seanjc.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=UyDKvtjz; arc=none smtp.client-ip=209.85.216.73 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--seanjc.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="UyDKvtjz" Received: by mail-pj1-f73.google.com with SMTP id 98e67ed59e1d1-3274f7e6c1fso988480a91.0 for ; Tue, 26 Aug 2025 17:05:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1756253145; x=1756857945; darn=vger.kernel.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:reply-to:from:to:cc:subject:date:message-id:reply-to; bh=kJ6rATzspI5eGA3xG6HKuRZsUtSaW3a6n8TI9IFDChs=; b=UyDKvtjzswpXJX9jy2hmIk8acSjaNvnee4L8cF2Xd2jtvcT9EMX8UOlY0CxOTedEwo kFhi6ptMoz+K7uFbbBJaND1mNXhmfpoFq8y4yFsd0xL5ocDKoymfLtqRxQOFvjbQ7MYQ M+/c/bA2xI1tDFtWKbZ15RE83XU3/gP5e/ur0HG22HOrcLsc6N7CrHTU0qX1b0XDKlmF KdJobPW6xCCFoMO1aOH/k8D+1xewU3zDopQz9osRapmEkX5F2rp4H67ptXBtn8vZFCq8 0LvVUme/6QPbnvgpyUmVOJQWnaa8BaTM9ngIjbqK3P9/px/LlUk+3iQ2hkFkdK+JUOTf YD2w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756253145; x=1756857945; 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:message-id :reply-to; bh=kJ6rATzspI5eGA3xG6HKuRZsUtSaW3a6n8TI9IFDChs=; b=k3SWVvHunp/QSLF4wBshbKu6V11tcC7HXgp2OT79BBS9EcJF5rS/kWQJxmM9NSWCll JVAKeD0EREDHQZS2VsewqFcl6iszS3Iw617C87g9n7liVnWsIlWEZ/SQ1qERc7Y1VnQn kjBPwbE01SjvrjEOwwlh1ABNv0L4SROnio/9cnSC7YafI9EVF9+dLphBvMc/mUnTpakY A4KVo7V28lg7HWR4WTd1Aievr8r6kwttBqjRjEwuwBYDmddny1TMFH6ThVIyggJab1LU CFrFD1fceULBpnqACeAtv9mFHbB51pkcK/NsvH2pA666xaPn8/gZCTAhVj1t3Xbj3VVa cVQg== X-Forwarded-Encrypted: i=1; AJvYcCU+dYhb+iCzW286uM5tn0LntyHGv9rPfu4ibDWq4iqeTtP/0bSDDLinXWYTzDhXMxGvdb8ztjR6eK9gJus=@vger.kernel.org X-Gm-Message-State: AOJu0YwsLiW+eLpnRdnSIAIrIv7aI4F2L1lrUBI4asJgGZASZndCvsfd mhGuTF0attM5EokUgvIhmpmt1zQE4gymFN2sAEovPzXimw7rFPoZYexogNQt3oLfQLm5tVSepB8 3NRy04Q== X-Google-Smtp-Source: AGHT+IF+jEprkjlej8Prs6xu/gBvPow2HKyDXuqwzy8PeYZGXGFMT3K+Rg3QiclX8uRbzKpIye1R6CZL/V0= X-Received: from pjbqb16.prod.google.com ([2002:a17:90b:2810:b0:321:c441:a0a]) (user=seanjc job=prod-delivery.src-stubby-dispatcher) by 2002:a17:90b:3b87:b0:327:41c8:882a with SMTP id 98e67ed59e1d1-32741c8893dmr5208970a91.20.1756253145402; Tue, 26 Aug 2025 17:05:45 -0700 (PDT) Reply-To: Sean Christopherson Date: Tue, 26 Aug 2025 17:05:22 -0700 In-Reply-To: <20250827000522.4022426-1-seanjc@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20250827000522.4022426-1-seanjc@google.com> X-Mailer: git-send-email 2.51.0.268.g9569e192d0-goog Message-ID: <20250827000522.4022426-13-seanjc@google.com> Subject: [RFC PATCH 12/12] KVM: TDX: Rename nr_premapped to nr_pending_tdh_mem_page_adds From: Sean Christopherson To: Sean Christopherson , Paolo Bonzini Cc: kvm@vger.kernel.org, linux-kernel@vger.kernel.org, Michael Roth , Yan Zhao , Ira Weiny , Vishal Annapurve , Rick Edgecombe Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Rename "nr_premapped" to an asurdly verbose "nr_pending_tdh_mem_page_adds" to make it explicitly clear what the counter tracks. "pre-map" is far too similar to "pre-fault", especially since tdx_sept_set_private_spte() deals with both "pre_fault_allowed" and the counter. No functional change intended. Signed-off-by: Sean Christopherson Reviewed-by: Ira Weiny --- arch/x86/kvm/vmx/tdx.c | 8 ++++---- arch/x86/kvm/vmx/tdx.h | 9 +++++++-- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/arch/x86/kvm/vmx/tdx.c b/arch/x86/kvm/vmx/tdx.c index 5d2bb27f22da..f9ac590e8ff0 100644 --- a/arch/x86/kvm/vmx/tdx.c +++ b/arch/x86/kvm/vmx/tdx.c @@ -1639,7 +1639,7 @@ static int tdx_sept_set_private_spte(struct kvm *kvm,= gfn_t gfn, if (KVM_BUG_ON(kvm->arch.pre_fault_allowed, kvm)) return -EIO; =20 - kvm_tdx->nr_premapped++; + kvm_tdx->nr_pending_tdh_mem_page_adds++; return 0; } =20 @@ -1771,7 +1771,7 @@ static int tdx_sept_zap_private_spte(struct kvm *kvm,= gfn_t gfn, if (tdx_is_sept_zap_err_due_to_premap(kvm_tdx, err, entry, level)) { lockdep_assert_held(&kvm->slots_lock); =20 - if (KVM_BUG_ON(--kvm_tdx->nr_premapped < 0, kvm)) + if (KVM_BUG_ON(--kvm_tdx->nr_pending_tdh_mem_page_adds < 0, kvm)) return -EIO; =20 return 0; @@ -2846,7 +2846,7 @@ static int tdx_td_finalize(struct kvm *kvm, struct kv= m_tdx_cmd *cmd) * Pages are pending for KVM_TDX_INIT_MEM_REGION to issue * TDH.MEM.PAGE.ADD(). */ - if (kvm_tdx->nr_premapped) + if (kvm_tdx->nr_pending_tdh_mem_page_adds) return -EINVAL; =20 cmd->hw_error =3D tdh_mr_finalize(&kvm_tdx->td); @@ -3160,7 +3160,7 @@ static int tdx_gmem_post_populate(struct kvm *kvm, gf= n_t gfn, kvm_pfn_t pfn, goto out; } =20 - KVM_BUG_ON(--kvm_tdx->nr_premapped < 0, kvm); + KVM_BUG_ON(--kvm_tdx->nr_pending_tdh_mem_page_adds < 0, kvm); =20 if (arg->flags & KVM_TDX_MEASURE_MEMORY_REGION) { for (i =3D 0; i < PAGE_SIZE; i +=3D TDX_EXTENDMR_CHUNKSIZE) { diff --git a/arch/x86/kvm/vmx/tdx.h b/arch/x86/kvm/vmx/tdx.h index 04ba9ea3e0ba..45d86f9fa41c 100644 --- a/arch/x86/kvm/vmx/tdx.h +++ b/arch/x86/kvm/vmx/tdx.h @@ -36,8 +36,13 @@ struct kvm_tdx { =20 struct tdx_td td; =20 - /* For KVM_TDX_INIT_MEM_REGION. */ - unsigned long nr_premapped; + /* + * The number of pages that KVM_TDX_INIT_MEM_REGION has mapped into the + * S-EPT, but not yet initialized via TDH.MEM.PAGE_ADD. Used to sanity + * check adding pages to the image, and to ensure that all pages have + * been initialized before finalizing the TD. + */ + unsigned long nr_pending_tdh_mem_page_adds; =20 /* * Prevent vCPUs from TD entry to ensure SEPT zap related SEAMCALLs do --=20 2.51.0.268.g9569e192d0-goog