[Qemu-devel] [PATCH] nvme: fix cmbuf leak on exit

Stefan Hajnoczi posted 1 patch 6 years, 6 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20170919094841.29522-1-stefanha@redhat.com
Test checkpatch passed
Test docker passed
Test s390x passed
hw/block/nvme.c | 1 +
1 file changed, 1 insertion(+)
[Qemu-devel] [PATCH] nvme: fix cmbuf leak on exit
Posted by Stefan Hajnoczi 6 years, 6 months ago
Cc: Keith Busch <keith.busch@intel.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
 hw/block/nvme.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/hw/block/nvme.c b/hw/block/nvme.c
index 9aa32692a3..513ec7065d 100644
--- a/hw/block/nvme.c
+++ b/hw/block/nvme.c
@@ -1057,6 +1057,7 @@ static void nvme_exit(PCIDevice *pci_dev)
     g_free(n->namespaces);
     g_free(n->cq);
     g_free(n->sq);
+    g_free(n->cmbuf);
     if (n->cmbsz) {
         memory_region_unref(&n->ctrl_mem);
     }
-- 
2.13.5


Re: [Qemu-devel] [PATCH] nvme: fix cmbuf leak on exit
Posted by Philippe Mathieu-Daudé 6 years, 6 months ago
Hi Stefan,

On 09/19/2017 06:48 AM, Stefan Hajnoczi wrote:
> Cc: Keith Busch <keith.busch@intel.com>
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
> ---
>   hw/block/nvme.c | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/hw/block/nvme.c b/hw/block/nvme.c
> index 9aa32692a3..513ec7065d 100644
> --- a/hw/block/nvme.c
> +++ b/hw/block/nvme.c
> @@ -1057,6 +1057,7 @@ static void nvme_exit(PCIDevice *pci_dev)
>       g_free(n->namespaces);
>       g_free(n->cq);
>       g_free(n->sq);
> +    g_free(n->cmbuf);

I'd move it 1 line below,

>       if (n->cmbsz) {

here:
             g_free(n->cmbuf);

>           memory_region_unref(&n->ctrl_mem);
>       }
> 

Anyway g_free() handles NULL, so:
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>