Lines Matching refs:info

553 static void collect_signal(int sig, struct sigpending *list, kernel_siginfo_t *info,  in collect_signal()  argument
563 if (q->info.si_signo == sig) { in collect_signal()
575 copy_siginfo(info, &first->info); in collect_signal()
584 if (unlikely((first->flags & SIGQUEUE_PREALLOC) && (info->si_code == SI_TIMER))) in collect_signal()
594 clear_siginfo(info); in collect_signal()
595 info->si_signo = sig; in collect_signal()
596 info->si_errno = 0; in collect_signal()
597 info->si_code = SI_USER; in collect_signal()
598 info->si_pid = 0; in collect_signal()
599 info->si_uid = 0; in collect_signal()
604 kernel_siginfo_t *info, struct sigqueue **timer_sigq) in __dequeue_signal() argument
609 collect_signal(sig, pending, info, timer_sigq); in __dequeue_signal()
618 int dequeue_signal(sigset_t *mask, kernel_siginfo_t *info, enum pid_type *type) in dequeue_signal() argument
629 signr = __dequeue_signal(&tsk->pending, mask, info, &timer_sigq); in dequeue_signal()
633 mask, info, &timer_sigq); in dequeue_signal()
660 if (!posixtimer_deliver_signal(info, timer_sigq)) in dequeue_signal()
668 static int dequeue_synchronous_signal(kernel_siginfo_t *info) in dequeue_synchronous_signal() argument
685 if ((q->info.si_code > SI_USER) && in dequeue_synchronous_signal()
686 (sigmask(q->info.si_signo) & SYNCHRONOUS_MASK)) { in dequeue_synchronous_signal()
697 if (q->info.si_signo == sync->info.si_signo) in dequeue_synchronous_signal()
701 sigdelset(&pending->signal, sync->info.si_signo); in dequeue_synchronous_signal()
705 copy_siginfo(info, &sync->info); in dequeue_synchronous_signal()
707 return info->si_signo; in dequeue_synchronous_signal()
742 if (likely(!(q->flags & SIGQUEUE_PREALLOC) || q->info.si_code != SI_TIMER)) in sigqueue_free_ignored()
762 if (sigismember(mask, q->info.si_signo)) { in flush_sigqueue_mask()
769 static inline int is_si_special(const struct kernel_siginfo *info) in is_si_special() argument
771 return info <= SEND_SIG_PRIV; in is_si_special()
774 static inline bool si_fromuser(const struct kernel_siginfo *info) in si_fromuser() argument
776 return info == SEND_SIG_NOINFO || in si_fromuser()
777 (!is_si_special(info) && SI_FROMUSER(info)); in si_fromuser()
799 static int check_kill_permission(int sig, struct kernel_siginfo *info, in check_kill_permission() argument
808 if (!si_fromuser(info)) in check_kill_permission()
832 return security_task_kill(t, info, sig, NULL); in check_kill_permission()
1042 static int __send_signal_locked(int sig, struct kernel_siginfo *info, in __send_signal_locked() argument
1083 override_rlimit = (is_si_special(info) || info->si_code >= 0); in __send_signal_locked()
1091 switch ((unsigned long) info) { in __send_signal_locked()
1093 clear_siginfo(&q->info); in __send_signal_locked()
1094 q->info.si_signo = sig; in __send_signal_locked()
1095 q->info.si_errno = 0; in __send_signal_locked()
1096 q->info.si_code = SI_USER; in __send_signal_locked()
1097 q->info.si_pid = task_tgid_nr_ns(current, in __send_signal_locked()
1100 q->info.si_uid = in __send_signal_locked()
1106 clear_siginfo(&q->info); in __send_signal_locked()
1107 q->info.si_signo = sig; in __send_signal_locked()
1108 q->info.si_errno = 0; in __send_signal_locked()
1109 q->info.si_code = SI_KERNEL; in __send_signal_locked()
1110 q->info.si_pid = 0; in __send_signal_locked()
1111 q->info.si_uid = 0; in __send_signal_locked()
1114 copy_siginfo(&q->info, info); in __send_signal_locked()
1117 } else if (!is_si_special(info) && in __send_signal_locked()
1118 sig >= SIGRTMIN && info->si_code != SI_USER) { in __send_signal_locked()
1155 trace_signal_generate(sig, info, t, type != PIDTYPE_PID, result); in __send_signal_locked()
1159 static inline bool has_si_pid_and_uid(struct kernel_siginfo *info) in has_si_pid_and_uid() argument
1162 switch (siginfo_layout(info->si_signo, info->si_code)) { in has_si_pid_and_uid()
1183 int send_signal_locked(int sig, struct kernel_siginfo *info, in send_signal_locked() argument
1189 if (info == SEND_SIG_NOINFO) { in send_signal_locked()
1192 } else if (info == SEND_SIG_PRIV) { in send_signal_locked()
1195 } else if (has_si_pid_and_uid(info)) { in send_signal_locked()
1202 kuid_t uid = make_kuid(current_user_ns(), info->si_uid); in send_signal_locked()
1203 info->si_uid = from_kuid_munged(t_user_ns, uid); in send_signal_locked()
1208 force = (info->si_code == SI_KERNEL); in send_signal_locked()
1212 info->si_pid = 0; in send_signal_locked()
1216 return __send_signal_locked(sig, info, t, type, force); in send_signal_locked()
1262 int do_send_sig_info(int sig, struct kernel_siginfo *info, struct task_struct *p, in do_send_sig_info() argument
1269 ret = send_signal_locked(sig, info, p, type); in do_send_sig_info()
1294 force_sig_info_to_task(struct kernel_siginfo *info, struct task_struct *t, in force_sig_info_to_task() argument
1300 int sig = info->si_signo; in force_sig_info_to_task()
1320 ret = send_signal_locked(sig, info, t, PIDTYPE_PID); in force_sig_info_to_task()
1329 int force_sig_info(struct kernel_siginfo *info) in force_sig_info() argument
1331 return force_sig_info_to_task(info, current, HANDLER_CURRENT); in force_sig_info()
1409 int group_send_sig_info(int sig, struct kernel_siginfo *info, in group_send_sig_info() argument
1415 ret = check_kill_permission(sig, info, p); in group_send_sig_info()
1419 ret = do_send_sig_info(sig, info, p, type); in group_send_sig_info()
1429 int __kill_pgrp_info(int sig, struct kernel_siginfo *info, struct pid *pgrp) in __kill_pgrp_info() argument
1435 int err = group_send_sig_info(sig, info, p, PIDTYPE_PGID); in __kill_pgrp_info()
1449 static int kill_pid_info_type(int sig, struct kernel_siginfo *info, in kill_pid_info_type() argument
1459 error = group_send_sig_info(sig, info, p, type); in kill_pid_info_type()
1471 int kill_pid_info(int sig, struct kernel_siginfo *info, struct pid *pid) in kill_pid_info() argument
1473 return kill_pid_info_type(sig, info, pid, PIDTYPE_TGID); in kill_pid_info()
1476 static int kill_proc_info(int sig, struct kernel_siginfo *info, pid_t pid) in kill_proc_info() argument
1480 error = kill_pid_info(sig, info, find_vpid(pid)); in kill_proc_info()
1524 struct kernel_siginfo info; in kill_pid_usb_asyncio() local
1532 clear_siginfo(&info); in kill_pid_usb_asyncio()
1533 info.si_signo = sig; in kill_pid_usb_asyncio()
1534 info.si_errno = errno; in kill_pid_usb_asyncio()
1535 info.si_code = SI_ASYNCIO; in kill_pid_usb_asyncio()
1536 *((sigval_t *)&info.si_pid) = addr; in kill_pid_usb_asyncio()
1548 ret = security_task_kill(p, &info, sig, cred); in kill_pid_usb_asyncio()
1554 ret = __send_signal_locked(sig, &info, p, PIDTYPE_TGID, false); in kill_pid_usb_asyncio()
1572 static int kill_something_info(int sig, struct kernel_siginfo *info, pid_t pid) in kill_something_info() argument
1577 return kill_proc_info(sig, info, pid); in kill_something_info()
1585 ret = __kill_pgrp_info(sig, info, in kill_something_info()
1594 int err = group_send_sig_info(sig, info, p, in kill_something_info()
1612 int send_sig_info(int sig, struct kernel_siginfo *info, struct task_struct *p) in send_sig_info() argument
1621 return do_send_sig_info(sig, info, p, PIDTYPE_PID); in send_sig_info()
1637 struct kernel_siginfo info; in force_sig() local
1639 clear_siginfo(&info); in force_sig()
1640 info.si_signo = sig; in force_sig()
1641 info.si_errno = 0; in force_sig()
1642 info.si_code = SI_KERNEL; in force_sig()
1643 info.si_pid = 0; in force_sig()
1644 info.si_uid = 0; in force_sig()
1645 force_sig_info(&info); in force_sig()
1651 struct kernel_siginfo info; in force_fatal_sig() local
1653 clear_siginfo(&info); in force_fatal_sig()
1654 info.si_signo = sig; in force_fatal_sig()
1655 info.si_errno = 0; in force_fatal_sig()
1656 info.si_code = SI_KERNEL; in force_fatal_sig()
1657 info.si_pid = 0; in force_fatal_sig()
1658 info.si_uid = 0; in force_fatal_sig()
1659 force_sig_info_to_task(&info, current, HANDLER_SIG_DFL); in force_fatal_sig()
1664 struct kernel_siginfo info; in force_exit_sig() local
1666 clear_siginfo(&info); in force_exit_sig()
1667 info.si_signo = sig; in force_exit_sig()
1668 info.si_errno = 0; in force_exit_sig()
1669 info.si_code = SI_KERNEL; in force_exit_sig()
1670 info.si_pid = 0; in force_exit_sig()
1671 info.si_uid = 0; in force_exit_sig()
1672 force_sig_info_to_task(&info, current, HANDLER_EXIT); in force_exit_sig()
1692 struct kernel_siginfo info; in force_sig_fault_to_task() local
1694 clear_siginfo(&info); in force_sig_fault_to_task()
1695 info.si_signo = sig; in force_sig_fault_to_task()
1696 info.si_errno = 0; in force_sig_fault_to_task()
1697 info.si_code = code; in force_sig_fault_to_task()
1698 info.si_addr = addr; in force_sig_fault_to_task()
1699 return force_sig_info_to_task(&info, t, HANDLER_CURRENT); in force_sig_fault_to_task()
1709 struct kernel_siginfo info; in send_sig_fault() local
1711 clear_siginfo(&info); in send_sig_fault()
1712 info.si_signo = sig; in send_sig_fault()
1713 info.si_errno = 0; in send_sig_fault()
1714 info.si_code = code; in send_sig_fault()
1715 info.si_addr = addr; in send_sig_fault()
1716 return send_sig_info(info.si_signo, &info, t); in send_sig_fault()
1721 struct kernel_siginfo info; in force_sig_mceerr() local
1724 clear_siginfo(&info); in force_sig_mceerr()
1725 info.si_signo = SIGBUS; in force_sig_mceerr()
1726 info.si_errno = 0; in force_sig_mceerr()
1727 info.si_code = code; in force_sig_mceerr()
1728 info.si_addr = addr; in force_sig_mceerr()
1729 info.si_addr_lsb = lsb; in force_sig_mceerr()
1730 return force_sig_info(&info); in force_sig_mceerr()
1735 struct kernel_siginfo info; in send_sig_mceerr() local
1738 clear_siginfo(&info); in send_sig_mceerr()
1739 info.si_signo = SIGBUS; in send_sig_mceerr()
1740 info.si_errno = 0; in send_sig_mceerr()
1741 info.si_code = code; in send_sig_mceerr()
1742 info.si_addr = addr; in send_sig_mceerr()
1743 info.si_addr_lsb = lsb; in send_sig_mceerr()
1744 return send_sig_info(info.si_signo, &info, t); in send_sig_mceerr()
1750 struct kernel_siginfo info; in force_sig_bnderr() local
1752 clear_siginfo(&info); in force_sig_bnderr()
1753 info.si_signo = SIGSEGV; in force_sig_bnderr()
1754 info.si_errno = 0; in force_sig_bnderr()
1755 info.si_code = SEGV_BNDERR; in force_sig_bnderr()
1756 info.si_addr = addr; in force_sig_bnderr()
1757 info.si_lower = lower; in force_sig_bnderr()
1758 info.si_upper = upper; in force_sig_bnderr()
1759 return force_sig_info(&info); in force_sig_bnderr()
1765 struct kernel_siginfo info; in force_sig_pkuerr() local
1767 clear_siginfo(&info); in force_sig_pkuerr()
1768 info.si_signo = SIGSEGV; in force_sig_pkuerr()
1769 info.si_errno = 0; in force_sig_pkuerr()
1770 info.si_code = SEGV_PKUERR; in force_sig_pkuerr()
1771 info.si_addr = addr; in force_sig_pkuerr()
1772 info.si_pkey = pkey; in force_sig_pkuerr()
1773 return force_sig_info(&info); in force_sig_pkuerr()
1779 struct kernel_siginfo info; in send_sig_perf() local
1781 clear_siginfo(&info); in send_sig_perf()
1782 info.si_signo = SIGTRAP; in send_sig_perf()
1783 info.si_errno = 0; in send_sig_perf()
1784 info.si_code = TRAP_PERF; in send_sig_perf()
1785 info.si_addr = addr; in send_sig_perf()
1786 info.si_perf_data = sig_data; in send_sig_perf()
1787 info.si_perf_type = type; in send_sig_perf()
1796 info.si_perf_flags = sigismember(&current->blocked, info.si_signo) ? in send_sig_perf()
1800 return send_sig_info(info.si_signo, &info, current); in send_sig_perf()
1813 struct kernel_siginfo info; in force_sig_seccomp() local
1815 clear_siginfo(&info); in force_sig_seccomp()
1816 info.si_signo = SIGSYS; in force_sig_seccomp()
1817 info.si_code = SYS_SECCOMP; in force_sig_seccomp()
1818 info.si_call_addr = (void __user *)KSTK_EIP(current); in force_sig_seccomp()
1819 info.si_errno = reason; in force_sig_seccomp()
1820 info.si_arch = syscall_get_arch(current); in force_sig_seccomp()
1821 info.si_syscall = syscall; in force_sig_seccomp()
1822 return force_sig_info_to_task(&info, current, in force_sig_seccomp()
1831 struct kernel_siginfo info; in force_sig_ptrace_errno_trap() local
1833 clear_siginfo(&info); in force_sig_ptrace_errno_trap()
1834 info.si_signo = SIGTRAP; in force_sig_ptrace_errno_trap()
1835 info.si_errno = errno; in force_sig_ptrace_errno_trap()
1836 info.si_code = TRAP_HWBKPT; in force_sig_ptrace_errno_trap()
1837 info.si_addr = addr; in force_sig_ptrace_errno_trap()
1838 return force_sig_info(&info); in force_sig_ptrace_errno_trap()
1846 struct kernel_siginfo info; in force_sig_fault_trapno() local
1848 clear_siginfo(&info); in force_sig_fault_trapno()
1849 info.si_signo = sig; in force_sig_fault_trapno()
1850 info.si_errno = 0; in force_sig_fault_trapno()
1851 info.si_code = code; in force_sig_fault_trapno()
1852 info.si_addr = addr; in force_sig_fault_trapno()
1853 info.si_trapno = trapno; in force_sig_fault_trapno()
1854 return force_sig_info(&info); in force_sig_fault_trapno()
1863 struct kernel_siginfo info; in send_sig_fault_trapno() local
1865 clear_siginfo(&info); in send_sig_fault_trapno()
1866 info.si_signo = sig; in send_sig_fault_trapno()
1867 info.si_errno = 0; in send_sig_fault_trapno()
1868 info.si_code = code; in send_sig_fault_trapno()
1869 info.si_addr = addr; in send_sig_fault_trapno()
1870 info.si_trapno = trapno; in send_sig_fault_trapno()
1871 return send_sig_info(info.si_signo, &info, t); in send_sig_fault_trapno()
1874 static int kill_pgrp_info(int sig, struct kernel_siginfo *info, struct pid *pgrp) in kill_pgrp_info() argument
1878 ret = __kill_pgrp_info(sig, info, pgrp); in kill_pgrp_info()
1909 int sig = q->info.si_signo; in __flush_itimer_signals()
1911 if (likely(q->info.si_code != SI_TIMER)) { in __flush_itimer_signals()
1938 clear_siginfo(&q->info); in posixtimer_init_sigqueue()
1946 int sig = q->info.si_signo; in posixtimer_queue_sigqueue()
1979 int sig = q->info.si_signo; in posixtimer_send_sigqueue()
2083 trace_signal_generate(sig, &q->info, t, tmr->it_pid_type != PIDTYPE_PID, result); in posixtimer_send_sigqueue()
2125 if (tmr->sigq.info.si_signo != sig) in posixtimer_sig_unignore()
2170 struct kernel_siginfo info; in do_notify_parent() local
2196 clear_siginfo(&info); in do_notify_parent()
2197 info.si_signo = sig; in do_notify_parent()
2198 info.si_errno = 0; in do_notify_parent()
2211 info.si_pid = task_pid_nr_ns(tsk, task_active_pid_ns(tsk->parent)); in do_notify_parent()
2212 info.si_uid = from_kuid_munged(task_cred_xxx(tsk->parent, user_ns), in do_notify_parent()
2217 info.si_utime = nsec_to_clock_t(utime + tsk->signal->utime); in do_notify_parent()
2218 info.si_stime = nsec_to_clock_t(stime + tsk->signal->stime); in do_notify_parent()
2220 info.si_status = tsk->exit_code & 0x7f; in do_notify_parent()
2222 info.si_code = CLD_DUMPED; in do_notify_parent()
2224 info.si_code = CLD_KILLED; in do_notify_parent()
2226 info.si_code = CLD_EXITED; in do_notify_parent()
2227 info.si_status = tsk->exit_code >> 8; in do_notify_parent()
2259 __send_signal_locked(sig, &info, tsk->parent, PIDTYPE_TGID, false); in do_notify_parent()
2282 struct kernel_siginfo info; in do_notify_parent_cldstop() local
2295 clear_siginfo(&info); in do_notify_parent_cldstop()
2296 info.si_signo = SIGCHLD; in do_notify_parent_cldstop()
2297 info.si_errno = 0; in do_notify_parent_cldstop()
2302 info.si_pid = task_pid_nr_ns(tsk, task_active_pid_ns(parent)); in do_notify_parent_cldstop()
2303 info.si_uid = from_kuid_munged(task_cred_xxx(parent, user_ns), task_uid(tsk)); in do_notify_parent_cldstop()
2307 info.si_utime = nsec_to_clock_t(utime); in do_notify_parent_cldstop()
2308 info.si_stime = nsec_to_clock_t(stime); in do_notify_parent_cldstop()
2310 info.si_code = why; in do_notify_parent_cldstop()
2313 info.si_status = SIGCONT; in do_notify_parent_cldstop()
2316 info.si_status = tsk->signal->group_exit_code & 0x7f; in do_notify_parent_cldstop()
2319 info.si_status = tsk->exit_code & 0x7f; in do_notify_parent_cldstop()
2329 send_signal_locked(SIGCHLD, &info, parent, PIDTYPE_TGID); in do_notify_parent_cldstop()
2350 kernel_siginfo_t *info) in ptrace_stop() argument
2403 current->last_siginfo = info; in ptrace_stop()
2418 if (info && info->si_code >> 8 == PTRACE_EVENT_STOP) in ptrace_stop()
2502 kernel_siginfo_t info; in ptrace_do_notify() local
2504 clear_siginfo(&info); in ptrace_do_notify()
2505 info.si_signo = signr; in ptrace_do_notify()
2506 info.si_code = exit_code; in ptrace_do_notify()
2507 info.si_pid = task_pid_vnr(current); in ptrace_do_notify()
2508 info.si_uid = from_kuid_munged(current_user_ns(), current_uid()); in ptrace_do_notify()
2511 return ptrace_stop(exit_code, why, message, &info); in ptrace_do_notify()
2731 static int ptrace_signal(int signr, kernel_siginfo_t *info, enum pid_type type) in ptrace_signal() argument
2743 signr = ptrace_stop(signr, CLD_TRAPPED, 0, info); in ptrace_signal()
2755 if (signr != info->si_signo) { in ptrace_signal()
2756 clear_siginfo(info); in ptrace_signal()
2757 info->si_signo = signr; in ptrace_signal()
2758 info->si_errno = 0; in ptrace_signal()
2759 info->si_code = SI_USER; in ptrace_signal()
2761 info->si_pid = task_pid_vnr(current->parent); in ptrace_signal()
2762 info->si_uid = from_kuid_munged(current_user_ns(), in ptrace_signal()
2770 send_signal_locked(signr, info, current, type); in ptrace_signal()
2779 switch (siginfo_layout(ksig->sig, ksig->info.si_code)) { in hide_si_addr_tag_bits()
2786 ksig->info.si_addr = arch_untagged_si_addr( in hide_si_addr_tag_bits()
2787 ksig->info.si_addr, ksig->sig, ksig->info.si_code); in hide_si_addr_tag_bits()
2912 signr = dequeue_synchronous_signal(&ksig->info); in get_signal()
2914 signr = dequeue_signal(&current->blocked, &ksig->info, &type); in get_signal()
2921 signr = ptrace_signal(signr, &ksig->info, type); in get_signal()
2929 trace_signal_deliver(signr, &ksig->info, ka); in get_signal()
3019 vfs_coredump(&ksig->info); in get_signal()
3495 static inline char __user *si_expansion(const siginfo_t __user *info) in si_expansion() argument
3497 return ((char __user *)info) + sizeof(struct kernel_siginfo); in si_expansion()
3510 static int post_copy_siginfo_from_user(kernel_siginfo_t *info, in post_copy_siginfo_from_user() argument
3513 if (unlikely(!known_siginfo_layout(info->si_signo, info->si_code))) { in post_copy_siginfo_from_user()
3745 static int do_sigtimedwait(const sigset_t *which, kernel_siginfo_t *info, in do_sigtimedwait() argument
3768 sig = dequeue_signal(&mask, info, &type); in do_sigtimedwait()
3787 sig = dequeue_signal(&mask, info, &type); in do_sigtimedwait()
3811 kernel_siginfo_t info; in SYSCALL_DEFINE4() local
3826 ret = do_sigtimedwait(&these, &info, uts ? &ts : NULL); in SYSCALL_DEFINE4()
3829 if (copy_siginfo_to_user(uinfo, &info)) in SYSCALL_DEFINE4()
3844 kernel_siginfo_t info; in SYSCALL_DEFINE4() local
3858 ret = do_sigtimedwait(&these, &info, uts ? &ts : NULL); in SYSCALL_DEFINE4()
3861 if (copy_siginfo_to_user(uinfo, &info)) in SYSCALL_DEFINE4()
3876 kernel_siginfo_t info; in COMPAT_SYSCALL_DEFINE4() local
3890 ret = do_sigtimedwait(&s, &info, uts ? &t : NULL); in COMPAT_SYSCALL_DEFINE4()
3893 if (copy_siginfo_to_user32(uinfo, &info)) in COMPAT_SYSCALL_DEFINE4()
3907 kernel_siginfo_t info; in COMPAT_SYSCALL_DEFINE4() local
3921 ret = do_sigtimedwait(&s, &info, uts ? &t : NULL); in COMPAT_SYSCALL_DEFINE4()
3924 if (copy_siginfo_to_user32(uinfo, &info)) in COMPAT_SYSCALL_DEFINE4()
3933 static void prepare_kill_siginfo(int sig, struct kernel_siginfo *info, in prepare_kill_siginfo() argument
3936 clear_siginfo(info); in prepare_kill_siginfo()
3937 info->si_signo = sig; in prepare_kill_siginfo()
3938 info->si_errno = 0; in prepare_kill_siginfo()
3939 info->si_code = (type == PIDTYPE_PID) ? SI_TKILL : SI_USER; in prepare_kill_siginfo()
3940 info->si_pid = task_tgid_vnr(current); in prepare_kill_siginfo()
3941 info->si_uid = from_kuid_munged(current_user_ns(), current_uid()); in prepare_kill_siginfo()
3951 struct kernel_siginfo info; in SYSCALL_DEFINE2() local
3953 prepare_kill_siginfo(sig, &info, PIDTYPE_TGID); in SYSCALL_DEFINE2()
3955 return kill_something_info(sig, &info, pid); in SYSCALL_DEFINE2()
3980 siginfo_t __user *info) in copy_siginfo_from_user_any() argument
3990 kinfo, (struct compat_siginfo __user *)info); in copy_siginfo_from_user_any()
3992 return copy_siginfo_from_user(kinfo, info); in copy_siginfo_from_user_any()
4011 siginfo_t __user *info, unsigned int flags) in do_pidfd_send_signal() argument
4027 if (info) { in do_pidfd_send_signal()
4030 ret = copy_siginfo_from_user_any(&kinfo, info); in do_pidfd_send_signal()
4066 siginfo_t __user *, info, unsigned int, flags) in SYSCALL_DEFINE4() argument
4108 return do_pidfd_send_signal(pid, sig, type, info, flags); in SYSCALL_DEFINE4()
4112 ret = do_pidfd_send_signal(pid, sig, type, info, flags); in SYSCALL_DEFINE4()
4119 do_send_specific(pid_t tgid, pid_t pid, int sig, struct kernel_siginfo *info) in do_send_specific() argument
4127 error = check_kill_permission(sig, info, p); in do_send_specific()
4133 error = do_send_sig_info(sig, info, p, PIDTYPE_PID); in do_send_specific()
4150 struct kernel_siginfo info; in do_tkill() local
4152 prepare_kill_siginfo(sig, &info, PIDTYPE_PID); in do_tkill()
4154 return do_send_specific(tgid, pid, sig, &info); in do_tkill()
4192 static int do_rt_sigqueueinfo(pid_t pid, int sig, kernel_siginfo_t *info) in do_rt_sigqueueinfo() argument
4197 if ((info->si_code >= 0 || info->si_code == SI_TKILL) && in do_rt_sigqueueinfo()
4202 return kill_proc_info(sig, info, pid); in do_rt_sigqueueinfo()
4214 kernel_siginfo_t info; in SYSCALL_DEFINE3() local
4215 int ret = __copy_siginfo_from_user(sig, &info, uinfo); in SYSCALL_DEFINE3()
4218 return do_rt_sigqueueinfo(pid, sig, &info); in SYSCALL_DEFINE3()
4227 kernel_siginfo_t info; in COMPAT_SYSCALL_DEFINE3() local
4228 int ret = __copy_siginfo_from_user32(sig, &info, uinfo); in COMPAT_SYSCALL_DEFINE3()
4231 return do_rt_sigqueueinfo(pid, sig, &info); in COMPAT_SYSCALL_DEFINE3()
4235 static int do_rt_tgsigqueueinfo(pid_t tgid, pid_t pid, int sig, kernel_siginfo_t *info) in do_rt_tgsigqueueinfo() argument
4244 if ((info->si_code >= 0 || info->si_code == SI_TKILL) && in do_rt_tgsigqueueinfo()
4248 return do_send_specific(tgid, pid, sig, info); in do_rt_tgsigqueueinfo()
4254 kernel_siginfo_t info; in SYSCALL_DEFINE4() local
4255 int ret = __copy_siginfo_from_user(sig, &info, uinfo); in SYSCALL_DEFINE4()
4258 return do_rt_tgsigqueueinfo(tgid, pid, sig, &info); in SYSCALL_DEFINE4()
4268 kernel_siginfo_t info; in COMPAT_SYSCALL_DEFINE4() local
4269 int ret = __copy_siginfo_from_user32(sig, &info, uinfo); in COMPAT_SYSCALL_DEFINE4()
4272 return do_rt_tgsigqueueinfo(tgid, pid, sig, &info); in COMPAT_SYSCALL_DEFINE4()