[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 6/7] pc-dimm: add vhost slots limit check before comm
From: |
Michael S. Tsirkin |
Subject: |
[Qemu-devel] [PULL 6/7] pc-dimm: add vhost slots limit check before commiting to hotplug |
Date: |
Fri, 16 Oct 2015 11:49:39 +0300 |
From: Igor Mammedov <address@hidden>
it allows safely cancel memory hotplug if vhost backend
doesn't support necessary amount of memory slots and prevents
QEMU crashing in vhost due to hitting vhost limit on amount
of supported memory ranges.
Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
---
hw/mem/pc-dimm.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/hw/mem/pc-dimm.c b/hw/mem/pc-dimm.c
index 506fe0d..2bae994 100644
--- a/hw/mem/pc-dimm.c
+++ b/hw/mem/pc-dimm.c
@@ -25,6 +25,7 @@
#include "sysemu/numa.h"
#include "sysemu/kvm.h"
#include "trace.h"
+#include "hw/virtio/vhost.h"
typedef struct pc_dimms_capacity {
uint64_t size;
@@ -96,6 +97,12 @@ void pc_dimm_memory_plug(DeviceState *dev,
MemoryHotplugState *hpms,
goto out;
}
+ if (!vhost_has_free_slot()) {
+ error_setg(&local_err, "a used vhost backend has no free"
+ " memory slots left");
+ goto out;
+ }
+
memory_region_add_subregion(&hpms->mr, addr - hpms->base, mr);
vmstate_register_ram(mr, dev);
numa_set_mem_node_id(addr, memory_region_size(mr), dimm->node);
--
MST
- [Qemu-devel] [PULL 0/7] vhost, pc features, fixes, Michael S. Tsirkin, 2015/10/16
- [Qemu-devel] [PULL 1/7] intel_iommu: Add support for translation for devices behind bridges, Michael S. Tsirkin, 2015/10/16
- [Qemu-devel] [PULL 2/7] exec: factor out duplicate mmap code, Michael S. Tsirkin, 2015/10/16
- [Qemu-devel] [PULL 3/7] net: don't set native endianness, Michael S. Tsirkin, 2015/10/16
- [Qemu-devel] [PULL 5/7] vhost: add vhost_has_free_slot() interface, Michael S. Tsirkin, 2015/10/16
- [Qemu-devel] [PULL 6/7] pc-dimm: add vhost slots limit check before commiting to hotplug,
Michael S. Tsirkin <=
- [Qemu-devel] [PULL 4/7] tests: re-enable vhost-user-test, Michael S. Tsirkin, 2015/10/16
- [Qemu-devel] [PULL 7/7] vhost: fail backend intialization early, Michael S. Tsirkin, 2015/10/16
- Re: [Qemu-devel] [PULL 0/7] vhost, pc features, fixes, Peter Maydell, 2015/10/16