---
id: CVE-2026-98657
title: >-
  iio: proximity: pulsedlight: fix iio_device left registered on PM setup
  failure
summary: >-
  In the Linux kernel, the following vulnerability has been resolved:


  iio: proximity: pulsedlight: fix iio_device left registered on PM setup
  failure


  pm_runtime_set_active() failing in probe() jumps to error_unreg_buffer,

  which only call…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 4ac4e086fd8c59e6b69089e6f7605500b63a6d17 <
    06fa13c53442257b94ea1519555ceddaaea57e0d
  - >-
    Linux >= 4ac4e086fd8c59e6b69089e6f7605500b63a6d17 <
    20ebd7f4e35c0a737f011bc83aeb0cdd37507648
  - >-
    Linux >= 4ac4e086fd8c59e6b69089e6f7605500b63a6d17 <
    e462b47b9637b8c0285f4a38b5af9a322847d164
  - >-
    Linux >= 4ac4e086fd8c59e6b69089e6f7605500b63a6d17 <
    4daa9ca557b4b98ae1ad38a6d1deaa3e31eb8edf
  - Linux 4.5
published: '2026-10-18'
updated: '2026-10-18'
sourceUpdated: '2026-10-18T15:44:09.808Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-98657'
references:
  - url: 'https://git.kernel.org/stable/c/06fa13c53442257b94ea1519555ceddaaea57e0d'
  - url: 'https://git.kernel.org/stable/c/20ebd7f4e35c0a737f011bc83aeb0cdd37507648'
  - url: 'https://git.kernel.org/stable/c/e462b47b9637b8c0285f4a38b5af9a322847d164'
  - url: 'https://git.kernel.org/stable/c/4daa9ca557b4b98ae1ad38a6d1deaa3e31eb8edf'
tags:
  - cve.org
ingestedAt: '2026-10-18T16:47:32.536Z'
---

## Overview

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

iio: proximity: pulsedlight: fix iio_device left registered on PM setup failure

pm_runtime_set_active() failing in probe() jumps to error_unreg_buffer,
which only calls iio_triggered_buffer_cleanup() -- it does not undo the
iio_device_register() that already succeeded a few lines above. probe()
then returns the error, the devm-managed indio_dev is freed, but the
iio core still has it registered: the sysfs/chardev nodes stay live and
point at freed memory.

Add an error_unreg_dev label that unregisters the iio device before
falling through to the existing buffer cleanup, mirroring the teardown
order already used in lidar_remove().

## Affected

- `Linux >= 4ac4e086fd8c59e6b69089e6f7605500b63a6d17 < 06fa13c53442257b94ea1519555ceddaaea57e0d`
- `Linux >= 4ac4e086fd8c59e6b69089e6f7605500b63a6d17 < 20ebd7f4e35c0a737f011bc83aeb0cdd37507648`
- `Linux >= 4ac4e086fd8c59e6b69089e6f7605500b63a6d17 < e462b47b9637b8c0285f4a38b5af9a322847d164`
- `Linux >= 4ac4e086fd8c59e6b69089e6f7605500b63a6d17 < 4daa9ca557b4b98ae1ad38a6d1deaa3e31eb8edf`
- `Linux 4.5`

## Remediation

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