/kernel/ |
D | signal.c | 70 static void __user *sig_handler(struct task_struct *t, int sig) in sig_handler() argument 72 return t->sighand->action[sig - 1].sa.sa_handler; in sig_handler() 75 static inline bool sig_handler_ignored(void __user *handler, int sig) in sig_handler_ignored() argument 79 (handler == SIG_DFL && sig_kernel_ignore(sig)); in sig_handler_ignored() 82 static bool sig_task_ignored(struct task_struct *t, int sig, bool force) in sig_task_ignored() argument 86 handler = sig_handler(t, sig); in sig_task_ignored() 89 if (unlikely(is_global_init(t) && sig_kernel_only(sig))) in sig_task_ignored() 93 handler == SIG_DFL && !(force && sig_kernel_only(sig))) in sig_task_ignored() 101 return sig_handler_ignored(handler, sig); in sig_task_ignored() 104 static bool sig_ignored(struct task_struct *t, int sig, bool force) in sig_ignored() argument [all …]
|
D | exit.c | 143 struct signal_struct *sig = tsk->signal; in __exit_signal() local 160 tty = sig->tty; in __exit_signal() 161 sig->tty = NULL; in __exit_signal() 167 if (sig->notify_count > 0 && !--sig->notify_count) in __exit_signal() 168 wake_up_process(sig->group_exit_task); in __exit_signal() 170 if (tsk == sig->curr_target) in __exit_signal() 171 sig->curr_target = next_thread(tsk); in __exit_signal() 184 write_seqlock(&sig->stats_lock); in __exit_signal() 185 sig->utime += utime; in __exit_signal() 186 sig->stime += stime; in __exit_signal() [all …]
|
D | compat.c | 37 memcpy(blocked->sig, &set, sizeof(set)); in compat_sig_setmask() 47 old_set = current->blocked.sig[0]; in COMPAT_SYSCALL_DEFINE3() 257 case 4: set->sig[3] = v.sig[6] | (((long)v.sig[7]) << 32 ); in get_compat_sigset() 259 case 3: set->sig[2] = v.sig[4] | (((long)v.sig[5]) << 32 ); in get_compat_sigset() 261 case 2: set->sig[1] = v.sig[2] | (((long)v.sig[3]) << 32 ); in get_compat_sigset() 263 case 1: set->sig[0] = v.sig[0] | (((long)v.sig[1]) << 32 ); in get_compat_sigset()
|
D | rseq.c | 120 u32 sig; in rseq_get_rseq_cs() local 153 ret = get_user(sig, usig); in rseq_get_rseq_cs() 157 if (current->rseq_sig != sig) { in rseq_get_rseq_cs() 160 sig, current->rseq_sig, current->pid, usig); in rseq_get_rseq_cs() 274 int ret, sig; in __rseq_handle_notify_resume() local 295 sig = ksig ? ksig->sig : 0; in __rseq_handle_notify_resume() 296 force_sigsegv(sig); in __rseq_handle_notify_resume() 324 int, flags, u32, sig) in SYSCALL_DEFINE4() argument 336 if (current->rseq_sig != sig) in SYSCALL_DEFINE4() 357 if (current->rseq_sig != sig) in SYSCALL_DEFINE4() [all …]
|
D | fork.c | 745 static inline void free_signal_struct(struct signal_struct *sig) in free_signal_struct() argument 747 taskstats_tgid_free(sig); in free_signal_struct() 748 sched_autogroup_exit(sig); in free_signal_struct() 753 if (sig->oom_mm) in free_signal_struct() 754 mmdrop_async(sig->oom_mm); in free_signal_struct() 755 kmem_cache_free(signal_cachep, sig); in free_signal_struct() 758 static inline void put_signal_struct(struct signal_struct *sig) in put_signal_struct() argument 760 if (refcount_dec_and_test(&sig->sigcnt)) in put_signal_struct() 761 free_signal_struct(sig); in put_signal_struct() 1570 struct sighand_struct *sig; in copy_sighand() local [all …]
|
D | sys.c | 1751 struct signal_struct *sig = p->signal; in getrusage() local 1762 maxrss = sig->maxrss; in getrusage() 1766 flags = read_seqbegin_or_lock_irqsave(&sig->stats_lock, &seq); in getrusage() 1771 utime = sig->cutime; in getrusage() 1772 stime = sig->cstime; in getrusage() 1773 r->ru_nvcsw = sig->cnvcsw; in getrusage() 1774 r->ru_nivcsw = sig->cnivcsw; in getrusage() 1775 r->ru_minflt = sig->cmin_flt; in getrusage() 1776 r->ru_majflt = sig->cmaj_flt; in getrusage() 1777 r->ru_inblock = sig->cinblock; in getrusage() [all …]
|
D | taskstats.c | 552 struct signal_struct *sig = tsk->signal; in taskstats_tgid_alloc() local 556 stats = smp_load_acquire(&sig->stats); in taskstats_tgid_alloc() 564 stats = sig->stats; in taskstats_tgid_alloc() 570 smp_store_release(&sig->stats, stats_new); in taskstats_tgid_alloc()
|
D | notifier.c | 536 struct pt_regs *regs, long err, int trap, int sig) in notify_die() argument 543 .signr = sig, in notify_die()
|
D | audit.c | 2396 int audit_signal_info(int sig, struct task_struct *t) in audit_signal_info() argument 2401 (sig == SIGTERM || sig == SIGHUP || in audit_signal_info() 2402 sig == SIGUSR1 || sig == SIGUSR2)) { in audit_signal_info()
|
/kernel/time/ |
D | posix-timers.c | 113 static int hash(struct signal_struct *sig, unsigned int nr) in hash() argument 115 return hash_32(hash32_ptr(sig) ^ nr, HASH_BITS(posix_timers_hashtable)); in hash() 119 struct signal_struct *sig, in __posix_timers_find() argument 126 if ((timer->it_signal == sig) && (timer->it_id == id)) in __posix_timers_find() 134 struct signal_struct *sig = current->signal; in posix_timer_by_id() local 135 struct hlist_head *head = &posix_timers_hashtable[hash(sig, id)]; in posix_timer_by_id() 137 return __posix_timers_find(head, sig, id); in posix_timer_by_id() 142 struct signal_struct *sig = current->signal; in posix_timer_add() local 143 int first_free_id = sig->posix_timer_id; in posix_timer_add() 149 head = &posix_timers_hashtable[hash(sig, sig->posix_timer_id)]; in posix_timer_add() [all …]
|
D | posix-cpu-timers.c | 874 static inline void stop_process_timers(struct signal_struct *sig) in stop_process_timers() argument 876 struct posix_cputimers *pct = &sig->posix_cputimers; in stop_process_timers() 880 tick_dep_clear_signal(sig, TICK_DEP_BIT_POSIX_TIMER); in stop_process_timers() 913 struct signal_struct *const sig = tsk->signal; in check_process_timers() local 914 struct posix_cputimers *pct = &sig->posix_cputimers; in check_process_timers() 936 proc_sample_cputime_atomic(&sig->cputimer.cputime_atomic, samples); in check_process_timers() 942 check_cpu_itimer(tsk, &sig->it[CPUCLOCK_PROF], in check_process_timers() 945 check_cpu_itimer(tsk, &sig->it[CPUCLOCK_VIRT], in check_process_timers() 964 sig->rlim[RLIMIT_CPU].rlim_cur = soft + 1; in check_process_timers() 974 stop_process_timers(sig); in check_process_timers() [all …]
|
D | tick-sched.c | 439 void tick_nohz_dep_set_signal(struct signal_struct *sig, enum tick_dep_bits bit) in tick_nohz_dep_set_signal() argument 441 tick_nohz_dep_set_all(&sig->tick_dep_mask, bit); in tick_nohz_dep_set_signal() 444 void tick_nohz_dep_clear_signal(struct signal_struct *sig, enum tick_dep_bits bit) in tick_nohz_dep_clear_signal() argument 446 atomic_andnot(BIT(bit), &sig->tick_dep_mask); in tick_nohz_dep_clear_signal()
|
D | itimer.c | 158 struct signal_struct *sig = in it_real_fn() local 160 struct pid *leader_pid = sig->pids[PIDTYPE_TGID]; in it_real_fn()
|
/kernel/sched/ |
D | autogroup.c | 188 void sched_autogroup_fork(struct signal_struct *sig) in sched_autogroup_fork() argument 190 sig->autogroup = autogroup_task_get(current); in sched_autogroup_fork() 193 void sched_autogroup_exit(struct signal_struct *sig) in sched_autogroup_exit() argument 195 autogroup_kref_put(sig->autogroup); in sched_autogroup_exit()
|
D | cputime.c | 306 struct signal_struct *sig = tsk->signal; in thread_group_cputime() local 328 flags = read_seqbegin_or_lock_irqsave(&sig->stats_lock, &seq); in thread_group_cputime() 329 times->utime = sig->utime; in thread_group_cputime() 330 times->stime = sig->stime; in thread_group_cputime() 331 times->sum_exec_runtime = sig->sum_sched_runtime; in thread_group_cputime() 341 } while (need_seqretry(&sig->stats_lock, seq)); in thread_group_cputime() 342 done_seqretry_irqrestore(&sig->stats_lock, seq, flags); in thread_group_cputime()
|
/kernel/power/ |
D | swap.c | 112 char sig[10]; member 322 if (!memcmp("SWAP-SPACE",swsusp_header->sig, 10) || in mark_swapfiles() 323 !memcmp("SWAPSPACE2",swsusp_header->sig, 10)) { in mark_swapfiles() 324 memcpy(swsusp_header->orig_sig,swsusp_header->sig, 10); in mark_swapfiles() 325 memcpy(swsusp_header->sig, HIBERNATE_SIG, 10); in mark_swapfiles() 1537 if (!memcmp(HIBERNATE_SIG, swsusp_header->sig, 10)) { in swsusp_check() 1538 memcpy(swsusp_header->sig, swsusp_header->orig_sig, 10); in swsusp_check() 1587 if (!memcmp(HIBERNATE_SIG,swsusp_header->sig, 10)) { in swsusp_unmark() 1588 memcpy(swsusp_header->sig,swsusp_header->orig_sig, 10); in swsusp_unmark()
|
/kernel/trace/ |
D | bpf_trace.c | 1050 u32 sig; member 1061 group_send_sig_info(work->sig, SEND_SIG_PRIV, work->task, work->type); in do_bpf_send_signal() 1065 static int bpf_send_signal_common(u32 sig, enum pid_type type) in bpf_send_signal_common() argument 1088 if (unlikely(!valid_signal(sig))) in bpf_send_signal_common() 1100 work->sig = sig; in bpf_send_signal_common() 1106 return group_send_sig_info(sig, SEND_SIG_PRIV, current, type); in bpf_send_signal_common() 1109 BPF_CALL_1(bpf_send_signal, u32, sig) in BPF_CALL_1() argument 1111 return bpf_send_signal_common(sig, PIDTYPE_TGID); in BPF_CALL_1() 1121 BPF_CALL_1(bpf_send_signal_thread, u32, sig) in BPF_CALL_1() argument 1123 return bpf_send_signal_common(sig, PIDTYPE_PID); in BPF_CALL_1()
|
/kernel/debug/kdb/ |
D | kdb_main.c | 2511 long sig, pid; in kdb_kill() local 2518 sig = simple_strtol(argv[1], &endp, 0); in kdb_kill() 2521 if ((sig >= 0) || !valid_signal(-sig)) { in kdb_kill() 2525 sig = -sig; in kdb_kill() 2542 kdb_send_sig(p, sig); in kdb_kill()
|
D | kdb_private.h | 211 extern void kdb_send_sig(struct task_struct *p, int sig);
|