Home

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.

PUBLISHED Reserved 2026-03-09 | Published 2026-05-01 | Updated 2026-05-01 | Assigner Linux

Product status

Default status
unaffected

aab5c6f200238ac45001bec3d5494fff8438a8dc (git) before f0cf9c7b7c281956cc0dec163132cd96f76e1d60
affected

aab5c6f200238ac45001bec3d5494fff8438a8dc (git) before fb4584d2b324c522404c733c65840a1a6519ada8
affected

aab5c6f200238ac45001bec3d5494fff8438a8dc (git) before 16fdabe143fce2cbf89139677728e17e21b46c28
affected

Default status
affected

6.9
affected

Any version before 6.9
unaffected

6.18.22 (semver)
unaffected

6.19.12 (semver)
unaffected

7.0 (original_commit_for_fix)
unaffected

References

git.kernel.org/...c/f0cf9c7b7c281956cc0dec163132cd96f76e1d60

git.kernel.org/...c/fb4584d2b324c522404c733c65840a1a6519ada8

git.kernel.org/...c/16fdabe143fce2cbf89139677728e17e21b46c28

cve.org (CVE-2026-31732)

nvd.nist.gov (CVE-2026-31732)

Download JSON