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.
Metrics
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:HWeakness enumeration
Affected software
No affected versions have been published.
Timeline
- Published
- May 27, 2026
- Last modified
- Jun 17, 2026
- NVD status
- Analyzed