From 321337c9e82f016a0cd64f81573c18b5731ffa8d Mon Sep 17 00:00:00 2001 From: Raghuram Subramani Date: Thu, 17 Oct 2024 17:33:46 +0530 Subject: Merge remote-tracking branch 'msm8998/lineage-20' into lineage-20 Change-Id: I126075a330f305c85f8fe1b8c9d408f368be95d1 --- fs/open.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'fs/open.c') diff --git a/fs/open.c b/fs/open.c index b7e2889a710c..c39c1d1fa082 100644 --- a/fs/open.c +++ b/fs/open.c @@ -732,6 +732,12 @@ static int do_dentry_open(struct file *f, return 0; } + /* Any file opened for execve()/uselib() has to be a regular file. */ + if (unlikely(f->f_flags & FMODE_EXEC && !S_ISREG(inode->i_mode))) { + error = -EACCES; + goto cleanup_file; + } + if (f->f_mode & FMODE_WRITE && !special_file(inode->i_mode)) { error = get_write_access(inode); if (unlikely(error)) -- cgit v1.2.3