---
id: CVE-2022-50307
title: 's390/cio: fix out-of-bounds access on cio_ignore free'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  s390/cio: fix out-of-bounds access on cio_ignore free

  The channel-subsystem-driver scans for newly available devices whenever
  device-IDs are removed from the cio_ignor…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 172da89ed0eaf9d9348f5decb86ad04c624b39d1 <
    0e501fd0f38e42304bfa0d46a812d93f80294a87
  - >-
    Linux >= 172da89ed0eaf9d9348f5decb86ad04c624b39d1 <
    106ab66cf5467726ca5ead51623043d37c06820a
  - >-
    Linux >= 172da89ed0eaf9d9348f5decb86ad04c624b39d1 <
    1b6074112742f65ece71b0f299ca5a6a887d2db6
  - Linux 5.15
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2026-11-05T20:09:25.829483Z'
published: '2025-09-15'
updated: '2026-11-05'
sourceUpdated: '2026-11-05T20:10:34.054Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2022-50307'
references:
  - url: 'https://git.kernel.org/stable/c/0e501fd0f38e42304bfa0d46a812d93f80294a87'
  - url: 'https://git.kernel.org/stable/c/106ab66cf5467726ca5ead51623043d37c06820a'
  - url: 'https://git.kernel.org/stable/c/1b6074112742f65ece71b0f299ca5a6a887d2db6'
tags:
  - cve.org
epss: 0.00161
epssPercentile: 0.05319
ingestedAt: '2026-11-05T22:38:31.723Z'
---

## Overview

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

s390/cio: fix out-of-bounds access on cio_ignore free

The channel-subsystem-driver scans for newly available devices whenever
device-IDs are removed from the cio_ignore list using a command such as:

  echo free >/proc/cio_ignore

Since an I/O device scan might interfer with running I/Os, commit
172da89ed0ea ("s390/cio: avoid excessive path-verification requests")
introduced an optimization to exclude online devices from the scan.

The newly added check for online devices incorrectly assumes that
an I/O-subchannel's drvdata points to a struct io_subchannel_private.
For devices that are bound to a non-default I/O subchannel driver, such
as the vfio_ccw driver, this results in an out-of-bounds read access
during each scan.

Fix this by changing the scan logic to rely on a driver-independent
online indication. For this we can use struct subchannel->config.ena,
which is the driver's requested subchannel-enabled state. Since I/Os
can only be started on enabled subchannels, this matches the intent
of the original optimization of not scanning devices where I/O might
be running.

## Affected

- `Linux >= 172da89ed0eaf9d9348f5decb86ad04c624b39d1 < 0e501fd0f38e42304bfa0d46a812d93f80294a87`
- `Linux >= 172da89ed0eaf9d9348f5decb86ad04c624b39d1 < 106ab66cf5467726ca5ead51623043d37c06820a`
- `Linux >= 172da89ed0eaf9d9348f5decb86ad04c624b39d1 < 1b6074112742f65ece71b0f299ca5a6a887d2db6`
- `Linux 5.15`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
