On bo reservation failure, we end up leaking fpriv.
v2 (chk): rebased and added missing free on vm failure as well
Fixes: 5e386b574cf7e1 ("drm/radeon: fix missing bo reservation")
Cc: stable@vger.kernel.org
Cc: Christian König <christian.koenig@amd.com>
Cc: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Quentin Casasnovas <quentin.casasnovas@oracle.com>
Signed-off-by: Christian König <christian.koenig@amd.com>
}
r = radeon_vm_init(rdev, &fpriv->vm);
}
r = radeon_vm_init(rdev, &fpriv->vm);
+ if (r) {
+ kfree(fpriv);
r = radeon_bo_reserve(rdev->ring_tmp_bo.bo, false);
r = radeon_bo_reserve(rdev->ring_tmp_bo.bo, false);
+ if (r) {
+ radeon_vm_fini(rdev, &fpriv->vm);
+ kfree(fpriv);
/* map the ib pool buffer read only into
* virtual address space */
/* map the ib pool buffer read only into
* virtual address space */