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]
Message-ID: <20140926200251.78f0d713@canb.auug.org.au>
Date:	Fri, 26 Sep 2014 20:02:51 +1000
From:	Stephen Rothwell <sfr@...b.auug.org.au>
To:	Arnd Bergmann <arnd@...db.de>
Cc:	linux-next@...r.kernel.org, linux-kernel@...r.kernel.org,
	Will Deacon <will.deacon@....com>,
	"David S. Miller" <davem@...emloft.net>
Subject: linux-next: build failure after merge of the asm-generic tree

Hi Arnd,

After merging the asm-generic tree, today's linux-next build (sparc
defconfig) failed like this:

In file included from /scratch/sfr/next/include/linux/clocksource.h:19:0,
                 from /scratch/sfr/next/arch/sparc/include/asm/timer_32.h:11,
                 from /scratch/sfr/next/arch/sparc/include/asm/timer.h:6,
                 from /scratch/sfr/next/arch/sparc/kernel/sun4m_irq.c:14:
/scratch/sfr/next/arch/sparc/include/asm/io.h:14:0: error: "readb_relaxed" redefined [-Werror]
 #define readb_relaxed(__addr)  readb(__addr)
 ^
In file included from /scratch/sfr/next/arch/sparc/include/asm/io_32.h:13:0,
                 from /scratch/sfr/next/arch/sparc/include/asm/io.h:6,
                 from /scratch/sfr/next/include/linux/clocksource.h:19,
                 from /scratch/sfr/next/arch/sparc/include/asm/timer_32.h:11,
                 from /scratch/sfr/next/arch/sparc/include/asm/timer.h:6,
                 from /scratch/sfr/next/arch/sparc/kernel/sun4m_irq.c:14:
/scratch/sfr/next/include/asm-generic/io.h:182:0: note: this is the location of the previous definition
 #define readb_relaxed readb
 ^

And so on several hundred times ... :-(

Caused by commits 95a668b0452e ("sparc: io: implement dummy relaxed
accessor macros for writes") and 4c255791ffd6 ("asm-generic: io:
implement relaxed accessor macros as conditional wrappers").

arch/sparc/include/asm_32.h includes asm-generic/io.h which means it is
include before the arch specific versions of the relaxed functions are
defined ...

I have added this patch for today:

From: Stephen Rothwell <sfr@...b.auug.org.au>
Date: Fri, 26 Sep 2014 19:57:03 +1000
Subject: [PATCH] sparc: io: fix for asm-generic: io: implement relaxed
 accessor macros as conditional wrappers

Signed-off-by: Stephen Rothwell <sfr@...b.auug.org.au>
---
 arch/sparc/include/asm/io.h | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/arch/sparc/include/asm/io.h b/arch/sparc/include/asm/io.h
index 493f22c4684f..79b167674010 100644
--- a/arch/sparc/include/asm/io.h
+++ b/arch/sparc/include/asm/io.h
@@ -1,10 +1,5 @@
 #ifndef ___ASM_SPARC_IO_H
 #define ___ASM_SPARC_IO_H
-#if defined(__sparc__) && defined(__arch64__)
-#include <asm/io_64.h>
-#else
-#include <asm/io_32.h>
-#endif
 
 /*
  * Defines used for both SPARC32 and SPARC64
@@ -19,6 +14,12 @@
 #define writew_relaxed(__w, __addr)	writew(__w, __addr)
 #define writel_relaxed(__l, __addr)	writel(__l, __addr)
 
+#if defined(__sparc__) && defined(__arch64__)
+#include <asm/io_64.h>
+#else
+#include <asm/io_32.h>
+#endif
+
 /* Big endian versions of memory read/write routines */
 #define readb_be(__addr)	__raw_readb(__addr)
 #define readw_be(__addr)	__raw_readw(__addr)
-- 
2.1.1

-- 
Cheers,
Stephen Rothwell                    sfr@...b.auug.org.au

Download attachment "signature.asc" of type "application/pgp-signature" (820 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ