media: dvbdev: adopts refcnt to avoid UAF
[ Upstream commit 0fc044b2 ] dvb_unregister_device() is known that prone to use-after-free. That is, the cleanup from dvb_unregister_device() releases the dvb_device even if there are pointers stored in file->private_data still refer to it. This patch adds a reference counter into struct dvb_device and delays its deallocation until no pointer refers to the object. Link: https://lore.kernel.org/linux-media/20220807145952.10368-1-linma@zju.edu.cn Signed-off-by:Lin Ma <linma@zju.edu.cn> Reported-by:
kernel test robot <lkp@intel.com> Signed-off-by:
Mauro Carvalho Chehab <mchehab@kernel.org> Signed-off-by:
Sasha Levin <sashal@kernel.org>
Showing
- drivers/media/dvb-core/dvb_ca_en50221.c 1 addition, 1 deletiondrivers/media/dvb-core/dvb_ca_en50221.c
- drivers/media/dvb-core/dvb_frontend.c 1 addition, 1 deletiondrivers/media/dvb-core/dvb_frontend.c
- drivers/media/dvb-core/dvbdev.c 25 additions, 7 deletionsdrivers/media/dvb-core/dvbdev.c
- include/media/dvbdev.h 17 additions, 14 deletionsinclude/media/dvbdev.h
Loading
Please register or sign in to comment