]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
lirc: rc_dev_get_from_fd(): fix file leak
authorAl Viro <viro@zeniv.linux.org.uk>
Fri, 31 May 2024 03:58:26 +0000 (23:58 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Fri, 31 May 2024 03:58:26 +0000 (23:58 -0400)
missing fdput() on a failure exit

Fixes: 6a9d552483d50 "media: rc: bpf attach/detach requires write permission" # v6.9
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
drivers/media/rc/lirc_dev.c

index 52aea41677183797d06ce632d28356fed59c870a..717c441b4a86541f0471084aafd6e9bd38fdf7ee 100644 (file)
@@ -828,8 +828,10 @@ struct rc_dev *rc_dev_get_from_fd(int fd, bool write)
                return ERR_PTR(-EINVAL);
        }
 
-       if (write && !(f.file->f_mode & FMODE_WRITE))
+       if (write && !(f.file->f_mode & FMODE_WRITE)) {
+               fdput(f);
                return ERR_PTR(-EPERM);
+       }
 
        fh = f.file->private_data;
        dev = fh->rc;