Commit 51270de9 authored by Dan Carpenter's avatar Dan Carpenter Committed by Sean Paul

drm/msm/gpu: Fix a couple memory leaks in debugfs

The msm_gpu_open() function should free "show_priv" on error or it
causes static checker warnings.

Fixes: 4f776f45 ("drm/msm/gpu: Convert the GPU show function to use the GPU state")
Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: default avatarRob Clark <robdclark@gmail.com>
Signed-off-by: default avatarSean Paul <seanpaul@chromium.org>
parent 482f9632
...@@ -84,7 +84,7 @@ static int msm_gpu_open(struct inode *inode, struct file *file) ...@@ -84,7 +84,7 @@ static int msm_gpu_open(struct inode *inode, struct file *file)
ret = mutex_lock_interruptible(&dev->struct_mutex); ret = mutex_lock_interruptible(&dev->struct_mutex);
if (ret) if (ret)
return ret; goto free_priv;
pm_runtime_get_sync(&gpu->pdev->dev); pm_runtime_get_sync(&gpu->pdev->dev);
show_priv->state = gpu->funcs->gpu_state_get(gpu); show_priv->state = gpu->funcs->gpu_state_get(gpu);
...@@ -94,13 +94,20 @@ static int msm_gpu_open(struct inode *inode, struct file *file) ...@@ -94,13 +94,20 @@ static int msm_gpu_open(struct inode *inode, struct file *file)
if (IS_ERR(show_priv->state)) { if (IS_ERR(show_priv->state)) {
ret = PTR_ERR(show_priv->state); ret = PTR_ERR(show_priv->state);
kfree(show_priv); goto free_priv;
return ret;
} }
show_priv->dev = dev; show_priv->dev = dev;
return single_open(file, msm_gpu_show, show_priv); ret = single_open(file, msm_gpu_show, show_priv);
if (ret)
goto free_priv;
return 0;
free_priv:
kfree(show_priv);
return ret;
} }
static const struct file_operations msm_gpu_fops = { static const struct file_operations msm_gpu_fops = {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment