PT-2026-104953 · Azure Linux · Kernel
Publicado
2026-09-24
·
Atualizado
2026-09-24
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:
usb: gadget: goku udc: avoid NULL deref of dev->driver in INT USBRESET log
goku irq() handles a number of bus events under a single ep0 path.
It already guards the gadget driver suspend/resume callbacks against a
NULL ->driver:
if (dev->gadget.speed != USB SPEED UNKNOWN
&& dev->driver
&& dev->driver->resume) {
spin unlock(&dev->lock);
dev->driver->resume(&dev->gadget);
...
}but the very next branch unconditionally dereferences dev->driver
when an INT USBRESET arrives:
if (stat & INT USBRESET) {
ACK(INT USBRESET);
INFO(dev, "USB reset done, gadget %s",
dev->driver->driver.name);
}
If the controller raises INT USBRESET before any gadget driver has
been bound (or after one has been unbound), dev->driver is NULL and
the printk dereferences NULL.
smatch flags the inconsistency:
drivers/usb/gadget/udc/goku udc.c:1618 goku irq() error:
we previously assumed 'dev->driver' could be null (see line 1607)
Fall back to a placeholder when the gadget driver is not bound.
No functional change while a gadget driver is bound.
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Kernel