qemu/hw
Greg Kurz 0d78289c3d 9pfs: fix off-by-one error in PDU free list
The server can handle MAX_REQ - 1 PDUs at a time and the virtio-9p
device has a MAX_REQ sized virtqueue. If the client manages to fill
up the virtqueue, pdu_alloc() will fail and the request won't be
processed without any notice to the client (it actually causes the
linux 9p client to hang).

This has been there since the beginning (commit 9f10751365 "virtio-9p:
Add a virtio 9p device to qemu"), but it needs an agressive workload to
run in the guest to show up.

We actually allocate MAX_REQ PDUs and I see no reason not to link them
all into the free list, so let's fix the init loop.

Reported-by: Tuomas Tynkkynen <tuomas@tuxera.com>
Suggested-by: Al Viro <viro@ZenIV.linux.org.uk>
Signed-off-by: Greg Kurz <groug@kaod.org>
2017-01-25 09:34:35 +01:00
..
9pfs 9pfs: fix off-by-one error in PDU free list 2017-01-25 09:34:35 +01:00
acpi machine: Make possible_cpu_arch_ids() return const pointer 2017-01-23 21:25:37 -02:00
adc STM32F2xx: Add the ADC device 2016-10-04 13:28:07 +01:00
alpha Move target-* CPU file into a target/ folder 2016-12-20 21:52:12 +01:00
arm virtio, vhost, pc: fixes, features 2017-01-20 14:05:44 +00:00
audio es1370: wire up reset via DeviceClass 2017-01-11 09:19:03 +01:00
block block: m25p80: Improve 1GiB Micron flash definition 2017-01-20 11:15:07 +00:00
bt char: replace avail_connections 2016-10-24 15:46:10 +02:00
char serial: fix memory leak in serial exit 2017-01-16 17:52:35 +01:00
core hw/core/null-machine: Add the possibility to instantiate a CPU and RAM 2017-01-23 21:26:27 -02:00
cpu
cris
display virtio-gpu: tag as not hotpluggable 2017-01-11 09:19:05 +01:00
dma hw/dma/pl080: Fix bad bit mask (PL080_CONF_M1 | PL080_CONF_M1) 2016-10-17 19:22:17 +01:00
gpio i2c: Allow I2C devices to NAK start events 2017-01-09 11:40:20 +00:00
i2c arm: Uniquely name imx25 I2C buses. 2017-01-20 11:15:06 +00:00
i386 machine: Make possible_cpu_arch_ids() return const pointer 2017-01-23 21:25:37 -02:00
ide atapi: classify read_cd as conditionally returning data 2016-11-14 11:15:54 -05:00
input gtk,vnc: misc bugfixes. 2017-01-10 14:52:34 +00:00
intc * QOM interface fix (Eduardo) 2017-01-20 16:42:07 +00:00
ipack
ipmi ipmi: fix qemu crash while migrating with ipmi 2016-11-18 17:50:09 +02:00
isa char: remove init callback 2016-10-24 15:27:20 +02:00
lm32 fw-cfg: support writeable blobs 2017-01-18 22:59:53 +02:00
m68k m68k: QOMify the MCF Fast Ethernet Controller device 2017-01-20 10:36:38 +08:00
mem pc: memhp: enable nvdimm device hotplug 2016-11-01 19:21:09 +02:00
microblaze clean-up: removed duplicate #includes 2016-10-28 18:17:24 +03:00
mips clean-up: removed duplicate #includes 2016-10-28 18:17:24 +03:00
misc kvm: move cpu synchronization code 2017-01-19 22:07:46 +01:00
moxie
net -----BEGIN PGP SIGNATURE----- 2017-01-20 14:56:40 +00:00
nvram fw-cfg: bump "x-file-slots" to 0x20 for 2.9+ machine types 2017-01-18 22:59:53 +02:00
openrisc
pci hw/pci: use-after-free in pci_nic_init_nofail when nic device fails to initialize 2017-01-20 10:58:26 +08:00
pci-bridge pcie_aer: support configurable AER capa version 2017-01-10 07:02:52 +02:00
pci-host ppc: Make uninorth interrupt swizzling identical to Grackle 2016-11-23 12:00:48 +11:00
pcmcia
ppc kvm: move cpu synchronization code 2017-01-19 22:07:46 +01:00
s390x * QOM interface fix (Eduardo) 2017-01-20 16:42:07 +00:00
scsi scsi-block: fix direction of BYTCHK test for VERIFY commands 2017-01-16 17:52:35 +01:00
sd vmstateify ssi-sd 2016-09-22 18:13:08 +01:00
sh4 cputlb: drop flush_global flag from tlb_flush 2017-01-13 14:24:37 +00:00
smbios stubs: move smbios stubs to hw/smbios 2017-01-16 17:52:35 +01:00
sparc fw_cfg: move FW_CFG_NB_CPUS out of fw_cfg_init1() 2016-11-16 12:09:58 -02:00
sparc64 target-sparc: fix up niagara machine 2017-01-18 22:03:44 +01:00
ssi aspeed/smc: handle SPI flash Command mode 2017-01-20 11:15:08 +00:00
timer * QOM interface fix (Eduardo) 2017-01-20 16:42:07 +00:00
tpm clean-up: removed duplicate #includes 2016-10-28 18:17:24 +03:00
tricore
unicore32 clean-up: removed duplicate #includes 2016-10-28 18:17:24 +03:00
usb event_notifier: cleanups around event_notifier_set_handler 2017-01-16 17:52:35 +01:00
vfio vfio: Add support for mmapping sub-page MMIO BARs 2016-10-31 09:53:04 -06:00
virtio * QOM interface fix (Eduardo) 2017-01-20 16:42:07 +00:00
watchdog watchdog: 6300esb: add exit function 2016-12-22 16:00:23 +01:00
xen xen: create qdev for each backend device 2016-11-22 10:29:39 -08:00
xenpv xenpv: Fix qemu_uuid compiling error 2016-09-29 11:43:17 +08:00
xtensa char: remove init callback 2016-10-24 15:27:20 +02:00
Makefile.objs acpi: filter based on CONFIG_ACPI_X86 rather than TARGET 2017-01-16 17:52:35 +01:00