linux-imx/scripts
Usama Arif 71a3cdf80c bpf/scripts: Raise an exception if the correct number of helpers are not generated
Currently bpf_helper_defs.h and the bpf helpers man page are auto-generated
using function documentation present in bpf.h. If the documentation for the
helper is missing or doesn't follow a specific format for e.g. if a function
is documented as:
 * long bpf_kallsyms_lookup_name( const char *name, int name_sz, int flags, u64 *res )
instead of
 * long bpf_kallsyms_lookup_name(const char *name, int name_sz, int flags, u64 *res)
(notice the extra space at the start and end of function arguments)
then that helper is not dumped in the auto-generated header and results in
an invalid call during eBPF runtime, even if all the code specific to the
helper is correct.

This patch checks the number of functions documented within the header file
with those present as part of #define __BPF_FUNC_MAPPER and raises an
Exception if they don't match. It is not needed with the currently documented
upstream functions, but can help in debugging when developing new helpers
when there might be missing or misformatted documentation.

Signed-off-by: Usama Arif <usama.arif@bytedance.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Reviewed-by: Quentin Monnet <quentin@isovalent.com>
Acked-by: Song Liu <songliubraving@fb.com>
Link: https://lore.kernel.org/bpf/20220112114953.722380-1-usama.arif@bytedance.com
2022-01-14 16:47:34 -08:00
..
atomic
basic
clang-tools gen_compile_commands: fix missing 'sys' package 2021-09-19 10:13:03 +09:00
coccinelle coccinelle patches for 5.16-rc1 2021-11-13 10:45:17 -08:00
dtc scripts/dtc: Update to upstream version v1.6.1-19-g0a3a9d3449c8 2021-10-29 08:55:38 -05:00
dummy-tools
gcc-plugins ARM development for 5.16: 2021-11-02 11:33:15 -07:00
gdb scripts/gdb: handle split debug for vmlinux 2021-11-09 10:02:52 -08:00
genksyms
kconfig kconfig: refactor conf_touch_dep() 2021-10-11 23:13:23 +09:00
ksymoops
mod HID: intel-ish-hid: add support for MODULE_DEVICE_TABLE() 2021-11-09 11:41:46 +01:00
package kbuild: Add make tarzst-pkg build option 2021-10-12 11:50:46 +09:00
selinux
tracing
.gitignore
adjust_autoksyms.sh
as-version.sh
asn1_compiler.c
bin2c.c
bloat-o-meter
bootgraph.pl
bpf_doc.py bpf/scripts: Raise an exception if the correct number of helpers are not generated 2022-01-14 16:47:34 -08:00
cc-can-link.sh
cc-version.sh
check_extable.sh
check-sysctl-docs
checkdeclares.pl
checkincludes.pl
checkkconfigsymbols.py checkkconfigsymbols.py: Remove skipping of help lines in parse_kconfig_file 2021-09-19 10:13:03 +09:00
checkpatch.pl checkpatch: get default codespell dictionary path from package location 2021-11-09 10:02:50 -08:00
checkstack.pl
checksyscalls.sh checksyscalls: Unconditionally ignore fstat{,at}64 2021-10-07 17:16:28 -07:00
checkversion.pl
cleanfile
cleanpatch
coccicheck
config
const_structs.checkpatch const_structs.checkpatch: add a few sound ops structs 2021-11-09 10:02:50 -08:00
decode_stacktrace.sh
decodecode scripts/decodecode: fix faulting instruction no print when opps.file is DOS format 2021-11-06 13:30:32 -07:00
depmod.sh
dev-needs.sh
diffconfig
documentation-file-ref-check scripts: documentation-file-ref-check: fix bpf selftests path 2021-10-26 09:42:29 -06:00
export_report.pl
extract_xc3028.pl
extract-cert.c
extract-ikconfig
extract-module-sig.pl
extract-sys-certs.pl
extract-vmlinux
faddr2line
file-size.sh
find-unused-docs.sh
gcc-goto.sh
gcc-ld
gcc-x86_32-has-stack-protector.sh
gcc-x86_64-has-stack-protector.sh
gen_autoksyms.sh
gen_ksymdeps.sh
generate_initcall_order.pl
get_abi.pl scripts: get_abi.pl: better generate regex from what fields 2021-10-05 16:23:38 +02:00
get_dvb_firmware
get_feat.pl
get_maintainer.pl
gfp-translate
headerdep.pl
headers_check.pl
headers_install.sh
insert-sys-cert.c
jobserver-exec
kallsyms.c
Kbuild.include
Kconfig.include
kernel-doc This is a relatively unexciting cycle for documentation. 2021-11-02 22:11:39 -07:00
ld-version.sh
leaking_addresses.pl leaking_addresses: Always print a trailing newline 2021-10-15 11:25:13 +02:00
Lindent
link-vmlinux.sh Kbuild updates for v5.16 2021-11-08 09:15:45 -08:00
Makefile
Makefile.asm-generic
Makefile.build kbuild: reuse $(cmd_objtool) for cmd_cc_lto_link_modules 2021-09-22 09:26:25 +09:00
Makefile.clang kbuild: Add -Werror=ignored-optimization-argument to CLANG_FLAGS 2021-09-19 10:55:18 +09:00
Makefile.clean
Makefile.compiler
Makefile.debug kbuild: split DEBUG_CFLAGS out to scripts/Makefile.debug 2021-10-24 13:48:33 +09:00
Makefile.dtbinst
Makefile.extrawarn
Makefile.gcc-plugins compiler hardening updates for v5.16-rc1 2021-11-01 17:09:03 -07:00
Makefile.headersinst
Makefile.host
Makefile.kasan kasan: always respect CONFIG_KASAN_STACK 2021-09-24 16:13:35 -07:00
Makefile.kcov
Makefile.kcsan
Makefile.lib Kbuild updates for v5.16 2021-11-08 09:15:45 -08:00
Makefile.modfinal kbuild: Unify options for BTF generation for vmlinux and modules 2021-11-01 18:09:58 -07:00
Makefile.modinst
Makefile.modpost kbuild: Fix comment typo in scripts/Makefile.modpost 2021-09-19 10:14:19 +09:00
Makefile.package kbuild: Add make tarzst-pkg build option 2021-10-12 11:50:46 +09:00
Makefile.ubsan
Makefile.userprogs
makelst
markup_oops.pl
min-tool-version.sh Documentation: raise minimum supported version of GCC to 5.1 2021-09-13 10:18:28 -07:00
mkcompile_h
mksysmap
mkuboot.sh
module.lds.S
modules-check.sh
nsdeps
objdiff
pahole-flags.sh Core: 2021-11-02 06:20:58 -07:00
parse-maintainers.pl
patch-kernel
profile2linkerlist.pl
prune-kernel
recordmcount.c
recordmcount.h
recordmcount.pl recordmcount.pl: fix typo in s390 mcount regex 2021-12-24 10:20:12 +01:00
remove-stale-files mips: decompressor: do not copy source files while building 2021-11-10 19:45:06 +01:00
setlocalversion
show_delta
sign-file.c
sorttable.c arm64 updates for 5.16 2021-11-01 16:33:53 -07:00
sorttable.h
spdxcheck-test.sh
spdxcheck.py
spelling.txt scripts/spelling.txt: fix "mistake" version of "synchronization" 2021-11-06 13:30:32 -07:00
sphinx-pre-install
split-man.pl
stackdelta
stackusage
subarch.include
syscallhdr.sh
syscallnr.sh
syscalltbl.sh
tags.sh scripts/tags.sh: Fix obsolete parameter for ctags 2021-09-14 11:23:49 +02:00
test_fortify.sh fortify: Add compile-time FORTIFY_SOURCE tests 2021-10-18 12:28:52 -07:00
tools-support-relr.sh
unifdef.c
ver_linux
xen-hypercalls.sh
xz_wrap.sh