[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20240229155245.1571576-39-lee@kernel.org>
Date: Thu, 29 Feb 2024 15:52:58 +0000
From: Lee Jones <lee@...nel.org>
To: linux-cve-announce@...r.kernel.org
Cc: Lee Jones <lee@...nel.org>
Subject: CVE-2023-52498: PM: sleep: Fix possible deadlocks in core system-wide PM code
Description
===========
In the Linux kernel, the following vulnerability has been resolved:
PM: sleep: Fix possible deadlocks in core system-wide PM code
It is reported that in low-memory situations the system-wide resume core
code deadlocks, because async_schedule_dev() executes its argument
function synchronously if it cannot allocate memory (and not only in
that case) and that function attempts to acquire a mutex that is already
held. Executing the argument function synchronously from within
dpm_async_fn() may also be problematic for ordering reasons (it may
cause a consumer device's resume callback to be invoked before a
requisite supplier device's one, for example).
Address this by changing the code in question to use
async_schedule_dev_nocall() for scheduling the asynchronous
execution of device suspend and resume functions and to directly
run them synchronously if async_schedule_dev_nocall() returns false.
The Linux kernel CVE team has assigned CVE-2023-52498 to this issue.
Affected and fixed versions
===========================
Fixed in 5.10.210 with commit f46eb832389f
Fixed in 5.15.149 with commit a1d62c775b07
Fixed in 6.1.76 with commit e1c9d32c9830
Fixed in 6.6.15 with commit e681e29d1f59
Fixed in 6.7.3 with commit 9bd3dce27b01
Fixed in 6.8-rc1 with commit 7839d0078e0d
Please see https://www.kernel.org or 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-2023-52498
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/base/power/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/f46eb832389f162ad13cb780d0b8cde93641990d
https://git.kernel.org/stable/c/a1d62c775b07213c73f81ae842424c74dd14b5f0
https://git.kernel.org/stable/c/e1c9d32c98309ae764893a481552d3f99d46cb34
https://git.kernel.org/stable/c/e681e29d1f59a04ef773296e4bebb17b1b79f8fe
https://git.kernel.org/stable/c/9bd3dce27b01c51295b60e1433e1dadfb16649f7
https://git.kernel.org/stable/c/7839d0078e0d5e6cc2fa0b0dfbee71de74f1e557
Powered by blists - more mailing lists