[<prev] [next>] [day] [month] [year] [list]
Message-ID: <2024111902-CVE-2024-50297-7693@gregkh>
Date: Tue, 19 Nov 2024 02:32:52 +0100
From: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To: linux-cve-announce@...r.kernel.org
Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Subject: CVE-2024-50297: net: xilinx: axienet: Enqueue Tx packets in dql before dmaengine starts
Description
===========
In the Linux kernel, the following vulnerability has been resolved:
net: xilinx: axienet: Enqueue Tx packets in dql before dmaengine starts
Enqueue packets in dql after dma engine starts causes race condition.
Tx transfer starts once dma engine is started and may execute dql dequeue
in completion before it gets queued. It results in following kernel crash
while running iperf stress test:
kernel BUG at lib/dynamic_queue_limits.c:99!
<snip>
Internal error: Oops - BUG: 00000000f2000800 [#1] SMP
pc : dql_completed+0x238/0x248
lr : dql_completed+0x3c/0x248
Call trace:
dql_completed+0x238/0x248
axienet_dma_tx_cb+0xa0/0x170
xilinx_dma_do_tasklet+0xdc/0x290
tasklet_action_common+0xf8/0x11c
tasklet_action+0x30/0x3c
handle_softirqs+0xf8/0x230
<snip>
Start dmaengine after enqueue in dql fixes the crash.
The Linux kernel CVE team has assigned CVE-2024-50297 to this issue.
Affected and fixed versions
===========================
Issue introduced in 6.8 with commit 6a91b846af85 and fixed in 6.11.8 with commit def3dee25cbd
Issue introduced in 6.8 with commit 6a91b846af85 and fixed in 6.12 with commit 5ccdcdf186ae
Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.
Unaffected versions might change over time as fixes are backported to
older supported kernel versions. The official CVE entry at
https://cve.org/CVERecord/?id=CVE-2024-50297
will be updated if fixes are backported, please check that for the most
up to date information about this issue.
Affected files
==============
The file(s) affected by this issue are:
drivers/net/ethernet/xilinx/xilinx_axienet_main.c
Mitigation
==========
The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes. Individual
changes are never tested alone, but rather are part of a larger kernel
release. Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all. If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
https://git.kernel.org/stable/c/def3dee25cbd1c9b2ed443c3f6180e952563de77
https://git.kernel.org/stable/c/5ccdcdf186aec6b9111845fd37e1757e9b413e2f
Powered by blists - more mailing lists