]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
media: vivid: use vfree() instead of kfree() for dev->bitmap_cap
authorAlexander Potapenko <glider@google.com>
Thu, 4 Apr 2019 14:56:46 +0000 (10:56 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 11 Jun 2019 10:23:52 +0000 (12:23 +0200)
commit dad7e270ba712ba1c99cd2d91018af6044447a06 upstream.

syzkaller reported crashes on kfree() called from
vivid_vid_cap_s_selection(). This looks like a simple typo, as
dev->bitmap_cap is allocated with vzalloc() throughout the file.

Fixes: ef834f7836ec0 ("[media] vivid: add the video capture and output
parts")

Signed-off-by: Alexander Potapenko <glider@google.com>
Reported-by: Syzbot <syzbot+6c0effb5877f6b0344e2@syzkaller.appspotmail.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/media/platform/vivid/vivid-vid-cap.c

index a84954f1be343eaa817629d3d76d9f652a656ae4..9eb0bc4a8d97c599cf8cb50cdc6da93010d76fd5 100644 (file)
@@ -993,7 +993,7 @@ int vivid_vid_cap_s_selection(struct file *file, void *fh, struct v4l2_selection
                rect_map_inside(&s->r, &dev->fmt_cap_rect);
                if (dev->bitmap_cap && (compose->width != s->r.width ||
                                        compose->height != s->r.height)) {
-                       kfree(dev->bitmap_cap);
+                       vfree(dev->bitmap_cap);
                        dev->bitmap_cap = NULL;
                }
                *compose = s->r;