From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pj1-f74.google.com (mail-pj1-f74.google.com [209.85.216.74]) (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 0FD9521FF26 for ; Fri, 16 Jan 2026 23:17:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.74 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768605445; cv=none; b=J3z6ilXUrZW54M5aZrIYus6h0muRDqSNnge5v/ECViGaldUPKY+z79u9q0PIkWeECQiBNXieVdh+7vNvxfHE9igjJp6kZRIDFYzQTWm46iByyoK/I/37Fggr3xGc9pwIFOszvfoFLMgF0lVCuzo6HjGZzH+iGFglKM1ANhsgTcM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768605445; c=relaxed/simple; bh=0qBlSbA0ChMdm/HuzI/7dU5XuaBntDrkKil/SdBVDFY=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=qgMYoW16VIMidQAJM7PNUvvN69qbTZwSvsERqQrCc4coj5h0NBVa02Uufe/yDjK/OYz8osnMemYBHHeRqWGBzWdFZFmgnkuxcM9JAYRRpXs8Qy9QMeanXK1TlZbBpmqDqe8ID2HTz0XsDRhJepDhSKztZwC8RhxLsLAF/JRygxA= 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=EYmEKQKs; arc=none smtp.client-ip=209.85.216.74 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="EYmEKQKs" Received: by mail-pj1-f74.google.com with SMTP id 98e67ed59e1d1-34c37b8dc4fso4574552a91.2 for ; Fri, 16 Jan 2026 15:17:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1768605443; x=1769210243; darn=vger.kernel.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=+UrL0diRZnQcyuy4C6t9WTvNDG8qIGeRluOfajJMlJk=; b=EYmEKQKsgNOrKWG4DVdke+efpFWrpgEgfnW2CGuG8ppOuqqiMvzzwJ/FzFtDsz79Ot MgdVlAih+MUkv8J1Gg5OzJmJQktDqnBTQIa7XkZBuDNVqQc51ECUZbjtyqwUpQDK5jEG pOHjzvcWl30WuJxUaV2+xShrIVI9QV9lxA88ZipTPYaGlaNvFH7Svqi1gMZ94TvUWzwg oZZkIhCfTttBOPfrXqKLU8rPOTZhqZ7TyO2hdw6WABWQYCf6D6cx8dTLfgR2253hPPek hWBfBAMrBP/hhHWkNu6/iYLRQHvWZ7gycgXIe2wklOr1IrjNi5bWY7cd4aSGvvRvWHXG dGWg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768605443; x=1769210243; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=+UrL0diRZnQcyuy4C6t9WTvNDG8qIGeRluOfajJMlJk=; b=m5xiCvl68SG//Rk4yprhERmLQ3N7VtPHCYqHzaEp/XxXnTNxwVETCQsBb4TDTDFggT i63nOA1TkHGDemyzjqrfgVd+Y3xHvKXyJwmB6Ows3bgNOLIp5HvLZgJCqdDgrIzf99hV XCpMsbcVLW7cKyq9kyOqnfwiJSIFlo8/Mj1RcmFx7uUsP0SzV8ZNK3S/r0TBphSARGxu LgLr31m5HZjOw2SXyZiNp5tp2uiysJlQOVC6LxlMmeJ9Uk8eDIFGeYo3CJX14qlVd6BK ORp+33MwoJ9zmn7IOamFkiPIdIQkvS4r6pN/M7ybbsyxSf1F9ZnvAFQmSPqR4n7nCV0a 8Qaw== X-Forwarded-Encrypted: i=1; AJvYcCVmF1WhU4W+/yi9fR0NCv1XPMr2LXNrvVMSbY+1IXUfDzomS1f79j2CdD4g9wcntcHlvM2e/PTPFGYmU/I=@vger.kernel.org X-Gm-Message-State: AOJu0YyBrv6y3/zGqchz+rFvc4n7rAM4kqkWFcxxlT9zMkKn/B2VIozy Ibrz2QQKItiRcWrwUT8P8T2ulin7YaJu9xTE6B16BX9dY3v+ghJ31Ig0mN1bnpzi547qHST48sV YHlJz6g== X-Received: from pjqt4.prod.google.com ([2002:a17:90a:ae04:b0:34c:a015:9cb3]) (user=seanjc job=prod-delivery.src-stubby-dispatcher) by 2002:a17:90a:dfcc:b0:340:ca7d:936a with SMTP id 98e67ed59e1d1-352732547e9mr3833971a91.18.1768605443403; Fri, 16 Jan 2026 15:17:23 -0800 (PST) Date: Fri, 16 Jan 2026 15:17:21 -0800 In-Reply-To: <20251121005125.417831-8-rick.p.edgecombe@intel.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20251121005125.417831-1-rick.p.edgecombe@intel.com> <20251121005125.417831-8-rick.p.edgecombe@intel.com> Message-ID: Subject: Re: [PATCH v4 07/16] x86/virt/tdx: Add tdx_alloc/free_page() helpers From: Sean Christopherson To: Rick Edgecombe Cc: bp@alien8.de, chao.gao@intel.com, dave.hansen@intel.com, isaku.yamahata@intel.com, kai.huang@intel.com, kas@kernel.org, kvm@vger.kernel.org, linux-coco@lists.linux.dev, linux-kernel@vger.kernel.org, mingo@redhat.com, pbonzini@redhat.com, tglx@linutronix.de, vannapurve@google.com, x86@kernel.org, yan.y.zhao@intel.com, xiaoyao.li@intel.com, binbin.wu@intel.com, "Kirill A. Shutemov" Content-Type: text/plain; charset="us-ascii" On Thu, Nov 20, 2025, Rick Edgecombe wrote: > +/* > + * Return a page that can be used as TDX private memory > + * and obtain TDX protections. Wrap at ~80. This comment is also misleading, arguably wrong. Because from KVM's perspective, these APIs are _never_ used to back TDX private memory. They are used only for control pages, which yeah, I suppose might be encrypted with the guest's private key, but most readers will interpret "used as TDX private memory" to mean that these are _the_ source of pages for guest private memory. > + */ > +struct page *tdx_alloc_page(void) And in a similar vein, given terminology in other places, maybe call these tdx_{alloc,free}_control_page()? > +{ > + struct page *page; > + > + page = alloc_page(GFP_KERNEL); GFP_KERNEL_ACCOUNT, all of these allocations are tied to a VM. > + if (!page) > + return NULL; > + > + if (tdx_pamt_get(page)) { > + __free_page(page); > + return NULL; > + } > + > + return page; > +} > +EXPORT_SYMBOL_GPL(tdx_alloc_page); Note, these can all now be EXPORT_SYMBOL_FOR_KVM.