From 30ed5d938a45ac1c8c9ac5ecaf1ea07c41f9210f Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Mon, 21 Jan 2019 14:52:13 +0100 Subject: [PATCH] 4.9-stable patches added patches: media-vb2-be-sure-to-unlock-mutex-on-errors.patch --- ...b2-be-sure-to-unlock-mutex-on-errors.patch | 42 +++++++++++++++++++ queue-4.9/series | 1 + 2 files changed, 43 insertions(+) create mode 100644 queue-4.9/media-vb2-be-sure-to-unlock-mutex-on-errors.patch diff --git a/queue-4.9/media-vb2-be-sure-to-unlock-mutex-on-errors.patch b/queue-4.9/media-vb2-be-sure-to-unlock-mutex-on-errors.patch new file mode 100644 index 00000000000..381281a5b0c --- /dev/null +++ b/queue-4.9/media-vb2-be-sure-to-unlock-mutex-on-errors.patch @@ -0,0 +1,42 @@ +From c06ef2e9acef4cda1feee2ce055b8086e33d251a Mon Sep 17 00:00:00 2001 +From: Mauro Carvalho Chehab +Date: Fri, 23 Nov 2018 07:05:58 -0500 +Subject: media: vb2: be sure to unlock mutex on errors + +From: Mauro Carvalho Chehab + +commit c06ef2e9acef4cda1feee2ce055b8086e33d251a upstream. + +As reported by smatch: +drivers/media/common/videobuf2/videobuf2-core.c: drivers/media/common/videobuf2/videobuf2-core.c:2159 vb2_mmap() warn: inconsistent returns 'mutex:&q->mmap_lock'. + Locked on: line 2148 + Unlocked on: line 2100 + line 2108 + line 2113 + line 2118 + line 2156 + line 2159 + +There is one error condition that doesn't unlock a mutex. + +Fixes: cd26d1c4d1bc ("media: vb2: vb2_mmap: move lock up") +Reviewed-by: Hans Verkuil +Signed-off-by: Mauro Carvalho Chehab +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/media/v4l2-core/videobuf2-core.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +--- a/drivers/media/v4l2-core/videobuf2-core.c ++++ b/drivers/media/v4l2-core/videobuf2-core.c +@@ -1943,7 +1943,8 @@ int vb2_mmap(struct vb2_queue *q, struct + if (length < (vma->vm_end - vma->vm_start)) { + dprintk(1, + "MMAP invalid, as it would overflow buffer length\n"); +- return -EINVAL; ++ ret = -EINVAL; ++ goto unlock; + } + + ret = call_memop(vb, mmap, vb->planes[plane].mem_priv, vma); diff --git a/queue-4.9/series b/queue-4.9/series index fc050edbbd7..9000b3a534d 100644 --- a/queue-4.9/series +++ b/queue-4.9/series @@ -49,3 +49,4 @@ loop-get-rid-of-loop_index_mutex.patch loop-fix-double-mutex_unlock-loop_ctl_mutex-in-loop_control_ioctl.patch drm-fb-helper-ignore-the-value-of-fb_var_screeninfo.pixclock.patch mm-memcg-fix-reclaim-deadlock-with-writeback.patch +media-vb2-be-sure-to-unlock-mutex-on-errors.patch -- 2.47.2