ERROR: Macros with complex values should be enclosed in parentheses #118: FILE: include/net/dropreason-qdisc.h:7: +#define DEFINE_QDISC_DROP_REASON(FN, FNe) \ + FN(UNSPEC) \ + FN(GENERIC) \ + FN(OVERLIMIT) \ + FN(CONGESTED) \ + FN(CAKE_FLOOD) \ + FN(FQ_BAND_LIMIT) \ + FN(FQ_HORIZON_LIMIT) \ + FN(FQ_FLOW_LIMIT) \ + FNe(MAX) 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: macros should not use a trailing semicolon #320: FILE: include/trace/events/qdisc.h:79: +#define FN(reason) TRACE_DEFINE_ENUM(QDISC_DROP_##reason); WARNING: macros should not use a trailing semicolon #321: FILE: include/trace/events/qdisc.h:80: +#define FNe(reason) TRACE_DEFINE_ENUM(QDISC_DROP_##reason); CHECK: Alignment should match open parenthesis #330: FILE: include/trace/events/qdisc.h:89: +TRACE_EVENT(qdisc_drop, + CHECK: Lines should not end with a '(' #337: FILE: include/trace/events/qdisc.h:96: + TP_STRUCT__entry( CHECK: Lines should not end with a '(' #348: FILE: include/trace/events/qdisc.h:107: + TP_fast_assign( WARNING: line length of 82 exceeds 80 columns #469: FILE: net/sched/sch_dualpi2.c:396: + return qdisc_drop_reason(skb, sch, to_free, QDISC_DROP_OVERLIMIT); total: 1 errors, 3 warnings, 3 checks, 554 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 11177e9a90fa ("net: sched: introduce qdisc-specific drop reason tracing") 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.