From 4983527d61425da7ffabc2708befd0e2f11a722f Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Mon, 21 Jan 2019 14:52:14 +0100 Subject: [PATCH] 4.19-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.19/series | 1 + 2 files changed, 43 insertions(+) create mode 100644 queue-4.19/media-vb2-be-sure-to-unlock-mutex-on-errors.patch diff --git a/queue-4.19/media-vb2-be-sure-to-unlock-mutex-on-errors.patch b/queue-4.19/media-vb2-be-sure-to-unlock-mutex-on-errors.patch new file mode 100644 index 00000000000..b3094b4d1a1 --- /dev/null +++ b/queue-4.19/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/common/videobuf2/videobuf2-core.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +--- a/drivers/media/common/videobuf2/videobuf2-core.c ++++ b/drivers/media/common/videobuf2/videobuf2-core.c +@@ -1960,7 +1960,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.19/series b/queue-4.19/series index 5c26ef1e633..6d0306b8447 100644 --- a/queue-4.19/series +++ b/queue-4.19/series @@ -97,3 +97,4 @@ loop-fix-double-mutex_unlock-loop_ctl_mutex-in-loop_control_ioctl.patch loop-drop-caches-if-offset-or-block_size-are-changed.patch drm-fb-helper-ignore-the-value-of-fb_var_screeninfo.pixclock.patch selftests-fix-test-errors-related-to-lib.mk-khdr-target.patch +media-vb2-be-sure-to-unlock-mutex-on-errors.patch -- 2.47.2