CVE-2023-54259

Source
https://cve.org/CVERecord?id=CVE-2023-54259
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2023-54259.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2023-54259
Downstream
Published
2025-12-30T12:15:53.540Z
Modified
2026-01-05T21:19:49.697870Z
Summary
soundwire: bus: Fix unbalanced pm_runtime_put() causing usage count underflow
Details

In the Linux kernel, the following vulnerability has been resolved:

soundwire: bus: Fix unbalanced pmruntimeput() causing usage count underflow

This reverts commit 443a98e649b4 ("soundwire: bus: use pmruntimeresumeandget()")

Change calls to pmruntimeresumeandget() back to pmruntimegetsync(). This fixes a usage count underrun caused by doing a pmruntimeput() even though pmruntimeresumeand_get() returned an error.

The three affected functions ignore -EACCES error from trying to get pmruntime, and carry on, including a put at the end of the function. But pmruntimeresumeandget() does not increment the usage count if it returns an error. So in the -EACCES case you must not call pmruntime_put().

The documentation for pmruntimegetsync() says: "Consider using pmruntimeresumeand_get() ... as this is likely to result in cleaner code."

In this case I don't think it results in cleaner code because the pmruntimeput() at the end of the function would have to be conditional on the return value from pmruntimeresumeandget() at the top of the function.

pmruntimegetsync() doesn't have this problem because it always increments the count, so always needs a put. The code can just flow through and do the pmruntime_put() unconditionally.

Database specific
{
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/54xxx/CVE-2023-54259.json",
    "cna_assigner": "Linux"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
443a98e649b469b4e6a2832799853a5764ef9002
Fixed
4e5e9da139c007dfc397a159093b4c4187ee67fa
Fixed
203aa4374c433159f163acde2d0bd4118f23bbaf
Fixed
e9537962519e88969f5f69cd0571eb4f6984403c

Affected versions

v5.*
v5.18
v5.18-rc2
v5.18-rc3
v5.18-rc4
v5.18-rc5
v5.18-rc6
v5.18-rc7
v5.19
v5.19-rc1
v5.19-rc2
v5.19-rc3
v5.19-rc4
v5.19-rc5
v5.19-rc6
v5.19-rc7
v5.19-rc8
v6.*
v6.0
v6.0-rc1
v6.0-rc2
v6.0-rc3
v6.0-rc4
v6.0-rc5
v6.0-rc6
v6.0-rc7
v6.1
v6.1-rc1
v6.1-rc2
v6.1-rc3
v6.1-rc4
v6.1-rc5
v6.1-rc6
v6.1-rc7
v6.1-rc8
v6.1.1
v6.1.10
v6.1.11
v6.1.12
v6.1.13
v6.1.14
v6.1.15
v6.1.16
v6.1.17
v6.1.18
v6.1.19
v6.1.2
v6.1.20
v6.1.21
v6.1.22
v6.1.23
v6.1.24
v6.1.25
v6.1.26
v6.1.27
v6.1.28
v6.1.29
v6.1.3
v6.1.4
v6.1.5
v6.1.6
v6.1.7
v6.1.8
v6.1.9
v6.2
v6.2-rc1
v6.2-rc2
v6.2-rc3
v6.2-rc4
v6.2-rc5
v6.2-rc6
v6.2-rc7
v6.2-rc8
v6.3
v6.3-rc1
v6.3-rc2
v6.3-rc3
v6.3-rc4
v6.3-rc5
v6.3-rc6
v6.3-rc7
v6.3.1
v6.3.2
v6.3.3

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2023-54259.json"

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
5.19.0
Fixed
6.1.30
Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.3.4

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2023-54259.json"