[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PULL 19/34] address_space_access_valid: address_space_
From: |
Cornelia Huck |
Subject: |
Re: [Qemu-devel] [PULL 19/34] address_space_access_valid: address_space_to_flatview needs RCU lock |
Date: |
Wed, 7 Mar 2018 13:49:52 +0100 |
On Tue, 6 Mar 2018 14:19:15 +0100
Paolo Bonzini <address@hidden> wrote:
> address_space_access_valid is calling address_space_to_flatview but it can
> be called outside the RCU lock. To fix it, push the rcu_read_lock/unlock
> pair up from flatview_access_valid to address_space_access_valid.
>
> Reviewed-by: Alexey Kardashevskiy <address@hidden>
> Signed-off-by: Paolo Bonzini <address@hidden>
> ---
> exec.c | 12 ++++++++----
> 1 file changed, 8 insertions(+), 4 deletions(-)
This one kills my s390x guests when running under tcg:
qemu-system-s390x: /home/cohuck/git/qemu/include/qemu/rcu.h:89: void
rcu_read_unlock(void): Assertion `p_rcu_reader->depth != 0' failed.
Easy to reproduce with the moon buggy image from the QEMU Advent
Calendar:
s390x-softmmu/qemu-system-s390x -M s390-ccw-virtio -nographic -smp 2 -kernel
~/Downloads/s390-moon-buggy/s390-bb.kernel -initrd
~/Downloads/s390-moon-buggy/s390-moon-buggy.initrd
(regardless whether using smp or not)
Backchain:
(gdb) bt
#0 0x00007ffff399d9fb in raise () from /lib64/libc.so.6
#1 0x00007ffff399f800 in abort () from /lib64/libc.so.6
#2 0x00007ffff39960da in __assert_fail_base () from /lib64/libc.so.6
#3 0x00007ffff3996152 in __assert_fail () from /lib64/libc.so.6
#4 0x00005555556a4919 in rcu_read_unlock ()
at /home/cohuck/git/qemu/include/qemu/rcu.h:89
#5 cpu_exec (cpu=0x555556423f50)
at /home/cohuck/git/qemu/accel/tcg/cpu-exec.c:740
#6 0x000055555566cbf5 in tcg_cpu_exec (cpu=<optimized out>)
at /home/cohuck/git/qemu/cpus.c:1341
#7 qemu_tcg_rr_cpu_thread_fn (arg=<optimized out>)
at /home/cohuck/git/qemu/cpus.c:1435
#8 0x00007ffff3d4336d in start_thread () from /lib64/libpthread.so.0
#9 0x00007ffff3a77b4f in clone () from /lib64/libc.so.6
F26 host, qemu built with clang.
- [Qemu-devel] [PULL 11/34] lockable: workaround GCC link issue with ASAN, (continued)
- [Qemu-devel] [PULL 11/34] lockable: workaround GCC link issue with ASAN, Paolo Bonzini, 2018/03/06
- [Qemu-devel] [PULL 10/34] build-sys: fix -fsanitize=address check, Paolo Bonzini, 2018/03/06
- [Qemu-devel] [PULL 08/34] qmp: Merge ObjectPropertyInfo and DevicePropertyInfo, Paolo Bonzini, 2018/03/06
- [Qemu-devel] [PULL 06/34] cpus: CPU threads are always created initially for one CPU only, Paolo Bonzini, 2018/03/06
- [Qemu-devel] [PULL 09/34] qmp: Add qom-list-properties to list QOM object properties, Paolo Bonzini, 2018/03/06
- [Qemu-devel] [PULL 13/34] sdhci-test: fix leaks, Paolo Bonzini, 2018/03/06
- [Qemu-devel] [PULL 14/34] chardev: fix leak in tcp_chr_telnet_init_io(), Paolo Bonzini, 2018/03/06
- [Qemu-devel] [PULL 12/34] ahci-test: fix opts leak of skip tests, Paolo Bonzini, 2018/03/06
- [Qemu-devel] [PULL 15/34] openpic_kvm: drop address_space_to_flatview call, Paolo Bonzini, 2018/03/06
- [Qemu-devel] [PULL 19/34] address_space_access_valid: address_space_to_flatview needs RCU lock, Paolo Bonzini, 2018/03/06
- Re: [Qemu-devel] [PULL 19/34] address_space_access_valid: address_space_to_flatview needs RCU lock,
Cornelia Huck <=
- [Qemu-devel] [PULL 17/34] address_space_write: address_space_to_flatview needs RCU lock, Paolo Bonzini, 2018/03/06
- [Qemu-devel] [PULL 22/34] checkpatch: add a warning for basename/dirname, Paolo Bonzini, 2018/03/06
- [Qemu-devel] [PULL 18/34] address_space_read: address_space_to_flatview needs RCU lock, Paolo Bonzini, 2018/03/06
- [Qemu-devel] [PULL 16/34] memory: inline some performance-sensitive accessors, Paolo Bonzini, 2018/03/06
- [Qemu-devel] [PULL 20/34] address_space_map: address_space_to_flatview needs RCU lock, Paolo Bonzini, 2018/03/06
- [Qemu-devel] [PULL 21/34] address_space_rw: address_space_to_flatview needs RCU lock, Paolo Bonzini, 2018/03/06
- [Qemu-devel] [PULL 23/34] checkpatch: add check for `while` and `for`, Paolo Bonzini, 2018/03/06
- [Qemu-devel] [PULL 24/34] Revert "build-sys: compile with -Og or -O1 when --enable-debug", Paolo Bonzini, 2018/03/06
- [Qemu-devel] [PULL 25/34] Fixing WHPX casing to match SDK, Paolo Bonzini, 2018/03/06