Arnd Bergmann reported an issue ([1]) where clang compiler (less than llvm18) may trigger an error where the stack frame size exceeds the limit. I can reproduce the error like below: kernel/bpf/verifier.c:24491:5: error: stack frame size (2552) exceeds limit (1280) in 'bpf_check' [-Werror,-Wframe-larger-than] kernel/bpf/verifier.c:19921:12: error: stack frame size (1368) exceeds limit (1280) in 'do_check' [-Werror,-Wframe-larger-than] This patch series fixed the above two errors by reducing stack size. See each individual patches for details. [1] https://lore.kernel.org/bpf/20250620113846.3950478-1-arnd@xxxxxxxxxx/ Changelogs: v1 -> v2: - v1: https://lore.kernel.org/bpf/20250702053332.1991516-1-yonghong.song@xxxxxxxxx/ - Simplify assignment to struct bpf_insn pointer in do_misc_fixups(). - Restore original implementation in opt_hard_wire_dead_code_branches() as only one insn on the stack. - Avoid unnecessary insns for 64bit modulo (mod 0/-1) operations. Yonghong Song (3): bpf: Simplify assignment to struct bpf_insn pointer in do_misc_fixups() bpf: Reduce stack frame size by using env->insn_buf for bpf insns bpf: Avoid putting struct bpf_scc_callchain variables on the stack include/linux/bpf_verifier.h | 1 + kernel/bpf/verifier.c | 229 +++++++++++++++++------------------ 2 files changed, 112 insertions(+), 118 deletions(-) -- 2.47.1