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  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 2 May 2013 15:30:35 +1000
From:	Stephen Rothwell <sfr@...b.auug.org.au>
To:	Rusty Russell <rusty@...tcorp.com.au>
Cc:	James Hogan <james.hogan@...tec.com>,
	torvalds@...ux-foundation.org, linux-kernel@...r.kernel.org,
	Al Viro <viro@...iv.linux.org.uk>,
	Mike Frysinger <vapier@...too.org>,
	uclinux-dist-devel@...ckfin.uclinux.org
Subject: Re: [PATCH] linkage.h: fix build breakage due to symbol prefix
 handling

Hi Rusty,

On Thu, 2 May 2013 13:37:37 +1000 Stephen Rothwell <sfr@...b.auug.org.au> wrote:
>
> This is the merge fix patch I have been carrying in linux-next since
> March 14: (this probably does not quite apply any more but, hey ...)
> 
> From: Stephen Rothwell <sfr@...b.auug.org.au>
> Date: Thu, 14 Mar 2013 17:14:41 +1100
> Subject: [PATCH] cond_syscall and SYSCALL_ALIAS merge fixup
> 
> Signed-off-by: Stephen Rothwell <sfr@...b.auug.org.au>
> ---
>  include/linux/linkage.h | 20 ++++++--------------
>  1 file changed, 6 insertions(+), 14 deletions(-)
> 
> diff --git a/include/linux/linkage.h b/include/linux/linkage.h
> index 829d66c..bedcddf 100644
> --- a/include/linux/linkage.h
> +++ b/include/linux/linkage.h
> @@ -2,7 +2,7 @@
>  #define _LINUX_LINKAGE_H
>  
>  #include <linux/compiler.h>
> -#include <linux/stringify.h>
> +#include <linux/export.h>
>  #include <asm/linkage.h>
>  
>  #ifdef __cplusplus
> @@ -15,24 +15,16 @@
>  #define asmlinkage CPP_ASMLINKAGE
>  #endif
>  
> -#ifndef SYMBOL_NAME
> -#ifdef CONFIG_SYMBOL_PREFIX
> -#define SYMBOL_NAME(x) CONFIG_SYMBOL_PREFIX ## x
> -#else
> -#define SYMBOL_NAME(x) x
> -#endif
> -#endif
> -#define __SYMBOL_NAME(x) __stringify(SYMBOL_NAME(x))
> -
>  #ifndef cond_syscall
> -#define cond_syscall(x) asm(".weak\t" __SYMBOL_NAME(x) \
> -	"\n\t.set\t" __SYMBOL_NAME(x) "," __SYMBOL_NAME(sys_ni_syscall));
> +#define cond_syscall(x) asm(".weak\t" VMLINUX_SYMBOL_STR(x) "\n\t"	\
> +			    ".set\t" VMLINUX_SYMBOL_STR(x) ","	\
> +			    VMLINUX_SYMBOL_STR(sys_ni_syscall))
>  #endif
>  
>  #ifndef SYSCALL_ALIAS
>  #define SYSCALL_ALIAS(alias, name)				\
> -	asm ("\t.globl " __SYMBOL_NAME(alias)			\
> -	"\n\t.set\t" __SYMBOL_NAME(alias) "," __SYMBOL_NAME(name))
> +	asm ("\t.globl " VMLINUX_SYMBOL_STR(alias)			\
> +	"\n\t.set\t" VMLINUX_SYMBOL_STR(alias) "," VMLINUX_SYMBOL_STR(name))
>  #endif
>  
>  #define __page_aligned_data	__section(.data..page_aligned) __aligned(PAGE_SIZE)
> -- 
> 1.8.1

Version from today's merge fix.  Rusty, you should show this to Linus
when you ask him to merge your modules tree (assuming it looks right :-)).

From: Stephen Rothwell <sfr@...b.auug.org.au>
Date: Thu, 14 Mar 2013 17:14:41 +1100
Subject: [PATCH] cond_syscall and SYSCALL_ALIAS merge fixup

Signed-off-by: Stephen Rothwell <sfr@...b.auug.org.au>
---
 include/linux/linkage.h |   17 ++++++-----------
 1 file changed, 6 insertions(+), 11 deletions(-)

diff --git a/include/linux/linkage.h b/include/linux/linkage.h
index de09dec..bedcddf 100644
--- a/include/linux/linkage.h
+++ b/include/linux/linkage.h
@@ -2,7 +2,7 @@
 #define _LINUX_LINKAGE_H
 
 #include <linux/compiler.h>
-#include <linux/stringify.h>
+#include <linux/export.h>
 #include <asm/linkage.h>
 
 #ifdef __cplusplus
@@ -15,21 +15,16 @@
 #define asmlinkage CPP_ASMLINKAGE
 #endif
 
-#ifdef CONFIG_SYMBOL_PREFIX
-#define __SYMBOL_NAME(x) CONFIG_SYMBOL_PREFIX __stringify(x)
-#else
-#define __SYMBOL_NAME(x) __stringify(x)
-#endif
-
 #ifndef cond_syscall
-#define cond_syscall(x) asm(".weak\t" __SYMBOL_NAME(x) \
-	"\n\t.set\t" __SYMBOL_NAME(x) "," __SYMBOL_NAME(sys_ni_syscall));
+#define cond_syscall(x) asm(".weak\t" VMLINUX_SYMBOL_STR(x) "\n\t"	\
+			    ".set\t" VMLINUX_SYMBOL_STR(x) ","	\
+			    VMLINUX_SYMBOL_STR(sys_ni_syscall))
 #endif
 
 #ifndef SYSCALL_ALIAS
 #define SYSCALL_ALIAS(alias, name)				\
-	asm ("\t.globl " __SYMBOL_NAME(alias)			\
-	"\n\t.set\t" __SYMBOL_NAME(alias) "," __SYMBOL_NAME(name))
+	asm ("\t.globl " VMLINUX_SYMBOL_STR(alias)			\
+	"\n\t.set\t" VMLINUX_SYMBOL_STR(alias) "," VMLINUX_SYMBOL_STR(name))
 #endif
 
 #define __page_aligned_data	__section(.data..page_aligned) __aligned(PAGE_SIZE)

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

Content of type "application/pgp-signature" skipped

Powered by blists - more mailing lists