2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-01-02 12:19:51 -03:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-09-01 19:15:39 -03:00
|
|
|
|
2009-09-19 09:45:22 -03:00
|
|
|
|
2009-09-01 19:15:39 -03:00
|
|
|
|
2016-04-05 13:14:10 -03:00
|
|
|
|
2009-09-01 19:15:39 -03:00
|
|
|
|
2008-04-09 19:13:13 -03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-09-19 14:22:19 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2008-04-09 19:13:13 -03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2009-05-23 18:00:59 -03:00
|
|
|
|
|
|
|
|
|
2015-08-22 19:39:38 -03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-06-05 07:59:10 -04:00
|
|
|
|
2022-01-21 21:18:49 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-08-22 19:39:38 -03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-05-03 14:12:59 -04:00
|
|
|
|
2015-08-22 19:39:38 -03:00
|
|
|
|
|
|
|
|
|
2015-12-29 11:52:23 -02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-08-22 19:39:38 -03:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-04-10 09:27:37 -03:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2008-10-11 11:44:05 -03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-01-02 12:19:51 -03:00
|
|
|
|
|
|
|
|
|
2018-05-03 14:12:59 -04:00
|
|
|
|
2015-01-02 12:19:51 -03:00
|
|
|
|
2015-12-29 11:52:23 -02:00
|
|
|
|
|
|
|
|
|
2015-01-02 12:19:51 -03:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2015-08-22 19:39:38 -03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-12-03 06:09:31 +00:00
|
|
|
|
2015-08-22 19:39:38 -03:00
|
|
|
|
|
|
|
|
|
2017-09-19 14:22:19 -04:00
|
|
|
|
2015-08-22 19:39:38 -03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-12-12 08:25:44 -02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-08-22 19:39:38 -03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2022-08-07 15:59:52 +01:00
|
|
|
|
2009-01-11 06:12:43 -03:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2017-09-19 14:22:19 -04:00
|
|
|
|
2008-10-23 12:11:19 -03:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-04-14 10:18:58 -03:00
|
|
|
|
2005-12-12 00:37:27 -08:00
|
|
|
|
2010-04-27 00:24:00 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2015-01-02 12:19:51 -03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-01-03 01:59:53 -03:00
|
|
|
|
2015-08-21 08:20:22 -03:00
|
|
|
|
2015-08-21 16:18:18 -03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-01-02 12:19:51 -03:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
media: dvb-core: Fix use-after-free due to race at dvb_register_device()
dvb_register_device() dynamically allocates fops with kmemdup()
to set the fops->owner.
And these fops are registered in 'file->f_ops' using replace_fops()
in the dvb_device_open() process, and kfree()d in dvb_free_device().
However, it is not common to use dynamically allocated fops instead
of 'static const' fops as an argument of replace_fops(),
and UAF may occur.
These UAFs can occur on any dvb type using dvb_register_device(),
such as dvb_dvr, dvb_demux, dvb_frontend, dvb_net, etc.
So, instead of kfree() the fops dynamically allocated in
dvb_register_device() in dvb_free_device() called during the
.disconnect() process, kfree() it collectively in exit_dvbdev()
called when the dvbdev.c module is removed.
Link: https://lore.kernel.org/linux-media/20221117045925.14297-4-imv4bel@gmail.com
Signed-off-by: Hyunwoo Kim <imv4bel@gmail.com>
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
2022-11-17 04:59:24 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-08-07 15:59:52 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-11-28 08:39:03 +00:00
|
|
|
|
2022-08-07 15:59:52 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-08-22 19:39:38 -03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-01-04 06:47:28 -05:00
|
|
|
|
2015-08-22 19:39:38 -03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2015-08-22 19:39:38 -03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2015-08-22 19:39:38 -03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-09-19 14:22:19 -04:00
|
|
|
|
2015-12-12 08:25:44 -02:00
|
|
|
|
|
|
|
|
|
2015-08-22 19:39:38 -03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-09-19 14:22:19 -04:00
|
|
|
|
2015-08-21 16:18:18 -03:00
|
|
|
|
2015-08-22 19:39:38 -03:00
|
|
|
|
2016-08-09 18:32:11 -03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-12-03 06:09:31 +00:00
|
|
|
|
|
|
|
|
|
2022-08-07 15:59:52 +01:00
|
|
|
|
|
|
|
|
|
2016-08-09 18:32:11 -03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-08-22 19:39:38 -03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-03-02 10:49:04 -03:00
|
|
|
|
|
|
|
|
|
2015-12-29 11:52:23 -02:00
|
|
|
|
|
|
|
|
|
2018-01-04 06:47:28 -05:00
|
|
|
|
2015-12-29 11:52:23 -02:00
|
|
|
|
2017-09-19 16:11:55 -04:00
|
|
|
|
2015-12-29 11:52:23 -02:00
|
|
|
|
2015-12-30 10:11:53 -02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-12-29 11:52:23 -02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-09-19 16:11:55 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-03-02 11:26:14 -03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-09-19 16:11:55 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-07-17 10:10:07 +02:00
|
|
|
|
|
|
|
|
|
2015-12-30 11:09:39 -02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-03-02 10:49:04 -03:00
|
|
|
|
2015-12-29 11:52:23 -02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-09-04 15:10:29 -03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-03-02 11:26:14 -03:00
|
|
|
|
2015-12-30 11:09:39 -02:00
|
|
|
|
2015-03-02 10:49:04 -03:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2017-09-19 16:11:55 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2017-09-19 16:11:55 -04:00
|
|
|
|
2020-10-23 16:08:10 +02:00
|
|
|
|
2017-09-19 16:11:55 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2017-09-19 16:11:55 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-08-22 19:39:38 -03:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2018-03-07 04:11:50 -05:00
|
|
|
|
2018-03-02 10:21:16 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-07-15 00:05:51 +02:00
|
|
|
|
2018-03-02 10:21:16 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-04-29 21:38:46 -03:00
|
|
|
|
2017-09-19 16:11:55 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-01-01 17:02:11 +01:00
|
|
|
|
2017-09-19 16:11:55 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-03-02 10:21:16 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-09-19 16:11:55 -04:00
|
|
|
|
2006-08-08 09:10:08 -03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-09-19 16:11:55 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-05-29 09:20:13 -03:00
|
|
|
|
|
|
|
|
|
2006-08-08 09:10:08 -03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-05-29 09:20:13 -03:00
|
|
|
|
|
|
|
|
|
2018-03-02 10:21:16 -05:00
|
|
|
|
2006-08-08 09:10:08 -03:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|