CVE-2026-45981

s390/cio: Fix device lifecycle handling in css_alloc_subchannel()

published May 27, 2026

CVSS
—
EPSS
0%
Percentile
5.7
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00167 · 5.7th percentile
Published
2026-05-27T12:18Z
EPSS history
Timeline
  • 27 MAY 12:18Z
    s390/cio: Fix device lifecycle handling in css_alloc_subchannel()
    cvelistv5