函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\exit.c Create Date:2022-07-27 10:03:27
Last Modify:2020-03-17 11:17:32 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:SYSCALL_DEFINE5

函数原型:SYSCALL_DEFINE5(waitid, int, which, pid_t, upid, struct siginfo __user *, infop, int, options, struct rusage __user *, ru)

返回类型:

参数:

1553  struct waitid_info info = {status = 0}
1554  err等于kernel_waitid(which, upid, & info, options, ru ? & r : NULL)
1555  signo等于0
1557  如果err大于0则
1558  signo等于SIGCHLD
1559  err等于0
1560  如果rucopy_to_user(ru, & r, sizeof(structrusage))则返回:负EFAULT
1563  如果非infop则返回:err
1566  如果非The "unsafe" user accesses aren't really "unsafe", but the naming* is a big fat warning: you have to not only do the access_ok()* checking before using them, but you have to surround them with the* user_access_begin/end() pair.则返回:负EFAULT
1569  unsafe_put_user(signo, & si_signo, Efault)
1570  unsafe_put_user(0, & si_errno, Efault)
1571  unsafe_put_user(cause, & si_code, Efault)
1572  unsafe_put_user(pid, & si_pid, Efault)
1573  unsafe_put_user(uid, & si_uid, Efault)
1574  unsafe_put_user(status, & si_status, Efault)
1575  user_access_end()
1576  返回:err
1577  Efault :
1578  user_access_end()
1579  返回:负EFAULT