projects
/
linux.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
d8b45ee
)
media: dvbdev: drop refcount on error path in dvb_device_open()
author
Dan Carpenter
<dan.carpenter@linaro.org>
Tue, 31 Oct 2023 09:53:33 +0000
(12:53 +0300)
committer
Hans Verkuil
<hverkuil-cisco@xs4all.nl>
Wed, 13 Dec 2023 10:04:46 +0000
(11:04 +0100)
If call to file->f_op->open() fails, then call dvb_device_put(dvbdev).
Fixes: 0fc044b2b5e2 ("media: dvbdev: adopts refcnt to avoid UAF")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
drivers/media/dvb-core/dvbdev.c
patch
|
blob
|
history
diff --git
a/drivers/media/dvb-core/dvbdev.c
b/drivers/media/dvb-core/dvbdev.c
index 305bb21d843c8bbd8cf9e0a3d8ad7635c35cb083..49f0eb7d0b9d3b16e1410f061b57b2914a3b852a 100644
(file)
--- a/
drivers/media/dvb-core/dvbdev.c
+++ b/
drivers/media/dvb-core/dvbdev.c
@@
-104,6
+104,8
@@
static int dvb_device_open(struct inode *inode, struct file *file)
err = file->f_op->open(inode, file);
up_read(&minor_rwsem);
mutex_unlock(&dvbdev_mutex);
+ if (err)
+ dvb_device_put(dvbdev);
return err;
}
fail: