linux/scripts
Matthias Maennich 1d082773ff modpost: add support for generating namespace dependencies
This patch adds an option to modpost to generate a <module>.ns_deps file
per module, containing the namespace dependencies for that module.

E.g. if the linked module my-module.ko would depend on the symbol
myfunc.MY_NS in the namespace MY_NS, the my-module.ns_deps file created
by modpost would contain the entry MY_NS to express the namespace
dependency of my-module imposed by using the symbol myfunc.

These files can subsequently be used by static analysis tools (like
coccinelle scripts) to address issues with missing namespace imports. A
later patch of this series will introduce such a script 'nsdeps' and a
corresponding make target to automatically add missing
MODULE_IMPORT_NS() definitions to the module's sources. For that it uses
the information provided in the generated .ns_deps files.

Co-developed-by: Martijn Coenen <maco@android.com>
Signed-off-by: Martijn Coenen <maco@android.com>
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Matthias Maennich <maennich@google.com>
Signed-off-by: Jessica Yu <jeyu@kernel.org>
2019-09-10 10:30:38 +02:00
..
atomic locking/atomics: Use sed(1) instead of non-standard head(1) option 2019-06-25 10:17:07 +02:00
basic fixdep: check return value of printf() and putchar() 2019-07-01 10:30:39 +09:00
coccinelle coccinelle: api/atomic_as_refcounter: add SPDX License Identifier 2019-07-30 18:34:15 +02:00
dtc Devicetree updates for v5.3: 2019-07-11 18:35:30 -07:00
gcc-plugins docs: move gcc_plugins.txt to core-api and rename to .rst 2019-07-15 09:20:27 -03:00
gdb scripts/gdb: add helpers to find and list devices 2019-07-16 19:23:24 -07:00
genksyms genksyms: Teach parser about 128-bit built-in types 2019-06-24 03:43:03 +09:00
kconfig kconfig: Clear "written" flag to avoid data loss 2019-08-04 12:44:15 +09:00
ksymoops
mod modpost: add support for generating namespace dependencies 2019-09-10 10:30:38 +02:00
package kbuild: create *.mod with full directory path and remove MODVERDIR 2019-07-18 02:19:31 +09:00
selinux
tracing
.gitignore
Kbuild.include kbuild: remove unused objectify macro 2019-07-27 12:18:19 +09:00
Kconfig.include kbuild: Check for unknown options with cc-option usage in Kconfig and clang 2019-08-01 00:12:07 +09:00
Lindent
Makefile kbuild: remove build_unifdef target in scripts/Makefile 2019-06-15 19:57:01 +09:00
Makefile.asm-generic
Makefile.build kbuild: show hint if subdir-y/m is used to visit module Makefile 2019-08-10 01:45:31 +09:00
Makefile.clean
Makefile.dtbinst
Makefile.extrawarn kbuild: Remove unnecessary -Wno-unused-value 2019-06-24 03:43:03 +09:00
Makefile.gcc-plugins
Makefile.headersinst kbuild: fix 'No such file or directory' warning for headers_install 2019-06-24 03:43:03 +09:00
Makefile.host Kbuild updates for v5.3 2019-07-12 16:03:16 -07:00
Makefile.kasan
Makefile.kcov
Makefile.lib kbuild: remove unused single-used-m 2019-07-27 12:18:19 +09:00
Makefile.modbuiltin kbuild: get rid of kernel/ prefix from in-tree modules.{order,builtin} 2019-07-17 22:39:27 +09:00
Makefile.modinst kbuild: modinst: read modules.order instead of $(MODVERDIR)/*.mod 2019-07-17 22:39:27 +09:00
Makefile.modpost kbuild: revive single target %.ko 2019-08-10 01:40:25 +09:00
Makefile.modsign kbuild: modsign: read modules.order instead of $(MODVERDIR)/*.mod 2019-07-17 22:39:27 +09:00
Makefile.ubsan
adjust_autoksyms.sh kbuild: remove the first line of *.mod files 2019-07-18 02:19:31 +09:00
asn1_compiler.c
bin2c.c
bloat-o-meter
bootgraph.pl treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 391 2019-06-05 17:37:11 +02:00
bpf_helpers_doc.py
cc-can-link.sh
check_extable.sh
checkincludes.pl
checkkconfigsymbols.py
checkpatch.pl checkpatch.pl: warn on duplicate sysctl local variable 2019-07-16 19:23:22 -07:00
checkstack.pl scripts/checkstack.pl: Fix arm64 wrong or unknown architecture 2019-06-05 02:33:10 +09:00
checksyscalls.sh
checkversion.pl
clang-version.sh
cleanfile
cleanpatch
coccicheck
config
conmakehash.c
const_structs.checkpatch
decode_stacktrace.sh scripts/decode_stacktrace: Accept dash/underscore in modules 2019-07-12 11:05:41 -07:00
decodecode
depmod.sh
diffconfig
documentation-file-ref-check scripts/documentation-file-ref-check: ignore output dir 2019-06-14 14:43:01 -06:00
export_report.pl modpost: add support for symbol namespaces 2019-09-10 10:30:21 +02:00
extract-cert.c
extract-ikconfig
extract-module-sig.pl
extract-sys-certs.pl
extract-vmlinux treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 378 2019-06-05 17:37:10 +02:00
extract_xc3028.pl treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 339 2019-06-05 17:37:07 +02:00
faddr2line
file-size.sh
find-unused-docs.sh
gcc-goto.sh
gcc-ld
gcc-plugin.sh
gcc-version.sh
gcc-x86_32-has-stack-protector.sh
gcc-x86_64-has-stack-protector.sh
gen_compile_commands.py gen_compile_commands: lower the entry count threshold 2019-07-27 12:18:19 +09:00
gen_ksymdeps.sh
get_abi.pl doc: ABI scripts: add a SPDX header file 2019-06-21 16:58:37 +02:00
get_dvb_firmware
get_maintainer.pl get_maintainer: add ability to skip moderated mailing lists 2019-07-16 19:23:22 -07:00
gfp-translate
headerdep.pl
headers_check.pl
headers_install.sh kbuild: detect missing "WITH Linux-syscall-note" for uapi headers 2019-07-29 10:05:41 +09:00
insert-sys-cert.c
kallsyms.c kallsyms: exclude kasan local symbols on s390 2019-07-08 02:25:59 +09:00
kernel-doc kernel-doc: Don't try to mark up function names 2019-06-26 11:14:15 -06:00
ld-version.sh
leaking_addresses.pl
link-vmlinux.sh kbuild: modpost: do not parse unnecessary rules for vmlinux modpost 2019-08-01 00:09:49 +09:00
makelst
markup_oops.pl treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 373 2019-06-05 17:37:10 +02:00
mkcompile_h
mkmakefile
mksysmap
mkuboot.sh
module-common.lds
modules-check.sh kbuild: get rid of kernel/ prefix from in-tree modules.{order,builtin} 2019-07-17 22:39:27 +09:00
namespace.pl
objdiff treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 199 2019-05-30 11:29:23 -07:00
parse-maintainers.pl
patch-kernel
pnmtologo.c
profile2linkerlist.pl
prune-kernel
recordmcount.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 378 2019-06-05 17:37:10 +02:00
recordmcount.h powerpc updates for 5.3 2019-07-13 16:08:36 -07:00
recordmcount.pl
setlocalversion
show_delta treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 438 2019-06-05 17:37:17 +02:00
sign-file.c
sortextable.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 378 2019-06-05 17:37:10 +02:00
sortextable.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 378 2019-06-05 17:37:10 +02:00
spdxcheck-test.sh
spdxcheck.py spdxcheck.py: fix directory structures 2019-06-01 15:51:31 -07:00
spelling.txt scripts/spelling.txt: add more spellings to spelling.txt 2019-07-12 11:05:41 -07:00
sphinx-pre-install scripts/sphinx-pre-install: seek for Noto CJK fonts for pdf output 2019-07-17 06:57:52 -03:00
split-man.pl
stackdelta
stackusage
subarch.include
tags.sh kbuild: add a flag to force absolute path for srctree 2019-07-11 00:05:09 +09:00
unifdef.c
ver_linux
xen-hypercalls.sh
xz_wrap.sh