Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 915a428e authored by Dan Carpenter's avatar Dan Carpenter Committed by Eric Anholt
Browse files

drm/i915: fix small leak on overlay error path



We should free "params" before returning.

Signed-off-by: default avatarDan Carpenter <error27@gmail.com>
Reviewed-by: default avatarDaniel Vetter <daniel@ffwll.ch>
Cc: stable@kernel.org (for .33)
Signed-off-by: default avatarEric Anholt <eric@anholt.net>
parent 1f2b1013
Loading
Loading
Loading
Loading
+9 −4
Original line number Diff line number Diff line
@@ -1068,14 +1068,18 @@ int intel_overlay_put_image(struct drm_device *dev, void *data,

	drmmode_obj = drm_mode_object_find(dev, put_image_rec->crtc_id,
                        DRM_MODE_OBJECT_CRTC);
	if (!drmmode_obj)
		return -ENOENT;
	if (!drmmode_obj) {
		ret = -ENOENT;
		goto out_free;
	}
	crtc = to_intel_crtc(obj_to_crtc(drmmode_obj));

	new_bo = drm_gem_object_lookup(dev, file_priv,
			put_image_rec->bo_handle);
	if (!new_bo)
		return -ENOENT;
	if (!new_bo) {
		ret = -ENOENT;
		goto out_free;
	}

	mutex_lock(&dev->mode_config.mutex);
	mutex_lock(&dev->struct_mutex);
@@ -1165,6 +1169,7 @@ int intel_overlay_put_image(struct drm_device *dev, void *data,
	mutex_unlock(&dev->struct_mutex);
	mutex_unlock(&dev->mode_config.mutex);
	drm_gem_object_unreference_unlocked(new_bo);
out_free:
	kfree(params);

	return ret;