Hans Verkuil eb376a62ac media: vb2: vb2_mmap: move lock up
commit cd26d1c4d1bc947b56ae404998ae2276df7b39b7 upstream.

If a filehandle is dup()ped, then it is possible to close it from one fd
and call mmap from the other. This creates a race condition in vb2_mmap
where it is using queue data that __vb2_queue_free (called from close())
is in the process of releasing.

By moving up the mutex_lock(mmap_lock) in vb2_mmap this race is avoided
since __vb2_queue_free is called with the same mutex locked. So vb2_mmap
now reads consistent buffer data.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Reported-by: syzbot+be93025dd45dccd8923c@syzkaller.appspotmail.com
Signed-off-by: Hans Verkuil <hansverk@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-01-23 08:09:50 +01:00
..
2018-07-22 14:28:43 +02:00
2018-07-03 11:24:56 +02:00
2019-01-13 10:00:59 +01:00
2018-12-21 14:13:14 +01:00
2019-01-23 08:09:50 +01:00
2019-01-13 10:01:07 +01:00
2019-01-23 08:09:47 +01:00
2018-11-10 07:48:34 -08:00
2018-09-15 09:45:27 +02:00
2018-12-21 14:13:13 +01:00
2019-01-23 08:09:48 +01:00
2018-11-13 11:15:11 -08:00
2018-11-27 16:10:51 +01:00
2018-10-03 17:00:46 -07:00