| From dad7e270ba712ba1c99cd2d91018af6044447a06 Mon Sep 17 00:00:00 2001 |
| From: Alexander Potapenko <glider@google.com> |
| Date: Thu, 4 Apr 2019 10:56:46 -0400 |
| Subject: media: vivid: use vfree() instead of kfree() for dev->bitmap_cap |
| |
| From: Alexander Potapenko <glider@google.com> |
| |
| 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 | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/drivers/media/platform/vivid/vivid-vid-cap.c |
| +++ b/drivers/media/platform/vivid/vivid-vid-cap.c |
| @@ -1007,7 +1007,7 @@ int vivid_vid_cap_s_selection(struct fil |
| v4l2_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; |