All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] migration: use g_free for ram load bitmap
@ 2018-05-25  1:50 Peter Xu
  2018-05-25  9:16 ` Juan Quintela
  2018-05-27  9:15 ` Ján Tomko
  0 siblings, 2 replies; 3+ messages in thread
From: Peter Xu @ 2018-05-25  1:50 UTC (permalink / raw)
  To: qemu-devel; +Cc: Juan Quintela, Dr . David Alan Gilbert, peterx

Buffers allocated with bitmap_new() should be freed with g_free().

Both reported by Coverity:

*** CID 1391300:  API usage errors  (ALLOC_FREE_MISMATCH)
/migration/ram.c: 3517 in ram_dirty_bitmap_reload()
3511          * the last one to sync, we need to notify the main send thread.
3512          */
3513         ram_dirty_bitmap_reload_notify(s);
3514
3515         ret = 0;
3516     out:
>>>     CID 1391300:  API usage errors  (ALLOC_FREE_MISMATCH)
>>>     Calling "free" frees "le_bitmap" using "free" but it should have been freed using "g_free".
3517         free(le_bitmap);
3518         return ret;
3519     }
3520
3521     static int ram_resume_prepare(MigrationState *s, void *opaque)
3522     {

*** CID 1391292:  API usage errors  (ALLOC_FREE_MISMATCH)
/migration/ram.c: 249 in ramblock_recv_bitmap_send()
243          * Mark as an end, in case the middle part is screwed up due to
244          * some "misterious" reason.
245          */
246         qemu_put_be64(file, RAMBLOCK_RECV_BITMAP_ENDING);
247         qemu_fflush(file);
248
>>>     CID 1391292:  API usage errors  (ALLOC_FREE_MISMATCH)
>>>     Calling "free" frees "le_bitmap" using "free" but it should have been freed using "g_free".
249         free(le_bitmap);
250
251         if (qemu_file_get_error(file)) {
252             return qemu_file_get_error(file);
253         }
254

Signed-off-by: Peter Xu <peterx@redhat.com>
---
 migration/ram.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/migration/ram.c b/migration/ram.c
index 5bcbf7a9f9..c53e8369a3 100644
--- a/migration/ram.c
+++ b/migration/ram.c
@@ -246,7 +246,7 @@ int64_t ramblock_recv_bitmap_send(QEMUFile *file,
     qemu_put_be64(file, RAMBLOCK_RECV_BITMAP_ENDING);
     qemu_fflush(file);
 
-    free(le_bitmap);
+    g_free(le_bitmap);
 
     if (qemu_file_get_error(file)) {
         return qemu_file_get_error(file);
@@ -3514,7 +3514,7 @@ int ram_dirty_bitmap_reload(MigrationState *s, RAMBlock *block)
 
     ret = 0;
 out:
-    free(le_bitmap);
+    g_free(le_bitmap);
     return ret;
 }
 
-- 
2.17.0

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [Qemu-devel] [PATCH] migration: use g_free for ram load bitmap
  2018-05-25  1:50 [Qemu-devel] [PATCH] migration: use g_free for ram load bitmap Peter Xu
@ 2018-05-25  9:16 ` Juan Quintela
  2018-05-27  9:15 ` Ján Tomko
  1 sibling, 0 replies; 3+ messages in thread
From: Juan Quintela @ 2018-05-25  9:16 UTC (permalink / raw)
  To: Peter Xu; +Cc: qemu-devel, Dr . David Alan Gilbert

Peter Xu <peterx@redhat.com> wrote:
> Buffers allocated with bitmap_new() should be freed with g_free().
>
> Both reported by Coverity:
>
> *** CID 1391300:  API usage errors  (ALLOC_FREE_MISMATCH)
> /migration/ram.c: 3517 in ram_dirty_bitmap_reload()
> 3511          * the last one to sync, we need to notify the main send thread.
> 3512          */
> 3513         ram_dirty_bitmap_reload_notify(s);
> 3514
> 3515         ret = 0;
> 3516     out:
>>>>     CID 1391300:  API usage errors  (ALLOC_FREE_MISMATCH)
>>>>     Calling "free" frees "le_bitmap" using "free" but it should
>>>> have been freed using "g_free".
> 3517         free(le_bitmap);
> 3518         return ret;
> 3519     }
> 3520
> 3521     static int ram_resume_prepare(MigrationState *s, void *opaque)
> 3522     {
>
> *** CID 1391292:  API usage errors  (ALLOC_FREE_MISMATCH)
> /migration/ram.c: 249 in ramblock_recv_bitmap_send()
> 243          * Mark as an end, in case the middle part is screwed up due to
> 244          * some "misterious" reason.
> 245          */
> 246         qemu_put_be64(file, RAMBLOCK_RECV_BITMAP_ENDING);
> 247         qemu_fflush(file);
> 248
>>>>     CID 1391292:  API usage errors  (ALLOC_FREE_MISMATCH)
>>>>     Calling "free" frees "le_bitmap" using "free" but it should
>>>> have been freed using "g_free".
> 249         free(le_bitmap);
> 250
> 251         if (qemu_file_get_error(file)) {
> 252             return qemu_file_get_error(file);
> 253         }
> 254
>
> Signed-off-by: Peter Xu <peterx@redhat.com>
> ---
>  migration/ram.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/migration/ram.c b/migration/ram.c
> index 5bcbf7a9f9..c53e8369a3 100644
> --- a/migration/ram.c
> +++ b/migration/ram.c
> @@ -246,7 +246,7 @@ int64_t ramblock_recv_bitmap_send(QEMUFile *file,
>      qemu_put_be64(file, RAMBLOCK_RECV_BITMAP_ENDING);
>      qemu_fflush(file);
>  
> -    free(le_bitmap);
> +    g_free(le_bitmap);
>  
>      if (qemu_file_get_error(file)) {
>          return qemu_file_get_error(file);
> @@ -3514,7 +3514,7 @@ int ram_dirty_bitmap_reload(MigrationState *s, RAMBlock *block)
>  
>      ret = 0;
>  out:
> -    free(le_bitmap);
> +    g_free(le_bitmap);
>      return ret;
>  }

Reviewed-by: Juan Quintela <quintela@redhat.com>

Queued

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Qemu-devel] [PATCH] migration: use g_free for ram load bitmap
  2018-05-25  1:50 [Qemu-devel] [PATCH] migration: use g_free for ram load bitmap Peter Xu
  2018-05-25  9:16 ` Juan Quintela
@ 2018-05-27  9:15 ` Ján Tomko
  1 sibling, 0 replies; 3+ messages in thread
From: Ján Tomko @ 2018-05-27  9:15 UTC (permalink / raw)
  To: Peter Xu; +Cc: qemu-devel, Dr . David Alan Gilbert, Juan Quintela

[-- Attachment #1: Type: text/plain, Size: 1680 bytes --]

On Fri, May 25, 2018 at 09:50:42AM +0800, Peter Xu wrote:
>Buffers allocated with bitmap_new() should be freed with g_free().
>
>Both reported by Coverity:
>
>*** CID 1391300:  API usage errors  (ALLOC_FREE_MISMATCH)
>/migration/ram.c: 3517 in ram_dirty_bitmap_reload()
>3511          * the last one to sync, we need to notify the main send thread.
>3512          */
>3513         ram_dirty_bitmap_reload_notify(s);
>3514
>3515         ret = 0;
>3516     out:
>>>>     CID 1391300:  API usage errors  (ALLOC_FREE_MISMATCH)
>>>>     Calling "free" frees "le_bitmap" using "free" but it should have been freed using "g_free".
>3517         free(le_bitmap);
>3518         return ret;
>3519     }
>3520
>3521     static int ram_resume_prepare(MigrationState *s, void *opaque)
>3522     {
>
>*** CID 1391292:  API usage errors  (ALLOC_FREE_MISMATCH)
>/migration/ram.c: 249 in ramblock_recv_bitmap_send()
>243          * Mark as an end, in case the middle part is screwed up due to
>244          * some "misterious" reason.
>245          */
>246         qemu_put_be64(file, RAMBLOCK_RECV_BITMAP_ENDING);
>247         qemu_fflush(file);
>248
>>>>     CID 1391292:  API usage errors  (ALLOC_FREE_MISMATCH)
>>>>     Calling "free" frees "le_bitmap" using "free" but it should have been freed using "g_free".
>249         free(le_bitmap);
>250
>251         if (qemu_file_get_error(file)) {
>252             return qemu_file_get_error(file);
>253         }
>254
>
>Signed-off-by: Peter Xu <peterx@redhat.com>
>---
> migration/ram.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>

Reviewed-by: Ján Tomko <jtomko@redhat.com>

Jano

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2018-05-27  9:15 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-25  1:50 [Qemu-devel] [PATCH] migration: use g_free for ram load bitmap Peter Xu
2018-05-25  9:16 ` Juan Quintela
2018-05-27  9:15 ` Ján Tomko

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.