aboutsummaryrefslogtreecommitdiff
path: root/hw/dma/pxa2xx_dma.c
diff options
context:
space:
mode:
authorSergio Lopez <slp@redhat.com>2019-09-11 12:03:16 +0200
committerMax Reitz <mreitz@redhat.com>2019-09-16 15:31:12 +0200
commitd876bf676f5e7c6aa9ac64555e48cba8734ecb2f (patch)
treea59919ba03b035259cabd05193df4ac224cbd7ed /hw/dma/pxa2xx_dma.c
parentc34dc07f9f01cf686e512f939aece744723072cd (diff)
blockjob: update nodes head while removing all bdrv
block_job_remove_all_bdrv() iterates through job->nodes, calling bdrv_root_unref_child() for each entry. The call to the latter may reach child_job_[can_]set_aio_ctx(), which will also attempt to traverse job->nodes, potentially finding entries that where freed on previous iterations. To avoid this situation, update job->nodes head on each iteration to ensure that already freed entries are no longer linked to the list. RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=1746631 Signed-off-by: Sergio Lopez <slp@redhat.com> Cc: qemu-stable@nongnu.org Signed-off-by: Max Reitz <mreitz@redhat.com> Message-id: 20190911100316.32282-1-mreitz@redhat.com Reviewed-by: Sergio Lopez <slp@redhat.com> Signed-off-by: Max Reitz <mreitz@redhat.com>
Diffstat (limited to 'hw/dma/pxa2xx_dma.c')
0 files changed, 0 insertions, 0 deletions