/kernel/ |
D | signal.c | 56 static void __user *sig_handler(struct task_struct *t, int sig) in sig_handler() argument 58 return t->sighand->action[sig - 1].sa.sa_handler; in sig_handler() 61 static int sig_handler_ignored(void __user *handler, int sig) in sig_handler_ignored() argument 65 (handler == SIG_DFL && sig_kernel_ignore(sig)); in sig_handler_ignored() 68 static int sig_task_ignored(struct task_struct *t, int sig, bool force) in sig_task_ignored() argument 72 handler = sig_handler(t, sig); in sig_task_ignored() 75 handler == SIG_DFL && !(force && sig_kernel_only(sig))) in sig_task_ignored() 78 return sig_handler_ignored(handler, sig); in sig_task_ignored() 81 static int sig_ignored(struct task_struct *t, int sig, bool force) in sig_ignored() argument 88 if (sigismember(&t->blocked, sig) || sigismember(&t->real_blocked, sig)) in sig_ignored() [all …]
|
D | exit.c | 87 struct signal_struct *sig = tsk->signal; in __exit_signal() local 100 tty = sig->tty; in __exit_signal() 101 sig->tty = NULL; in __exit_signal() 115 if (sig->notify_count > 0 && !--sig->notify_count) in __exit_signal() 116 wake_up_process(sig->group_exit_task); in __exit_signal() 118 if (tsk == sig->curr_target) in __exit_signal() 119 sig->curr_target = next_thread(tsk); in __exit_signal() 129 write_seqlock(&sig->stats_lock); in __exit_signal() 130 sig->utime += utime; in __exit_signal() 131 sig->stime += stime; in __exit_signal() [all …]
|
D | fork.c | 363 static inline void free_signal_struct(struct signal_struct *sig) in free_signal_struct() argument 365 taskstats_tgid_free(sig); in free_signal_struct() 366 sched_autogroup_exit(sig); in free_signal_struct() 371 if (sig->oom_mm) in free_signal_struct() 372 mmdrop_async(sig->oom_mm); in free_signal_struct() 373 kmem_cache_free(signal_cachep, sig); in free_signal_struct() 376 static inline void put_signal_struct(struct signal_struct *sig) in put_signal_struct() argument 378 if (atomic_dec_and_test(&sig->sigcnt)) in put_signal_struct() 379 free_signal_struct(sig); in put_signal_struct() 1292 struct sighand_struct *sig; in copy_sighand() local [all …]
|
D | compat.c | 398 memcpy(blocked->sig, &set, sizeof(set)); in compat_sig_setmask() 408 old_set = current->blocked.sig[0]; in COMPAT_SYSCALL_DEFINE3() 977 case 4: set->sig[3] = compat->sig[6] | (((long)compat->sig[7]) << 32 ); in sigset_from_compat() 978 case 3: set->sig[2] = compat->sig[4] | (((long)compat->sig[5]) << 32 ); in sigset_from_compat() 979 case 2: set->sig[1] = compat->sig[2] | (((long)compat->sig[3]) << 32 ); in sigset_from_compat() 980 case 1: set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 ); in sigset_from_compat() 989 case 4: compat->sig[7] = (set->sig[3] >> 32); compat->sig[6] = set->sig[3]; in sigset_to_compat() 990 case 3: compat->sig[5] = (set->sig[2] >> 32); compat->sig[4] = set->sig[2]; in sigset_to_compat() 991 case 2: compat->sig[3] = (set->sig[1] >> 32); compat->sig[2] = set->sig[1]; in sigset_to_compat() 992 case 1: compat->sig[1] = (set->sig[0] >> 32); compat->sig[0] = set->sig[0]; in sigset_to_compat()
|
D | taskstats.c | 561 struct signal_struct *sig = tsk->signal; in taskstats_tgid_alloc() local 564 if (sig->stats || thread_group_empty(tsk)) in taskstats_tgid_alloc() 571 if (!sig->stats) { in taskstats_tgid_alloc() 572 sig->stats = stats; in taskstats_tgid_alloc() 580 return sig->stats; in taskstats_tgid_alloc()
|
D | audit.h | 337 extern int __audit_signal_info(int sig, struct task_struct *t); 338 static inline int audit_signal_info(int sig, struct task_struct *t) in audit_signal_info() argument 342 return __audit_signal_info(sig, t); in audit_signal_info()
|
D | notifier.c | 537 struct pt_regs *regs, long err, int trap, int sig) in notify_die() argument 544 .signr = sig, in notify_die()
|
D | auditsc.c | 2239 int __audit_signal_info(int sig, struct task_struct *t) in __audit_signal_info() argument 2247 if (sig == SIGTERM || sig == SIGHUP || sig == SIGUSR1 || sig == SIGUSR2) { in __audit_signal_info()
|
/kernel/time/ |
D | posix-cpu-timers.c | 832 struct signal_struct *const sig = tsk->signal; in check_thread_timers() local 856 soft = READ_ONCE(sig->rlim[RLIMIT_RTTIME].rlim_cur); in check_thread_timers() 859 READ_ONCE(sig->rlim[RLIMIT_RTTIME].rlim_max); in check_thread_timers() 876 sig->rlim[RLIMIT_RTTIME].rlim_cur = soft; in check_thread_timers() 888 static inline void stop_process_timers(struct signal_struct *sig) in stop_process_timers() argument 890 struct thread_group_cputimer *cputimer = &sig->cputimer; in stop_process_timers() 894 tick_dep_clear_signal(sig, TICK_DEP_BIT_POSIX_TIMER); in stop_process_timers() 937 struct signal_struct *const sig = tsk->signal; in check_process_timers() local 940 struct list_head *timers = sig->cpu_timers; in check_process_timers() 955 sig->cputimer.checking_timer = true; in check_process_timers() [all …]
|
D | posix-timers.c | 150 static int hash(struct signal_struct *sig, unsigned int nr) in hash() argument 152 return hash_32(hash32_ptr(sig) ^ nr, HASH_BITS(posix_timers_hashtable)); in hash() 156 struct signal_struct *sig, in __posix_timers_find() argument 162 if ((timer->it_signal == sig) && (timer->it_id == id)) in __posix_timers_find() 170 struct signal_struct *sig = current->signal; in posix_timer_by_id() local 171 struct hlist_head *head = &posix_timers_hashtable[hash(sig, id)]; in posix_timer_by_id() 173 return __posix_timers_find(head, sig, id); in posix_timer_by_id() 178 struct signal_struct *sig = current->signal; in posix_timer_add() local 179 int first_free_id = sig->posix_timer_id; in posix_timer_add() 185 head = &posix_timers_hashtable[hash(sig, sig->posix_timer_id)]; in posix_timer_add() [all …]
|
D | itimer.c | 123 struct signal_struct *sig = in it_real_fn() local 126 trace_itimer_expire(ITIMER_REAL, sig->leader_pid, 0); in it_real_fn() 127 kill_pid_info(SIGALRM, SEND_SIG_PRIV, sig->leader_pid); in it_real_fn()
|
D | tick-sched.c | 342 void tick_nohz_dep_set_signal(struct signal_struct *sig, enum tick_dep_bits bit) in tick_nohz_dep_set_signal() argument 344 tick_nohz_dep_set_all(&sig->tick_dep_mask, bit); in tick_nohz_dep_set_signal() 347 void tick_nohz_dep_clear_signal(struct signal_struct *sig, enum tick_dep_bits bit) in tick_nohz_dep_clear_signal() argument 349 atomic_andnot(BIT(bit), &sig->tick_dep_mask); in tick_nohz_dep_clear_signal()
|
/kernel/sched/ |
D | auto_group.c | 190 void sched_autogroup_fork(struct signal_struct *sig) in sched_autogroup_fork() argument 192 sig->autogroup = autogroup_task_get(current); in sched_autogroup_fork() 195 void sched_autogroup_exit(struct signal_struct *sig) in sched_autogroup_exit() argument 197 autogroup_kref_put(sig->autogroup); in sched_autogroup_exit()
|
D | cputime.c | 352 struct signal_struct *sig = tsk->signal; in thread_group_cputime() local 374 flags = read_seqbegin_or_lock_irqsave(&sig->stats_lock, &seq); in thread_group_cputime() 375 times->utime = sig->utime; in thread_group_cputime() 376 times->stime = sig->stime; in thread_group_cputime() 377 times->sum_exec_runtime = sig->sum_sched_runtime; in thread_group_cputime() 387 } while (need_seqretry(&sig->stats_lock, seq)); in thread_group_cputime() 388 done_seqretry_irqrestore(&sig->stats_lock, seq, flags); in thread_group_cputime()
|
/kernel/power/ |
D | swap.c | 112 char sig[10]; member 312 if (!memcmp("SWAP-SPACE",swsusp_header->sig, 10) || in mark_swapfiles() 313 !memcmp("SWAPSPACE2",swsusp_header->sig, 10)) { in mark_swapfiles() 314 memcpy(swsusp_header->orig_sig,swsusp_header->sig, 10); in mark_swapfiles() 315 memcpy(swsusp_header->sig, HIBERNATE_SIG, 10); in mark_swapfiles() 1543 if (!memcmp(HIBERNATE_SIG, swsusp_header->sig, 10)) { in swsusp_check() 1544 memcpy(swsusp_header->sig, swsusp_header->orig_sig, 10); in swsusp_check() 1593 if (!memcmp(HIBERNATE_SIG,swsusp_header->sig, 10)) { in swsusp_unmark() 1594 memcpy(swsusp_header->sig,swsusp_header->orig_sig, 10); in swsusp_unmark()
|
/kernel/debug/kdb/ |
D | kdb_main.c | 2439 long sig, pid; in kdb_kill() local 2447 sig = simple_strtol(argv[1], &endp, 0); in kdb_kill() 2450 if (sig >= 0) { in kdb_kill() 2454 sig = -sig; in kdb_kill() 2471 info.si_signo = sig; in kdb_kill()
|