[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 0/5] Fix segfault in blockjob race condition
From: |
Jeff Cody |
Subject: |
[Qemu-devel] [PATCH 0/5] Fix segfault in blockjob race condition |
Date: |
Sun, 19 Nov 2017 21:46:41 -0500 |
This series fixes a race condition segfault when using iothreads with
blockjobs.
The qemu iotest in this series is a reproducer, as is the reproducer
script attached in this bug report:
https://bugzilla.redhat.com/show_bug.cgi?id=1508708
There are two additional patches to try and catch this sort of scenario
with an abort, before a segfault or memory corruption occurs.
Jeff Cody (5):
blockjob: do not allow coroutine double entry or
entry-after-completion
coroutine: abort if we try to enter coroutine scheduled for another
ctx
coroutines: abort if we try to enter a still-sleeping coroutine
qemu-iotests: add option in common.qemu for mismatch only
qemu-iotest: add test for blockjob coroutine race condition
blockjob.c | 9 ++--
include/qemu/coroutine_int.h | 5 +++
tests/qemu-iotests/200 | 99 ++++++++++++++++++++++++++++++++++++++++++
tests/qemu-iotests/200.out | 14 ++++++
tests/qemu-iotests/common.qemu | 8 +++-
tests/qemu-iotests/group | 1 +
util/async.c | 7 +++
util/qemu-coroutine-sleep.c | 3 ++
util/qemu-coroutine.c | 14 ++++++
9 files changed, 156 insertions(+), 4 deletions(-)
create mode 100755 tests/qemu-iotests/200
create mode 100644 tests/qemu-iotests/200.out
--
2.9.5
- [Qemu-devel] [PATCH 0/5] Fix segfault in blockjob race condition,
Jeff Cody <=
[Qemu-devel] [PATCH 2/5] coroutine: abort if we try to enter coroutine scheduled for another ctx, Jeff Cody, 2017/11/19
[Qemu-devel] [PATCH 4/5] qemu-iotests: add option in common.qemu for mismatch only, Jeff Cody, 2017/11/19