From 8a98feb47ec08674a15c094db2dead5b94d2190a Mon Sep 17 00:00:00 2001 From: Carlos Llamas Date: Fri, 23 Apr 2021 19:20:54 +0000 Subject: [PATCH] ANDROID: mm: compaction: fix isolate_and_split_free_page() redefinition MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Guard isolate_and_split_free_page() with CONFIG_COMPACTION. This fixes the follwoing build error as the function collides with its inline stub from the header file: mm/compaction.c:766:15: error: redefinition of ‘isolate_and_split_free_page’ 766 | unsigned long isolate_and_split_free_page(struct page *page, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from mm/compaction.c:14: ./include/linux/compaction.h:241:29: note: previous definition of ‘isolate_and_split_free_page’ was here 241 | static inline unsigned long isolate_and_split_free_page(struct page *page, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ Bug: 201263307 Change-Id: Ie8f3fedcc9d4af5cfdcfd5829377671745ab77d6 Fixes: 8cd9aa93b726 ("ANDROID: implement wrapper for reverse migration") Reported-by: kernelci.org bot Reported-by: kernel test robot Signed-off-by: Carlos Llamas Signed-off-by: Sukadev Bhattiprolu --- mm/compaction.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mm/compaction.c b/mm/compaction.c index cc76fd756185..7509bacad1bf 100644 --- a/mm/compaction.c +++ b/mm/compaction.c @@ -744,6 +744,7 @@ isolate_freepages_range(struct compact_control *cc, return pfn; } +#ifdef CONFIG_COMPACTION unsigned long isolate_and_split_free_page(struct page *page, struct list_head *list) { @@ -766,6 +767,7 @@ unsigned long isolate_and_split_free_page(struct page *page, return isolated; } EXPORT_SYMBOL_GPL(isolate_and_split_free_page); +#endif /* Similar to reclaim, but different enough that they don't share logic */ static bool too_many_isolated(pg_data_t *pgdat)