VisionFive2 Linux kernel

StarFive Tech Linux Kernel for VisionFive (JH7110) boards (mirror)

More than 9999 Commits   33 Branches   57 Tags
author: Matthew Wilcox (Oracle) <willy@infradead.org> 2021-10-18 15:16:12 -0700 committer: Linus Torvalds <torvalds@linux-foundation.org> 2021-10-18 20:22:03 -1000 commit: 032146cda85566abcd1c4884d9d23e4e30a07e9a parent: b0e901280d9860a0a35055f220e8e457f300f40a
Commit Summary:
vfs: check fd has read access in kernel_read_file_from_fd()
Diffstat:
1 file changed, 1 insertion, 1 deletion
diff --git a/fs/kernel_read_file.c b/fs/kernel_read_file.c
index 87aac4c72c37..1b07550485b9 100644
--- a/fs/kernel_read_file.c
+++ b/fs/kernel_read_file.c
@@ -178,7 +178,7 @@ int kernel_read_file_from_fd(int fd, loff_t offset, void **buf,
 	struct fd f = fdget(fd);
 	int ret = -EBADF;
 
-	if (!f.file)
+	if (!f.file || !(f.file->f_mode & FMODE_READ))
 		goto out;
 
 	ret = kernel_read_file(f.file, offset, buf, buf_size, file_size, id);