diff options
| author | Thomas Zimmermann <tzimmermann@suse.de> | 2024-02-26 14:20:50 +0100 |
|---|---|---|
| committer | Thomas Zimmermann <tzimmermann@suse.de> | 2024-02-26 14:20:50 +0100 |
| commit | 0475184905387dc481927f87e4abd63c3d8fa51d (patch) | |
| tree | ce348794e5d0fccacac690c0f8515101d3f09465 /drivers/media/rc/lirc_dev.c | |
| parent | 89ac522d4507126d353834973ddbbf7b6acfdeef (diff) | |
| parent | f112b68f273fb0121cb64e0c3ac06adcb91e32b8 (diff) | |
Merge drm/drm-next into drm-misc-next
Backmerging to get drm-misc-next up to v6.8-rc6.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Diffstat (limited to 'drivers/media/rc/lirc_dev.c')
| -rw-r--r-- | drivers/media/rc/lirc_dev.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/media/rc/lirc_dev.c b/drivers/media/rc/lirc_dev.c index a537734832c5..caad59f76793 100644 --- a/drivers/media/rc/lirc_dev.c +++ b/drivers/media/rc/lirc_dev.c @@ -814,7 +814,7 @@ void __exit lirc_dev_exit(void) unregister_chrdev_region(lirc_base_dev, RC_DEV_MAX); } -struct rc_dev *rc_dev_get_from_fd(int fd) +struct rc_dev *rc_dev_get_from_fd(int fd, bool write) { struct fd f = fdget(fd); struct lirc_fh *fh; @@ -828,6 +828,9 @@ struct rc_dev *rc_dev_get_from_fd(int fd) return ERR_PTR(-EINVAL); } + if (write && !(f.file->f_mode & FMODE_WRITE)) + return ERR_PTR(-EPERM); + fh = f.file->private_data; dev = fh->rc; |
