All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Wu <lekensteyn@gmail.com>
To: Jordan Justen <jljusten@gmail.com>
Cc: Jordan Justen <jordan.l.justen@intel.com>,
	Anthony Liguori <aliguori@us.ibm.com>,
	Xiao Guangrong <xiaoguangrong@linux.vnet.ibm.com>,
	qemu-devel <qemu-devel@nongnu.org>,
	Paolo Bonzini <pbonzini@redhat.com>
Subject: Re: [Qemu-devel] QEMU aborts since "kvm: support using KVM_MEM_READONLY flag for regions"
Date: Mon, 03 Jun 2013 20:02:16 +0200	[thread overview]
Message-ID: <1650244.ohnSj2ZDUA@al> (raw)
In-Reply-To: <CAFe8ug-P3D8rJKoduPt_=oojZ823Rg55nNbQ+pcXT8GhtHz1gQ@mail.gmail.com>

On Monday 03 June 2013 10:35:28 Jordan Justen wrote:
> This should be fixed by Xiao's "fix double free the memslot in
> kvm_set_phys_mem" patch.
Confirmed, with this one-liner patch the bug is gone.

> On Mon, Jun 3, 2013 at 10:23 AM, Peter Wu <lekensteyn@gmail.com> wrote:
> > Hi,
> > 
> > With the current git source (f10acc8b38d65a66ffa0588a036489d7fa6a593e),
> > 
> > `qemu-system-x86_64 -enable-kvm` fails to run with the following error:
> >     kvm_set_phys_mem: error unregistering overlapping slot: Invalid
> >     argument
> > 
> > After this message, qemu aborts. Reverting the following commit on top of
> > master makes the bug go away. Removing the `-enable-kvm` option also
> > allows QEMU to operate, but without KVM.
> > 
> > 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
> >     
> >     For readonly memory regions and rom devices in romd_mode,
> >     we make use of the KVM_MEM_READONLY. A slot that uses
> >     KVM_MEM_READONLY can be read from and code can execute from the
> >     region, but writes will exit to qemu.
> >     
> >     For rom devices with !romd_mode, we force the slot to be
> >     removed so reads or writes to the region will exit to qemu.
> >     (Note that a memory region in this state is not executable
> >     within kvm.)
> > 
> > QEMU was built using GCC 4.8.0, runs on Arch Linux 64-bit with a
> > custom kernel, Linux 3.9.1. CPU: i5-460M. A backtrace is provided
> > on the bottom of this message. If you need more details, please ask.
> > 
> > Regards,
> > Peter
> > 
> > #0  0x00007ffff1a251c9 in raise () from /usr/lib/libc.so.6
> > #1  0x00007ffff1a265c8 in abort () from /usr/lib/libc.so.6
> > #2  0x00005555557dd84d in kvm_set_phys_mem (section=0x7fffe6fdca00,
> > add=false) at /tmp/qemu/kvm-all.c:715 #3  0x00005555557e132c in
> > address_space_update_topology_pass (as=as@entry=0x5555564dae00
> > <address_space_memory>, adding=adding@entry=false, old_view=...,
> > new_view=...) at /tmp/qemu/memory.c:725 #4  0x00005555557e1f13 in
> > address_space_update_topology (as=0x5555564dae00 <address_space_memory>)
> > at /tmp/qemu/memory.c:761 #5  memory_region_transaction_commit () at
> > /tmp/qemu/memory.c:786
> > #6  0x00005555557dfa42 in access_with_adjusted_size (addr=addr@entry=2,
> > value=value@entry=0x7fffe6fdcc18, size=1, access_size_min=<optimized
> > out>, access_size_max=<optimized out>,> 
> >     access=access@entry=0x5555557e0000 <memory_region_write_accessor>,
> >     opaque=opaque@entry=0x55555658c238) at /tmp/qemu/memory.c:399> 
> > #7  0x00005555557e0f77 in memory_region_iorange_write (iorange=<optimized
> > out>, offset=2, width=1, data=51) at /tmp/qemu/memory.c:475 #8 
> > 0x00005555557de562 in kvm_handle_io (count=1, size=1, direction=1,
> > data=<optimized out>, port=3326) at /tmp/qemu/kvm-all.c:1507 #9 
> > kvm_cpu_exec (env=env@entry=0x55555656f750) at /tmp/qemu/kvm-all.c:1659
> > #10 0x000055555578da05 in qemu_kvm_cpu_thread_fn (arg=0x55555656f750) at
> > /tmp/qemu/cpus.c:759 #11 0x00007ffff6280dd2 in start_thread () from
> > /usr/lib/libpthread.so.0 #12 0x00007ffff1ad5cdd in clone () from
> > /usr/lib/libc.so.6

  reply	other threads:[~2013-06-03 18:02 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-03 17:23 [Qemu-devel] QEMU aborts since "kvm: support using KVM_MEM_READONLY flag for regions" Peter Wu
2013-06-03 17:35 ` Jordan Justen
2013-06-03 18:02   ` Peter Wu [this message]
2013-06-03 17:49 ` Anthony Liguori
2013-06-03 20:11   ` Paolo Bonzini
2013-06-03 20:20     ` Anthony Liguori
2013-06-04  6:39       ` 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=1650244.ohnSj2ZDUA@al \
    --to=lekensteyn@gmail.com \
    --cc=aliguori@us.ibm.com \
    --cc=jljusten@gmail.com \
    --cc=jordan.l.justen@intel.com \
    --cc=pbonzini@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.