WARNING: 'unecessary' may be misspelled - perhaps 'unnecessary'? #18: cumbersome and is unecessary. ^^^^^^^^^^ WARNING: 'unitialized' may be misspelled - perhaps 'uninitialized'? #41: The logic to detect initialized and unitialized irq flag slots, marking ^^^^^^^^^^^ WARNING: 'unsinged' may be misspelled - perhaps 'unsigned'? #101: FILE: kernel/bpf/helpers.c:3060: +/* Keep unsinged long in prototype so that kfunc is usable when emitted to ^^^^^^^^ WARNING: line length of 84 exceeds 80 columns #148: FILE: kernel/bpf/verifier.c:664: +static int irq_flag_get_spi(struct bpf_verifier_env *env, struct bpf_reg_state *reg) CHECK: Alignment should match open parenthesis #164: FILE: kernel/bpf/verifier.c:1168: +static int mark_stack_slot_irq_flag(struct bpf_verifier_env *env, + struct bpf_kfunc_call_arg_meta *meta, WARNING: line length of 94 exceeds 80 columns #195: FILE: kernel/bpf/verifier.c:1199: +static int unmark_stack_slot_irq_flag(struct bpf_verifier_env *env, struct bpf_reg_state *reg) WARNING: line length of 90 exceeds 80 columns #215: FILE: kernel/bpf/verifier.c:1219: + if (env->cur_state->refs[i].id == env->cur_state->active_irq_id) { WARNING: line length of 111 exceeds 80 columns #221: FILE: kernel/bpf/verifier.c:1225: + verbose(env, "cannot restore irq state out of order, expected id=%d acquired at insn_idx=%d\n", WARNING: line length of 85 exceeds 80 columns #228: FILE: kernel/bpf/verifier.c:1232: + /* see unmark_stack_slots_dynptr() for why we need to set REG_LIVE_WRITTEN */ WARNING: line length of 97 exceeds 80 columns #238: FILE: kernel/bpf/verifier.c:1242: +static bool is_irq_flag_reg_valid_uninit(struct bpf_verifier_env *env, struct bpf_reg_state *reg) WARNING: line length of 94 exceeds 80 columns #262: FILE: kernel/bpf/verifier.c:1266: +static int is_irq_flag_reg_valid_init(struct bpf_verifier_env *env, struct bpf_reg_state *reg) WARNING: line length of 94 exceeds 80 columns #341: FILE: kernel/bpf/verifier.c:1555: + memmove(&state->refs[idx], &state->refs[idx + 1], sizeof(*state->refs) * rem); WARNING: else is not generally useful after a break or return #364: FILE: kernel/bpf/verifier.c:1592: + return 0; + } else { WARNING: line length of 86 exceeds 80 columns #387: FILE: kernel/bpf/verifier.c:3415: +static int mark_irq_flag_read(struct bpf_verifier_env *env, struct bpf_reg_state *reg) WARNING: line length of 98 exceeds 80 columns #405: FILE: kernel/bpf/verifier.c:10199: + verbose(env, "global function calls are not allowed with IRQs disabled,\n" WARNING: line length of 96 exceeds 80 columns #418: FILE: kernel/bpf/verifier.c:10729: + verbose(env, "%s cannot be used inside bpf_local_irq_save-ed region\n", prefix); WARNING: line length of 87 exceeds 80 columns #431: FILE: kernel/bpf/verifier.c:10939: + verbose(env, "sleepable helper %s#%d in IRQ-disabled region\n", WARNING: line length of 84 exceeds 80 columns #437: FILE: kernel/bpf/verifier.c:10945: + env->insn_aux_data[insn_idx].storage_get_func_atomic = true; WARNING: line length of 85 exceeds 80 columns #447: FILE: kernel/bpf/verifier.c:11509: +static bool is_kfunc_arg_irq_flag(const struct btf *btf, const struct btf_param *arg) CHECK: Alignment should match open parenthesis #496: FILE: kernel/bpf/verifier.c:11966: +static int process_irq_flag(struct bpf_verifier_env *env, int regno, + struct bpf_kfunc_call_arg_meta *meta) WARNING: line length of 83 exceeds 80 columns #504: FILE: kernel/bpf/verifier.c:11974: + } else if (meta->func_id == special_kfunc_list[KF_bpf_local_irq_restore]) { WARNING: line length of 83 exceeds 80 columns #507: FILE: kernel/bpf/verifier.c:11977: + verbose(env, "verifier internal error: unknown irq flags kfunc\n"); WARNING: line length of 95 exceeds 80 columns #513: FILE: kernel/bpf/verifier.c:11983: + verbose(env, "expected uninitialized irq flag as arg#%d\n", regno - 1); WARNING: line length of 106 exceeds 80 columns #517: FILE: kernel/bpf/verifier.c:11987: + err = check_mem_access(env, env->insn_idx, regno, 0, BPF_DW, BPF_WRITE, -1, false, false); WARNING: line length of 96 exceeds 80 columns #527: FILE: kernel/bpf/verifier.c:11997: + verbose(env, "expected an initialized irq flag as arg#%d\n", regno - 1); CHECK: Please don't use multiple blank lines #542: FILE: kernel/bpf/verifier.c:12012: + + WARNING: line length of 98 exceeds 80 columns #560: FILE: kernel/bpf/verifier.c:12898: + verbose(env, "arg#%d doesn't point to an irq flag on stack\n", i); WARNING: line length of 100 exceeds 80 columns #575: FILE: kernel/bpf/verifier.c:13086: + verbose(env, "kernel func %s is sleepable within IRQ-disabled region\n", func_name); WARNING: line length of 88 exceeds 80 columns #589: FILE: kernel/bpf/verifier.c:18026: + if (!check_ids(old_reg->ref_obj_id, cur_reg->ref_obj_id, idmap)) total: 0 errors, 26 warnings, 3 checks, 508 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 76b089644822 ("bpf: Introduce support for bpf_local_irq_{save,restore}") 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. total: 0 errors, 26 warnings, 3 checks, 508 lines checked