CVE-2026-45981 Details
Description
In the Linux kernel, the following vulnerability has been resolved: s390/cio: Fix device lifecycle handling in css_alloc_subchannel() `css_alloc_subchannel()` calls `device_initialize()` before setting up the DMA masks. If `dma_set_coherent_mask()` or `dma_set_mask()` fails, the error path frees the subchannel structure directly, bypassing the device model reference counting. Once `device_initialize()` has been called, the embedded struct device must be released via `put_device()`, allowing the release callback to free the container structure. Fix the error path by dropping the initial device reference with `put_device()` instead of calling `kfree()` directly. This ensures correct device lifetime handling and avoids potential use-after-free or double-free issues.
A vulnerability in the Linux kernel's handling of device lifecycles has been identified in the S390 architecture, specifically within the subchannel allocation function. The issue arises because the function `css_alloc_subchannel()` calls `device_initialize()` before properly setting up the Direct Memory Access (DMA) masks. If the DMA mask settings fail, the function currently frees the subchannel structure without following the correct device model reference counting process. This oversight can lead to improper management of the device's lifecycle, potentially causing use-after-free or double-free vulnerabilities.
The vulnerability has been addressed by modifying the error handling path to use `put_device()` to release the device reference instead of freeing the subchannel structure with `kfree()`. This change ensures that the device lifecycle is managed correctly, allowing the release callback to free the associated container structure.
Metrics
CVSS 4.0 Severity and Vector Strings:
No CVSS 4.0 data is available for this CVE.
CVSS 3.x Severity and Vector Strings:
No data available for CVSS Version 2.0 on this CVE.
No SSVC data is available for this CVE.
References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.
| URL | Source(s) | Tag(s) |
|---|---|---|
| https://git.kernel.org/stable/c/6715560527e343a387e4a0d2e6c401748e89fa55 | kernel.org | Patch |
| https://git.kernel.org/stable/c/abb6e07f46a740cda4f07d1b561ae4eaa7a1df42 | kernel.org | Patch |
| https://git.kernel.org/stable/c/c35cfbb5341ba05ad1b4476ffc3c21cc3ff8f603 | kernel.org | Patch |
| https://git.kernel.org/stable/c/f65c75b0b9b5a390bc3beadcde0a6fbc3ad118f7 | kernel.org | Patch |
| https://git.kernel.org/stable/c/f96c5ccf95ae5f27218c1ce2d6a3ad2d3e105424 | kernel.org | Patch |
Weakness Enumeration
| CWE-ID | CWE Name | Source |
|---|---|---|
| CWE-401 | Missing Release of Memory after Effective Lifetime | [email protected] |
Affected Products
| Product | Versions |
|---|---|
| linux linux kernel | >= 3.10, < 6.6.128 >= 6.7, < 6.12.75 >= 6.13, < 6.18.14 >= 6.19, < 6.19.4 |
CPE
Remediation
| |
Change History
4 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Jun 17, 2026 | CVE Modified | kernel.org |
| Jun 16, 2026 | Initial Analysis | [email protected] |
| Jun 1, 2026 | CVE Modified | kernel.org |
| May 27, 2026 | New CVE Received | kernel.org |