No kernel Linux, a seguinte vulnerabilidade foi resolvida. powerpc/time: Remover chamadas redundantes preempt_disable.enable() de arch_irq_work_raise() Um pânico do kernel é observado ao lidar com máquinas verificando exceções do modo real. BUG: Não foi possível lidar com o acesso aos dados do kernel ao ler-se no 0 xc 00000006 ser 21300 Oops: Acesso ao núcleo da área ruim, sig: 11 [# 1 ] MSR: 8000000000001003 CR: 88222248 XER: 00000005 CFAR: c 00000000003 ffc 4 DAR: c 00000006 ser 21300 DSISR: 40000000 IRQMASK: 0 NIP [c 000000000029 e 40 ] arch_irq_work_raise+ 0 x 10 / 0 x 70 LR [c 00000000003 ffc 8 ] machine_check_queue_event+ 0 xa 8 / 0 x 150 Chamar o rastreamento: [c 0000000179 d 3 c 70 ] [c 00000000003 ff 64 ] machine_check_queue_event+ 0 x 44 / 0 x 150 [c] 0000000179 d 3 d 30 ] [c 0000000000084 e 0 ] machine_check_bear_common+ 0 x 1 f 0 / 0 x 2 c 0.

O crash ocorre porque arch_irq_work_raise() chama preemp_ disable() de manipuladores de exceção de verificação de máquina (MCE) executando- se em modo real. Neste contexto, o acesso ao preemp_count pode falhar, levando ao pânico. O par preempt_disable()/preempt_enable() em arch_irq_work_raise() foi originalmente adicionado por commit 0 fe 1 ac 48 sobre 0 ("powerpc/perf_event: corrigir oops devido à chamada perf_event_do_pending") para evitar corridas ao aumentar o trabalho do irq a partir do contexto de exceção. Mais tarde, commit 471 ba 0 e 686 cb ("irq_work: Não levantar um IPI quando trabalhar em fila na CPU local") acrescentou proteção de pré-demissão no caminho irq_work_queue(), enquanto commit 20 b 876918 c 06 ("irq_work: Use por atômicos cpu em vez de atômicos regulares") adicionado proteção equivalente no irq_work_queue_on() antes de alcançar arch_irq_work_raise():.

irq_work_queue() / irq_work_queue_on() -> preemp_disable() -> __irq_work_queue_local() -> irq_work_raise() -> arch_irq_work_raise(). Como resultado, os chamadores que não sejam o mce_irq_work_raise() já executam com a preempção desativada, tornando o par adicional preemp_ disable()/preemp_ enable() redundante no arch_irq_work_raise(). A função arch_irq_work_raise() executa- se no contexto NMI quando chamada do manipulador MCE. Por isso, não seremos prevenidos ou agendados, já que estamos no contexto NMI com MSR[EE]= 0. Portanto, é seguro remover as chamadas preempt_disable()/preempt_enable() daqui. Remova- o para evitar acessar o preemp_count do contexto do modo real.

[Maddy: corrigido o título de commit]. Registro de aconselhamento: GHSA- 5 qjx- 3 f 5 w-qj 49. Identificadores relacionados: CVE- 2026 - 64214. Tempo: GitHub Advisory Database publicou este registro em 2026 - 07 - 24 T 18: 31: 27.000 Z e lista a sua última modificação como 2026 - 08 - 11 T 18: 30: 39.000 Z. Gravidade: MODERAR. Dados de pontuação publicados: CVSS_V 3: CVSS: 3.1 /AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H.

Software afetado: o registro de aconselhamento não fornece um pacote normalizado ou faixa de versões. Classificação e evidência: identificadores de fraqueza CWE- 476. O registro contém 7 suporte de referências nestes tipos: AVISO, WEB.