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

AZL-103871

Produtos afetados

Kernel