Lucene search

K
vulnrichmentLinuxVULNRICHMENT:CVE-2024-43835
HistoryAug 17, 2024 - 9:21 a.m.

CVE-2024-43835 virtio_net: Fix napi_skb_cache_put warning

2024-08-1709:21:52
Linux
github.com
2
linux kernel
cve-2024-43835
virtio_net
warning fix
napi_skb_cache_put
net/core/skbuff.c
nested-bh locking
netpoll case
virtnet_poll_tx
virtnet_poll_cleantx

AI Score

6.8

Confidence

Low

EPSS

0

Percentile

13.8%

SSVC

Exploitation

none

Automatable

no

Technical Impact

partial

In the Linux kernel, the following vulnerability has been resolved:

virtio_net: Fix napi_skb_cache_put warning

After the commit bdacf3e34945 (“net: 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.

AI Score

6.8

Confidence

Low

EPSS

0

Percentile

13.8%

SSVC

Exploitation

none

Automatable

no

Technical Impact

partial