{"id":29135,"date":"2026-09-25T20:31:57","date_gmt":"2026-09-25T12:31:57","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-97979"},"modified":"2026-09-25T20:31:57","modified_gmt":"2026-09-25T12:31:57","slug":"cve-2026-97979","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-97979","title":{"rendered":"CVE-2026-97979 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nice: add missing xa_d"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>ice: add missing xa_destroy for sched_node_ids<\/p>\n<p>Commit 16dfa49406bc (&#8220;ice: Introduce new parameters in ice_sched_node&#8221;)<br \/>\nadded a sched_node_ids xarray to the port info structure, but never called<br \/>\nxa_destroy on it.<\/p>\n<p>Since xarrays can allocate internal memory, this can result in a memory<br \/>\nleak even if every element in the xarray has been removed.<\/p>\n<p>The xarray is currently embedded in the port_info structure. This appears<br \/>\nto have been done because its use is within functions that take the<br \/>\nport_info as a primary argument.<\/p>\n<p>However, this complicates managing the lifecycle of the field. The<br \/>\nport_info structure is allocated in ice_init_hw() using devm, and it is<br \/>\nnot released until the devm cleanup when the driver is unloaded.<\/p>\n<p>The ice_init_hw() function is called in many places, including devlink<br \/>\nreload, and possibly during DDP load after updating the Tx scheduler<br \/>\nlayout.<\/p>\n<p>Adding a call of xa_destroy to the ice_deinit_hw() causes Sashiko to raise<br \/>\nmultiple concerns due to potential ordering issues and possible ways that<br \/>\nport_info could be a dangling reference.<\/p>\n<p>To handle this, move the sched_node_ids out of port_info and into the hw<br \/>\nstructure. All users of the array already have a pointer to hw anyways, and<br \/>\nthere is only one sched_node_ids per adapter. While here, remove the overly<br \/>\nverbose comment explaining the nature of the sched_node_ids xarray.<\/p>\n<p>Add the missing xa_destroy to the cleanup path and to ice_deinit_hw(),<br \/>\nensuring that we properly release the xarray memory.<\/p>\n<p>This was caught by Sashiko during development of unrelated code.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>ice: add missing xa_destroy for sched_node_ids<\/p>\n<p>Commit 16dfa49406bc (&#8220;ice: Introduce new parameters in ice_sched_node&#8221;)<br \/>\nadded a sch<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-29135","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/29135","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=29135"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=29135"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=29135"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}