• Quentin Monnet's avatar
    bpf: relax constraints on formatting for eBPF helper documentation · 6f96674d
    Quentin Monnet authored
    The Python script used to parse and extract eBPF helpers documentation
    from include/uapi/linux/bpf.h expects a very specific formatting for the
    descriptions (single dot represents a space, '>' stands for a tab):
    
        /*
         ...
         *.int bpf_helper(list of arguments)
         *.>    Description
         *.>    >       Start of description
         *.>    >       Another line of description
         *.>    >       And yet another line of description
         *.>    Return
         *.>    >       0 on success, or a negative error in case of failure
         ...
         */
    
    This is too strict, and painful for developers who wants to add
    documentation for new helpers. Worse, it is extremely difficult to check
    that the formatting is correct during reviews. Change the format
    expected by the script and make it more flexible. The script now works
    whether or not the initial space (right after the star) is present, and
    accepts both tabs and white spaces (or a combination of both) for
    indenting description sections and contents.
    
    Concretely, something like the following would now be supported:
    
        /*
         ...
         *int bpf_helper(list of arguments)
         *......Description
         *.>    >       Start of description...
         *>     >       Another line of description
         *..............And yet another line of description
         *>     Return
         *.>    ........0 on success, or a negative error in case of failure
         ...
         */
    
    While at it, remove unnecessary carets from each regex used with match()
    in the script. They are redundant, as match() tries to match from the
    beginning of the string by default.
    
    v2: Remove unnecessary caret when a regex is used with match().
    Signed-off-by: default avatarQuentin Monnet <quentin.monnet@netronome.com>
    Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
    6f96674d
Name
Last commit
Last update
..
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...
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.modinst Loading commit data...
Makefile.modpost Loading commit data...
Makefile.modsign Loading commit data...
Makefile.ubsan Loading commit data...
adjust_autoksyms.sh Loading commit data...
asn1_compiler.c Loading commit data...
bloat-o-meter Loading commit data...
bootgraph.pl Loading commit data...
bpf_helpers_doc.py Loading commit data...
check_00index.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_initramfs_list.sh 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.sh 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...
namespace.pl 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...
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...
tags.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...