From: Linus Torvalds <torvalds@linux-foundation.org>
Date: Sun, 5 May 2013 17:58:06 +0000 (-0700)
Subject: Merge tag 'modules-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git... 
X-Git-Tag: firefly_0821_release~3680^2~573
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=f8ce1faf55955de62e0a12e330c6d9a526071f65;p=firefly-linux-kernel-4.4.55.git

Merge tag 'modules-next-for-linus' of git://git./linux/kernel/git/rusty/linux

Pull mudule updates from Rusty Russell:
 "We get rid of the general module prefix confusion with a binary config
  option, fix a remove/insert race which Never Happens, and (my
  favorite) handle the case when we have too many modules for a single
  commandline.  Seriously, the kernel is full, please go away!"

* tag 'modules-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux:
  modpost: fix unwanted VMLINUX_SYMBOL_STR expansion
  X.509: Support parse long form of length octets in Authority Key Identifier
  module: don't unlink the module until we've removed all exposure.
  kernel: kallsyms: memory override issue, need check destination buffer length
  MODSIGN: do not send garbage to stderr when enabling modules signature
  modpost: handle huge numbers of modules.
  modpost: add -T option to read module names from file/stdin.
  modpost: minor cleanup.
  genksyms: pass symbol-prefix instead of arch
  module: fix symbol versioning with symbol prefixes
  CONFIG_SYMBOL_PREFIX: cleanup.
---

f8ce1faf55955de62e0a12e330c6d9a526071f65
diff --cc arch/metag/Kconfig
index b06b41861aac,2099617e3ec0..6f16c1469327
--- a/arch/metag/Kconfig
+++ b/arch/metag/Kconfig
@@@ -25,9 -21,9 +21,10 @@@ config META
  	select HAVE_MEMBLOCK
  	select HAVE_MEMBLOCK_NODE_MAP
  	select HAVE_MOD_ARCH_SPECIFIC
 +	select HAVE_OPROFILE
  	select HAVE_PERF_EVENTS
  	select HAVE_SYSCALL_TRACEPOINTS
+ 	select HAVE_UNDERSCORE_SYMBOL_PREFIX
  	select IRQ_DOMAIN
  	select MODULES_USE_ELF_RELA
  	select OF
diff --cc include/linux/linkage.h
index de09dec25ec3,807f1e533226..d3e8ad23a8e0
--- a/include/linux/linkage.h
+++ b/include/linux/linkage.h
@@@ -2,7 -2,6 +2,8 @@@
  #define _LINUX_LINKAGE_H
  
  #include <linux/compiler.h>
 +#include <linux/stringify.h>
++#include <linux/export.h>
  #include <asm/linkage.h>
  
  #ifdef __cplusplus
@@@ -15,23 -14,6 +16,20 @@@
  #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 " VMLINUX_SYMBOL_STR(x) "\n\t"		\
++	".set  " 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))
++#define SYSCALL_ALIAS(alias, name) asm(			\
++	".globl " VMLINUX_SYMBOL_STR(alias) "\n\t"	\
++	".set   " VMLINUX_SYMBOL_STR(alias) ","		\
++		  VMLINUX_SYMBOL_STR(name))
 +#endif
 +
  #define __page_aligned_data	__section(.data..page_aligned) __aligned(PAGE_SIZE)
  #define __page_aligned_bss	__section(.bss..page_aligned) __aligned(PAGE_SIZE)