[PATCH v2 0/3] Relocate execve() sanity checks
From: Kees Cook
Date: Fri Jun 05 2020 - 12:00:29 EST
Hi,
While looking at the code paths for the proposed O_MAYEXEC flag, I saw
some things that looked like they should be fixed up.
exec: Change uselib(2) IS_SREG() failure to EACCES
This just regularizes the return code on uselib(2).
exec: Move S_ISREG() check earlier
This moves the S_ISREG() check even earlier than it was already.
exec: Move path_noexec() check earlier
This adds the path_noexec() check to the same place as the
S_ISREG() check.
v2:
- move checks into may_open() using acc_mode instead of f_mode to correctly
compose with other inode file type tests[1].
- drop the FMODE_EXEC f_flags -> f_mode change for now since it remains
unclear if it's useful (and is not needed any more for this series).
v1: https://lore.kernel.org/linux-api/20200518055457.12302-1-keescook@xxxxxxxxxxxx/
Thanks!
-Kees
[1] 202006041910.9EF0C602@keescook/">https://lore.kernel.org/lkml/202006041910.9EF0C602@keescook/
Kees Cook (3):
exec: Change uselib(2) IS_SREG() failure to EACCES
exec: Move S_ISREG() check earlier
exec: Move path_noexec() check earlier
fs/exec.c | 23 ++++++++++++++---------
fs/namei.c | 10 ++++++++--
fs/open.c | 6 ------
3 files changed, 22 insertions(+), 17 deletions(-)
--
2.25.1