Description
In the Linux kernel, the following vulnerability has been resolved: bpf: Avoid __bpf_prog_ret0_warn when jit fails syzkaller reported an issue: WARNING: CPU: 3 PID: 217 at kernel/bpf/core.c:2357 __bpf_prog_ret0_warn+0xa/0x20 kernel/bpf/core.c:2357 Modules linked in: CPU: 3 UID: 0 PID: 217 Comm: kworker/u32:6 Not tainted 6.15.0-rc4-syzkaller-00040-g8bac8898fe39 RIP: 0010:__bpf_prog_ret0_warn+0xa/0x20 kernel/bpf/core.c:2357 Call Trace: <TASK> bpf_dispatcher_nop_func include/linux/bpf.h:1316 [inline] __bpf_prog_run include/linux/filter.h:718 [inline] bpf_prog_run include/linux/filter.h:725 [inline] cls_bpf_classify+0x74a/0x1110 net/sched/cls_bpf.c:105 ... When creating bpf program, 'fp->jit_requested' depends on bpf_jit_enable. This issue is triggered because of CONFIG_BPF_JIT_ALWAYS_ON is not set and bpf_jit_enable is set to 1, causing the arch to attempt JIT the prog, but jit failed due to FAULT_INJECTION. As a result, incorrectly treats the program as valid, when the program runs it calls `__bpf_prog_ret0_warn` and triggers the WARN_ON_ONCE(1).
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
fa9dd599b4dae841924b022768354cfde9affecb to < e7fb4ebee6e900899d2b2e5852c3e2eafcbcad66affectedfa9dd599b4dae841924b022768354cfde9affecb to < ef92b96530d1731d9ac167bc7c193c683cd78fffaffectedfa9dd599b4dae841924b022768354cfde9affecb to < 6f639c25bfad17d9fd7379ab91ff9678ea9aac85affectedfa9dd599b4dae841924b022768354cfde9affecb to < 2bc6dffb4b72d53d6a6ada510269bf548c3f7ae0affectedfa9dd599b4dae841924b022768354cfde9affecb to < 0b9bb52796b239de6792d0d68cdc6eb505ebff96affectedfa9dd599b4dae841924b022768354cfde9affecb to < 86bc9c742426a16b52a10ef61f5b721aecca2344affected5124abda3060e2eab506fb14a27acadee3c3e396affected234646dcfc5f531c74ab20595e89eacd62e3611faffected4.9.190 to < 4.10affected4.14.140 to < 4.15affected
Linux Linux
Default version status: affected
4.16affected0 to < 4.16unaffected5.15.186 to ≤ 5.15.*unaffected6.1.142 to ≤ 6.1.*unaffected6.6.94 to ≤ 6.6.*unaffected6.12.34 to ≤ 6.12.*unaffected6.15.3 to ≤ 6.15.*unaffected6.16 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/e7fb4ebee6e900899d2b2e5852c3e2eafcbcad66 ↗
- https://git.kernel.org/stable/c/ef92b96530d1731d9ac167bc7c193c683cd78fff ↗
- https://git.kernel.org/stable/c/6f639c25bfad17d9fd7379ab91ff9678ea9aac85 ↗
- https://git.kernel.org/stable/c/2bc6dffb4b72d53d6a6ada510269bf548c3f7ae0 ↗
- https://git.kernel.org/stable/c/0b9bb52796b239de6792d0d68cdc6eb505ebff96 ↗
- https://git.kernel.org/stable/c/86bc9c742426a16b52a10ef61f5b721aecca2344 ↗
- https://lists.debian.org/debian-lts-announce/2025/10/msg00008.html ↗
- https://cert-portal.siemens.com/productcert/html/ssa-082556.html ↗