From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dan Carpenter Date: Sat, 13 Oct 2018 10:28:06 +0000 Subject: [PATCH] drm/msm/gpu: Fix a couple memory leaks in debugfs Message-Id: <20181013102806.GF16086@mwanda> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Rob Clark , Jordan Crouse Cc: David Airlie , linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, kernel-janitors-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org The msm_gpu_open() function should free "show_priv" on error or it causes static checker warnings. Fixes: 4f776f4511c7 ("drm/msm/gpu: Convert the GPU show function to use the GPU state") Signed-off-by: Dan Carpenter --- drivers/gpu/drm/msm/msm_debugfs.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/msm/msm_debugfs.c b/drivers/gpu/drm/msm/msm_debugfs.c index f0da0d3c8a80..d756436c1fcd 100644 --- a/drivers/gpu/drm/msm/msm_debugfs.c +++ b/drivers/gpu/drm/msm/msm_debugfs.c @@ -84,7 +84,7 @@ static int msm_gpu_open(struct inode *inode, struct file *file) ret = mutex_lock_interruptible(&dev->struct_mutex); if (ret) - return ret; + goto free_priv; pm_runtime_get_sync(&gpu->pdev->dev); show_priv->state = gpu->funcs->gpu_state_get(gpu); @@ -94,13 +94,20 @@ static int msm_gpu_open(struct inode *inode, struct file *file) if (IS_ERR(show_priv->state)) { ret = PTR_ERR(show_priv->state); - kfree(show_priv); - return ret; + goto free_priv; } 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 = { -- 2.18.0 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dan Carpenter Subject: [PATCH] drm/msm/gpu: Fix a couple memory leaks in debugfs Date: Sat, 13 Oct 2018 13:28:06 +0300 Message-ID: <20181013102806.GF16086@mwanda> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: freedreno-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Freedreno" To: Rob Clark , Jordan Crouse Cc: David Airlie , linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, kernel-janitors-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: linux-arm-msm@vger.kernel.org VGhlIG1zbV9ncHVfb3BlbigpIGZ1bmN0aW9uIHNob3VsZCBmcmVlICJzaG93X3ByaXYiIG9uIGVy cm9yIG9yIGl0CmNhdXNlcyBzdGF0aWMgY2hlY2tlciB3YXJuaW5ncy4KCkZpeGVzOiA0Zjc3NmY0 NTExYzcgKCJkcm0vbXNtL2dwdTogQ29udmVydCB0aGUgR1BVIHNob3cgZnVuY3Rpb24gdG8gdXNl IHRoZSBHUFUgc3RhdGUiKQpTaWduZWQtb2ZmLWJ5OiBEYW4gQ2FycGVudGVyIDxkYW4uY2FycGVu dGVyQG9yYWNsZS5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZGVidWdmcy5jIHwg MTUgKysrKysrKysrKystLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKSwgNCBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9kZWJ1Z2Zz LmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9kZWJ1Z2ZzLmMKaW5kZXggZjBkYTBkM2M4YTgw Li5kNzU2NDM2YzFmY2QgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2RlYnVn ZnMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9kZWJ1Z2ZzLmMKQEAgLTg0LDcgKzg0 LDcgQEAgc3RhdGljIGludCBtc21fZ3B1X29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0 IGZpbGUgKmZpbGUpCiAKIAlyZXQgPSBtdXRleF9sb2NrX2ludGVycnVwdGlibGUoJmRldi0+c3Ry dWN0X211dGV4KTsKIAlpZiAocmV0KQotCQlyZXR1cm4gcmV0OworCQlnb3RvIGZyZWVfcHJpdjsK IAogCXBtX3J1bnRpbWVfZ2V0X3N5bmMoJmdwdS0+cGRldi0+ZGV2KTsKIAlzaG93X3ByaXYtPnN0 YXRlID0gZ3B1LT5mdW5jcy0+Z3B1X3N0YXRlX2dldChncHUpOwpAQCAtOTQsMTMgKzk0LDIwIEBA IHN0YXRpYyBpbnQgbXNtX2dwdV9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxl ICpmaWxlKQogCiAJaWYgKElTX0VSUihzaG93X3ByaXYtPnN0YXRlKSkgewogCQlyZXQgPSBQVFJf RVJSKHNob3dfcHJpdi0+c3RhdGUpOwotCQlrZnJlZShzaG93X3ByaXYpOwotCQlyZXR1cm4gcmV0 OworCQlnb3RvIGZyZWVfcHJpdjsKIAl9CiAKIAlzaG93X3ByaXYtPmRldiA9IGRldjsKIAotCXJl dHVybiBzaW5nbGVfb3BlbihmaWxlLCBtc21fZ3B1X3Nob3csIHNob3dfcHJpdik7CisJcmV0ID0g c2luZ2xlX29wZW4oZmlsZSwgbXNtX2dwdV9zaG93LCBzaG93X3ByaXYpOworCWlmIChyZXQpCisJ CWdvdG8gZnJlZV9wcml2OworCisJcmV0dXJuIDA7CisKK2ZyZWVfcHJpdjoKKwlrZnJlZShzaG93 X3ByaXYpOworCXJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVy YXRpb25zIG1zbV9ncHVfZm9wcyA9IHsKLS0gCjIuMTguMAoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KRnJlZWRyZW5vIG1haWxpbmcgbGlzdApGcmVlZHJl bm9AbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vZnJlZWRyZW5vCg==