๐Ÿ” CVE Alert

CVE-2025-21943

MEDIUM 4.7

gpio: aggregator: protect driver attr handlers against module unload

CVSS Score
4.7
EPSS Score
0.0%
EPSS Percentile
0th

In the Linux kernel, the following vulnerability has been resolved: gpio: aggregator: protect driver attr handlers against module unload Both new_device_store and delete_device_store touch module global resources (e.g. gpio_aggregator_lock). To prevent race conditions with module unload, a reference needs to be held. Add try_module_get() in these handlers. For new_device_store, this eliminates what appears to be the most dangerous scenario: if an id is allocated from gpio_aggregator_idr but platform_device_register has not yet been called or completed, a concurrent module unload could fail to unregister/delete the device, leaving behind a dangling platform device/GPIO forwarder. This can result in various issues. The following simple reproducer demonstrates these problems: #!/bin/bash while :; do # note: whether 'gpiochip0 0' exists or not does not matter. echo 'gpiochip0 0' > /sys/bus/platform/drivers/gpio-aggregator/new_device done & while :; do modprobe gpio-aggregator modprobe -r gpio-aggregator done & wait Starting with the following warning, several kinds of warnings will appear and the system may become unstable: ------------[ cut here ]------------ list_del corruption, ffff888103e2e980->next is LIST_POISON1 (dead000000000100) WARNING: CPU: 1 PID: 1327 at lib/list_debug.c:56 __list_del_entry_valid_or_report+0xa3/0x120 [...] RIP: 0010:__list_del_entry_valid_or_report+0xa3/0x120 [...] Call Trace: <TASK> ? __list_del_entry_valid_or_report+0xa3/0x120 ? __warn.cold+0x93/0xf2 ? __list_del_entry_valid_or_report+0xa3/0x120 ? report_bug+0xe6/0x170 ? __irq_work_queue_local+0x39/0xe0 ? handle_bug+0x58/0x90 ? exc_invalid_op+0x13/0x60 ? asm_exc_invalid_op+0x16/0x20 ? __list_del_entry_valid_or_report+0xa3/0x120 gpiod_remove_lookup_table+0x22/0x60 new_device_store+0x315/0x350 [gpio_aggregator] kernfs_fop_write_iter+0x137/0x1f0 vfs_write+0x262/0x430 ksys_write+0x60/0xd0 do_syscall_64+0x6c/0x180 entry_SYSCALL_64_after_hwframe+0x76/0x7e [...] </TASK> ---[ end trace 0000000000000000 ]---

Vendor linux
Product linux
Ecosystems
Industries
Technology
Published Apr 1, 2025
Last Updated May 11, 2026
Stay Ahead of the Next One

Get instant alerts for linux linux

Be the first to know when new medium vulnerabilities affecting linux linux are published โ€” delivered to Slack, Telegram or Discord.

Get Free Alerts โ†’ Free ยท No credit card ยท 60 sec setup

Affected Versions

Linux / Linux
828546e24280f721350a7a0dcc92416e917b4382 < fd6aa1f8cbe0979eb66ac32ebc231bf0b10a2117 828546e24280f721350a7a0dcc92416e917b4382 < 807789018186cf508ceb3a1f8f02935cd195717b 828546e24280f721350a7a0dcc92416e917b4382 < 9334c88fc2fbc6836b307d269fcc1744c69701c0 828546e24280f721350a7a0dcc92416e917b4382 < d99dc8f7ea01ee1b21306e0eda8eb18a4af80db6 828546e24280f721350a7a0dcc92416e917b4382 < 8fb07fb1bba91d45846ed8605c3097fe67a7d54c 828546e24280f721350a7a0dcc92416e917b4382 < 56281a76b805b5ac61feb5d580139695a22f87f0 828546e24280f721350a7a0dcc92416e917b4382 < 12f65d1203507f7db3ba59930fe29a3b8eee9945
Linux / Linux
5.8

References

NVD โ†— CVE.org โ†— EPSS Data โ†—
git.kernel.org: https://git.kernel.org/stable/c/fd6aa1f8cbe0979eb66ac32ebc231bf0b10a2117 git.kernel.org: https://git.kernel.org/stable/c/807789018186cf508ceb3a1f8f02935cd195717b git.kernel.org: https://git.kernel.org/stable/c/9334c88fc2fbc6836b307d269fcc1744c69701c0 git.kernel.org: https://git.kernel.org/stable/c/d99dc8f7ea01ee1b21306e0eda8eb18a4af80db6 git.kernel.org: https://git.kernel.org/stable/c/8fb07fb1bba91d45846ed8605c3097fe67a7d54c git.kernel.org: https://git.kernel.org/stable/c/56281a76b805b5ac61feb5d580139695a22f87f0 git.kernel.org: https://git.kernel.org/stable/c/12f65d1203507f7db3ba59930fe29a3b8eee9945 lists.debian.org: https://lists.debian.org/debian-lts-announce/2025/05/msg00045.html lists.debian.org: https://lists.debian.org/debian-lts-announce/2025/05/msg00030.html