CVE-2024-43835 Information

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: