๐Ÿ” CVE Alert

CVE-2026-68416

UNKNOWN 0.0

mtd: fix double free and WARN_ON in add_mtd_device() error paths

CVSS Score
0.0
EPSS Score
0.0%
EPSS Percentile
0th

In the Linux kernel, the following vulnerability has been resolved: mtd: fix double free and WARN_ON in add_mtd_device() error paths When device_register() or mtd_nvmem_add() fails inside add_mtd_device() for a partition, the error handling triggers mtd_release() via put_device() or device_unregister(). mtd_release() calls release_mtd_partition() which frees the mtd_info structure. However, callers such as mtd_add_partition() and add_mtd_partitions() also call free_partition() in their error paths, resulting in a double free. Additionally, release_mtd_partition() hits WARN_ON(!list_empty( &mtd->part.node)) because the partition node is still linked in the parent's partitions list when the release callback fires from the add_mtd_device() error path. Fix this by overriding dev->type and dev->release before put_device() in the error paths, so that device_release() invokes a no-op function instead of mtd_release(). For the mtd_nvmem_add() failure case, device_unregister() is replaced with device_del() to separate the device removal from the final kobject reference drop, allowing the override to take effect before put_device() is called. The callers' error paths (list_del + free_partition) remain the sole owners of mtd_info lifetime on add_mtd_device() failure, which is the expected contract. The normal partition teardown path is not affected: del_mtd_device() goes through kref_put() -> mtd_device_release() -> device_unregister() with dev->type still set to &mtd_devtype, so mtd_release() -> release_mtd_partition() continues to work correctly for the regular removal case.

Vendor linux
Product linux
Ecosystems
Industries
Technology
Published Aug 10, 2026
Stay Ahead of the Next One

Get instant alerts for linux linux

Be the first to know when new unknown 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
19bfa9ebebb5ec0695def57eb1d80de7e9cab369 < ffe21a3545b439e7b11578a701c22a847c149561 19bfa9ebebb5ec0695def57eb1d80de7e9cab369 < e1e96aca1bdf391e2f49531c270ffc134e5b49a5 19bfa9ebebb5ec0695def57eb1d80de7e9cab369 < f98ae09c727dcf34f745c875661c64b642e4abfa 19bfa9ebebb5ec0695def57eb1d80de7e9cab369 < 820f983d641937a787e841ee4b93501f69f5683e 19bfa9ebebb5ec0695def57eb1d80de7e9cab369 < 9d4af746af8ce27eefc2338b2feaa1e01f28b6c3
Linux / Linux
6.6

References

NVD โ†— CVE.org โ†— EPSS Data โ†—
git.kernel.org: https://git.kernel.org/stable/c/ffe21a3545b439e7b11578a701c22a847c149561 git.kernel.org: https://git.kernel.org/stable/c/e1e96aca1bdf391e2f49531c270ffc134e5b49a5 git.kernel.org: https://git.kernel.org/stable/c/f98ae09c727dcf34f745c875661c64b642e4abfa git.kernel.org: https://git.kernel.org/stable/c/820f983d641937a787e841ee4b93501f69f5683e git.kernel.org: https://git.kernel.org/stable/c/9d4af746af8ce27eefc2338b2feaa1e01f28b6c3