| Function report | 
| Source Code: fs\exec.c | Create Date:2022-07-28 20:04:03 | 
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick | 
| home page | Tree | 
| Annotation kernel can get tool activity | Download SCCT | Chinese | 
Name:ycle the list of binary formats handler, until one recognizes the image
Proto:int search_binary_handler(struct linux_binprm *bprm)
Type:int
Parameter:
| Type | Parameter | Name | 
|---|---|---|
| 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 | If recursion_depth > 5 Then Return -ELOOP | 
| 1645 | retval = security_bprm_check(bprm) | 
| 1650 | retry : | 
| 1651 | read_lock( & binfmt_lock) | 
| 1653 | If Not try_module_get(module) Then Continue | 
| 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) | 
| 1665 | read_unlock( & binfmt_lock) | 
| 1667 | Return retval | 
| 1670 | read_unlock( & binfmt_lock) | 
| 1671 | Return retval | 
| 1674 | read_unlock( & binfmt_lock) | 
| 1676 | If need_retry Then | 
| 1677 | If printable(buf[0]) && printable(buf[1]) && printable(buf[2]) && printable(buf[3]) Then Return retval | 
| 1680 | If try to load a kernel module("binfmt-%04x", * (ushort * )(buf + 2)) < 0 Then Return retval | 
| 1682 | need_retry = false | 
| 1683 | Go to retry | 
| 1686 | Return retval | 
| Name | Describe | 
|---|---|
| exec_binprm | |
| load_em86 | |
| load_misc_binary | he loader itself | 
| load_script | 
| Source code conversion tool public plug-in interface | X | 
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |