CVE-2022-50476
kernel: ntb_netdev: Use dev_kfree_skb_any() in interrupt context
Severity
ModerateRed Hat Product Security
CVSS 3.1
Review impact separately from score.
Published · October 4, 2025
Updated · June 30, 2026
Description
An incorrect function call was found in the Linux kernel Non-Transparent Bridge network driver's interrupt handling. When using AMD PTDMA DMA engines, the TX/RX callback handlers are invoked in hard interrupt context but call the interrupt-unsafe dev_kfree_skb() function to free network buffers, which results in kernel warnings and severe TCP/IP performance degradation.
Statement
The issue arises because ntb_netdev_tx_handler() and ntb_netdev_rx_handler() call dev_kfree_skb() to free socket buffers, but these handlers can be invoked in hard interrupt context when using certain DMA engines like AMD PTDMA. The dev_kfree_skb() function is not safe to call from interrupt context and should only be used in process context. When called from an interrupt handler, it triggers warnings from skb_release_head_state() because in_hardirq() returns true. On Intel IOAT DMA engines this issue doesn't manifest because that driver uses tasklets (softirq context) rather than hard interrupt handlers. On AMD systems, this causes both visible kernel warnings and severe TCP/IP performance degradation (order of magnitude slower than expected).
CVSS score applicability
The CVSS score(s) listed for this vulnerability do not reflect the associated product's status, and are included for informational purposes to better understand the severity of this vulnerability.
Mitigation
To mitigate this issue, prevent the ntb_netdev module from loading. See https://access.redhat.com/solutions/41278 for instructions on blacklisting kernel modules.
CVSS / CWE
CVSS 3.1 · 5.5CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
CWE-763 · Release of Invalid Pointer or Reference