forked from mirrors/linux
		
	Summary of modules changes for the 5.12 merge window:
 
 - Retire EXPORT_UNUSED_SYMBOL() and EXPORT_SYMBOL_GPL_FUTURE(). These export
   types were introduced between 2006 - 2008. All the of the unused symbols have
   been long removed and gpl future symbols were converted to gpl quite a long
   time ago, and I don't believe these export types have been used ever since.
   So, I think it should be safe to retire those export types now. (Christoph Hellwig)
 
 - Refactor and clean up some aged code cruft in the module loader (Christoph Hellwig)
 
 - Build {,module_}kallsyms_on_each_symbol only when livepatching is enabled, as
   it is the only caller (Christoph Hellwig)
 
 - Unexport find_module() and module_mutex and fix the last module
   callers to not rely on these anymore. Make module_mutex internal to
   the module loader. (Christoph Hellwig)
 
 - Harden ELF checks on module load and validate ELF structures before checking
   the module signature (Frank van der Linden)
 
 - Fix undefined symbol warning for clang (Fangrui Song)
 
 - Fix smatch warning (Dan Carpenter)
 
 Signed-off-by: Jessica Yu <jeyu@kernel.org>
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCAAuFiEEVrp26glSWYuDNrCUwEV+OM47wXIFAmA0/KMQHGpleXVAa2Vy
 bmVsLm9yZwAKCRDARX44zjvBcu0uD/4nmRp18EKAtdUZivsZHat0aEWGlkmrVueY
 5huYw6iwM8b/wIAl3xwLki1Iv0/l0a83WXZhLG4ekl0/Nj8kgllA+jtBrZWpoLMH
 CZusN5dS9YwwyD2vu3ak83ARcehcDEPeA9thvc3uRFGis6Hi4bt1rkzGdrzsgqR4
 tybfN4qaQx4ZAKFxA8bnS58l7QTFwUzTxJfM6WWzl1Q+mLZDr/WP+loJ/f1/oFFg
 ufN31KrqqFpdQY5UKq5P4H8FVq/eXE1Mwl8vo3HsnAj598fznyPUmA3D/j+N4GuR
 sTGBVZ9CSehUj7uZRs+Qgg6Bd+y3o44N29BrdZWA6K3ieTeQQpA+VgPUNrDBjGhP
 J/9Y4ms4PnuNEWWRaa73m9qsVqAsjh9+T2xp9PYn9uWLCM8BvQFtWcY7tw4/nB0/
 INmyiP/tIRpwWkkBl47u1TPR09FzBBGDZjBiSn3lm3VX+zCYtHoma5jWyejG11cf
 ybDrTsci9ANyHNP2zFQsUOQJkph78PIal0i3k4ODqGJvaC0iEIH3Xjv+0dmE14rq
 kGRrG/HN6HhMZPjashudVUktyTZ63+PJpfFlQbcUzdvjQQIkzW0vrCHMWx9vD1xl
 Na7vZLl4Nb03WSJp6saY6j2YSRKL0poGETzGqrsUAHEhpEOPHduaiCVlAr/EmeMk
 p6SrWv8+UQ==
 =T29Q
 -----END PGP SIGNATURE-----
Merge tag 'modules-for-v5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux
Pull module updates from Jessica Yu:
 - Retire EXPORT_UNUSED_SYMBOL() and EXPORT_SYMBOL_GPL_FUTURE(). These
   export types were introduced between 2006 - 2008. All the of the
   unused symbols have been long removed and gpl future symbols were
   converted to gpl quite a long time ago, and I don't believe these
   export types have been used ever since. So, I think it should be safe
   to retire those export types now (Christoph Hellwig)
 - Refactor and clean up some aged code cruft in the module loader
   (Christoph Hellwig)
 - Build {,module_}kallsyms_on_each_symbol only when livepatching is
   enabled, as it is the only caller (Christoph Hellwig)
 - Unexport find_module() and module_mutex and fix the last module
   callers to not rely on these anymore. Make module_mutex internal to
   the module loader (Christoph Hellwig)
 - Harden ELF checks on module load and validate ELF structures before
   checking the module signature (Frank van der Linden)
 - Fix undefined symbol warning for clang (Fangrui Song)
 - Fix smatch warning (Dan Carpenter)
* tag 'modules-for-v5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux:
  module: potential uninitialized return in module_kallsyms_on_each_symbol()
  module: remove EXPORT_UNUSED_SYMBOL*
  module: remove EXPORT_SYMBOL_GPL_FUTURE
  module: move struct symsearch to module.c
  module: pass struct find_symbol_args to find_symbol
  module: merge each_symbol_section into find_symbol
  module: remove each_symbol_in_section
  module: mark module_mutex static
  kallsyms: only build {,module_}kallsyms_on_each_symbol when required
  kallsyms: refactor {,module_}kallsyms_on_each_symbol
  module: use RCU to synchronize find_module
  module: unexport find_module and module_mutex
  drm: remove drm_fb_helper_modinit
  powerpc/powernv: remove get_cxl_module
  module: harden ELF info handling
  module: Ignore _GLOBAL_OFFSET_TABLE_ when warning for undefined symbols
		
	
			
		
			
				
	
	
		
			47 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
/*
 | 
						|
 * Common module linker script, always used when linking a module.
 | 
						|
 * Archs are free to supply their own linker scripts.  ld will
 | 
						|
 * combine them automatically.
 | 
						|
 */
 | 
						|
SECTIONS {
 | 
						|
	/DISCARD/ : {
 | 
						|
		*(.discard)
 | 
						|
		*(.discard.*)
 | 
						|
	}
 | 
						|
 | 
						|
	__ksymtab		0 : { *(SORT(___ksymtab+*)) }
 | 
						|
	__ksymtab_gpl		0 : { *(SORT(___ksymtab_gpl+*)) }
 | 
						|
	__kcrctab		0 : { *(SORT(___kcrctab+*)) }
 | 
						|
	__kcrctab_gpl		0 : { *(SORT(___kcrctab_gpl+*)) }
 | 
						|
 | 
						|
	.init_array		0 : ALIGN(8) { *(SORT(.init_array.*)) *(.init_array) }
 | 
						|
 | 
						|
	__jump_table		0 : ALIGN(8) { KEEP(*(__jump_table)) }
 | 
						|
 | 
						|
	__patchable_function_entries : { *(__patchable_function_entries) }
 | 
						|
 | 
						|
	/*
 | 
						|
	 * With CONFIG_LTO_CLANG, LLD always enables -fdata-sections and
 | 
						|
	 * -ffunction-sections, which increases the size of the final module.
 | 
						|
	 * Merge the split sections in the final binary.
 | 
						|
	 */
 | 
						|
	.bss : {
 | 
						|
		*(.bss .bss.[0-9a-zA-Z_]*)
 | 
						|
		*(.bss..L*)
 | 
						|
	}
 | 
						|
 | 
						|
	.data : {
 | 
						|
		*(.data .data.[0-9a-zA-Z_]*)
 | 
						|
		*(.data..L*)
 | 
						|
	}
 | 
						|
 | 
						|
	.rodata : {
 | 
						|
		*(.rodata .rodata.[0-9a-zA-Z_]*)
 | 
						|
		*(.rodata..L*)
 | 
						|
	}
 | 
						|
 | 
						|
	.text : { *(.text .text.[0-9a-zA-Z_]*) }
 | 
						|
}
 | 
						|
 | 
						|
/* bring in arch-specific sections */
 | 
						|
#include <asm/module.lds.h>
 |