From 323d7963f9039de7b002fff7897bb780f9227976 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Sat, 20 Jul 2024 12:50:36 +0000 Subject: [PATCH] Revert "mm: add private field of first tail to struct page and struct folio" This reverts commit 271227f13f616445d7e45c8d76e27f0b09425579 which is commit d340625f4849ab5dbfebbc7d84709fbfcd39e52f upstream. It breaks the Android kernel abi and can be brought back in the future in an abi-safe way if it is really needed. Bug: 161946584 Change-Id: Idb42cdd16d37a180911fe1a335744c02aaf683dc Signed-off-by: Greg Kroah-Hartman --- include/linux/mm_types.h | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h index dd75bbdf8d72..4e9453ab5985 100644 --- a/include/linux/mm_types.h +++ b/include/linux/mm_types.h @@ -145,7 +145,6 @@ struct page { atomic_t compound_pincount; #ifdef CONFIG_64BIT unsigned int compound_nr; /* 1 << compound_order */ - unsigned long _private_1; #endif }; struct { /* Second tail page of compound page */ @@ -266,7 +265,6 @@ struct page { * @_total_mapcount: Do not use directly, call folio_entire_mapcount(). * @_pincount: Do not use directly, call folio_maybe_dma_pinned(). * @_folio_nr_pages: Do not use directly, call folio_nr_pages(). - * @_private_1: Do not use directly, call folio_get_private_1(). * * A folio is a physically, virtually and logically contiguous set * of bytes. It is a power-of-two in size, and it is aligned to that @@ -314,7 +312,6 @@ struct folio { #ifdef CONFIG_64BIT unsigned int _folio_nr_pages; #endif - unsigned long _private_1; }; #define FOLIO_MATCH(pg, fl) \ @@ -342,7 +339,6 @@ FOLIO_MATCH(compound_mapcount, _total_mapcount); FOLIO_MATCH(compound_pincount, _pincount); #ifdef CONFIG_64BIT FOLIO_MATCH(compound_nr, _folio_nr_pages); -FOLIO_MATCH(_private_1, _private_1); #endif #undef FOLIO_MATCH @@ -388,16 +384,6 @@ static inline void *folio_get_private(struct folio *folio) return folio->private; } -static inline void folio_set_private_1(struct folio *folio, unsigned long private) -{ - folio->_private_1 = private; -} - -static inline unsigned long folio_get_private_1(struct folio *folio) -{ - return folio->_private_1; -} - struct page_frag_cache { void * va; #if (PAGE_SIZE < PAGE_FRAG_CACHE_MAX_SIZE)