Re: [Qemu-devel] [PATCH] block/qcow2-bitmap: fix use of uninitialized pointer
Quoting Vladimir Sementsov-Ogievskiy (2017-09-22 09:43:53) > Without initialization to zero dirty_bitmap field may be not zero > for a bitmap which should not be stored and > qcow2_store_persistent_dirty_bitmaps will erroneously call > store_bitmap for it which leads to SYGSEGV on bdrv_dirty_bitmap_name. > > Signed-off-by: Vladimir Sementsov-OgievskiyFYI: this patch has been tagged for stable 2.10.1, but is not yet upstream. Patch freeze for 2.10.1 is September 27th. > --- > block/qcow2-bitmap.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/block/qcow2-bitmap.c b/block/qcow2-bitmap.c > index e8d3bdbd6e..14f41d0427 100644 > --- a/block/qcow2-bitmap.c > +++ b/block/qcow2-bitmap.c > @@ -602,7 +602,7 @@ static Qcow2BitmapList *bitmap_list_load(BlockDriverState > *bs, uint64_t offset, > goto fail; > } > > -bm = g_new(Qcow2Bitmap, 1); > +bm = g_new0(Qcow2Bitmap, 1); > bm->table.offset = e->bitmap_table_offset; > bm->table.size = e->bitmap_table_size; > bm->flags = e->flags; > -- > 2.11.1 > >
Re: [Qemu-devel] [PATCH] block/qcow2-bitmap: fix use of uninitialized pointer
On 2017-09-22 16:43, Vladimir Sementsov-Ogievskiy wrote: > Without initialization to zero dirty_bitmap field may be not zero > for a bitmap which should not be stored and > qcow2_store_persistent_dirty_bitmaps will erroneously call > store_bitmap for it which leads to SYGSEGV on bdrv_dirty_bitmap_name. > > Signed-off-by: Vladimir Sementsov-Ogievskiy> --- > block/qcow2-bitmap.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) Thanks, fixed the commit message and applied it to my block branch: https://github.com/XanClic/qemu/commits/block Max signature.asc Description: OpenPGP digital signature
Re: [Qemu-devel] [PATCH] block/qcow2-bitmap: fix use of uninitialized pointer
22.09.2017 17:43, Vladimir Sementsov-Ogievskiy wrote: Without initialization to zero dirty_bitmap field may be not zero for a bitmap which should not be stored and qcow2_store_persistent_dirty_bitmaps will erroneously call store_bitmap for it which leads to SYGSEGV on bdrv_dirty_bitmap_name. please fix it to SIGSEGV... Signed-off-by: Vladimir Sementsov-Ogievskiy--- block/qcow2-bitmap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/block/qcow2-bitmap.c b/block/qcow2-bitmap.c index e8d3bdbd6e..14f41d0427 100644 --- a/block/qcow2-bitmap.c +++ b/block/qcow2-bitmap.c @@ -602,7 +602,7 @@ static Qcow2BitmapList *bitmap_list_load(BlockDriverState *bs, uint64_t offset, goto fail; } -bm = g_new(Qcow2Bitmap, 1); +bm = g_new0(Qcow2Bitmap, 1); bm->table.offset = e->bitmap_table_offset; bm->table.size = e->bitmap_table_size; bm->flags = e->flags; -- Best regards, Vladimir
Re: [Qemu-devel] [PATCH] block/qcow2-bitmap: fix use of uninitialized pointer
On 09/22/2017 09:43 AM, Vladimir Sementsov-Ogievskiy wrote: > Without initialization to zero dirty_bitmap field may be not zero > for a bitmap which should not be stored and > qcow2_store_persistent_dirty_bitmaps will erroneously call > store_bitmap for it which leads to SYGSEGV on bdrv_dirty_bitmap_name. s/SYG/SIG/ Introduced in commit 5f72826e, therefore it impacts 2.10, so: CC: qemu-sta...@nongnu.org > > Signed-off-by: Vladimir Sementsov-Ogievskiy> --- > block/qcow2-bitmap.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) Reviewed-by: Eric Blake -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org signature.asc Description: OpenPGP digital signature
[Qemu-devel] [PATCH] block/qcow2-bitmap: fix use of uninitialized pointer
Without initialization to zero dirty_bitmap field may be not zero for a bitmap which should not be stored and qcow2_store_persistent_dirty_bitmaps will erroneously call store_bitmap for it which leads to SYGSEGV on bdrv_dirty_bitmap_name. Signed-off-by: Vladimir Sementsov-Ogievskiy--- block/qcow2-bitmap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/block/qcow2-bitmap.c b/block/qcow2-bitmap.c index e8d3bdbd6e..14f41d0427 100644 --- a/block/qcow2-bitmap.c +++ b/block/qcow2-bitmap.c @@ -602,7 +602,7 @@ static Qcow2BitmapList *bitmap_list_load(BlockDriverState *bs, uint64_t offset, goto fail; } -bm = g_new(Qcow2Bitmap, 1); +bm = g_new0(Qcow2Bitmap, 1); bm->table.offset = e->bitmap_table_offset; bm->table.size = e->bitmap_table_size; bm->flags = e->flags; -- 2.11.1