On 2020/05/06 0:31, Mickaël Salaün wrote: > The goal of this patch series is to enable to control script execution > with interpreters help. A new O_MAYEXEC flag, usable through > openat2(2), is added to enable userspace script interpreter to delegate > to the kernel (and thus the system security policy) the permission to > interpret/execute scripts or other files containing what can be seen as > commands. Since TOMOYO considers that any file (even standard input which is connected to keyboard) can provide data which can be interpreted as executable, TOMOYO does not check traditional "execute permission". TOMOYO's execute permission serves as a gate for replacing current process with a new file using execve() syscall. All other calls (e.g. uselib(), open()) are simply treated as opening a file for read/write/append etc. Therefore, On 14/05/2020 18:10, Stephen Smalley wrote:> Just do both in build_open_flags() and be done with it? Looks like he > was already setting FMODE_EXEC in patch 1 so we just need to teach> AppArmor/TOMOYO to check for it and perform file execute checking in> that case if !current->in_execve? regarding TOMOYO, I don't think that TOMOYO needs to perform file execute checking if !current->in_execve , even if O_MAYEXEC is introduced.