lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 28 Jul 2016 12:08:14 +1000
From:	Stephen Rothwell <sfr@...b.auug.org.au>
To:	Michal Marek <mmarek@...e.cz>,
	Michael Ellerman <mpe@...erman.id.au>,
	Benjamin Herrenschmidt <benh@...nel.crashing.org>,
	<linuxppc-dev@...ts.ozlabs.org>
Cc:	linux-next@...r.kernel.org, linux-kernel@...r.kernel.org,
	Masahiro Yamada <yamada.masahiro@...ionext.com>
Subject: linux-next: build failure after merge of the kbuild tree

Hi Michal,

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

In file included from <command-line>:0:0:
arch/powerpc/mm/hash_utils_64.c: In function 'hash__early_init_mmu':
include/linux/kconfig.h:19:65: error: expected '(' before numeric constant
 #define ____or(arg1_or_junk, y)  __take_second_arg(arg1_or_junk 1, y)
                                                                 ^
include/linux/kconfig.h:7:48: note: in definition of macro '__take_second_arg'
 #define __take_second_arg(__ignored, val, ...) val
                                                ^
include/linux/kconfig.h:18:23: note: in expansion of macro '____or'
 #define ___or(x, y)   ____or(__ARG_PLACEHOLDER_##x, y)
                       ^
include/linux/kconfig.h:17:22: note: in expansion of macro '___or'
 #define __or(x, y)   ___or(x, y)   
                      ^
include/linux/kconfig.h:65:28: note: in expansion of macro '__or'
 #define IS_ENABLED(option) __or(IS_BUILTIN(option), IS_MODULE(option))
                            ^
arch/powerpc/mm/hash_utils_64.c:929:10: note: in expansion of macro 'IS_ENABLED'
  else if IS_ENABLED(CONFIG_PPC_NATIVE)
          ^
include/linux/kconfig.h:19:65: error: statement with no effect [-Werror=unused-value]
 #define ____or(arg1_or_junk, y)  __take_second_arg(arg1_or_junk 1, y)
                                                                 ^
include/linux/kconfig.h:7:48: note: in definition of macro '__take_second_arg'
 #define __take_second_arg(__ignored, val, ...) val
                                                ^
include/linux/kconfig.h:18:23: note: in expansion of macro '____or'
 #define ___or(x, y)   ____or(__ARG_PLACEHOLDER_##x, y)
                       ^
include/linux/kconfig.h:17:22: note: in expansion of macro '___or'
 #define __or(x, y)   ___or(x, y)   
                      ^
include/linux/kconfig.h:65:28: note: in expansion of macro '__or'
 #define IS_ENABLED(option) __or(IS_BUILTIN(option), IS_MODULE(option))
                            ^
arch/powerpc/mm/hash_utils_64.c:929:10: note: in expansion of macro 'IS_ENABLED'
  else if IS_ENABLED(CONFIG_PPC_NATIVE)
          ^
cc1: all warnings being treated as errors

Caused by commit

  7353644fa9df ("powerpc/mm: Fix build break when PPC_NATIVE=n")

from the powerpc tree interacting with commit

  5e8754fd80b0 ("kconfig.h: allow to use IS_{ENABLE,REACHABLE} in macro expansion")

from the kbuild tree.

I have applied the following fix patch (that should be applied to the
powerpc tree):

From: Stephen Rothwell <sfr@...b.auug.org.au>
Date: Thu, 28 Jul 2016 12:03:25 +1000
Subject: [PATCH] powerpc/mm: parenthesise the if condition

The breakage here used to be hidden by the macro expansion.

Fixes: 7353644fa9df ("powerpc/mm: Fix build break when PPC_NATIVE=n")
Signed-off-by: Stephen Rothwell <sfr@...b.auug.org.au>
---
 arch/powerpc/mm/hash_utils_64.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/powerpc/mm/hash_utils_64.c b/arch/powerpc/mm/hash_utils_64.c
index 1ff11c1bb182..b78b5d211278 100644
--- a/arch/powerpc/mm/hash_utils_64.c
+++ b/arch/powerpc/mm/hash_utils_64.c
@@ -926,7 +926,7 @@ void __init hash__early_init_mmu(void)
 		ps3_early_mm_init();
 	else if (firmware_has_feature(FW_FEATURE_LPAR))
 		hpte_init_pseries();
-	else if IS_ENABLED(CONFIG_PPC_NATIVE)
+	else if (IS_ENABLED(CONFIG_PPC_NATIVE))
 		hpte_init_native();
 
 	if (!mmu_hash_ops.hpte_insert)
-- 
2.8.1

-- 
Cheers,
Stephen Rothwell

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ