← Back to CVE List
CVE-2026-90278NVD
Vulnerability Summary
In the Linux kernel, the following vulnerability has been resolved:
md: wait for behind writes before destroying bitmap
__md_stop() destroyed the bitmap before calling mddev_detach(). That made
mddev_detach() skip bitmap_ops->wait_behind_writes(), because the bitmap
was already disconnected from mddev.
This was still safe for the legacy bitmap because bitmap_destroy() waits
for behind writes itself. llbitmap keeps that wait in its
->wait_behind_writes() operation instead, while ->destroy() tears down the
llbitmap storage. With the old ordering, RAID1 behind-write completions
could still run after llbitmap storage had been freed.
Call mddev_detach() before md_bitmap_destroy() so the common detach path
can wait for behind writes while the bitmap is still alive. Only destroy
the bitmap after those users are gone.
md: wait for behind writes before destroying bitmap
__md_stop() destroyed the bitmap before calling mddev_detach(). That made
mddev_detach() skip bitmap_ops->wait_behind_writes(), because the bitmap
was already disconnected from mddev.
This was still safe for the legacy bitmap because bitmap_destroy() waits
for behind writes itself. llbitmap keeps that wait in its
->wait_behind_writes() operation instead, while ->destroy() tears down the
llbitmap storage. With the old ordering, RAID1 behind-write completions
could still run after llbitmap storage had been freed.
Call mddev_detach() before md_bitmap_destroy() so the common detach path
can wait for behind writes while the bitmap is still alive. Only destroy
the bitmap after those users are gone.
Affected & Patched Versions
- Linux Linux >= 5ab829f1971dc99f2aac10846c378e67fc875abc and < 73881ff7a75913f919a1ce9d9571bfaab8e8588d
- Linux Linux >= 5ab829f1971dc99f2aac10846c378e67fc875abc and < 4224dccd325a9380e8edfb66aad8bb5771c94222
- Linux Linux >= 5ab829f1971dc99f2aac10846c378e67fc875abc and < 2a79365b2278f16e163e4024086105693b421601
- Linux Linux >= 6.18
- Linux Linux 73881ff7a75913f919a1ce9d9571bfaab8e8588d
- Linux Linux 4224dccd325a9380e8edfb66aad8bb5771c94222
- Linux Linux 2a79365b2278f16e163e4024086105693b421601