PT-2026-116968 · Linux · Linux
CVE-2026-98749
·
Publicado
2026-10-18
·
Atualizado
2026-10-18
Nenhuma
Não há classificações de severidade ou métricas disponíveis. Quando houver, atualizaremos as informações correspondentes na página.
In the Linux kernel, the following vulnerability has been resolved:
tty: serial: max3100: shut down timer before freeing port
max3100 shutdown() stops the polling timer but returns early during
system suspend. If the SPI device is unbound before resume, the serial
core does not call max3100 shutdown() again, so max3100 remove() frees
the port while the timer remains armed. max3100 timeout() may then
access the freed port and re-arm the timer.
Add final timer teardown to max3100 remove() and use
timer shutdown sync() to prevent a racing callback from re-arming it.
Also free the IRQ and destroy the workqueue there before freeing the
port. Keep timer delete sync() in max3100 shutdown() so that a
subsequent open() can re-arm the timer.
The workqueue is created before request irq() and destroyed on both
request irq() failure and normal shutdown. Its presence at remove thus
identifies the IRQ left registered when suspend bypasses shutdown.
Free the IRQ before destroying the workqueue, in both
max3100 shutdown() and max3100 remove(), and cancel the pending work
in between. free irq() waits for a running interrupt handler to
finish and no new handler can start afterwards, so a racing handler
cannot queue work on a workqueue that is being destroyed; the
force end work check in max3100 dowork() only narrows that window, as
a handler delayed between the check and queue work() could still run
after the teardown has cleared the workqueue pointer. Cancelling the
work also keeps destroy workqueue() from waiting on a queued work item
in case remove() ever runs while the freezable workqueue is still
frozen, e.g. device removal during the resume window, before
workqueues are thawed.
This issue was found by an in-house static analysis tool.
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Linux