[<prev] [next>] [day] [month] [year] [list]
Message-ID: <2024061956-CVE-2024-38597-ad49@gregkh>
Date: Wed, 19 Jun 2024 15:46:03 +0200
From: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To: linux-cve-announce@...r.kernel.org
Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Subject: CVE-2024-38597: eth: sungem: remove .ndo_poll_controller to avoid deadlocks
Description
===========
In the Linux kernel, the following vulnerability has been resolved:
eth: sungem: remove .ndo_poll_controller to avoid deadlocks
Erhard reports netpoll warnings from sungem:
netpoll_send_skb_on_dev(): eth0 enabled interrupts in poll (gem_start_xmit+0x0/0x398)
WARNING: CPU: 1 PID: 1 at net/core/netpoll.c:370 netpoll_send_skb+0x1fc/0x20c
gem_poll_controller() disables interrupts, which may sleep.
We can't sleep in netpoll, it has interrupts disabled completely.
Strangely, gem_poll_controller() doesn't even poll the completions,
and instead acts as if an interrupt has fired so it just schedules
NAPI and exits. None of this has been necessary for years, since
netpoll invokes NAPI directly.
The Linux kernel CVE team has assigned CVE-2024-38597 to this issue.
Affected and fixed versions
===========================
Issue introduced in 3.1 with commit fe09bb619096 and fixed in 5.10.219 with commit e22b23f5888a
Issue introduced in 3.1 with commit fe09bb619096 and fixed in 5.15.161 with commit fbeeb55dbb33
Issue introduced in 3.1 with commit fe09bb619096 and fixed in 6.1.93 with commit 476adb3bbbd7
Issue introduced in 3.1 with commit fe09bb619096 and fixed in 6.6.33 with commit 5de5aeb98f9a
Issue introduced in 3.1 with commit fe09bb619096 and fixed in 6.8.12 with commit faf94f1eb8a3
Issue introduced in 3.1 with commit fe09bb619096 and fixed in 6.9.3 with commit 6400d205fbbc
Issue introduced in 3.1 with commit fe09bb619096 and fixed in 6.10-rc1 with commit ac0a230f719b
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-38597
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/sun/sungem.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/e22b23f5888a065d084e87db1eec639c445e677f
https://git.kernel.org/stable/c/fbeeb55dbb33d562149c57e794f06b7414e44289
https://git.kernel.org/stable/c/476adb3bbbd7886e8251d3b9ce2d3c3e680f35d6
https://git.kernel.org/stable/c/5de5aeb98f9a000adb0db184e32765e4815d860b
https://git.kernel.org/stable/c/faf94f1eb8a34b2c31b2042051ef36f63420ecce
https://git.kernel.org/stable/c/6400d205fbbcbcf9b8510157e1f379c1d7e2e937
https://git.kernel.org/stable/c/ac0a230f719b02432d8c7eba7615ebd691da86f4
Powered by blists - more mailing lists