CVE-2024-43835 Information
Aug 18, 2024
cve
Description
In the Linux kernel the following vulnerability has been resolved:
virtio_net: Fix napi_skb_cache_put warning
After the commit bdacf3e34945 ( et: Use nested-BH locking for napi_alloc_cache.) was merged the following warning began to appear:
WARNING: CPU: 5 PID: 1 at net/core/skbuff.c:1451 napi_skb_cache_put+0x82/0x4b0
__warn+0x12f/0x340
napi_skb_cache_put+0x82/0x4b0
napi_skb_cache_put+0x82/0x4b0
report_bug+0x165/0x370
handle_bug+0x3d/0x80
exc_invalid_op+0x1a/0x50
asm_exc_invalid_op+0x1a/0x20
__free_old_xmit+0x1c8/0x510
napi_skb_cache_put+0x82/0x4b0
__free_old_xmit+0x1c8/0x510
__free_old_xmit+0x1c8/0x510
__pfx___free_old_xmit+0x10/0x10
The issue arises because virtio is assuming it’s running in NAPI context even when it’s not such as in the netpoll case.
To resolve this modify virtnet_poll_tx() to only set NAPI when budget is available. Same for virtnet_poll_cleantx() which always assumed that it was in a NAPI context.
Reference
https://git.kernel.org/stable/c/468a729b78895893d0e580ceea49bed8ada2a2bd https://git.kernel.org/stable/c/f8321fa75102246d7415a6af441872f6637c93ab
Share on: