In the Linux kernel, the following vulnerability has been resolved:
bpf: Fix array bounds error with may_goto
may_goto uses an additional 8 bytes on the stack, which causes the interpreters[] array to go out of bounds when calculating index by stack_size.
- If a BPF program is rewritten, re-evaluate the stack size. For non-JIT
- For non-JIT cases, calculating interpreters[idx] may still cause
- For jit_requested cases, the execution of bpf_func also needs to be