From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 C472A3806C0; Wed, 21 Jan 2026 18:35:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769020532; cv=none; b=uosDO+RJF9mEuKkzbV1mNX4LQpbHNuRJD6ItdB16MVv7WI9kpXJUA+cz/SDuK9HvX5lWRYbxwChWkKUTMsSjcoK1j/lDN4J9aXOh0R5Qj0cK15wQlZdLP10YFIstGs3ZOFhcEMTpqepXKyVvlQPC+j4VOUr0s1QCi/R7bTjcHvQ= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769020532; c=relaxed/simple; bh=34FqmRSFueoqGNWVgoYKep0LIYTYvyv8CHWpoLrpsgU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=UGD9wvJWdVVdjx7fRj33+Xm6V7eti6EndY6Qo+yaaYB4zJp1+H2gpqL3UhcEHUPvcxXi61piMHaohLb2RAJcft1oBgCixTwPSnE9kh+A7QEGD/acVDVu+e00YhGKFYntIxWZVzTuyGCGjhbl5bbusldyJLET/VPMZ/dSaX0UeRY= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b=rmEnTQrD; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b="rmEnTQrD" Received: by smtp.kernel.org (Postfix) with ESMTPSA id C3356C4CEF1; Wed, 21 Jan 2026 18:35:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1769020532; bh=34FqmRSFueoqGNWVgoYKep0LIYTYvyv8CHWpoLrpsgU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=rmEnTQrDcmOW3V+JoG9ySzkoeHd1EGlXzFiye7owhC4grt+oeNVAmLTM85ec/NPrV VfkwggzbPzHPofLEIuRSsoMMiWBOLlFxfdPDzfU8+58jGWSybhfqGFT3HOfYiGw4Ij 7zbL67El+KbKW9C1HIYN3rzXcX/fnGDZIeshljQY= From: Greg Kroah-Hartman To: stable@vger.kernel.org Cc: Greg Kroah-Hartman , patches@lists.linux.dev, Dave Hansen , Lu Baolu , Jason Gunthorpe , Kevin Tian , David Hildenbrand , "Mike Rapoport (Microsoft)" , Alistair Popple , Andy Lutomirski , Borislav Betkov , Ingo Molnar , Jann Horn , Jean-Philippe Brucker , Joerg Roedel , Liam Howlett , Lorenzo Stoakes , "Matthew Wilcox (Oracle)" , Michal Hocko , Peter Zijlstra , Robin Murohy , Thomas Gleinxer , "Uladzislau Rezki (Sony)" , Vasant Hegde , Vinicius Costa Gomes , Vlastimil Babka , Will Deacon , Yi Lai , Andrew Morton Subject: [PATCH 6.18 187/198] mm: introduce pure page table freeing function Date: Wed, 21 Jan 2026 19:16:55 +0100 Message-ID: <20260121181425.283279156@linuxfoundation.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260121181418.537774329@linuxfoundation.org> References: <20260121181418.537774329@linuxfoundation.org> User-Agent: quilt/0.69 X-stable: review X-Patchwork-Hint: ignore Precedence: bulk X-Mailing-List: stable@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 6.18-stable review patch. If anyone has any objections, please let me know. ------------------ From: Dave Hansen commit 01894295672335ff304beed4359f30d14d5765f2 upstream. The pages used for ptdescs are currently freed back to the allocator in a single location. They will shortly be freed from a second location. Create a simple helper that just frees them back to the allocator. Link: https://lkml.kernel.org/r/20251022082635.2462433-6-baolu.lu@linux.intel.com Signed-off-by: Dave Hansen Signed-off-by: Lu Baolu Reviewed-by: Jason Gunthorpe Reviewed-by: Kevin Tian Acked-by: David Hildenbrand Acked-by: Mike Rapoport (Microsoft) Cc: Alistair Popple Cc: Andy Lutomirski Cc: Borislav Betkov Cc: Ingo Molnar Cc: Jann Horn Cc: Jean-Philippe Brucker Cc: Joerg Roedel Cc: Liam Howlett Cc: Lorenzo Stoakes Cc: Matthew Wilcox (Oracle) Cc: Michal Hocko Cc: Peter Zijlstra Cc: Robin Murohy Cc: Thomas Gleinxer Cc: "Uladzislau Rezki (Sony)" Cc: Vasant Hegde Cc: Vinicius Costa Gomes Cc: Vlastimil Babka Cc: Will Deacon Cc: Yi Lai Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman --- include/linux/mm.h | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -3031,6 +3031,13 @@ static inline struct ptdesc *pagetable_a } #define pagetable_alloc(...) alloc_hooks(pagetable_alloc_noprof(__VA_ARGS__)) +static inline void __pagetable_free(struct ptdesc *pt) +{ + struct page *page = ptdesc_page(pt); + + __free_pages(page, compound_order(page)); +} + /** * pagetable_free - Free pagetables * @pt: The page table descriptor @@ -3040,12 +3047,10 @@ static inline struct ptdesc *pagetable_a */ static inline void pagetable_free(struct ptdesc *pt) { - struct page *page = ptdesc_page(pt); - if (ptdesc_test_kernel(pt)) ptdesc_clear_kernel(pt); - __free_pages(page, compound_order(page)); + __pagetable_free(pt); } #if defined(CONFIG_SPLIT_PTE_PTLOCKS)