WARNING: const array should probably be static const #63: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:24: +const char snprintf_u64_fmt[] = "%llu"; CHECK: Lines should not end with a '(' #76: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:171: + asm volatile ( CHECK: Lines should not end with a '(' #87: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:182: + asm volatile ( WARNING: quoted string split across lines #92: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:187: +"1:" + "r0 = r2;" WARNING: quoted string split across lines #94: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:189: +"2:" + "r0 = 0;" CHECK: Lines should not end with a '(' #130: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:388: + asm volatile ( CHECK: Lines should not end with a '(' #146: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:404: + asm volatile ( CHECK: Lines should not end with a '(' #178: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:436: + asm volatile ( CHECK: Lines should not end with a '(' #194: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:452: + asm volatile ( CHECK: Lines should not end with a '(' #203: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:461: + asm volatile ( CHECK: Lines should not end with a '(' #244: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:502: + asm volatile ( WARNING: quoted string split across lines #249: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:507: +"1:" + "*(u64 *)(r10 - 8) = r0;" CHECK: Lines should not end with a '(' #263: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:521: + asm volatile ( CHECK: Lines should not end with a '(' #280: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:538: + asm volatile ( CHECK: Lines should not end with a '(' #318: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:576: + asm volatile ( WARNING: Prefer 'fallthrough;' over fallthrough comment #322: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:580: + /* fall-through (path A) explored first */ CHECK: Lines should not end with a '(' #385: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:643: + asm volatile ( CHECK: Lines should not end with a '(' #408: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:666: + asm volatile ( WARNING: quoted string split across lines #416: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:674: + "1:" + "r0 = 0;" CHECK: Lines should not end with a '(' #452: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:710: + asm volatile ( WARNING: line length of 83 exceeds 80 columns #455: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:713: + "*(u64 *)(r10 - 16) = r1;" /* fp-16 = ctx (STACK_SPILL ptr) */ CHECK: Lines should not end with a '(' #481: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:739: + asm volatile ( WARNING: quoted string split across lines #489: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:747: + "1:" + "r0 = 0;" CHECK: Lines should not end with a '(' #501: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:759: + asm volatile ( CHECK: Lines should not end with a '(' #556: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:814: + asm volatile ( WARNING: quoted string split across lines #565: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:823: +"1:" + "r1 = r10;" WARNING: quoted string split across lines #571: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:829: +"2:" + "r1 = r10;" CHECK: Lines should not end with a '(' #609: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:867: + asm volatile ( WARNING: Prefer 'fallthrough;' over fallthrough comment #619: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:877: + /* Branch: fall-through (path A) verified first */ WARNING: quoted string split across lines #650: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:908: +"l_exit%=:" + "r0 = 0;" CHECK: Lines should not end with a '(' #677: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:935: + asm volatile ( CHECK: Lines should not end with a '(' #707: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:965: + asm volatile ( CHECK: Lines should not end with a '(' #731: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:989: + asm volatile ( CHECK: Lines should not end with a '(' #759: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:1017: + asm volatile ( CHECK: Lines should not end with a '(' #785: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:1043: + asm volatile ( CHECK: Lines should not end with a '(' #809: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:1067: + asm volatile ( CHECK: Lines should not end with a '(' #835: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:1093: + asm volatile ( CHECK: Lines should not end with a '(' #870: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:1128: + asm volatile ( WARNING: quoted string split across lines #876: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:1134: +"1:" + "*(u32 *)(r10 - 4) = 0;" WARNING: quoted string split across lines #878: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:1136: +"2:" + "r0 = *(u32 *)(r10 - 4);" CHECK: Lines should not end with a '(' #907: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:1165: + asm volatile ( WARNING: quoted string split across lines #914: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:1172: +"l_nonconst%=:" + "*(u8 *)(r10 - 4) = r0;" /* slot 0: STACK_MISC */ WARNING: quoted string split across lines #916: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:1174: +"l_lookup%=:" + "r2 = r10;" WARNING: Prefer 'fallthrough;' over fallthrough comment #934: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:1192: + * Path A (fall-through): spill r6 to fp-8 across helper call CHECK: Lines should not end with a '(' #949: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:1207: + asm volatile ( WARNING: Prefer 'fallthrough;' over fallthrough comment #971: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:1229: + * on a register that already has non-zero spis falls through to CHECK: Lines should not end with a '(' #996: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:1254: + asm volatile ( WARNING: Prefer 'fallthrough;' over fallthrough comment #1000: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:1258: + /* Path A (fall-through, explored first): fp-8 = 0 */ CHECK: Lines should not end with a '(' #1052: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:1310: + asm volatile ( WARNING: quoted string split across lines #1061: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:1319: +"l_pathB%=:" + "r1 = 42;" WARNING: quoted string split across lines #1065: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:1323: +"l_merge%=:" + "r6 = r10;" WARNING: quoted string split across lines #1080: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:1338: +"l_danger%=:" + "r1 = 0;" CHECK: Lines should not end with a '(' #1108: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:1366: + asm volatile ( CHECK: Lines should not end with a '(' #1122: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:1380: + asm volatile ( WARNING: quoted string split across lines #1128: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:1386: + "1:" + "r0 = 0;" CHECK: Lines should not end with a '(' #1140: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:1398: + asm volatile ( CHECK: Lines should not end with a '(' #1169: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:1427: + asm volatile ( CHECK: Lines should not end with a '(' #1185: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:1443: + asm volatile ( CHECK: Lines should not end with a '(' #1194: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:1452: + asm volatile ( CHECK: Lines should not end with a '(' #1212: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:1470: + asm volatile ( CHECK: Lines should not end with a '(' #1224: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:1482: + asm volatile ( CHECK: Lines should not end with a '(' #1251: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:1509: + asm volatile ( CHECK: Lines should not end with a '(' #1270: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:1528: + asm volatile ( CHECK: Lines should not end with a '(' #1289: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:1547: + asm volatile ( WARNING: quoted string split across lines #1295: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:1553: + "1:" + "r0 = 0;" CHECK: Lines should not end with a '(' #1307: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:1565: + asm volatile ( CHECK: Lines should not end with a '(' #1328: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:1586: + asm volatile ( CHECK: Lines should not end with a '(' #1347: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:1605: + asm volatile ( CHECK: Lines should not end with a '(' #1365: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:1623: + asm volatile ( WARNING: quoted string split across lines #1371: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:1629: + "1:" + "r0 = *(u64 *)(r6 - 8);" CHECK: Lines should not end with a '(' #1389: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:1647: + asm volatile ( CHECK: Lines should not end with a '(' #1413: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:1671: + asm volatile ( CHECK: Lines should not end with a '(' #1447: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:1705: + asm volatile ( WARNING: Prefer 'fallthrough;' over fallthrough comment #1456: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:1714: + /* Branch: path A (fall-through) explored first */ WARNING: quoted string split across lines #1474: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:1732: +"l_exit%=:" + "r0 = 0;" CHECK: Lines should not end with a '(' #1486: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:1744: + asm volatile ( CHECK: Lines should not end with a '(' #1496: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:1754: + asm volatile ( WARNING: line length of 85 exceeds 80 columns #1511: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:1769: +__msg("14: (79) r1 = *(u64 *)(r10 -8) // r6=fp0-8 r7=fp1-16 fp-8=fp1-16 fp-16=fp0-8") WARNING: line length of 94 exceeds 80 columns #1512: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:1770: +__msg("15: (79) r0 = *(u64 *)(r1 +0) // r1=fp1-16 r6=fp0-8 r7=fp1-16 fp-8=fp1-16 fp-16=fp0-8") CHECK: Lines should not end with a '(' #1518: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:1776: + asm volatile ( CHECK: Lines should not end with a '(' #1529: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:1787: + asm volatile ( CHECK: Lines should not end with a '(' #1548: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:1806: + asm volatile ( WARNING: line length of 85 exceeds 80 columns #1557: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:1815: +__msg("13: (79) r1 = *(u64 *)(r10 -8) // r6=fp0-8 r7=fp1-16 fp-8=fp1-16 fp-16=fp0-8") WARNING: line length of 94 exceeds 80 columns #1558: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:1816: +__msg("14: (79) r0 = *(u64 *)(r1 +0) // r1=fp1-16 r6=fp0-8 r7=fp1-16 fp-8=fp1-16 fp-16=fp0-8") CHECK: Lines should not end with a '(' #1564: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:1822: + asm volatile ( CHECK: Lines should not end with a '(' #1575: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:1833: + asm volatile ( WARNING: Prefer 'fallthrough;' over fallthrough comment #1604: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:1862: + * if r0 != 0 goto clobber path A (fall-through) first CHECK: Lines should not end with a '(' #1639: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:1897: + asm volatile ( WARNING: Prefer 'fallthrough;' over fallthrough comment #1643: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:1901: + /* fall-through (path A) explored first */ WARNING: quoted string split across lines #1651: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:1909: +"l_merge%=:" + "r1 = r10;" CHECK: Lines should not end with a '(' #1673: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:1931: + asm volatile ( WARNING: line length of 81 exceeds 80 columns #1675: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:1933: + "r2 = r1;" /* R2 = parent ptr (AT_PARENT) */ WARNING: line length of 84 exceeds 80 columns #1677: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:1935: + "call %[bpf_map_lookup_elem];" /* reads 4 bytes from parent fp-4 */ CHECK: Lines should not end with a '(' #1703: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:1961: + asm volatile ( CHECK: Lines should not end with a '(' #1716: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:1974: + asm volatile ( CHECK: Lines should not end with a '(' #1772: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:2030: + asm volatile ( WARNING: Prefer 'fallthrough;' over fallthrough comment #1781: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:2039: + /* Branch: path A (fall-through) explored first */ WARNING: quoted string split across lines #1804: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:2062: +"l_exit%=:" + "r0 = 0;" CHECK: Lines should not end with a '(' #1822: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:2080: + asm volatile ( WARNING: line length of 84 exceeds 80 columns #1824: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:2082: + "r0 = *(u64 *)(r2 + 0);" /* read main's fp-16: triggers anc_use[0] */ CHECK: Lines should not end with a '(' #1835: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:2093: + asm volatile ( CHECK: Lines should not end with a '(' #1844: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:2102: + asm volatile ( WARNING: line length of 88 exceeds 80 columns #1846: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:2104: + "r0 = *(u64 *)(r0 + 0);" /* deref: safe for map_ptr, unsafe for scalar */ CHECK: Lines should not end with a '(' #1883: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:2141: + asm volatile ( WARNING: quoted string split across lines #1904: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:2162: +"l_exit%=:" + "r0 = 0;" CHECK: Lines should not end with a '(' #1915: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:2173: + asm volatile ( CHECK: Lines should not end with a '(' #1929: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:2187: + asm volatile ( CHECK: Lines should not end with a '(' #1958: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:2216: + asm volatile ( CHECK: Lines should not end with a '(' #1975: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:2233: + asm volatile ( CHECK: Lines should not end with a '(' #1984: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:2242: + asm volatile ( CHECK: Lines should not end with a '(' #1993: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:2251: + asm volatile ( CHECK: Lines should not end with a '(' #2002: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:2260: + asm volatile ( CHECK: Lines should not end with a '(' #2016: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:2274: + asm volatile ( CHECK: Lines should not end with a '(' #2033: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:2291: + asm volatile ( CHECK: Lines should not end with a '(' #2042: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:2300: + asm volatile ( CHECK: Lines should not end with a '(' #2051: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:2309: + asm volatile ( WARNING: quoted string split across lines #2058: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:2316: + "1:" + "r2 = dyn_cb_b ll;" WARNING: quoted string split across lines #2060: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:2318: + "2:" + "r1 = 1;" CHECK: Lines should not end with a '(' #2074: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:2332: + asm volatile ( CHECK: Lines should not end with a '(' #2083: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:2341: + asm volatile ( CHECK: Lines should not end with a '(' #2100: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:2358: + asm volatile ( CHECK: Lines should not end with a '(' #2136: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:2394: + asm volatile ( CHECK: Lines should not end with a '(' #2159: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:2417: + asm volatile ( CHECK: Lines should not end with a '(' #2167: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:2425: + asm volatile ( CHECK: Lines should not end with a '(' #2190: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:2448: + asm volatile ( WARNING: quoted string split across lines #2209: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:2467: +"1:" + "r0 = 0;" CHECK: Lines should not end with a '(' #2218: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:2476: + asm volatile ( CHECK: Lines should not end with a '(' #2226: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:2484: + asm volatile ( CHECK: Lines should not end with a '(' #2241: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:2499: + asm volatile ( WARNING: line length of 89 exceeds 80 columns #2245: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:2503: + ".8byte %[load_acquire_insn];" /* load_acquire is a special case for BPF_STX, */ WARNING: line length of 82 exceeds 80 columns #2246: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:2504: + "r0 = *(u64 *)(r10 - 16);" /* it shouldn't clear tracking info for */ WARNING: line length of 82 exceeds 80 columns #2252: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:2510: + BPF_ATOMIC_OP(BPF_DW, BPF_LOAD_ACQ, BPF_REG_0, BPF_REG_0, 0)) CHECK: Lines should not end with a '(' #2262: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:2520: + asm volatile ( CHECK: Lines should not end with a '(' #2273: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:2531: + asm volatile ( CHECK: Lines should not end with a '(' #2311: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:2569: + asm volatile ( WARNING: quoted string split across lines #2328: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:2586: +"1:" + "r1 = r10;" WARNING: line length of 82 exceeds 80 columns #2331: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:2589: + /* write &fp-24 through multi-offset r1: hits one slot, other untouched */ WARNING: line length of 83 exceeds 80 columns #2357: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:2615: + * hence the values at fp-16 become [fp-24, fp-32] CHECK: Lines should not end with a '(' #2367: FILE: tools/testing/selftests/bpf/progs/verifier_live_stack.c:2625: + asm volatile ( WARNING: line length of 82 exceeds 80 columns #2419: FILE: tools/testing/selftests/bpf/progs/verifier_liveness_exp.c:22: + * Without complexity limits in analyze_subprog() the resulting 50^7 ~ 7.8 * 10^11 ERROR: Macros with complex values should be enclosed in parentheses #2433: FILE: tools/testing/selftests/bpf/progs/verifier_liveness_exp.c:36: +#define CALLS_50(fn) \ + C(fn, 8) C(fn, 16) C(fn, 24) C(fn, 32) C(fn, 40) \ + C(fn, 48) C(fn, 56) C(fn, 64) C(fn, 72) C(fn, 80) \ + C(fn, 88) C(fn, 96) C(fn, 104) C(fn, 112) C(fn, 120) \ + C(fn, 128) C(fn, 136) C(fn, 144) C(fn, 152) C(fn, 160) \ + C(fn, 168) C(fn, 176) C(fn, 184) C(fn, 192) C(fn, 200) \ + C(fn, 208) C(fn, 216) C(fn, 224) C(fn, 232) C(fn, 240) \ + C(fn, 248) C(fn, 256) C(fn, 264) C(fn, 272) C(fn, 280) \ + C(fn, 288) C(fn, 296) C(fn, 304) C(fn, 312) C(fn, 320) \ + C(fn, 328) C(fn, 336) C(fn, 344) C(fn, 352) C(fn, 360) \ + C(fn, 368) C(fn, 376) C(fn, 384) C(fn, 392) C(fn, 400) 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. CHECK: Lines should not end with a '(' #2449: FILE: tools/testing/selftests/bpf/progs/verifier_liveness_exp.c:52: + asm volatile ( CHECK: Lines should not end with a '(' #2459: FILE: tools/testing/selftests/bpf/progs/verifier_liveness_exp.c:62: + asm volatile ( CHECK: Lines should not end with a '(' #2470: FILE: tools/testing/selftests/bpf/progs/verifier_liveness_exp.c:73: + asm volatile ( CHECK: Lines should not end with a '(' #2481: FILE: tools/testing/selftests/bpf/progs/verifier_liveness_exp.c:84: + asm volatile ( CHECK: Lines should not end with a '(' #2492: FILE: tools/testing/selftests/bpf/progs/verifier_liveness_exp.c:95: + asm volatile ( CHECK: Lines should not end with a '(' #2503: FILE: tools/testing/selftests/bpf/progs/verifier_liveness_exp.c:106: + asm volatile ( CHECK: Lines should not end with a '(' #2514: FILE: tools/testing/selftests/bpf/progs/verifier_liveness_exp.c:117: + asm volatile ( CHECK: Lines should not end with a '(' #2531: FILE: tools/testing/selftests/bpf/progs/verifier_liveness_exp.c:134: + asm volatile ( total: 1 errors, 51 warnings, 97 checks, 2497 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 49a10596e7be ("selftests/bpf: add new tests for static stack liveness analysis") 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.