WARNING: line length of 84 exceeds 80 columns #82: FILE: kernel/bpf/verifier.c:2352: + /* If the input reg_state has no intersection between abstract values, it is WARNING: line length of 84 exceeds 80 columns #113: FILE: kernel/bpf/verifier.c:2422: + * If the min > max, then the range itself is ill-formed, so there can be no WARNING: line length of 81 exceeds 80 columns #120: FILE: kernel/bpf/verifier.c:2429: + * If the var_off is ill-formed, there can be no intersection in abstract WARNING: line length of 82 exceeds 80 columns #127: FILE: kernel/bpf/verifier.c:2436: + * Intersect u64 with s64. We map the s64 range to u64 domain and check if WARNING: line length of 83 exceeds 80 columns #128: FILE: kernel/bpf/verifier.c:2437: + * there is an intersection. If s64 range does not cross the sign boundary, WARNING: line length of 83 exceeds 80 columns #129: FILE: kernel/bpf/verifier.c:2438: + * then we can treat it as a u64 range and check if its bounding values are WARNING: line length of 81 exceeds 80 columns #130: FILE: kernel/bpf/verifier.c:2439: + * outside the u64 range. If s64 range crosses the sign boundary, then it WARNING: line length of 81 exceeds 80 columns #173: FILE: kernel/bpf/verifier.c:2482: + * We can check for intersection by checking if the next tnum value after WARNING: line length of 83 exceeds 80 columns #195: FILE: kernel/bpf/verifier.c:2504: + * Intersect s64 with tnum. Similar to u64-tnum, but we map s64 and tnum to WARNING: line length of 81 exceeds 80 columns #197: FILE: kernel/bpf/verifier.c:2506: + * treat it as a normal u64 range and check intersection with the tnum as WARNING: line length of 84 exceeds 80 columns #198: FILE: kernel/bpf/verifier.c:2507: + * above. If s64 range crosses the sign boundary, it spans the u64 intervals WARNING: line length of 82 exceeds 80 columns #199: FILE: kernel/bpf/verifier.c:2508: + * [0, smax] and [smin, U64_MAX]. Intersection exists if the tnum overlaps WARNING: line length of 82 exceeds 80 columns #200: FILE: kernel/bpf/verifier.c:2509: + * either of these components. The tnum cannot "jump over" either of these WARNING: line length of 84 exceeds 80 columns #201: FILE: kernel/bpf/verifier.c:2510: + * two intervals, because they contain endpoints 0 and U64_MAX respectively. WARNING: line length of 82 exceeds 80 columns #202: FILE: kernel/bpf/verifier.c:2511: + * So it is sufficient to check if the bounding values of tnum are outside WARNING: line length of 82 exceeds 80 columns #221: FILE: kernel/bpf/verifier.c:2530: + if ((u32)s32_min <= (u32)s32_max) { /* s32 does not cross sign boundary */ WARNING: line length of 82 exceeds 80 columns #234: FILE: kernel/bpf/verifier.c:2543: + * Intersect u64 with u32. If the u64 range spans >=U32_MAX values then an WARNING: line length of 82 exceeds 80 columns #235: FILE: kernel/bpf/verifier.c:2544: + * intersection is guaranteed, so we skip that case. Otherwise, we map the WARNING: line length of 83 exceeds 80 columns #236: FILE: kernel/bpf/verifier.c:2545: + * u64 bounds to the u32 domain. When mapped, the u64 range might cross the WARNING: line length of 83 exceeds 80 columns #238: FILE: kernel/bpf/verifier.c:2547: + * contiguous range: [(u32)umin, (u32)umax] that we check intersection with WARNING: line length of 83 exceeds 80 columns #239: FILE: kernel/bpf/verifier.c:2548: + * u32 bounds. If it does cross the U32_MAX boundary, we get two contiguous WARNING: line length of 83 exceeds 80 columns #240: FILE: kernel/bpf/verifier.c:2549: + * ranges: [0, (u32)umax] and [(u32)umin, U32_MAX]. We check if any part of WARNING: line length of 83 exceeds 80 columns #242: FILE: kernel/bpf/verifier.c:2551: + * ensuring the u32 bounds are not trapped between (u32)umax and (u32)umin. WARNING: line length of 87 exceeds 80 columns #244: FILE: kernel/bpf/verifier.c:2553: + if (umax - umin < U32_MAX) { /* u64 range does not span entire 32-bit domain */ WARNING: line length of 97 exceeds 80 columns #245: FILE: kernel/bpf/verifier.c:2554: + if ((u32)umin <= (u32)umax) { /* mapped u32 range is a single contiguous range */ WARNING: line length of 97 exceeds 80 columns #258: FILE: kernel/bpf/verifier.c:2567: + if ((u64)smax - (u64)smin < U32_MAX) { /* s64 range does not span entire 32-bit domain */ WARNING: line length of 97 exceeds 80 columns #259: FILE: kernel/bpf/verifier.c:2568: + if ((u32)smin <= (u32)smax) { /* mapped u32 range is a single contiguous range */ WARNING: line length of 83 exceeds 80 columns #269: FILE: kernel/bpf/verifier.c:2578: + * Intersect u64 with s32. We map the u64 range to the s32 domain, where it WARNING: line length of 82 exceeds 80 columns #271: FILE: kernel/bpf/verifier.c:2580: + * boundary (it might still cross the -1/0 boundary), we check for overlap WARNING: line length of 83 exceeds 80 columns #274: FILE: kernel/bpf/verifier.c:2583: + * [(s32)umin, S32_MAX]. Intersection exists if the s32 bounds overlap with WARNING: line length of 81 exceeds 80 columns #275: FILE: kernel/bpf/verifier.c:2584: + * either segment, which is equivalent to ensuring the s32 bounds are not WARNING: line length of 87 exceeds 80 columns #278: FILE: kernel/bpf/verifier.c:2587: + if (umax - umin < U32_MAX) { /* u64 range does not span entire 32-bit domain */ WARNING: line length of 97 exceeds 80 columns #279: FILE: kernel/bpf/verifier.c:2588: + if ((s32)umin <= (s32)umax) { /* mapped s32 range is a single contiguous range */ WARNING: line length of 97 exceeds 80 columns #292: FILE: kernel/bpf/verifier.c:2601: + if ((u64)smax - (u64)smin < U32_MAX) { /* s64 range does not span entire 32-bit domain */ WARNING: line length of 97 exceeds 80 columns #293: FILE: kernel/bpf/verifier.c:2602: + if ((s32)smin <= (s32)smax) { /* mapped s32 range is a single contiguous range */ WARNING: line length of 95 exceeds 80 columns #313: FILE: kernel/bpf/verifier.c:15710: + if (!reg_bounds_intersect(&env->false_reg1) || !reg_bounds_intersect(&env->false_reg2)) WARNING: line length of 93 exceeds 80 columns #322: FILE: kernel/bpf/verifier.c:15722: + if (!reg_bounds_intersect(&env->true_reg1) || !reg_bounds_intersect(&env->true_reg2)) total: 0 errors, 37 warnings, 0 checks, 251 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 98d3a0649504 ("bpf/verifier: Use intersection checks when simulating to detect dead branches") 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. total: 0 errors, 37 warnings, 0 checks, 251 lines checked