CVE-2023-53706

Source
https://nvd.nist.gov/vuln/detail/CVE-2023-53706
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2023-53706.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2023-53706
Downstream
Published
2025-10-22T13:23:43.228Z
Modified
2025-11-20T02:35:30.880703Z
Summary
mm/vmemmap/devdax: fix kernel crash when probing devdax devices
Details

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

mm/vmemmap/devdax: fix kernel crash when probing devdax devices

commit 4917f55b4ef9 ("mm/sparse-vmemmap: improve memory savings for compound devmaps") added support for using optimized vmmemap for devdax devices. But how vmemmap mappings are created are architecture specific. For example, powerpc with hash translation doesn't have vmemmap mappings in init_mm page table instead they are bolted table entries in the hardware page table

vmemmappopulatecompoundpages() used by vmemmap optimization code is not aware of these architecture-specific mapping. Hence allow architecture to opt for this feature. I selected architectures supporting HUGETLBPAGEOPTIMIZEVMEMMAP option as also supporting this feature.

This patch fixes the below crash on ppc64.

BUG: Unable to handle kernel data access on write at 0xc00c000100400038 Faulting instruction address: 0xc000000001269d90 Oops: Kernel access of bad area, sig: 11 [#1] LE PAGESIZE=64K MMU=Hash SMP NRCPUS=2048 NUMA pSeries Modules linked in: CPU: 7 PID: 1 Comm: swapper/0 Not tainted 6.3.0-rc5-150500.34-default+ #2 5c90a668b6bbd142599890245c2fb5de19d7d28a Hardware name: IBM,9009-42G POWER9 (raw) 0x4e0202 0xf000005 of:IBM,FW950.40 (VL950099) hv:phyp pSeries NIP: c000000001269d90 LR: c0000000004c57d4 CTR: 0000000000000000 REGS: c000000003632c30 TRAP: 0300 Not tainted (6.3.0-rc5-150500.34-default+) MSR: 8000000000009033 <SF,EE,ME,IR,DR,RI,LE> CR: 24842228 XER: 00000000 CFAR: c0000000004c57d0 DAR: c00c000100400038 DSISR: 42000000 IRQMASK: 0 .... NIP [c000000001269d90] _initsinglepage.isra.74+0x14/0x4c LR [c0000000004c57d4] _initzonedevicepage+0x44/0xd0 Call Trace: [c000000003632ed0] [c000000003632f60] 0xc000000003632f60 (unreliable) [c000000003632f10] [c0000000004c5ca0] memmapinitzonedevice+0x170/0x250 [c000000003632fe0] [c0000000005575f8] memremappages+0x2c8/0x7f0 [c0000000036330c0] [c000000000557b5c] devmmemremappages+0x3c/0xa0 [c000000003633100] [c000000000d458a8] devdaxprobe+0x108/0x3e0 [c0000000036331a0] [c000000000d41430] daxbusprobe+0xb0/0x140 [c0000000036331d0] [c000000000cef27c] reallyprobe+0x19c/0x520 [c000000003633260] [c000000000cef6b4] _driverprobedevice+0xb4/0x230 [c0000000036332e0] [c000000000cef888] driverprobedevice+0x58/0x120 [c000000003633320] [c000000000cefa6c] _deviceattachdriver+0x11c/0x1e0 [c0000000036333a0] [c000000000cebc58] busforeachdrv+0xa8/0x130 [c000000003633400] [c000000000ceefcc] _deviceattach+0x15c/0x250 [c0000000036334a0] [c000000000ced458] busprobedevice+0x108/0x110 [c0000000036334f0] [c000000000ce92dc] deviceadd+0x7fc/0xa10 [c0000000036335b0] [c000000000d447c8] devmcreatedevdax+0x1d8/0x530 [c000000003633640] [c000000000d46b60] _daxpmemprobe+0x200/0x270 [c0000000036337b0] [c000000000d46bf0] daxpmemprobe+0x20/0x70 [c0000000036337d0] [c000000000d2279c] nvdimmbusprobe+0xac/0x2b0 [c000000003633860] [c000000000cef27c] reallyprobe+0x19c/0x520 [c0000000036338f0] [c000000000cef6b4] _driverprobedevice+0xb4/0x230 [c000000003633970] [c000000000cef888] driverprobedevice+0x58/0x120 [c0000000036339b0] [c000000000cefd08] _driverattach+0x1d8/0x240 [c000000003633a30] [c000000000cebb04] busforeachdev+0xb4/0x130 [c000000003633a90] [c000000000cee564] driverattach+0x34/0x50 [c000000003633ab0] [c000000000ced878] busadddriver+0x218/0x300 [c000000003633b40] [c000000000cf1144] driverregister+0xa4/0x1b0 [c000000003633bb0] [c000000000d21a0c] _nddriverregister+0x5c/0x100 [c000000003633c10] [c00000000206a2e8] daxpmeminit+0x34/0x48 [c000000003633c30] [c0000000000132d0] dooneinitcall+0x60/0x320 [c000000003633d00] [c0000000020051b0] kernelinitfreeable+0x360/0x400 [c000000003633de0] [c000000000013764] kernelinit+0x34/0x1d0 [c000000003633e50] [c00000000000de14] retfromkernel_thread+0x5c/0x64

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
4917f55b4ef963e2d2288fe4eb651728be8db406
Fixed
8f4603588acf5807aa1f1b4b1ea2b0365acd71f0
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
4917f55b4ef963e2d2288fe4eb651728be8db406
Fixed
87a7ae75d7383afa998f57656d1d14e2a730cc47

Affected versions

v5.*

v5.18
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.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
v6.3.4

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
5.19.0
Fixed
6.3.5