From: Paolo Bonzini <pbonzini@redhat.com>
To: Xiao Guangrong <xiaoguangrong@linux.vnet.ibm.com>
Cc: "Justen, Jordan L" <jordan.l.justen@intel.com>,
Jordan Justen <jljusten@gmail.com>,
qemu-devel <qemu-devel@nongnu.org>,
Luiz Capitulino <lcapitulino@redhat.com>
Subject: Re: [Qemu-devel] [BUG]: kvm_set_phys_mem: error unregistering overlapping slot: Invalid argument
Date: Fri, 31 May 2013 10:23:04 +0200 [thread overview]
Message-ID: <51A85DE8.2090600@redhat.com> (raw)
In-Reply-To: <51A8485A.4000605@linux.vnet.ibm.com>
Il 31/05/2013 08:51, Xiao Guangrong ha scritto:
> On 05/31/2013 12:50 AM, Jordan Justen wrote:
>> On Thu, May 30, 2013 at 9:08 AM, Luiz Capitulino <lcapitulino@redhat.com> wrote:
>>> On Thu, 30 May 2013 18:03:04 +0200
>>> Paolo Bonzini <pbonzini@redhat.com> wrote:
>>>
>>>> Il 30/05/2013 17:46, Luiz Capitulino ha scritto:
>>>>> The culprit is commit:
>>>>>
>>>>> commit 235e8982ad393e5611cb892df54881c872eea9e1
>>>>> Author: Jordan Justen <jordan.l.justen@intel.com>
>>>>> Date: Wed May 29 01:27:26 2013 -0700
>>>>>
>>>>> kvm: support using KVM_MEM_READONLY flag for regions
>>>>>
>>>>> I'm running 3.9.2-200.fc18, btw. And, error checking is missing on the
>>>>> first call to kvm_vm_ioctl().
>>
>> As noted in the code, the first call is for KVM commit 75d61fbc.
>>
>> I'm not sure we want to fail if an error occurs when making that call.
>> (I'm pretty sure we don't want to in fact.)
>>
>> Xiao, any thoughts?
>
> I have reproduced this bug, it seems that the bug is caused by double free
> the memslot. After these change, it can boot the guest now.
>
> 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;
>
>
>
>
Thanks, can you submit it for uq/master? Please Cc kvm@vger.kernel.org
too, and use [PATCH uq/master] as the prefix.
Paolo
next prev parent reply other threads:[~2013-05-31 8:23 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-30 15:46 [Qemu-devel] [BUG]: kvm_set_phys_mem: error unregistering overlapping slot: Invalid argument Luiz Capitulino
2013-05-30 16:03 ` Paolo Bonzini
2013-05-30 16:08 ` Luiz Capitulino
2013-05-30 16:50 ` Jordan Justen
2013-05-30 17:03 ` Luiz Capitulino
2013-05-30 17:32 ` Jordan Justen
2013-05-30 17:56 ` Luiz Capitulino
2013-05-30 18:05 ` Paolo Bonzini
2013-05-30 20:32 ` Luiz Capitulino
2013-05-30 21:23 ` Paolo Bonzini
2013-05-30 23:43 ` Jordan Justen
2013-05-31 6:51 ` Xiao Guangrong
2013-05-31 7:14 ` Jordan Justen
2013-05-31 8:01 ` Jordan Justen
2013-05-31 8:23 ` Paolo Bonzini [this message]
2013-05-31 8:52 ` [PATCH uq/master] fix double free the memslot in kvm_set_phys_mem Xiao Guangrong
2013-05-31 8:52 ` [Qemu-devel] " Xiao Guangrong
2013-05-31 12:27 ` Paolo Bonzini
2013-05-31 12:27 ` [Qemu-devel] " Paolo Bonzini
2013-05-31 12:39 ` Luiz Capitulino
2013-05-31 12:39 ` [Qemu-devel] " Luiz Capitulino
2013-06-02 17:35 ` Richard W.M. Jones
2013-06-02 17:35 ` Richard W.M. Jones
2013-06-02 22:08 ` Jordan Justen
2013-06-02 22:08 ` [Qemu-devel] " Jordan Justen
2013-06-03 6:57 ` Gleb Natapov
2013-06-03 6:57 ` [Qemu-devel] " Gleb Natapov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=51A85DE8.2090600@redhat.com \
--to=pbonzini@redhat.com \
--cc=jljusten@gmail.com \
--cc=jordan.l.justen@intel.com \
--cc=lcapitulino@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=xiaoguangrong@linux.vnet.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.