comedi: comedi_parport: deal with premature interrupt
0Vexday Risk Score
Sem sinal de exploração. Nenhum artefato público de exploração conhecido até agora.
ssvc Track
probabilidade de exploração
—
exploração observada
nãonenhuma fonte reporta
In the Linux kernel, the following vulnerability has been resolved:
comedi: comedi_parport: deal with premature interrupt
Syzbot reported a general protection fault in
`comedi_get_is_subdevice_running()`, which was called from the interrupt
handler `parport_interrupt()` in the "comedi_parport" driver, but it
does not currently have a C reproducer for the problem. It's
probably due to a premature interrupt for one of two reasons:
1. The driver sets up the interrupt handler before the comedi subdevices
used by the interrupt handler have been allocated, but does not
disable the interrupt in the parallel port's CTRL register first.
2. The driver uses a user-supplied I/O port base address which Syzbot
would have supplied, but it might not be backed by real parallel port
hardware.
Change the initialization order in the driver's comedi "attach" handler
(`parport_attach()`) so that the hardware registers are initialized
before the interrupt handler is requested. This should prevent
premature interrupts occurring for real hardware.
Also add a test to the interrupt handler to ensure the comedi device is
fully attached and return early if it isn't.
Produtos afetados
Linux · LinuxReferências
https://git.kernel.org/stable/c/086a9ae3c5df63ec11033a8c0b3f6a1fd295ddd1https://git.kernel.org/stable/c/17221216ae8ce6a24e8a4e787382e3ebc81b88a8https://git.kernel.org/stable/c/5d059ce0e6a2f6f8b97273499d47b8f917097b48https://git.kernel.org/stable/c/b061bb4dca49fd93063359d3805387235818778chttps://git.kernel.org/stable/c/cf26dd2d841583c54a87005c4934b92fddb930c3