Medium · published January 23, 2026
In the Linux kernel, the following vulnerability has been resolved:
bpf: Fix reference count leak in bpf_prog_test_run_xdp()
syzbot is reporting
unregister_netdevice: waiting for sit0 to become free. Usage count = 2
problem. A debug printk() patch found that a refcount is obtained at
xdp_convert_md_to_buff() from bpf_prog_test_run_xdp().
According to commit ec94670fcb3b ("bpf: Support specifying ingress via
xdp_md context in BPF_PROG_TEST_RUN"), the refcount obtained by
xdp_convert_md_to_buff() will be released by xdp_convert_buff_to_md().
Therefore, we can consider that the error handling path introduced by
commit 1c1949982524 ("bpf: introduce frags support to
bpf_prog_test_run_xdp()") forgot to call xdp_convert_buff_to_md().
| Product | Versions | Fixed in |
|---|---|---|
| linux/linux_kernel | ≥ 5.18, < 6.1.161 | 6.1.161 |
| linux/linux_kernel | ≥ 6.2, < 6.6.121 | 6.6.121 |
| linux/linux_kernel | ≥ 6.7, < 6.12.66 | 6.12.66 |
| linux/linux_kernel | ≥ 6.13, < 6.18.6 | 6.18.6 |
| linux/linux_kernel | all versions | — |
| linux/linux_kernel | all versions | — |
| linux/linux_kernel | all versions | — |
| linux/linux_kernel | all versions | — |
| linux/linux_kernel | all versions | — |