========== checkpatch - FAILED WARNING: Commit log lines starting with '#' are dropped by git as comments #59: # cat /sys/kernel/debug/tracing/events/tcp/tcp_retransmit_skb/format WARNING: Commit log lines starting with '#' are dropped by git as comments #73: # cat /sys/kernel/debug/tracing/events/tcp/tcp_retransmit_skb/format ERROR: Macros with complex values should be enclosed in parentheses #157: FILE: include/trace/events/tcp.h:16: +#define TCP_RETRANSMIT_RESULT \ + ENUM(TCP_RETRANS_ERR_DEFAULT, "retrans_err_default") \ + ENUM(TCP_RETRANS_SUCCESS, "retrans_succ") \ + ENUM(TCP_RETRANS_IN_HOST_QUEUE, "packet_in_driver") \ + ENUM(TCP_RETRANS_END_SEQ_ERROR, "end_seq_error") \ + ENUM(TCP_RETRANS_NOMEM, "retrans_nomem") \ + ENUM(TCP_RETRANS_ROUTE_FAIL, "route_fail") \ + ENUMe(TCP_RETRANS_RCV_ZERO_WINDOW, "rcv_zero_window") \ + 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: line length of 81 exceeds 80 columns #158: FILE: include/trace/events/tcp.h:17: + ENUM(TCP_RETRANS_ERR_DEFAULT, "retrans_err_default") \ WARNING: line length of 81 exceeds 80 columns #159: FILE: include/trace/events/tcp.h:18: + ENUM(TCP_RETRANS_SUCCESS, "retrans_succ") \ WARNING: line length of 81 exceeds 80 columns #160: FILE: include/trace/events/tcp.h:19: + ENUM(TCP_RETRANS_IN_HOST_QUEUE, "packet_in_driver") \ WARNING: line length of 81 exceeds 80 columns #161: FILE: include/trace/events/tcp.h:20: + ENUM(TCP_RETRANS_END_SEQ_ERROR, "end_seq_error") \ WARNING: line length of 81 exceeds 80 columns #162: FILE: include/trace/events/tcp.h:21: + ENUM(TCP_RETRANS_NOMEM, "retrans_nomem") \ WARNING: line length of 81 exceeds 80 columns #163: FILE: include/trace/events/tcp.h:22: + ENUM(TCP_RETRANS_ROUTE_FAIL, "route_fail") \ WARNING: line length of 81 exceeds 80 columns #164: FILE: include/trace/events/tcp.h:23: + ENUMe(TCP_RETRANS_RCV_ZERO_WINDOW, "rcv_zero_window") \ WARNING: Argument 'b' is not used in function-like macro #169: FILE: include/trace/events/tcp.h:28: +#define ENUM(a, b) TRACE_DEFINE_ENUM(a); WARNING: macros should not use a trailing semicolon #169: FILE: include/trace/events/tcp.h:28: +#define ENUM(a, b) TRACE_DEFINE_ENUM(a); WARNING: Argument 'b' is not used in function-like macro #170: FILE: include/trace/events/tcp.h:29: +#define ENUMe(a, b) TRACE_DEFINE_ENUM(a); WARNING: macros should not use a trailing semicolon #170: FILE: include/trace/events/tcp.h:29: +#define ENUMe(a, b) TRACE_DEFINE_ENUM(a); CHECK: Alignment should match open parenthesis #181: FILE: include/trace/events/tcp.h:40: +TRACE_EVENT(tcp_retransmit_skb, CHECK: Alignment should match open parenthesis #184: FILE: include/trace/events/tcp.h:42: + TP_PROTO(const struct sock *sk, const struct sk_buff *skb, + enum tcp_retransmit_result result), WARNING: line length of 81 exceeds 80 columns #261: FILE: net/ipv4/tcp_output.c:3353: + if (tcp_trim_head(sk, skb, tp->snd_una - TCP_SKB_CB(skb)->seq)) { total: 1 errors, 14 warnings, 2 checks, 197 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 05d4ee65956a ("tcp: extend tcp_retransmit_skb tracepoint with failure reasons") has style problems, please review. NOTE: Ignored message types: ALLOC_SIZEOF_STRUCT BAD_REPORTED_BY_LINK CAMELCASE COMMIT_LOG_LONG_LINE 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.