From 061e34c52e0fcce85a6f2d3db195c3b8518b05a9 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 Fixes: 8cd9aa93b726 ("ANDROID: implement wrapper for reverse migration") Reported-by: kernelci.org bot Reported-by: kernel test robot Signed-off-by: Carlos Llamas Change-Id: Ie8f3fedcc9d4af5cfdcfd5829377671745ab77d6 --- mm/compaction.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mm/compaction.c b/mm/compaction.c index a3c8ce474f71..b6e25fd03ec7 100644 --- a/mm/compaction.c +++ b/mm/compaction.c @@ -758,6 +758,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) { @@ -780,6 +781,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)