linux-next: build failure after merge of the final tree (akpm treerelated)

From: Stephen Rothwell
Date: Thu Jun 06 2013 - 03:15:53 EST


Hi all,

After merging the final tree, today's linux-next build (sparc32 defconfig)
failed like this:

In file included from arch/sparc/include/asm/pgtable.h:6:0,
from include/linux/mm.h:50,
from include/linux/memcontrol.h:27,
from include/linux/swap.h:8,
from include/linux/suspend.h:4,
from init/do_mounts.c:16:
arch/sparc/include/asm/pgtable_32.h:357:40: error: unknown type name 'swp_entry_t'
arch/sparc/include/asm/pgtable_32.h:362:42: error: unknown type name 'swp_entry_t'
arch/sparc/include/asm/pgtable_32.h:367:1: error: unknown type name 'swp_entry_t'
arch/sparc/include/asm/pgtable_32.h: In function '__swp_entry':
arch/sparc/include/asm/pgtable_32.h:369:10: error: 'swp_entry_t' undeclared (first use in this function)
arch/sparc/include/asm/pgtable_32.h:369:10: note: each undeclared identifier is reported only once for each function it appears in
arch/sparc/include/asm/pgtable_32.h:369:23: error: expected ';' before '{' token
In file included from include/linux/memcontrol.h:27:0,
from include/linux/swap.h:8,
from arch/sparc/include/asm/pgtable_32.h:17,
from arch/sparc/include/asm/pgtable.h:6,
from arch/sparc/kernel/traps_32.c:23:
include/linux/mm.h: In function 'is_vmalloc_addr':
include/linux/mm.h:322:17: error: 'VMALLOC_START' undeclared (first use in this function)
include/linux/mm.h:322:17: note: each undeclared identifier is reported only once for each function it appears in
include/linux/mm.h:322:41: error: 'VMALLOC_END' undeclared (first use in this function)
include/linux/mm.h: In function 'maybe_mkwrite':
include/linux/mm.h:527:3: error: implicit declaration of function 'pte_mkwrite' [-Werror=implicit-function-declaration]
In file included from arch/sparc/include/asm/pgtable.h:6:0,
from arch/sparc/kernel/traps_32.c:23:
arch/sparc/include/asm/pgtable_32.h: At top level:
arch/sparc/include/asm/pgtable_32.h:251:21: error: conflicting types for 'pte_mkwrite'
include/linux/mm.h:527:9: note: previous implicit declaration of 'pte_mkwrite' was here

Caused by commit 41aed1ec2e09 ("lru: add an element to a memcg list")
from the akpm tree. This patch added an include of linux/mm.h to
linux/memcontrol.h, but that was unneeded as the rest of the patch only
added dependencies on pointers to struct page and struct mem_cgroup -
both of which are already declared in this header.

I have applied the following patch for today:

From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
Date: Thu, 6 Jun 2013 16:52:42 +1000
Subject: [PATCH] lru: memcontrol.h does not need mm.h

Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
---
include/linux/memcontrol.h | 1 -
1 file changed, 1 deletion(-)

diff --git a/include/linux/memcontrol.h b/include/linux/memcontrol.h
index c8b1412..57b8c2b 100644
--- a/include/linux/memcontrol.h
+++ b/include/linux/memcontrol.h
@@ -24,7 +24,6 @@
#include <linux/hardirq.h>
#include <linux/jump_label.h>
#include <linux/list_lru.h>
-#include <linux/mm.h>

struct mem_cgroup;
struct page_cgroup;
--
1.8.1

--
Cheers,
Stephen Rothwell sfr@xxxxxxxxxxxxxxxx

Attachment: pgp00000.pgp
Description: PGP signature