qemu/hw
Gonglei 4e289b1b62 ehci: fix segfault when hot-unplugging ehci controller
When hot-unplugging the usb controllers (ehci/uhci),
we have to clean all resouce of these devices,
involved registered reset handler. Otherwise, it
may cause NULL pointer access and/or segmentation fault
if we reboot the guest os after hot-unplugging.

Let's hook up reset via DeviceClass->reset() and drop
the qemu_register_reset() call. Then Qemu will register
and unregister the reset handler automatically.

Cc: qemu-stable <qemu-stable@nongnu.org>
Reported-by: Lidonglin <lidonglin@huawei.com>
Signed-off-by: Gonglei <arei.gonglei@huawei.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2015-03-20 08:50:12 +01:00
..
9pfs virtio: Fix memory leaks reported by Coverity 2015-03-16 13:32:24 +05:30
acpi acpi: specify format for build_append_namestring 2015-03-11 18:24:29 +01:00
alpha QOM infrastructure fixes and device conversions 2015-03-02 13:20:43 +00:00
arm integrator/cp: Implement CARDIN and WPROT signals 2015-03-11 13:21:06 +00:00
audio pci: Trivial device model conversions to realize 2015-02-26 12:42:16 +01:00
block - scsi: improvements to error reporting and conversion to realize, 2015-03-10 18:03:02 +00:00
bt l2cap: fix access to freed memory 2014-08-15 19:12:48 +04:00
char target-arm queue: 2015-03-11 16:30:33 +00:00
core migration: Allow to suppress vmdesc submission 2015-03-16 14:35:20 +01:00
cpu icc_bus: fix typo ICC_BRIGDE -> ICC_BRIDGE 2014-11-03 19:51:56 +03:00
cris hw: Convert from BlockDriverState to BlockBackend, mostly 2014-10-20 14:02:25 +02:00
display Allow the use of X11 from a non standard location. 2015-03-12 15:50:11 +01:00
dma pl330.c: remove superfluous '\n' around error_setg 2015-03-10 08:15:33 +03:00
gpio PPC: Add MPC8XXX gpio controller 2014-11-04 23:26:12 +01:00
i2c pci: Trivial device model conversions to realize 2015-02-26 12:42:16 +01:00
i386 pc: Disable vmdesc submission for old machines 2015-03-16 14:35:37 +01:00
ide Block patches for 2.3 2015-03-10 14:01:22 +00:00
input adb.c: include ADBDevice parent state in KBDState and MouseState 2015-03-09 15:00:04 +01:00
intc target-arm queue: 2015-03-16 13:56:10 +00:00
ipack pci: Trivial device model conversions to realize 2015-02-26 12:42:16 +01:00
isa acpi, ich9: Add unplug cb for ich9. 2015-02-26 12:42:18 +01:00
lm32 configure: opengl overhaul 2015-03-12 15:49:57 +01:00
m68k m68k: Use cpu_m68k_init() 2015-03-10 17:07:28 +01:00
mem pc-dimm: add a function to calculate VM's current RAM size 2015-03-04 13:00:04 -05:00
microblaze Remove superfluous '\n' around error_report() 2015-03-10 08:15:33 +03:00
mips QOM infrastructure fixes and device conversions 2015-03-02 13:20:43 +00:00
misc stm32f2xx_SYSCFG: Add the stm32f2xx SYSCFG 2015-03-11 13:21:05 +00:00
moxie memory: add parameter errp to memory_region_init_ram 2014-09-09 13:41:43 +02:00
net fix GCC 5.0.0 logical-not-parentheses warnings 2015-03-10 08:15:34 +03:00
nvram spapr_vio: Convert to realize() 2015-03-09 15:00:07 +01:00
openrisc hw/core/loader: implement address translation in uimage loader 2014-11-03 00:59:10 +03:00
pci pci: Convert pci_nic_init() to Error to avoid qdev_init() 2015-03-11 18:24:13 +01:00
pci-bridge pci, pc, virtio fixes and cleanups 2015-03-09 09:14:28 +00:00
pci-host machine: replace qemu opts with iommu property 2015-03-11 18:10:43 +01:00
pcmcia hmp: Remove "info pcmcia" 2014-10-24 12:19:11 +01:00
ppc misc fixes and cleanups 2015-03-12 09:13:07 +00:00
s390x s390x/pci: fix length in sei_nt2 event 2015-03-16 10:20:17 +01:00
scsi misc fixes and cleanups 2015-03-12 09:13:07 +00:00
sd pci: Trivial device model conversions to realize 2015-02-26 12:42:16 +01:00
sh4 r2d: Don't use legacy -usbdevice support for setting up board 2015-02-18 10:53:10 +01:00
sparc qemu-sparc update 2015-03-11 08:44:59 +00:00
sparc64 sun4u: switch m48t59 NVRAM to MMIO access 2015-03-10 09:36:19 +00:00
ssi ssi: xilinx_spi: Initialise CS GPIOs as NULL 2014-08-15 18:54:40 +04:00
timer stm32f2xx_timer: Add the stm32f2xx Timer 2015-03-11 13:21:05 +00:00
tpm tpm: Move memory subregion function into realize function 2015-03-11 18:24:13 +01:00
tricore target-tricore: check return value before using it 2014-11-02 10:04:34 +03:00
unicore32 unicore32: Use uc32_cpu_init() 2015-03-10 17:07:28 +01:00
usb ehci: fix segfault when hot-unplugging ehci controller 2015-03-20 08:50:12 +01:00
vfio vfio: Remove superfluous '\n' around error_report() 2015-03-10 08:15:33 +03:00
virtio virtio-pci: Convert to realize() 2015-03-11 18:24:13 +01:00
watchdog pci, pc, virtio fixes and cleanups 2015-03-09 09:14:28 +00:00
xen xen-pt: fix Out-of-bounds read 2015-03-10 08:15:33 +03:00
xenpv hw: Convert from BlockDriverState to BlockBackend, mostly 2014-10-20 14:02:25 +02:00
xtensa xtensa: Remove superfluous '\n' around error_report() 2015-03-10 08:15:33 +03:00
Makefile.objs vfio: move hw/misc/vfio.c to hw/vfio/pci.c Move vfio.h into include/hw/vfio 2014-12-19 15:24:06 -07:00