函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:fs\exec.c Create Date:2022-07-29 10:33:49
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:do_open_execat

函数原型:static struct file *do_open_execat(int fd, struct filename *name, int flags)

返回类型:struct file

参数:

类型参数名称
intfd
struct filename *name
intflags
842  struct open_flags open_exec_flags = {open_flag = O_LARGEFILE | O_RDONLY | __FMODE_EXEC, acc_mode = MAY_EXEC, intent = ... in open , lookup_flags = llow links at the end , }
849  如果flags按位与Do not follow symbolic links. 按位或Allow empty relative pathname 的值的反的值不等于0则返回:错误号
851  如果flags按位与Do not follow symbolic links. lookup_flags与等于llow links at the end 的反
853  如果flags按位与Allow empty relative pathname lookup_flags或等于accept empty path [user_... only]
856  file等于do_filp_open(fd, name, & open_exec_flags)
857  如果是错误则转到:out
860  err等于负EACCES
861  如果非S_ISREG(i_mode)则转到:exit
864  如果path_noexec( & f_path)则转到:exit
867  err等于deny_write_access(file)
868  如果err则转到:exit
871  如果 pointer to actual string [0]不等于'\0'则snotify_open - file was opened
874  out :
875  返回:file
877  exit :
878  fput(file)
879  返回:错误号
调用者
名称描述
open_exec
__do_execve_filesys_execve() executes a new program.