summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorLiu Yuan <namei.unix@gmail.com>2014-06-17 13:45:35 +0800
committerStefan Hajnoczi <stefanha@redhat.com>2014-06-23 16:36:13 +0800
commit5d5da114b39d3cf187a69dcf5eaca7eaf886c041 (patch)
treedb1bbbaccf4bc99dc373920c9fd409155fa9f5f1
parent435db4cf29b88b6612e30acda01cd18788dff458 (diff)
downloadfocaccia-qemu-5d5da114b39d3cf187a69dcf5eaca7eaf886c041.tar.gz
focaccia-qemu-5d5da114b39d3cf187a69dcf5eaca7eaf886c041.zip
sheepdog: fix NULL dereference in sd_create
Following command

qemu-img create -f qcow2 sheepdog:test 20g

will cause core dump because aio_context is NULL in sd_create. We should
initialize it by qemu_get_aio_context() to avoid NULL dereference.

Cc: qemu-devel@nongnu.org
Cc: Kevin Wolf <kwolf@redhat.com>
Cc: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Liu Yuan <namei.unix@gmail.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
-rw-r--r--block/sheepdog.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/block/sheepdog.c b/block/sheepdog.c
index 2dcc5959f4..8d9350c26d 100644
--- a/block/sheepdog.c
+++ b/block/sheepdog.c
@@ -1756,6 +1756,7 @@ static int sd_create(const char *filename, QemuOpts *opts,
         bdrv_unref(bs);
     }
 
+    s->aio_context = qemu_get_aio_context();
     ret = do_sd_create(s, &vid, 0, errp);
     if (ret) {
         goto out;