CVE-2023-54117

s390/dcssblk: fix kernel crash with list_add corruption

N/A
Published: December 24, 2025 at 01:06 PM UTC
Updated: June 17, 2026 at 06:46 AM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
N/A
Exploit prediction
EPSS 0.2%

Description

In the Linux kernel, the following vulnerability has been resolved: s390/dcssblk: fix kernel crash with list_add corruption Commit fb08a1908cb1 ("dax: simplify the dax_device <-> gendisk association") introduced new logic for gendisk association, requiring drivers to explicitly call dax_add_host() and dax_remove_host(). For dcssblk driver, some dax_remove_host() calls were missing, e.g. in device remove path. The commit also broke error handling for out_dax case in device add path, resulting in an extra put_device() w/o the previous get_device() in that case. This lead to stale xarray entries after device add / remove cycles. In the case when a previously used struct gendisk pointer (xarray index) would be used again, because blk_alloc_disk() happened to return such a pointer, the xa_insert() in dax_add_host() would fail and go to out_dax, doing the extra put_device() in the error path. In combination with an already flawed error handling in dcssblk (device_register() cleanup), which needs to be addressed in a separate patch, this resulted in a missing device_del() / klist_del(), and eventually in the kernel crash with list_add corruption on a subsequent device_add() / klist_add(). Fix this by adding the missing dax_remove_host() calls, and also move the put_device() in the error path to restore the previous logic.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

5.17 ≤ v < 6.1.535.17 ≤ v < 6.4.165.17 ≤ v < 6.5.35.17 ≤ v < 6.65.17fb08a1908cb119a4585611d91461ab6d27756b14
Vendor states this is fixed in 6489ec0107860345bc57dcde39e63dfb05ac5c11 (fixed)
Vendor states this is fixed in b5c531a9a7d8e047c90c909f09cef06a9f8e62f4 (fixed)
Vendor states this is fixed in b7ad75c77349beb4983b9f27108d9b3f33ae1413 (fixed)
Vendor states this is fixed in c8f40a0bccefd613748d080147469a4652d6e74c (fixed)
Vendor states this is fixed in 5.17 (unaffected)
Vendor states this is fixed in 6.1.53 (unaffected)
Vendor states this is fixed in 6.4.16 (unaffected)
Vendor states this is fixed in 6.5.3 (unaffected)
Vendor states this is fixed in 6.6 (unaffected)

Remediation

No guide yet

No remediation guidance has been written for this CVE yet, and no fixed version or vendor advisory is recorded against it.

Quick Info

StatusDEFERRED

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card