qemu-e2k/hw
Greg Kurz ce266b75fe spapr_pci: fix irq leak in RTAS ibm,change-msi
This RTAS call is used to request new interrupts or to free all interrupts.

If the driver has already allocated interrupts and asks again for a non-null
number of irqs, then the rtas_ibm_change_msi() function will silently leak
the previous interrupts.

It happens because xics_free() is only called when the driver releases all
interrupts (!req_num case). Note that the previously allocated spapr_pci_msi
is not leaked because the GHashTable is created with destroy functions and
g_hash_table_insert() hence frees the old value.

This patch makes sure any previously allocated MSIs are released when a
new allocation succeeds.

Signed-off-by: Greg Kurz <gkurz@linux.vnet.ibm.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2016-02-28 16:19:02 +11:00
..
9pfs all: Clean up includes 2016-02-23 12:43:05 +00:00
acpi ich9: Remove enable_tco arguments from init functions 2016-02-25 13:14:19 +02:00
alpha alpha: Clean up includes 2016-01-29 15:07:23 +00:00
arm raspi: fix SD card with recent sdhci changes 2016-02-26 15:09:42 +00:00
audio all: Clean up includes 2016-02-23 12:43:05 +00:00
block virtio-blk: do not use vring in dataplane 2016-02-25 13:14:18 +02:00
bt hw: Clean up includes 2016-01-29 15:07:25 +00:00
char virtio: introduce qemu_get/put_virtqueue_element 2016-02-06 20:44:08 +02:00
core qapi: Drop unused 'kind' for struct/enum visit 2016-02-08 17:29:57 +01:00
cpu hw: Clean up includes 2016-01-29 15:07:25 +00:00
cris cris: Clean up includes 2016-01-29 15:07:24 +00:00
display all: Clean up includes 2016-02-23 12:43:05 +00:00
dma etraxfs_dma: Dont forward zero-length payload to clients 2016-02-20 00:17:48 +01:00
gpio ARM: PL061: Checking register r/w accesses to reserved area 2016-02-26 15:09:42 +00:00
i2c hw: Clean up includes 2016-01-29 15:07:25 +00:00
i386 q35: No need to check gigabyte_align 2016-02-25 13:14:19 +02:00
ide ahci: prohibit "restarting" the FIS or CLB engines 2016-02-10 13:29:40 -05:00
input cuda: port SET_DEVICE_LIST command to new framework 2016-02-17 09:59:30 +11:00
intc all: Clean up includes 2016-02-16 14:29:28 +00:00
ipack hw: Clean up includes 2016-01-29 15:07:25 +00:00
ipmi ipmi: sensor number should not exceed MAX_SENSORS 2016-02-16 16:41:25 +01:00
isa ich9: Remove enable_tco arguments from init functions 2016-02-25 13:14:19 +02:00
lm32
m68k m68k: Clean up includes 2016-01-29 15:07:24 +00:00
mem move get_current_ram_size to virtio-balloon.c 2016-02-23 12:55:16 +02:00
microblaze
mips magnum: disable floppy DMA for now 2016-02-03 11:28:57 -05:00
misc cuda: remove CUDA_GET_SET_IIC/CUDA_COMBINED_FORMAT_IIC commands 2016-02-17 09:59:31 +11:00
moxie moxie: Clean up includes 2016-01-29 15:07:25 +00:00
net all: Clean up includes 2016-02-23 12:43:05 +00:00
nvram hw: fix some debug message format strings 2016-02-17 09:59:29 +11:00
openrisc openrisc: Clean up includes 2016-01-29 15:07:24 +00:00
pci pci core: function pci_bus_init() cleanup 2016-02-25 13:14:18 +02:00
pci-bridge aer: impove pcie_aer_init to support vfio device 2016-02-19 09:42:28 -07:00
pci-host vhost, virtio, pci, pxe 2016-02-19 10:50:37 +00:00
pcmcia hw: Clean up includes 2016-01-29 15:07:25 +00:00
ppc spapr_pci: fix irq leak in RTAS ibm,change-msi 2016-02-28 16:19:02 +11:00
s390x s390x: remove s390-zipl.rom 2016-02-11 15:15:47 +03:00
scsi virtio-scsi: do not use vring in dataplane 2016-02-25 13:14:19 +02:00
sd sdhci: add quirk property for card insert interrupt status on Raspberry Pi 2016-02-26 15:09:42 +00:00
sh4 sh4: Clean up includes 2016-01-29 15:07:24 +00:00
smbios hw: Clean up includes 2016-01-29 15:07:25 +00:00
sparc dma: remove now useless DMA_* functions 2016-02-03 11:28:58 -05:00
sparc64 dma: remove now useless DMA_* functions 2016-02-03 11:28:58 -05:00
ssi hw: Clean up includes 2016-01-29 15:07:25 +00:00
timer tusb6010: move from hw/timer to hw/usb 2016-02-23 10:38:00 +01:00
tpm hw: Clean up includes 2016-01-29 15:07:25 +00:00
tricore tricore: Clean up includes 2016-01-29 15:07:25 +00:00
unicore32
usb all: Clean up includes 2016-02-23 12:43:05 +00:00
vfio all: Clean up includes 2016-02-23 12:43:05 +00:00
virtio vring: remove 2016-02-25 13:14:19 +02:00
watchdog hw: Clean up includes 2016-01-29 15:07:25 +00:00
xen xen: drop XenXC and associated interface wrappers 2016-02-10 12:01:24 +00:00
xenpv xen: Clean up includes 2016-01-29 15:07:23 +00:00
xtensa xtensa: Clean up includes 2016-01-29 15:07:24 +00:00
Makefile.objs