effaf5a240
The loop condition in xhci_ring_chain_length() is under control of the guest, and additionally the code does not check for failed DMA transfers (e.g. if reaching the end of the RAM), so the loop there could run for a very long time or even forever. Fix it by checking the return value of dma_memory_read() and by introducing a maximum loop length. Resolves: https://gitlab.com/qemu-project/qemu/-/issues/646 Message-Id: <20220804131300.96368-1-thuth@redhat.com> Reviewed-by: Mauro Matteo Cascella <mcascell@redhat.com> Acked-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com> |
||
---|---|---|
.. | ||
bus.c | ||
canokey.c | ||
canokey.h | ||
ccid-card-emulated.c | ||
ccid-card-passthru.c | ||
ccid.h | ||
chipidea.c | ||
combined-packet.c | ||
core.c | ||
desc-msos.c | ||
desc.c | ||
desc.h | ||
dev-audio.c | ||
dev-hid.c | ||
dev-hub.c | ||
dev-mtp.c | ||
dev-network.c | ||
dev-serial.c | ||
dev-smartcard-reader.c | ||
dev-storage-bot.c | ||
dev-storage-classic.c | ||
dev-storage.c | ||
dev-uas.c | ||
dev-wacom.c | ||
hcd-dwc2.c | ||
hcd-dwc2.h | ||
hcd-dwc3.c | ||
hcd-ehci-pci.c | ||
hcd-ehci-sysbus.c | ||
hcd-ehci.c | ||
hcd-ehci.h | ||
hcd-musb.c | ||
hcd-ohci-pci.c | ||
hcd-ohci.c | ||
hcd-ohci.h | ||
hcd-uhci.c | ||
hcd-uhci.h | ||
hcd-xhci-nec.c | ||
hcd-xhci-pci.c | ||
hcd-xhci-pci.h | ||
hcd-xhci-sysbus.c | ||
hcd-xhci-sysbus.h | ||
hcd-xhci.c | ||
hcd-xhci.h | ||
host-libusb.c | ||
host.h | ||
imx-usb-phy.c | ||
Kconfig | ||
libhw.c | ||
meson.build | ||
pcap.c | ||
quirks-ftdi-ids.h | ||
quirks-pl2303-ids.h | ||
quirks.c | ||
quirks.h | ||
redirect.c | ||
trace-events | ||
trace.h | ||
tusb6010.c | ||
u2f-emulated.c | ||
u2f-passthru.c | ||
u2f.c | ||
u2f.h | ||
vt82c686-uhci-pci.c | ||
xen-usb.c | ||
xlnx-usb-subsystem.c | ||
xlnx-versal-usb2-ctrl-regs.c |