From nobody Sun Apr 5 18:19:07 2026 Received: from mail-dl1-f49.google.com (mail-dl1-f49.google.com [74.125.82.49]) (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 EE48C3BE17C for ; Tue, 3 Mar 2026 19:48:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772567331; cv=none; b=cNfhhhMynmBK6yihD8U6dKidt8O5PsElp347goFiPRaJBPGgAFfjKdqjhawpycq7m42rqyQo8Yk/3vYSbVXr/5co39BEN67Yb6AdmIbTB3AvssQoTqrwJlq4eRvQ7PX9AVRBD7A7TO3d1pql7PwVjIyCdVL7zICMJV070BJfklU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772567331; c=relaxed/simple; bh=glqtPpn8z3v+qd53zDSI4v8EN69nrHdShbPyEGz6lSU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=CxrRGHFS+afIBwNTbktoNDVTHausV35t6Cy0zdEOf6SYA0PshESVZerV1e9QkRj7eF7ZRnIVuwp6HWaknitRNVXsoLIDJq9zr3f5A/V5tXAX5wVNh8xt0X628XSxg7Yojqg5L58k71Np42qc13kR7Ft6GTqgrnuVQVKcHcwnGUE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=PQlVL45r; arc=none smtp.client-ip=74.125.82.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="PQlVL45r" Received: by mail-dl1-f49.google.com with SMTP id a92af1059eb24-124a635476fso7082556c88.0 for ; Tue, 03 Mar 2026 11:48:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772567329; x=1773172129; 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=ija5cl5iw/lXAYwYtLBqZs6EcpnK3FanNYd7fnqfYMs=; b=PQlVL45r25pjws5A/6DNTmAg+Jv/JloYTgrufHWPnldCdUemmg/EneHetIMlK9WfED PsobgEOWWbqKybYTDPT5050Kv32hYuH0BWEK9fAakRH0qjLGAdIWm+E0F/jMVEU9iaU9 yr0raPCy6jvk6TlbTcWgs7/2x3+N2KCPqVXzHNDZq6knSe4cIFYnwEp29P6YWCUHc1Q/ ruzs6+H4XG77O8Sk5IwBHPVqrQ+1dFLZXcqQLNmR2WVZ1DCSL3AYXq3Ku32w2ijKt+HL OPlIkVdwZvPal1qF1UMNZexX646CzLjTv1QJ3ybs6peuXS1Hg5pcDCGaj+2O2Db93lhM +iuQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772567329; x=1773172129; 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=ija5cl5iw/lXAYwYtLBqZs6EcpnK3FanNYd7fnqfYMs=; b=WdfDE2+2IVUp21TyQAiE0uRcXjLky/K/jIst2d+xc0gI1ED7l/mOcEUZ3hPvGqQCQU T1JMhGskqhlP6QMcq6Rl6TlA/4IF+41ez0Yui2+wAlkdDFeV+4kbhCBM2wziH/JklASL 5H3uaVVzFGS+wqAOi1bJFaKG6+44osZOezRh2IE7UPO2nEjfxne/wM8VECIkQndm+e0Q MsiLj1D/5V2QfrefDtQ79rsFi6GE40krGdRhT1V1N1qs87BaZQDLm03JnGrbJqhO4F/O PjN0RXPBz5NFfn364GQxp+NUic4kLW2CyuefHQtvZZ0mhKRE6095Rd1z7aoGfh09qQ7P gzRg== X-Forwarded-Encrypted: i=1; AJvYcCVj2vHojfverBeSruCULskcc/L5bahSbzJC9PZsRKhoIkgUB2gJqEDPYHJcNTY/W0rLbNy8TtuAD7mParo=@vger.kernel.org X-Gm-Message-State: AOJu0Yw++Q0+iRurjXm+KCPZtq/tMbKkAL36pJCXJpj0ez+pxCVTLYKM 2GV1mXrjcRVjXQvrzhvbXInypXIhQ3a6JThUuCNAPHmDMv2JuMGeslyz X-Gm-Gg: ATEYQzxrewdP2xwbfo39/FM1oOfAYYTGg/EHn7bYaryTA+RZ3oADC8h0fFJgNpcsroc k/ObUsriuPObbPLteyznyyxlUE7ivTrbX/dvQugyKLRDmY/BXeINf5aQDH8PcevHZblwGaz92sq BFmcj12RgceW60dHQzqFv19O6Psd5gQiAvW1NpALcQulVGlz7LAGOPQTE393+crOVz4KrsvLsKW XAV4ZPwm4LFhk8l8kgcYxPnc/ZYNn0f/ZtmryVnb7rT3tTftKLPvLXKuCFyz0P+KUhSaZdYIbZY xilWgXRFUfMG55dwlvT3LZIqLCNjZuhq80XG3OJ8jp87mtQITBeWH1ej7sxM41jK4tEARwGx4JT OcI6kXdE6OHDX6qdZLu54mKv861koy+feCcsMvaG0AGyiXdSqcOyNwQTU2hf9g1tcM45brK48yQ yDJVM/57XdqLFsJcQsGLAQ6gNEiKRdO208I0wvtygNNMAcW8Jui0gTVyKUc8xwMVJvIBhO7hD9q T0TurswEmpe/0g= X-Received: by 2002:a05:7022:4381:b0:11e:528:4185 with SMTP id a92af1059eb24-1278fc568a2mr6393252c88.38.1772567329064; Tue, 03 Mar 2026 11:48:49 -0800 (PST) Received: from fedora (c-67-164-59-41.hsd1.ca.comcast.net. [67.164.59.41]) by smtp.googlemail.com with ESMTPSA id a92af1059eb24-1279e9950cesm9258748c88.7.2026.03.03.11.48.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Mar 2026 11:48:48 -0800 (PST) From: "Vishal Moola (Oracle)" To: Lu Baolu , Dave Hansen , x86@kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org Cc: Andy Lutomirski , Peter Zijlstra , Thomas Gleixner , Ingo Molnar , Borislav Petkov , "H. Peter Anvin" , Rik van Riel , Andrew Morton , Juergen Gross , Yu-cheng Yu , "Matthew Wilcox (Oracle)" , "Mike Rapoport (Microsoft)" , "Vishal Moola (Oracle)" Subject: [RESEND PATCH v7 3/4] x86/mm/pat: Convert populate_pgd() to use page table apis Date: Tue, 3 Mar 2026 11:48:26 -0800 Message-ID: <20260303194828.1406905-4-vishal.moola@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260303194828.1406905-1-vishal.moola@gmail.com> References: <20260303194828.1406905-1-vishal.moola@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Use the ptdesc APIs for all page table allocation and free sites to allow their separate allocation from struct page in the future. Convert the remaining get_zeroed_page() calls to the generic page table APIs, as they already use ptdescs. Pass through init_mm since these are kernel page tables, as both functions require it to identify kernel page tables. Because the generic implementations do not use the second argument, pass a placeholder to avoid reimplementing them or risking breakage on other architectures. It is not obvious whether these pages are freed. Regardless, convert the remaining free paths as needed, noting that the only other possible free paths have already been converted and that a frozen page table test kernel has not reported any issues. Signed-off-by: Vishal Moola (Oracle) Acked-by: Mike Rapoport (Microsoft) --- arch/x86/mm/pat/set_memory.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/arch/x86/mm/pat/set_memory.c b/arch/x86/mm/pat/set_memory.c index 72a260007996..17c1c28e3491 100644 --- a/arch/x86/mm/pat/set_memory.c +++ b/arch/x86/mm/pat/set_memory.c @@ -1747,7 +1747,11 @@ static int populate_pgd(struct cpa_data *cpa, unsign= ed long addr) pgd_entry =3D cpa->pgd + pgd_index(addr); =20 if (pgd_none(*pgd_entry)) { - p4d =3D (p4d_t *)get_zeroed_page(GFP_KERNEL); + /* + * Pass 0 as a placeholder for the second argument, since the + * generic implementation of p4d_alloc_one() does not use it. + */ + p4d =3D p4d_alloc_one(&init_mm, 0); if (!p4d) return -1; =20 @@ -1759,7 +1763,11 @@ static int populate_pgd(struct cpa_data *cpa, unsign= ed long addr) */ p4d =3D p4d_offset(pgd_entry, addr); if (p4d_none(*p4d)) { - pud =3D (pud_t *)get_zeroed_page(GFP_KERNEL); + /* + * Pass 0 as a placeholder for the second argument, since the + * generic implementation of pud_alloc_one() does not use it. + */ + pud =3D pud_alloc_one(&init_mm, 0); if (!pud) return -1; =20 --=20 2.53.0