函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:ycle the list of binary formats handler, until one recognizes the image

函数原型:int search_binary_handler(struct linux_binprm *bprm)

返回类型:int

参数:

类型参数名称
struct linux_binprm *bprm
1637  need_retry等于IS_ENABLED(CONFIG_FOO) evaluates to 1 if CONFIG_FOO is set to 'y' or 'm',* 0 otherwise.(CONFIG_MODULES)
1642  如果recursion_depth大于5则返回:负ELOOP
1645  retval等于security_bprm_check(bprm)
1646  如果retval则返回:retval
1649  retval等于负ENOENT
1650  retry :
1651  read_lock( & binfmt_lock)
1653  如果非判断模块是否处于活动状态则继续下一循环
1655  read_unlock( & binfmt_lock)
1657  recursion_depth自加
1658  retval等于load_binary(bprm)
1659  recursion_depth自减
1661  read_lock( & binfmt_lock)
1662  put_binfmt(fmt)
1663  如果retval小于0且非mm
1665  read_unlock( & binfmt_lock)
1666  When things go south during signal handling, we* will force a SIGSEGV. And if the signal that caused* the problem was already a SIGSEGV, we'll want to* make sure we don't even try to deliver the signal..
1667  返回:retval
1669  如果retval不等于负ENOEXEC或非file
1670  read_unlock( & binfmt_lock)
1671  返回:retval
1674  read_unlock( & binfmt_lock)
1676  如果need_retry
1677  如果printable(buf[0])且printable(buf[1])且printable(buf[2])且printable(buf[3])则返回:retval
1680  如果request_module("binfmt-%04x", * (ushort * )(buf + 2))小于0则返回:retval
1682  need_retry = false
1683  转到:retry
1686  返回:retval
调用者
名称描述
exec_binprm
load_em86
load_misc_binaryhe loader itself
load_script