函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:send signal info to all the members of a group

函数原型:int group_send_sig_info(int sig, struct kernel_siginfo *info, struct task_struct *p, enum pid_type type)

返回类型:int

参数:

类型参数名称
intsig
struct kernel_siginfo *info
struct task_struct *p
enum pid_typetype
1403  _read_lock() - mark the beginning of an RCU read-side critical section* When synchronize_rcu() is invoked on one CPU while other CPUs* are within RCU read-side critical sections, then the* synchronize_rcu() is guaranteed to block until after all the other
1404  ret等于Bad permissions for sending the signal* - the caller must hold the RCU read lock
1405  _read_unlock() - marks the end of an RCU read-side critical section.* In most situations, rcu_read_unlock() is immune from deadlock.* However, in kernels built with CONFIG_RCU_BOOST, rcu_read_unlock()
1407  如果非retsigret等于do_send_sig_info(sig, info, p, type)
1410  返回:ret
调用者
名称描述
__kill_pgrp_info__kill_pgrp_info() sends a signal to a process group: this is what the tty* control characters do (^C, ^Z etc)* - the caller must hold at least a readlock on tasklist_lock
kill_pid_info
kill_something_infokill_something_info() interprets pid in interesting ways just like kill(2).* POSIX specifies that kill(-1,sig) is unspecified, but what we have* is probably wrong. Should make it like BSD or SYSV.
zap_pid_ns_processes
do_bpf_send_signal
____bpf_send_signal
forget_original_parentThis does two things:* A. Make init inherit all the child processes* B. Check to see if any process groups have become orphaned* as a result of our exiting, and if they have any stopped* jobs, send them a SIGHUP and then a SIGCONT. (POSIX 3.2.2.2)