{"id":26030,"date":"2026-09-18T04:32:15","date_gmt":"2026-09-17T20:32:15","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-93173"},"modified":"2026-09-18T04:32:15","modified_gmt":"2026-09-17T20:32:15","slug":"cve-2026-93173","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-93173","title":{"rendered":"CVE-2026-93173 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nbpf,lsm: Drop bpf_pro"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>bpf,lsm: Drop bpf_prog_free from sleepable_lsm_hooks<\/p>\n<p>__bpf_prog_put_rcu() is the call_rcu() callback for non-sleepable programs.<br \/>\nsecurity_bpf_prog_free() called from there fires bpf_prog_free in softirq;<br \/>\nif a sleepable LSM prog is attached to that hook, might_fault() BUGs:<\/p>\n<p>  BUG: sleeping function called from invalid context<br \/>\n  in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 5038<br \/>\n  preempt_count: 101, expected: 0<br \/>\n  Call Trace:<\/p>\n<p>   __bpf_prog_enter_sleepable+0x1cd\/0x320 kernel\/bpf\/trampoline.c:1255<br \/>\n   bpf_trampoline_6442549705+0x53\/0xd7<br \/>\n   security_bpf_prog_free+0xde\/0x130 security\/security.c:5465<br \/>\n   __bpf_prog_put_rcu+0xab\/0xd0 kernel\/bpf\/syscall.c:2365<br \/>\n   rcu_do_batch kernel\/rcu\/tree.c:2617 [inline]<br \/>\n   handle_softirqs+0x236\/0x800 kernel\/softirq.c:622<\/p>\n<p>The call_rcu\/call_rcu_tasks_trace split reflects the freed program&#8217;s<br \/>\nsleepability, not that of any attached observer.<\/p>\n<p>security_bpf_prog_free() also frees prog-&gt;aux-&gt;security, which has to stay<br \/>\nafter the grace period, so drop bpf_prog_free from sleepable_lsm_hooks<br \/>\nrather than move the call. Non-sleepable observers still run there.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>bpf,lsm: Drop bpf_prog_free from sleepable_lsm_hooks<\/p>\n<p>__bpf_prog_put_rcu() is the call_rcu() callback for non-sleepable programs.<br \/>\ns<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-26030","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/26030","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=26030"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=26030"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=26030"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}