linux/drivers/media/dvb-core
Mauro Carvalho Chehab 76d81243a4 media: dvb_frontend: fix locking issues at dvb_frontend_get_event()
As warned by smatch:
	drivers/media/dvb-core/dvb_frontend.c:314 dvb_frontend_get_event() warn: inconsistent returns 'sem:&fepriv->sem'.
	  Locked on:   line 288
	               line 295
	               line 306
	               line 314
	  Unlocked on: line 303

The lock implementation for get event is wrong, as, if an
interrupt occurs, down_interruptible() will fail, and the
routine will call up() twice when userspace calls the ioctl
again.

The bad code is there since when Linux migrated to git, in
2005.

Cc: stable@vger.kernel.org
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2018-04-17 05:49:58 -04:00
..
dmxdev.c media: dvb: update buffer mmaped flags and frame counter 2018-02-23 11:44:08 -05:00
dvb_ca_en50221.c media: dvb_ca_en50221: fix severity of successful CAM init log message 2018-03-06 10:46:41 -05:00
dvb_demux.c media: dvb: update buffer mmaped flags and frame counter 2018-02-23 11:44:08 -05:00
dvb_frontend.c media: dvb_frontend: fix locking issues at dvb_frontend_get_event() 2018-04-17 05:49:58 -04:00
dvb_math.c media: move dvb kAPI headers to include/media 2017-12-28 13:16:01 -05:00
dvb_net.c media: dvb: update buffer mmaped flags and frame counter 2018-02-23 11:44:08 -05:00
dvb_ringbuffer.c media: move dvb kAPI headers to include/media 2017-12-28 13:16:01 -05:00
dvb_vb2.c media: dvb: update buffer mmaped flags and frame counter 2018-02-23 11:44:08 -05:00
dvbdev.c media: dvbdev: handle ENOMEM error at dvb_module_probe() 2018-03-22 09:01:33 -04:00
Kconfig media: dvb-core: allow users to enable DVB net ULE debug 2017-12-19 06:29:27 -05:00
Makefile media: dvb: fix DVB_MMAP symbol name 2018-02-23 05:20:01 -05:00