{"id":25685,"date":"2026-09-18T04:31:44","date_gmt":"2026-09-17T20:31:44","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-90276"},"modified":"2026-09-18T04:31:44","modified_gmt":"2026-09-17T20:31:44","slug":"cve-2026-90276","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-90276","title":{"rendered":"CVE-2026-90276 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nmd\/md-llbitmap: stop"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>md\/md-llbitmap: stop daemon timer rearm on destroy<\/p>\n<p>llbitmap_destroy() deletes pending_timer before flushing<br \/>\nmd_llbitmap_io_wq. However, daemon_work can still be queued or running<br \/>\nafter the timer has been deleted, and the daemon path can arm<br \/>\npending_timer again when it finds dirty chunks that are not ready to<br \/>\nflush yet.<\/p>\n<p>If that happens during teardown, pending_timer can remain armed after<br \/>\nllbitmap is freed and later dereference freed memory.<\/p>\n<p>Add a BITMAP_SHUTDOWN bit to llbitmap-&gt;flags, set it before deleting<br \/>\nthe timer, and make the timer and daemon paths stop queueing or rearming<br \/>\nwork once teardown starts. Cancel daemon_work before flushing the shared<br \/>\nworkqueue so no already queued daemon instance can race with the free.<br \/>\nUse timer_shutdown_sync() so a daemon instance that passed the shutdown<br \/>\ncheck before teardown cannot rearm the timer afterward.<\/p>\n<p>BITMAP_SHUTDOWN is a runtime-only state. Mask it out when reading and<br \/>\nupdating the llbitmap superblock so the shutdown state is never loaded<br \/>\nfrom disk or persisted to disk.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>md\/md-llbitmap: stop daemon timer rearm on destroy<\/p>\n<p>llbitmap_destroy() deletes pending_timer before flushing<br \/>\nmd_llbitmap_io_wq. How<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-25685","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/25685","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln"}],"about":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/types\/vuln"}],"wp:attachment":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=25685"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=25685"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=25685"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}