Re: linux-next: build failure after merge of the akpm-current tree

From: Andrew Morton
Date: Wed Feb 03 2016 - 16:37:06 EST


On Wed, 3 Feb 2016 16:36:13 +1100 Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:

> Hi Andrew,
>
> After merging the akpm-current tree, today's linux-next build (arm
> ep93xx_defconfig) failed like this:
>
> mm/slab.c: In function 'is_debug_pagealloc_cache':
> mm/slab.c:1608:2: error: implicit declaration of function 'debug_pagealloc_enabled' [-Werror=implicit-function-declaration]
>
> Caused by commit
>
> 0a244aea1a61 ("mm/slab: clean up DEBUG_PAGEALLOC processing code")
>
> CONFIG_DEBUG_PAGEALLOC is not enabled in this build.
>
> Discovered after the linux-next release.

This works for me.

--- a/include/linux/mm.h~mm-slab-clean-up-debug_pagealloc-processing-code-fix
+++ a/include/linux/mm.h
@@ -2194,14 +2194,18 @@ kernel_map_pages(struct page *page, int
}
#ifdef CONFIG_HIBERNATION
extern bool kernel_page_present(struct page *page);
-#endif /* CONFIG_HIBERNATION */
-#else
+#endif /* CONFIG_HIBERNATION */
+#else /* CONFIG_DEBUG_PAGEALLOC */
static inline void
kernel_map_pages(struct page *page, int numpages, int enable) {}
#ifdef CONFIG_HIBERNATION
static inline bool kernel_page_present(struct page *page) { return true; }
-#endif /* CONFIG_HIBERNATION */
-#endif
+#endif /* CONFIG_HIBERNATION */
+static inline bool debug_pagealloc_enabled(void)
+{
+ return false;
+}
+#endif /* CONFIG_DEBUG_PAGEALLOC */

#ifdef __HAVE_ARCH_GATE_AREA
extern struct vm_area_struct *get_gate_vma(struct mm_struct *mm);
_