ehci: fix queue->dev null ptr dereference
In case we don't have a device for an active queue, just skip processing the queue (same we do for inactive queues) and log a guest bug. Reported-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Tested-by: Guenter Roeck <linux@roeck-us.net> Message-id: 20190821085319.13711-1-kraxel@redhat.com
This commit is contained in:
parent
73f46fef74
commit
1be344b7ad
|
@ -1838,6 +1838,9 @@ static int ehci_state_fetchqtd(EHCIQueue *q)
|
|||
ehci_set_state(q->ehci, q->async, EST_EXECUTING);
|
||||
break;
|
||||
}
|
||||
} else if (q->dev == NULL) {
|
||||
ehci_trace_guest_bug(q->ehci, "no device attached to queue");
|
||||
ehci_set_state(q->ehci, q->async, EST_HORIZONTALQH);
|
||||
} else {
|
||||
p = ehci_alloc_packet(q);
|
||||
p->qtdaddr = q->qtdaddr;
|
||||
|
|
Loading…
Reference in a new issue