• Linus Torvalds's avatar
    Merge tag 'modules-for-v5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux · e0703556
    Linus Torvalds authored
    Pull modules updates from Jessica Yu:
     "The main bulk of this pull request introduces a new exported symbol
      namespaces feature. The number of exported symbols is increasingly
      growing with each release (we're at about 31k exports as of 5.3-rc7)
      and we currently have no way of visualizing how these symbols are
      "clustered" or making sense of this huge export surface.
    
      Namespacing exported symbols allows kernel developers to more
      explicitly partition and categorize exported symbols, as well as more
      easily limiting the availability of namespaced symbols to other parts
      of the kernel. For starters, we have introduced the USB_STORAGE
      namespace to demonstrate the API's usage. I have briefly summarized
      the feature and its main motivations in the tag below.
    
      Summary:
    
       - Introduce exported symbol namespaces.
    
         This new feature allows subsystem maintainers to partition and
         categorize their exported symbols into explicit namespaces. Module
         authors are now required to import the namespaces they need.
    
         Some of the main motivations of this feature include: allowing
         kernel developers to better manage the export surface, allow
         subsystem maintainers to explicitly state that usage of some
         exported symbols should only be limited to certain users (think:
         inter-module or inter-driver symbols, debugging symbols, etc), as
         well as more easily limiting the availability of namespaced symbols
         to other parts of the kernel.
    
         With the module import requirement, it is also easier to spot the
         misuse of exported symbols during patch review.
    
         Two new macros are introduced: EXPORT_SYMBOL_NS() and
         EXPORT_SYMBOL_NS_GPL(). The API is thoroughly documented in
         Documentation/kbuild/namespaces.rst.
    
       - Some small code and kbuild cleanups here and there"
    
    * tag 'modules-for-v5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux:
      module: Remove leftover '#undef' from export header
      module: remove unneeded casts in cmp_name()
      module: move CONFIG_UNUSED_SYMBOLS to the sub-menu of MODULES
      module: remove redundant 'depends on MODULES'
      module: Fix link failure due to invalid relocation on namespace offset
      usb-storage: export symbols in USB_STORAGE namespace
      usb-storage: remove single-use define for debugging
      docs: Add documentation for Symbol Namespaces
      scripts: Coccinelle script for namespace dependencies.
      modpost: add support for generating namespace dependencies
      export: allow definition default namespaces in Makefiles or sources
      module: add config option MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS
      modpost: add support for symbol namespaces
      module: add support for symbol namespaces.
      export: explicitly align struct kernel_symbol
      module: support reading multiple values per modinfo tag
    e0703556
Name
Last commit
Last update
..
atomic Loading commit data...
basic Loading commit data...
coccinelle Loading commit data...
dtc Loading commit data...
gcc-plugins Loading commit data...
gdb Loading commit data...
genksyms Loading commit data...
kconfig Loading commit data...
ksymoops Loading commit data...
mod Loading commit data...
package Loading commit data...
selinux Loading commit data...
tracing Loading commit data...
.gitignore Loading commit data...
Kbuild.include Loading commit data...
Kconfig.include Loading commit data...
Lindent Loading commit data...
Makefile Loading commit data...
Makefile.asm-generic Loading commit data...
Makefile.build Loading commit data...
Makefile.clean Loading commit data...
Makefile.dtbinst Loading commit data...
Makefile.extrawarn Loading commit data...
Makefile.gcc-plugins Loading commit data...
Makefile.headersinst Loading commit data...
Makefile.host Loading commit data...
Makefile.kasan Loading commit data...
Makefile.kcov Loading commit data...
Makefile.lib Loading commit data...
Makefile.modbuiltin Loading commit data...
Makefile.modfinal Loading commit data...
Makefile.modinst Loading commit data...
Makefile.modpost Loading commit data...
Makefile.modsign Loading commit data...
Makefile.package Loading commit data...
Makefile.ubsan Loading commit data...
adjust_autoksyms.sh Loading commit data...
asn1_compiler.c Loading commit data...
bin2c.c Loading commit data...
bloat-o-meter Loading commit data...
bootgraph.pl Loading commit data...
bpf_helpers_doc.py Loading commit data...
cc-can-link.sh Loading commit data...
check_extable.sh Loading commit data...
checkincludes.pl Loading commit data...
checkkconfigsymbols.py Loading commit data...
checkpatch.pl Loading commit data...
checkstack.pl Loading commit data...
checksyscalls.sh Loading commit data...
checkversion.pl Loading commit data...
clang-version.sh Loading commit data...
cleanfile Loading commit data...
cleanpatch Loading commit data...
coccicheck Loading commit data...
config Loading commit data...
conmakehash.c Loading commit data...
const_structs.checkpatch Loading commit data...
decode_stacktrace.sh Loading commit data...
decodecode Loading commit data...
depmod.sh Loading commit data...
diffconfig Loading commit data...
documentation-file-ref-check Loading commit data...
export_report.pl Loading commit data...
extract-cert.c Loading commit data...
extract-ikconfig Loading commit data...
extract-module-sig.pl Loading commit data...
extract-sys-certs.pl Loading commit data...
extract-vmlinux Loading commit data...
extract_xc3028.pl Loading commit data...
faddr2line Loading commit data...
file-size.sh Loading commit data...
find-unused-docs.sh Loading commit data...
gcc-goto.sh Loading commit data...
gcc-ld Loading commit data...
gcc-plugin.sh Loading commit data...
gcc-version.sh Loading commit data...
gcc-x86_32-has-stack-protector.sh Loading commit data...
gcc-x86_64-has-stack-protector.sh Loading commit data...
gen_compile_commands.py Loading commit data...
gen_ksymdeps.sh Loading commit data...
get_abi.pl Loading commit data...
get_dvb_firmware Loading commit data...
get_maintainer.pl Loading commit data...
gfp-translate Loading commit data...
headerdep.pl Loading commit data...
headers_check.pl Loading commit data...
headers_install.sh Loading commit data...
insert-sys-cert.c Loading commit data...
kallsyms.c Loading commit data...
kernel-doc Loading commit data...
ld-version.sh Loading commit data...
leaking_addresses.pl Loading commit data...
link-vmlinux.sh Loading commit data...
makelst Loading commit data...
markup_oops.pl Loading commit data...
mkcompile_h Loading commit data...
mkmakefile Loading commit data...
mksysmap Loading commit data...
mkuboot.sh Loading commit data...
module-common.lds Loading commit data...
modules-check.sh Loading commit data...
namespace.pl Loading commit data...
nsdeps Loading commit data...
objdiff Loading commit data...
parse-maintainers.pl Loading commit data...
patch-kernel Loading commit data...
pnmtologo.c Loading commit data...
profile2linkerlist.pl Loading commit data...
prune-kernel Loading commit data...
recordmcount.c Loading commit data...
recordmcount.h Loading commit data...
recordmcount.pl Loading commit data...
setlocalversion Loading commit data...
show_delta Loading commit data...
sign-file.c Loading commit data...
sortextable.c Loading commit data...
sortextable.h Loading commit data...
spdxcheck-test.sh Loading commit data...
spdxcheck.py Loading commit data...
spelling.txt Loading commit data...
sphinx-pre-install Loading commit data...
split-man.pl Loading commit data...
stackdelta Loading commit data...
stackusage Loading commit data...
subarch.include Loading commit data...
tags.sh Loading commit data...
tools-support-relr.sh Loading commit data...
unifdef.c Loading commit data...
ver_linux Loading commit data...
xen-hypercalls.sh Loading commit data...
xz_wrap.sh Loading commit data...