From: Greg Kroah-Hartman Date: Mon, 21 Jan 2019 13:52:12 +0000 (+0100) Subject: 3.18-stable patches X-Git-Tag: v4.20.4~10 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=6cd399f401898d92c3b9268c6dc83b57abb6d0da;p=thirdparty%2Fkernel%2Fstable-queue.git 3.18-stable patches added patches: media-vb2-be-sure-to-unlock-mutex-on-errors.patch --- diff --git a/queue-3.18/media-vb2-be-sure-to-unlock-mutex-on-errors.patch b/queue-3.18/media-vb2-be-sure-to-unlock-mutex-on-errors.patch new file mode 100644 index 00000000000..214ad1d4eb6 --- /dev/null +++ b/queue-3.18/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 +@@ -2501,7 +2501,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-3.18/series b/queue-3.18/series index f628d3b7189..7688b6a7d8a 100644 --- a/queue-3.18/series +++ b/queue-3.18/series @@ -30,3 +30,4 @@ selinux-fix-gpf-on-invalid-policy.patch sctp-allocate-sctp_sockaddr_entry-with-kzalloc.patch block-loop-use-global-lock-for-ioctl-operation.patch drm-fb-helper-ignore-the-value-of-fb_var_screeninfo.pixclock.patch +media-vb2-be-sure-to-unlock-mutex-on-errors.patch