{"id":29061,"date":"2026-09-25T20:31:47","date_gmt":"2026-09-25T12:31:47","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-97905"},"modified":"2026-09-25T20:31:47","modified_gmt":"2026-09-25T12:31:47","slug":"cve-2026-97905","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-97905","title":{"rendered":"CVE-2026-97905 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\ncpufreq: zero-initial"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>cpufreq: zero-initialize policy cpumask before sysfs publication<\/p>\n<p>cpufreq_policy_alloc() allocates policy-&gt;cpus with alloc_cpumask_var(),<br \/>\ni.e. without __GFP_ZERO, unlike the sibling related_cpus and real_cpus<br \/>\nmasks. With CONFIG_CPUMASK_OFFSTACK=y the mask is a separate<br \/>\nkmalloc_node() allocation, so its bitmap holds whatever the slab allocator<br \/>\nleft behind:<\/p>\n<p>  cpufreq_online()<br \/>\n    cpufreq_policy_alloc()<br \/>\n      alloc_cpumask_var(&amp;policy-&gt;cpus)    \/* bitmap is uninitialized *\/<br \/>\n      kobject_init_and_add()              \/* policy%u\/ appears in sysfs *\/<br \/>\n    cpufreq_policy_online()<br \/>\n      cpumask_copy(policy-&gt;cpus, cpumask_of(cpu))  \/* first valid value *\/<\/p>\n<p>This leaves a window in which the sysfs attributes are already reachable<br \/>\nwhile policy-&gt;cpus is still garbage. show()\/store() gate on<br \/>\npolicy_is_inactive(), i.e. cpumask_empty(policy-&gt;cpus), so a non-zero<br \/>\nbitmap makes them run the attribute callbacks on a policy that is not<br \/>\ninitialized yet.<\/p>\n<p>Fix this by using zalloc_cpumask_var() for policy-&gt;cpus.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>cpufreq: zero-initialize policy cpumask before sysfs publication<\/p>\n<p>cpufreq_policy_alloc() allocates policy-&gt;cpus with alloc_cpumask_<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-29061","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/29061","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=29061"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=29061"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=29061"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}