CVE-2024-36925

Source
https://cve.org/CVERecord?id=CVE-2024-36925
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2024-36925.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2024-36925
Downstream
Related
Published
2024-05-30T15:29:19.111Z
Modified
2026-03-14T12:34:15.911659Z
Summary
swiotlb: initialise restricted pool list_head when SWIOTLB_DYNAMIC=y
Details

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

swiotlb: initialise restricted pool listhead when SWIOTLBDYNAMIC=y

Using restricted DMA pools (CONFIGDMARESTRICTEDPOOL=y) in conjunction with dynamic SWIOTLB (CONFIGSWIOTLB_DYNAMIC=y) leads to the following crash when initialising the restricted pools at boot-time:

| Unable to handle kernel NULL pointer dereference at virtual address 0000000000000008 | Internal error: Oops: 0000000096000005 [#1] PREEMPT SMP | pc : rmemswiotlbdeviceinit+0xfc/0x1ec | lr : rmemswiotlbdeviceinit+0xf0/0x1ec | Call trace: | rmemswiotlbdeviceinit+0xfc/0x1ec | ofreservedmemdeviceinitbyidx+0x18c/0x238 | ofdmaconfigureid+0x31c/0x33c | platformdmaconfigure+0x34/0x80

faddr2line reveals that the crash is in the list validation code:

include/linux/list.h:83 include/linux/rculist.h:79 include/linux/rculist.h:106 kernel/dma/swiotlb.c:306 kernel/dma/swiotlb.c:1695

because addmempool() is trying to listaddrcu() to a NULL 'mem->pools'.

Fix the crash by initialising the 'mem->pools' listhead in rmemswiotlbdeviceinit() before calling addmempool().

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/36xxx/CVE-2024-36925.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
1aaa736815eb04f4dae3f0b3e977b2a0677a4cfb
Fixed
f2a6b3ed20f2dea4cb645abc6a73c4595662adca
Fixed
f62e0fefcdfe2c05ccb1aa80521a69524eea9c84
Fixed
75961ffb5cb3e5196f19cae7683f35cc88b50800

Database specific

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