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

gpio: zynq: fix runtime PM leak on request error path

pm_runtime_get_sync() leaves the usage counter incremented even when it
fails, and zynq_gpio_request() returns the error without dropping it.

gpiolib does not call ->free() when ->request() fails, so zynq_gpio_free(),
which holds the only matching pm_runtime_put(), never runs. The reference
is leaked and the controller can no longer runtime-suspend, so its clock
stays enabled.

Switch to pm_runtime_resume_and_get(), which only increments the usage
counter on success.
Published: 2026-10-18
Score: 2.5 Low
EPSS: < 1% Very Low
KEV: No
Impact: Resource leak that hampers runtime power‑management suspension, causing continuous power draw
Action: Patch Kernel
AI Analysis

Impact

The kernel’s Zynq GPIO driver has a bug where pm_runtime_get_sync() increments a usage counter even when it fails, and zynq_gpio_request() propagates the error without decrementing this count. This means the normally released reference to the GPIO controller remains held, preventing the controller from being runtime‑suspended. Consequently the controller’s clock stays enabled and the device continues to consume power even though the GPIO access has failed. Based on the description, it is inferred that the leak is only triggered on error paths during GPIO request handling.

Affected Systems

All Linux kernel implementations that ship the unpatched Zynq GPIO driver are affected. The vulnerability resides in the Linux kernel’s Zynq GPIO driver; it applies to any kernel build that includes this driver without the patch. No specific sub‑versions are listed, so any kernel version prior to the commit that introduced pm_runtime_resume_and_get() is vulnerable.

Risk and Exploitability

The CVSS score of 2.5 reflects a low severity, and the EPSS score of less than 1% indicates a small likelihood of exploitation in the wild. The vulnerability is not listed in CISA’s KEV catalog. The likely attack vector is an internal failure of the driver’s runtime‑PM call; an attacker would need to induce a failed GPIO request, which is unlikely in normal use. Based on the description, it is inferred that the attacker would need to trigger a failed GPIO request to realize the leak. Despite the low environmental score, the persistent power‑management leak can accumulate to significant energy loss in battery‑powered deployments. The overall risk is considered low to medium, consisting mainly of increased power consumption rather than direct code execution or denial of service.

Generated by OpenCVE AI on October 20, 2026 at 16:21 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Apply the latest Linux kernel release that includes the commit that changes pm_runtime_get_sync() to pm_runtime_resume_and_get() to prevent the usage counter leak.
  • If a direct kernel upgrade is not possible, rebuild the kernel ensuring that the Zynq GPIO driver contains the patch commit (e.g., 25c08be2a5e7715f19a6e02bbe9b0e5f01c77aac) before installing the module.
  • As an interim measure, disable runtime power management for the Zynq GPIO controller by setting the appropriate sysfs option or adjusting the device tree, which stops the clock from being held until a patch is applied.

Generated by OpenCVE AI on October 20, 2026 at 16:21 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4850-1 linux-6.12 security update
Ubuntu USN Ubuntu USN USN-8961-1 Linux kernel vulnerabilities
History

Tue, 20 Oct 2026 13:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-762
CWE-795

Tue, 20 Oct 2026 00:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-911
References
Metrics threat_severity

None

cvssV3_1

{'score': 2.5, 'vector': 'CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:L'}

threat_severity

Low


Mon, 19 Oct 2026 00:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-762
CWE-795

Sun, 18 Oct 2026 15:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: gpio: zynq: fix runtime PM leak on request error path pm_runtime_get_sync() leaves the usage counter incremented even when it fails, and zynq_gpio_request() returns the error without dropping it. gpiolib does not call ->free() when ->request() fails, so zynq_gpio_free(), which holds the only matching pm_runtime_put(), never runs. The reference is leaked and the controller can no longer runtime-suspend, so its clock stays enabled. Switch to pm_runtime_resume_and_get(), which only increments the usage counter on success.
Title gpio: zynq: fix runtime PM leak on request error path
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-10-19T09:21:08.961Z

Reserved: 2026-09-25T10:25:14.355Z

Link: CVE-2026-98527

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-18T16:17:04.183

Modified: 2026-10-19T10:19:07.990

Link: CVE-2026-98527

cve-icon Redhat

Severity : Low

Publid Date: 2026-10-18T00:00:00Z

Links: CVE-2026-98527 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-20T16:30:06Z

Weaknesses
  • CWE-911

    Improper Update of Reference Count