WARNING: Improper SPDX comment style for 'tools/testing/selftests/bpf/libarena/include/common.h', please use '/*' instead #140: 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 #140: 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__)) #162: FILE: tools/testing/selftests/bpf/libarena/include/common.h:23: +#define __maybe_unused __attribute__((__unused__)) ERROR: Macros with complex values should be enclosed in parentheses #165: FILE: tools/testing/selftests/bpf/libarena/include/common.h:26: +#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))) #165: FILE: tools/testing/selftests/bpf/libarena/include/common.h:26: +#define private(name) SEC(".data." #name) __hidden __attribute__((aligned(8))) WARNING: Use of volatile is usually wrong: see Documentation/process/volatile-considered-harmful.rst #180: FILE: tools/testing/selftests/bpf/libarena/include/common.h:41: +extern const volatile u32 zero; WARNING: Improper SPDX comment style for 'tools/testing/selftests/bpf/libarena/include/selftest_helpers.h', please use '/*' instead #213: 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 #213: FILE: tools/testing/selftests/bpf/libarena/include/selftest_helpers.h:1: +// SPDX-License-Identifier: LGPL-2.1 OR BSD-2-Clause CHECK: Comparison to NULL could be written "strstr" #239: FILE: tools/testing/selftests/bpf/libarena/include/selftest_helpers.h:27: + return strstr(name, "test_") != NULL; WARNING: do not add new typedefs #326: FILE: tools/testing/selftests/bpf/libarena/selftests/selftest.c:22: +typedef struct libarena selftest; WARNING: line length of 85 exceeds 80 columns #349: FILE: tools/testing/selftests/bpf/libarena/selftests/selftest.c:45: + while ((err = bpf_prog_stream_read(prog_fd, 1, buf, 1024, NULL)) > 0) WARNING: line length of 85 exceeds 80 columns #356: FILE: tools/testing/selftests/bpf/libarena/selftests/selftest.c:52: + while ((err = bpf_prog_stream_read(prog_fd, 2, buf, 1024, NULL)) > 0) CHECK: Alignment should match open parenthesis #367: FILE: tools/testing/selftests/bpf/libarena/selftests/selftest.c:63: +static int libbpf_print_fn(enum libbpf_print_level level, + const char *format, va_list args) WARNING: line length of 84 exceeds 80 columns #404: FILE: tools/testing/selftests/bpf/libarena/selftests/selftest.c:100: + if (strcmp(argv[i], "-v") == 0 || strcmp(argv[i], "--verbose") == 0) WARNING: line length of 82 exceeds 80 columns #423: FILE: tools/testing/selftests/bpf/libarena/selftests/selftest.c:119: + 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 #457: FILE: tools/testing/selftests/bpf/libarena/src/common.bpf.c:5: +const volatile u32 zero = 0; total: 1 errors, 13 warnings, 2 checks, 438 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 18697deee16b ("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.