Import Source
https://github.com/microsoft/AzureLinuxVulnerabilityData/blob/main/osv/AZL-42462.json
JSON Data
https://api.test.osv.dev/v1/vulns/AZL-42462
Upstream
Published
2024-05-30T16:15:15Z
Modified
2026-04-01T05:14:35.489732Z
Severity
  • 5.5 (Medium) CVSS_V3 - CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H CVSS Calculator
Summary
CVE-2024-36925 affecting package kernel for versions less than 6.6.35.1-4
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().

References

Affected packages

Azure Linux:3 / kernel

Package

Name
kernel
Purl
pkg:rpm/azure-linux/kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
6.6.35.1-4

Database specific

source
"https://github.com/microsoft/AzureLinuxVulnerabilityData/blob/main/osv/AZL-42462.json"