{"id":29211,"date":"2026-09-25T20:32:09","date_gmt":"2026-09-25T12:32:09","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-98056"},"modified":"2026-09-25T20:32:09","modified_gmt":"2026-09-25T12:32:09","slug":"cve-2026-98056","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-98056","title":{"rendered":"CVE-2026-98056 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nnvme: remove stale na"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>nvme: remove stale namespaces by NSID range during scan<\/p>\n<p>nvme_scan_ns_list() drops the stale namespaces in each gap in the<br \/>\nreported NSID list one NSID at a time. Every iteration calls<br \/>\nnvme_find_get_ns() to look the namespace up and removes it if it is<br \/>\npresent. The loop runs once per NSID in the gap rather than once per<br \/>\nnamespace actually present.<\/p>\n<p>NSIDs are 32-bit, so a target with a sparse NSID space can make a<br \/>\nsingle gap spin the loop billions of times with nothing to remove.<\/p>\n<p>  watchdog: BUG: soft lockup &#8211; CPU#4 stuck for 26s!<br \/>\n  Workqueue: nvme-wq nvme_scan_work [nvme_core]<br \/>\n  RIP: 0010:__srcu_read_unlock+0xb\/0x20<br \/>\n  Call Trace:<br \/>\n   nvme_find_get_ns+0x7d\/0xb0 [nvme_core]<br \/>\n   nvme_scan_ns_list+0xe8\/0x280 [nvme_core]<br \/>\n   nvme_scan_work+0x18a\/0x280 [nvme_core]<br \/>\n   process_one_work+0x197\/0x380<br \/>\n   worker_thread+0x2fe\/0x410<br \/>\n   kthread+0xe0\/0x100<\/p>\n<p>Rename nvme_remove_invalid_namespaces() to nvme_remove_nsid_range()<br \/>\nand give it an open (start, end) NSID range. ctrl-&gt;namespaces is<br \/>\nsorted by NSID, so the whole gap is dropped in a single walk that<br \/>\nstops once end is reached. This bounds the work by the namespaces<br \/>\nthat are present instead of by the size of the gap.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>nvme: remove stale namespaces by NSID range during scan<\/p>\n<p>nvme_scan_ns_list() drops the stale namespaces in each gap in the<br \/>\nreported<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-29211","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/29211","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=29211"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=29211"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=29211"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}