media: bdisp: fix memleak on release
authorJohan Hovold <johan@kernel.org>
Thu, 10 Oct 2019 13:13:31 +0000 (10:13 -0300)
committerMauro Carvalho Chehab <mchehab@kernel.org>
Tue, 5 Nov 2019 11:50:02 +0000 (08:50 -0300)
If a process is interrupted while accessing the video device and the
device lock is contended, release() could return early and fail to free
related resources.

Note that the return value of the v4l2 release file operation is
ignored.

Fixes: 28ffeebbb7bd ("[media] bdisp: 2D blitter driver using v4l2 mem2mem framework")
Cc: stable <stable@vger.kernel.org> # 4.2
Signed-off-by: Johan Hovold <johan@kernel.org>
Reviewed-by: Fabien Dessenne <fabien.dessenne@st.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
drivers/media/platform/sti/bdisp/bdisp-v4l2.c

index e90f1ba..675b5f2 100644 (file)
@@ -651,8 +651,7 @@ static int bdisp_release(struct file *file)
 
        dev_dbg(bdisp->dev, "%s\n", __func__);
 
-       if (mutex_lock_interruptible(&bdisp->lock))
-               return -ERESTARTSYS;
+       mutex_lock(&bdisp->lock);
 
        v4l2_m2m_ctx_release(ctx->fh.m2m_ctx);