Reviewed-by: Jordan Justen <jordan.l.justen@xxxxxxxxx> On Fri, May 31, 2013 at 1:52 AM, Xiao Guangrong <xiaoguangrong@xxxxxxxxxxxxxxxxxx> wrote: > Luiz Capitulino reported that guest refused to boot and qemu > complained with: > kvm_set_phys_mem: error unregistering overlapping slot: Invalid argument > > It is caused by commit 235e8982ad that did double free for the memslot > so that the second one raises the -EINVAL error > > Fix it by reset memory size only if it is needed > > Reported-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> > Signed-off-by: Xiao Guangrong <xiaoguangrong@xxxxxxxxxxxxxxxxxx> > --- > kvm-all.c | 3 ++- > 1 files changed, 2 insertions(+), 1 deletions(-) > > diff --git a/kvm-all.c b/kvm-all.c > index 8e7bbf8..405480e 100644 > --- a/kvm-all.c > +++ b/kvm-all.c > @@ -206,7 +206,8 @@ static int kvm_set_user_memory_region(KVMState *s, KVMSlot *slot) > if (s->migration_log) { > mem.flags |= KVM_MEM_LOG_DIRTY_PAGES; > } > - if (mem.flags & KVM_MEM_READONLY) { > + > + if (slot->memory_size && mem.flags & KVM_MEM_READONLY) { > /* Set the slot size to 0 before setting the slot to the desired > * value. This is needed based on KVM commit 75d61fbc. */ > mem.memory_size = 0; > -- > 1.7.7.6 > -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html