{"id":41118,"date":"2026-10-19T00:32:13","date_gmt":"2026-10-18T16:32:13","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-98646"},"modified":"2026-10-19T00:32:13","modified_gmt":"2026-10-18T16:32:13","slug":"cve-2026-98646","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-98646","title":{"rendered":"CVE-2026-98646 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\ntcp: Skip cond_resche"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>tcp: Skip cond_resched() in inet_csk_listen_stop() under BPF context<\/p>\n<p>bpf_sock_destroy() runs from the tcp iterator, under rcu_read_lock(). If<br \/>\nthe sock is a listener that still has children in its accept queue,<br \/>\ntcp_abort() ends up in inet_csk_listen_stop() and the cond_resched()<br \/>\nthere trips the debug check:<\/p>\n<p>BUG: sleeping function called from invalid context at net\/ipv4\/inet_connection_sock.c:1523<br \/>\nin_atomic(): 0, irqs_disabled(): 0, non_block: 0, pid: 628, name: test_progs<br \/>\npreempt_count: 0, expected: 0<br \/>\nRCU nest depth: 1, expected: 0<br \/>\nlocks held by test_progs\/628: 3, last CPU#3:<br \/>\n #0: ffff8881158cee18 (&amp;p-&gt;lock){+.+.}-{4:4}, at: bpf_seq_read+0x56\/0x1210<br \/>\n #1: ffff8881106bb858 (sk_lock-AF_INET6){+.+.}-{0:0}, at: bpf_iter_tcp_seq_show+0x32b\/0x4b0<br \/>\n #2: ffffffffb435af20 (rcu_read_lock){&#8230;.}-{1:3}, at: bpf_iter_run_prog+0x46b\/0xde0<br \/>\nCPU: 3 UID: 0 PID: 628 Comm: test_progs Tainted: G        W           7.2.0+ #65 PREEMPT<br \/>\nTainted: [W]=WARN<br \/>\nCall Trace:<\/p>\n<p> dump_stack_lvl+0xc1\/0xf0<br \/>\n dump_stack+0x10\/0x20<br \/>\n __might_resched+0x3d2\/0x610<br \/>\n inet_csk_listen_stop+0x7b\/0xbf0<br \/>\n tcp_abort+0x23b\/0x3b0<br \/>\n bpf_sock_destroy+0xfc\/0x140<br \/>\n bpf_prog_448133d24601754f_iter_tcp6_server+0x81\/0x8a<br \/>\n bpf_iter_run_prog+0x538\/0xde0<br \/>\n bpf_iter_tcp_seq_show+0x26b\/0x4b0<br \/>\n bpf_seq_read+0x424\/0x1210<br \/>\n vfs_read+0x197\/0xe40<br \/>\n ksys_read+0x119\/0x240<br \/>\n __x64_sys_read+0x72\/0xc0<br \/>\n x64_sys_call+0x647\/0x27e0<br \/>\n do_syscall_64+0xe5\/0x610<br \/>\n entry_SYSCALL_64_after_hwframe+0x76\/0x7e<br \/>\nRIP: 0033:0x7fad39b28aca<br \/>\nRSP: 002b:00007ffc381c61c0 EFLAGS: 00000246 ORIG_RAX: 0000000000000000<br \/>\nRAX: ffffffffffffffda RBX: 00007ffc381c6a88 RCX: 00007fad39b28aca<br \/>\nRDX: 0000000000000032 RSI: 00007ffc381c6250 RDI: 0000000000000014<br \/>\nRBP: 00007ffc381c61e0 R08: 0000000000000000 R09: 0000000000000000<br \/>\nR10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000003<br \/>\nR13: 0000000000000000 R14: 000055f077c1bbb0 R15: 00007fad3a0f3000<\/p>\n<p>The commit that added the kfunc already guards lock_sock() in tcp_abort()<br \/>\nand udp_abort() with has_current_bpf_ctx(), but missed the listener path.<br \/>\nDo the same for the cond_resched(). The loop runs inside the iterator&#8217;s<br \/>\nrcu_read_lock(), it must not reschedule or report a quiescent state there.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>tcp: Skip cond_resched() in inet_csk_listen_stop() under BPF context<\/p>\n<p>bpf_sock_destroy() runs from the tcp iterator, under rcu_read<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-41118","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/41118","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=41118"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=41118"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=41118"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}