gpio: Fix resource leaks on errors in gpiochip_add_data_with_key() (Linux Linux)

CVE-2026-31732
MEDIUM 5.5

At a glance

Source
NVD
EPSS
EPSS 0.12 % · percentile 2 ()
State
PUBLISHED
Published
Updated
Assigner
Linux
NVD status
Modified

Description

In the Linux kernel, the following vulnerability has been resolved: gpio: Fix resource leaks on errors in gpiochip_add_data_with_key() Since commit aab5c6f20023 ("gpio: set device type for GPIO chips"), `gdev->dev.release` is unset. As a result, the reference count to `gdev->dev` isn't dropped on the error handling paths. Drop the reference on errors. Also reorder the instructions to make the error handling simpler. Now gpiochip_add_data_with_key() roughly looks like: >>> Some memory allocation. Go to ERR ZONE 1 on errors. >>> device_initialize(). gpiodev_release() takes over the responsibility for freeing the resources of `gdev->dev`. The subsequent error handling paths shouldn't go through ERR ZONE 1 again which leads to double free. >>> Some initialization mainly on `gdev`. >>> The rest of initialization. Go to ERR ZONE 2 on errors. >>> Chip registration success and exit. >>> ERR ZONE 2. gpio_device_put() and exit. >>> ERR ZONE 1.

Weaknesses (CWE)

  • CWE-401 — Missing Release of Memory after Effective Lifetime

References

Scores

VersionScoreVectorScored by
CVSS 3.1MEDIUM 5.5CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:HNVD · nvd@nist.gov (Primary)

European references

CERT-FR advisories

Affected configurations (NVD CPE)

Affected products

ProductVersions
Linux · Linuxaffected aab5c6f200238ac45001bec3d5494fff8438a8dc < a500e1837c4266ddb05b39b3e1cc71f49a43ffa5 ; affected aab5c6f200238ac45001bec3d5494fff8438a8dc < f0cf9c7b7c281956cc0dec163132cd96f76e1d60 ; affected aab5c6f200238ac45001bec3d5494fff8438a8dc < fb4584d2b324c522404c733c65840a1a6519ada8 ; affected aab5c6f200238ac45001bec3d5494fff8438a8dc < 16fdabe143fce2cbf89139677728e17e21b46c28
Linux · Linuxaffected 6.9 ; unaffected 0 < 6.9 ; unaffected 6.12.95 ≤ 6.12.* ; unaffected 6.18.22 ≤ 6.18.* ; unaffected 6.19.12 ≤ 6.19.* ; unaffected 7.0 ≤ *

Sources

SourceLicence
CVE List (CVEProject cvelistV5)CVE Program Terms of Use
EPSS (FIRST.org)FIRST — attribution requested
ENISA EUVDENISA — reproduction authorised, source acknowledged
CERT-FR (ANSSI)Licence Ouverte / Etalab 2.0
NVD (NIST) via fkie-cad/nvd-json-data-feedsPublic domain — this product uses data from the NVD API but is not endorsed or certified by the NVD