Message ID | 1408347771-10596-1-git-send-email-zhang.zhanghailiang@huawei.com |
---|---|
State | New |
Headers | show |
Il 18/08/2014 09:42, zhanghailiang ha scritto: > In function virtio_blk_handle_request, it may freed memory pointed by req, > So do not access member of req after calling this function. > > Reviewed-by: Michael S. Tsirkin <mst@redhat.com> > Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> > Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com> > --- > hw/block/virtio-blk.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/hw/block/virtio-blk.c b/hw/block/virtio-blk.c > index c241c50..0e3925b 100644 > --- a/hw/block/virtio-blk.c > +++ b/hw/block/virtio-blk.c > @@ -469,8 +469,9 @@ static void virtio_blk_dma_restart_bh(void *opaque) > s->rq = NULL; > > while (req) { > + VirtIOBlockReq *next = req->next; > virtio_blk_handle_request(req, &mrb); > - req = req->next; > + req = next; > } > > virtio_submit_multiwrite(s->bs, &mrb); > Cc: qemu-stable@nongnu.org
Am 18.08.2014 um 10:08 hat Paolo Bonzini geschrieben: > Il 18/08/2014 09:42, zhanghailiang ha scritto: > > In function virtio_blk_handle_request, it may freed memory pointed by req, > > So do not access member of req after calling this function. > > > > Reviewed-by: Michael S. Tsirkin <mst@redhat.com> > > Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> > > Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com> > > Cc: qemu-stable@nongnu.org Thanks, added the Cc: line and applied to the block branch. Kevin
diff --git a/hw/block/virtio-blk.c b/hw/block/virtio-blk.c index c241c50..0e3925b 100644 --- a/hw/block/virtio-blk.c +++ b/hw/block/virtio-blk.c @@ -469,8 +469,9 @@ static void virtio_blk_dma_restart_bh(void *opaque) s->rq = NULL; while (req) { + VirtIOBlockReq *next = req->next; virtio_blk_handle_request(req, &mrb); - req = req->next; + req = next; } virtio_submit_multiwrite(s->bs, &mrb);