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

From: Stephen Rothwell
Date: Fri Jun 13 2014 - 01:06:04 EST


Hi Andrew,

After merging the akpm-current tree, today's linux-next build (powerpc ppc64_defconfig)
failed like this:

fs/proc/task_mmu.c: In function 'smaps_pmd':
include/linux/compiler.h:363:38: error: call to '__compiletime_assert_505' declared with attribute error: BUILD_BUG failed
_compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
^
include/linux/compiler.h:346:4: note: in definition of macro '__compiletime_assert'
prefix ## suffix(); \
^
include/linux/compiler.h:363:2: note: in expansion of macro '_compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
^
include/linux/bug.h:50:37: note: in expansion of macro 'compiletime_assert'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/bug.h:84:21: note: in expansion of macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG() BUILD_BUG_ON_MSG(1, "BUILD_BUG failed")
^
include/linux/huge_mm.h:167:27: note: in expansion of macro 'BUILD_BUG'
#define HPAGE_PMD_SIZE ({ BUILD_BUG(); 0; })
^
fs/proc/task_mmu.c:505:39: note: in expansion of macro 'HPAGE_PMD_SIZE'
smaps_pte((pte_t *)pmd, addr, addr + HPAGE_PMD_SIZE, walk);
^

Caused by commit b0e08c526179 ("mm/pagewalk: move pmd_trans_huge_lock()
from callbacks to common code").

The reference to HPAGE_PMD_SIZE (which contains a BUILD_BUG() when
CONFIG_TRANSPARENT_HUGEPAGE is not defined) used to be protected by a
call to pmd_trans_huge_lock() (a static inline function that was
contact 0 when CONFIG_TRANSPARENT_HUGEPAGE is not defined) so gcc did
not see the reference and the BUG_ON. That protection has been
removed ...

I have reverted that commit and commit 2dc554765dd1
("mm-pagewalk-move-pmd_trans_huge_lock-from-callbacks-to-common-code-checkpatch-fixes")
that depend on it for today.
--
Cheers,
Stephen Rothwell sfr@xxxxxxxxxxxxxxxx

Attachment: signature.asc
Description: PGP signature