WARNING: Possible repeated word: 'libarena' #89: FILE: tools/testing/selftests/bpf/Makefile:765: + +$(MAKE) -C libarena libarena.skel.h $(LIBARENA_MAKE_ARGS) WARNING: Improper SPDX comment style for 'tools/testing/selftests/bpf/libarena/include/common.h', please use '/*' instead #188: FILE: tools/testing/selftests/bpf/libarena/include/common.h:1: +// SPDX-License-Identifier: LGPL-2.1 OR BSD-2-Clause WARNING: Missing or malformed SPDX-License-Identifier tag in line 1 #188: FILE: tools/testing/selftests/bpf/libarena/include/common.h:1: +// SPDX-License-Identifier: LGPL-2.1 OR BSD-2-Clause WARNING: __always_unused or __maybe_unused is preferred over __attribute__((__unused__)) #209: FILE: tools/testing/selftests/bpf/libarena/include/common.h:22: +#define __maybe_unused __attribute__((__unused__)) ERROR: Macros with complex values should be enclosed in parentheses #212: FILE: tools/testing/selftests/bpf/libarena/include/common.h:25: +#define private(name) SEC(".data." #name) __hidden __attribute__((aligned(8))) BUT SEE: do {} while (0) advice is over-stated in a few situations: The more obvious case is macros, like MODULE_PARM_DESC, invoked at file-scope, where C disallows code (it must be in functions). See $exceptions if you have one to add by name. More troublesome is declarative macros used at top of new scope, like DECLARE_PER_CPU. These might just compile with a do-while-0 wrapper, but would be incorrect. Most of these are handled by detecting struct,union,etc declaration primitives in $exceptions. Theres also macros called inside an if (block), which "return" an expression. These cannot do-while, and need a ({}) wrapper. Enjoy this qualification while we work to improve our heuristics. WARNING: Prefer __aligned(8) over __attribute__((aligned(8))) #212: FILE: tools/testing/selftests/bpf/libarena/include/common.h:25: +#define private(name) SEC(".data." #name) __hidden __attribute__((aligned(8))) WARNING: Use of volatile is usually wrong: see Documentation/process/volatile-considered-harmful.rst #227: FILE: tools/testing/selftests/bpf/libarena/include/common.h:40: +extern const volatile u32 zero; WARNING: Improper SPDX comment style for 'tools/testing/selftests/bpf/libarena/include/selftest_helpers.h', please use '/*' instead #260: FILE: tools/testing/selftests/bpf/libarena/include/selftest_helpers.h:1: +// SPDX-License-Identifier: LGPL-2.1 OR BSD-2-Clause WARNING: Missing or malformed SPDX-License-Identifier tag in line 1 #260: FILE: tools/testing/selftests/bpf/libarena/include/selftest_helpers.h:1: +// SPDX-License-Identifier: LGPL-2.1 OR BSD-2-Clause WARNING: line length of 81 exceeds 80 columns #289: FILE: tools/testing/selftests/bpf/libarena/include/selftest_helpers.h:30: +static inline int libarena_run_prog_args(int prog_fd, void *args, size_t argsize) WARNING: do not add new typedefs #392: FILE: tools/testing/selftests/bpf/libarena/selftests/selftest.c:28: +typedef struct libarena selftest; WARNING: line length of 85 exceeds 80 columns #415: FILE: tools/testing/selftests/bpf/libarena/selftests/selftest.c:51: + while ((err = bpf_prog_stream_read(prog_fd, 1, buf, 1024, NULL)) > 0) WARNING: line length of 85 exceeds 80 columns #422: FILE: tools/testing/selftests/bpf/libarena/selftests/selftest.c:58: + while ((err = bpf_prog_stream_read(prog_fd, 2, buf, 1024, NULL)) > 0) CHECK: Alignment should match open parenthesis #433: FILE: tools/testing/selftests/bpf/libarena/selftests/selftest.c:69: +static int libbpf_print_fn(enum libbpf_print_level level, + const char *format, va_list args) WARNING: line length of 86 exceeds 80 columns #471: FILE: tools/testing/selftests/bpf/libarena/selftests/selftest.c:107: + if (strcmp(argv[i], "-v") == 0 || strcmp(argv[i], "--verbose") == 0) { WARNING: quoted string split across lines #478: FILE: tools/testing/selftests/bpf/libarena/selftests/selftest.c:114: + fprintf(stderr, "verbose option prints out BPF streams," + " including ASAN stacks when applicable\n"); WARNING: line length of 82 exceeds 80 columns #498: FILE: tools/testing/selftests/bpf/libarena/selftests/selftest.c:134: + ret = libarena_run_prog(bpf_program__fd(skel->progs.arena_alloc_reserve)); WARNING: Use of volatile is usually wrong: see Documentation/process/volatile-considered-harmful.rst #535: FILE: tools/testing/selftests/bpf/libarena/src/common.bpf.c:5: +const volatile u32 zero = 0; total: 1 errors, 16 warnings, 1 checks, 514 lines checked NOTE: For some of the reported defects, checkpatch may be able to mechanically convert to the typical style using --fix or --fix-inplace. Commit 26bd7a349a6d ("selftests/bpf: Add basic libarena scaffolding") has style problems, please review. NOTE: Ignored message types: ALLOC_SIZEOF_STRUCT BAD_REPORTED_BY_LINK CAMELCASE COMMIT_LOG_LONG_LINE FILE_PATH_CHANGES GIT_COMMIT_ID MACRO_ARG_REUSE NO_AUTHOR_SIGN_OFF NOTE: If any of the errors are false positives, please report them to the maintainer, see CHECKPATCH in MAINTAINERS.