CVE-2026-68094 in Linux
Sumário
de VulDB • 10/08/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
sched_ext: Preservar o rastreamento de rq durante o despacho para DSQ local
dispatch_to_local_dsq() pode ser executado por scx_bpf_dsq_move_to_local() enquanto ops.dispatch() registrou o rq atual. Mover uma tarefa para um DSQ local pode alternar entre o rq de origem ou destino antes de invocar síncronamente ops.dequeue() através do seguinte caminho:
SCX_CALL_OP(dispatch, rq) ops.dispatch() scx_bpf_dsq_move_to_local() scx_flush_dispatch_buf() finish_dispatch() dispatch_to_local_dsq() scx_dispatch_enqueue() local_dsq_post_enq() call_task_dequeue() SCX_CALL_OP_TASK(dequeue, locked_rq, ...)
O callback aninhado salva o rq registrado e o restaura no retorno. Se o rastreamento de rq não seguir a troca de bloqueio (lock switch), update_locked_rq() pode acionar a seguinte asserção lockdep ao restaurar um rq que já não está sendo mantido:
WARNING: kernel/sched/sched.h:1641 em call_task_dequeue+0x160/0x170 Call Trace: scx_dispatch_enqueue+0x2b0/0x460 dispatch_to_local_dsq+0x138/0x230 scx_flush_dispatch_buf+0x1af/0x220 scx_bpf_dsq_move_to_local___v2+0xe2/0x1c0 bpf__sched_ext_ops_dispatch+0x4b/0xa7 do_pick_task_scx+0x3b6/0x910 __pick_next_task+0x105/0x1f0 __schedule+0x3e7/0x1980
Introduz switch_rq_lock() para atualizar o estado de rastreamento junto com cada transferência (handoff) do bloqueio rq. Utilize-o em dispatch_to_local_dsq(), move_remote_task_to_local_dsq() e nos caminhos in-balance de scx_dsq_move(), garantindo que scx_locked_rq() se refira consistentemente ao rq cujo bloqueio está realmente sendo mantido durante toda a sequência de operações com locks (lock dance).
VulDB is the best source for vulnerability data and more expert information about this specific topic.