函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:all_usermodehelper_exec - start a usermode application*@sub_info: information about the subprocessa*@wait: wait for the application to finish and return status.* when UMH_NO_WAIT don't wait at all, but you get no useful error back

函数原型:int call_usermodehelper_exec(struct subprocess_info *sub_info, int wait)

返回类型:int

参数:

类型参数名称
struct subprocess_info *sub_info
intwait
550  Lockdep needs to run a non-constant initializer for on-stack* completions - so we use the _ONSTACK() variant for those that* are on the kernel stack:(done)
551  retval等于0
553  如果非path
554  call_usermodehelper_freeinfo(sub_info)
555  返回:负EINVAL
557  helper_lock()
558  如果If set, call_usermodehelper_exec() will exit immediately returning -EBUSY* (used for preventing user land processes from being created after the user* land has been frozen during a system-wide hibernation or suspend operation).
559  retval等于负EBUSY
560  转到:out
568  如果strlen - Find the length of a string*@s: The string to be sized恒等于0则转到:out
576  complete等于如果wait恒等于don't wait at all NULL否则done
577  wait等于wait
579  queue_work - queue work on a workqueue*@wq: workqueue to use*@work: work to queue* Returns %false if @work was already on a queue, %true otherwise.* We queue the work to the CPU on which it was submitted, but if the CPU dies
580  如果wait恒等于don't wait at all 则转到:unlock
583  如果wait按位与wait for EXEC/PROC killable
584  retval等于wait_for_completion_killable( & done)
585  如果非retval则转到:wait_done
589  如果xchg( & complete, NULL)则转到:unlock
594  wait_for_completion( & done)
595  wait_done :
596  retval等于retval
597  out :
598  call_usermodehelper_freeinfo(sub_info)
599  unlock :
600  helper_unlock()
601  返回:retval
调用者
名称描述
fork_usermode_blobrk_usermode_blob - fork a blob of bytes as a usermode process*@data: a blob of bytes that can be do_execv-ed as a file*@len: length of the blob*@info: information about usermode process (shouldn't be NULL)* If info->cmdline is set it will be used as
call_usermodehelperall_usermodehelper() - prepare and start a usermode application*@path: path to usermode executable*@argv: arg vector for process*@envp: environment for process*@wait: wait for the application to finish and return status
call_modprobe
handle_initrd
call_usermodehelper_keysCall a usermode helper with a specific session keyring.
do_coredump