From 82baff9f6f3c7bb242d5378e3118763069460033 Mon Sep 17 00:00:00 2001 From: Konsta Holtta Date: Wed, 26 Sep 2018 15:34:42 +0300 Subject: gpu: nvgpu: do nothing on invalid tsg release If nvgpu_ioctl_tsg_open() fails, this file has no priv data yet on release(). In that case there is nothing to free so just return. Jira NVGPU-967 Change-Id: I02dd1bb12a27745a3b28aaa4a943d79d82b14d2c Signed-off-by: Konsta Holtta Reviewed-on: https://git-master.nvidia.com/r/1847592 Reviewed-by: mobile promotions Tested-by: mobile promotions --- drivers/gpu/nvgpu/os/linux/ioctl_tsg.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'drivers') diff --git a/drivers/gpu/nvgpu/os/linux/ioctl_tsg.c b/drivers/gpu/nvgpu/os/linux/ioctl_tsg.c index 8eb5f014..7ebf4291 100644 --- a/drivers/gpu/nvgpu/os/linux/ioctl_tsg.c +++ b/drivers/gpu/nvgpu/os/linux/ioctl_tsg.c @@ -467,7 +467,14 @@ void nvgpu_ioctl_tsg_release(struct nvgpu_ref *ref) int nvgpu_ioctl_tsg_dev_release(struct inode *inode, struct file *filp) { struct tsg_private *priv = filp->private_data; - struct tsg_gk20a *tsg = priv->tsg; + struct tsg_gk20a *tsg; + + if (!priv) { + /* open failed, never got a tsg for this file */ + return 0; + } + + tsg = priv->tsg; nvgpu_ref_put(&tsg->refcount, nvgpu_ioctl_tsg_release); nvgpu_kfree(tsg->g, priv); -- cgit v1.2.2