]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
media: bdisp: fix memleak on release
authorJohan Hovold <johan@kernel.org>
Thu, 10 Oct 2019 13:13:31 +0000 (10:13 -0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 17 Dec 2019 18:56:19 +0000 (19:56 +0100)
commit 11609a7e21f8cea42630350aa57662928fa4dc63 upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/media/platform/sti/bdisp/bdisp-v4l2.c

index e90f1ba30574373a8774d2716a471dc3e70432e4..675b5f2b4c2ee9b813ce6afd05596d4e987419f2 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);