Commit 1549e3a5 authored by Prasad J Pandit's avatar Prasad J Pandit Committed by Michael Roth
Browse files

pvrdma: release device resources in case of an error



If during pvrdma device initialisation an error occurs,
pvrdma_realize() does not release memory resources, leading
to memory leakage.

Reported-by: default avatarLi Qiang <liq3ea@163.com>
Signed-off-by: default avatarPrasad J Pandit <pjp@fedoraproject.org>
Message-Id: <20181212175817.815-1-ppandit@redhat.com>
Reviewed-by: default avatarYuval Shaia <yuval.shaia@oracle.com>
Signed-off-by: default avatarMarcel Apfelbaum <marcel.apfelbaum@gmail.com>
(cherry picked from commit cce64861)
Signed-off-by: default avatarMichael Roth <mdroth@linux.vnet.ibm.com>
parent 86d4f401
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -572,7 +572,7 @@ static int pvrdma_check_ram_shared(Object *obj, void *opaque)

static void pvrdma_realize(PCIDevice *pdev, Error **errp)
{
    int rc;
    int rc = 0;
    PVRDMADev *dev = PVRDMA_DEV(pdev);
    Object *memdev_root;
    bool ram_shared = false;
@@ -632,6 +632,7 @@ static void pvrdma_realize(PCIDevice *pdev, Error **errp)

out:
    if (rc) {
        pvrdma_fini(pdev);
        error_append_hint(errp, "Device fail to load\n");
    }
}