{"id":21681,"date":"2026-09-12T04:31:31","date_gmt":"2026-09-11T20:31:31","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-89759"},"modified":"2026-09-12T04:31:31","modified_gmt":"2026-09-11T20:31:31","slug":"cve-2026-89759","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-89759","title":{"rendered":"CVE-2026-89759 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nmm\/kmemleak: avoid so"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>mm\/kmemleak: avoid soft lockup when scanning task stacks<\/p>\n<p>Patch series &#8220;mm\/kmemleak: avoid soft lockup when scanning task&#8221;, v3.<\/p>\n<p>kmemleak_scan() scans every task stack under one rcu_read_lock() with no<br \/>\nreschedule point, which can trip the soft lockup watchdog on hosts with<br \/>\nvery many threads.<\/p>\n<p>That prints the following message, depending on the workload+host<br \/>\nconfiguration:<\/p>\n<p>      watchdog: BUG: soft lockup &#8211; CPU#35 stuck for 22s! [kmemleak:537]<br \/>\n       scan_block<br \/>\n       kmemleak_scan<br \/>\n       kmemleak_scan_thread<br \/>\n       kthread<\/p>\n<p>Patch 1 walks the tasks with find_ge_pid() so the scan reschedules between<br \/>\ntasks<\/p>\n<p>Patches 2-3 let the scan loops stop early once a scan is interrupted.<\/p>\n<p>This patch (of 3):<\/p>\n<p>kmemleak_scan() walks every thread and scans its kernel stack under a<br \/>\nsingle rcu_read_lock() with no reschedule point.  On a host with very many<br \/>\nthreads &#8212; amplified by KASAN\/lockdep in debug builds &#8212; this loop can hog<br \/>\na CPU long enough to trip the soft lockup watchdog:<\/p>\n<p>  watchdog: BUG: soft lockup &#8211; CPU#35 stuck for 22s! [kmemleak:537]<br \/>\n   scan_block<br \/>\n   kmemleak_scan<br \/>\n   kmemleak_scan_thread<br \/>\n   kthread<\/p>\n<p>A cond_resched() cannot be added directly: the loop runs inside an RCU<br \/>\nread-side critical section.<\/p>\n<p>Walk the tasks one PID at a time with find_ge_pid(), taking the RCU read<br \/>\nlock only to look up and pin each task.  The stack is then scanned with no<br \/>\nlock held, so cond_resched() runs between tasks and the scan stops early<br \/>\non scan_should_stop().  This follows the next_tgid()\/task_seq_get_next()<br \/>\niteration pattern and keeps each RCU critical section short.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>mm\/kmemleak: avoid soft lockup when scanning task stacks<\/p>\n<p>Patch series &#8220;mm\/kmemleak: avoid soft lockup when scanning task&#8221;, v3.<\/p>\n<p>km<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-21681","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/21681","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=21681"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=21681"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=21681"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}