CVE-2025-39674

Source
https://nvd.nist.gov/vuln/detail/CVE-2025-39674
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2025-39674.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2025-39674
Downstream
Published
2025-09-05T17:20:39.859Z
Modified
2025-12-02T17:45:06.843634Z
Summary
scsi: ufs: ufs-qcom: Fix ESI null pointer dereference
Details

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

scsi: ufs: ufs-qcom: Fix ESI null pointer dereference

ESI/MSI is a performance optimization feature that provides dedicated interrupts per MCQ hardware queue. This is optional feature and UFS MCQ should work with and without ESI feature.

Commit e46a28cea29a ("scsi: ufs: qcom: Remove the MSI descriptor abuse") brings a regression in ESI (Enhanced System Interrupt) configuration that causes a null pointer dereference when Platform MSI allocation fails.

The issue occurs in when platformdevicemsiinitandallocirqs() in ufsqcomconfigesi() fails (returns -EINVAL) but the current code uses _free() macro for automatic cleanup free MSI resources that were never successfully allocated.

Unable to handle kernel NULL pointer dereference at virtual address 0000000000000008

Call trace: mutexlock+0xc/0x54 (P) platformdevicemsifreeirqsall+0x1c/0x40 ufsqcomconfigesi+0x1d0/0x220 [ufsqcom] ufshcdconfigmcq+0x28/0x104 ufshcdinit+0xa3c/0xf40 ufshcdpltfrminit+0x504/0x7d4 ufsqcomprobe+0x20/0x58 [ufsqcom]

Fix by restructuring the ESI configuration to try MSI allocation first, before any other resource allocation and instead use explicit cleanup instead of __free() macro to avoid cleanup of unallocated resources.

Tested on SM8750 platform with MCQ enabled, both with and without Platform ESI support.

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/39xxx/CVE-2025-39674.json"
}
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
e46a28cea29a0ca7d51c811acccf5d119b40c745
Fixed
aaf17a35a59572c8b29372883619c3dbb0ebb50a
Fixed
6300d5c5438724c0876828da2f6e2c1a661871fc

Affected versions

v6.*

v6.15
v6.15-rc2
v6.15-rc3
v6.15-rc4
v6.15-rc5
v6.15-rc6
v6.15-rc7
v6.16
v6.16-rc1
v6.16-rc2
v6.16-rc3
v6.16-rc4
v6.16-rc5
v6.16-rc6
v6.16-rc7
v6.16.1
v6.16.2
v6.16.3
v6.17-rc1

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
6.16.0
Fixed
6.16.4