summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorFabiano Rosas <farosas@suse.de>2024-08-28 11:56:48 -0300
committerFabiano Rosas <farosas@suse.de>2024-09-03 16:24:36 -0300
commit405e352d28c24991cacfdebccf67d56c4795cf6e (patch)
tree8aa7bf8b5282fc1804d954fa48f310e1a30bcf7b
parent81b0ed8ad81a9e454ffb77ce028e5081b8b3022f (diff)
downloadfocaccia-qemu-405e352d28c24991cacfdebccf67d56c4795cf6e.tar.gz
focaccia-qemu-405e352d28c24991cacfdebccf67d56c4795cf6e.zip
migration/multifd: Fix p->iov leak in multifd-uadk.c
The send_cleanup() hook should free the p->iov that was allocated at
send_setup(). This was missed because the UADK code is conditional on
the presence of the accelerator, so it's not tested by default.

Fixes: 819dd20636 ("migration/multifd: Add UADK initialization")
Reported-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Fabiano Rosas <farosas@suse.de>
-rw-r--r--migration/multifd-uadk.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/migration/multifd-uadk.c b/migration/multifd-uadk.c
index 89f6a72f0e..6e6a290ae9 100644
--- a/migration/multifd-uadk.c
+++ b/migration/multifd-uadk.c
@@ -132,6 +132,8 @@ static void multifd_uadk_send_cleanup(MultiFDSendParams *p, Error **errp)
 
     multifd_uadk_uninit_sess(wd);
     p->compress_data = NULL;
+    g_free(p->iov);
+    p->iov = NULL;
 }
 
 static inline void prepare_next_iov(MultiFDSendParams *p, void *base,