/kernel/linux/linux-5.10/fs/ |
H A D | signalfd.c | 10 * Added sighand-detach notification. 18 * Attach to the sighand only during read() and poll(). 36 void signalfd_cleanup(struct sighand_struct *sighand) in signalfd_cleanup() argument 38 wake_up_pollfree(&sighand->signalfd_wqh); in signalfd_cleanup() 56 poll_wait(file, ¤t->sighand->signalfd_wqh, wait); in signalfd_poll() 58 spin_lock_irq(¤t->sighand->siglock); in signalfd_poll() 63 spin_unlock_irq(¤t->sighand->siglock); in signalfd_poll() 162 spin_lock_irq(¤t->sighand->siglock); in signalfd_dequeue() 171 spin_unlock_irq(¤t->sighand->siglock); in signalfd_dequeue() 175 add_wait_queue(¤t->sighand in signalfd_dequeue() [all...] |
/kernel/linux/linux-6.6/fs/ |
H A D | signalfd.c | 10 * Added sighand-detach notification. 18 * Attach to the sighand only during read() and poll(). 36 void signalfd_cleanup(struct sighand_struct *sighand) in signalfd_cleanup() argument 38 wake_up_pollfree(&sighand->signalfd_wqh); in signalfd_cleanup() 56 poll_wait(file, ¤t->sighand->signalfd_wqh, wait); in signalfd_poll() 58 spin_lock_irq(¤t->sighand->siglock); in signalfd_poll() 63 spin_unlock_irq(¤t->sighand->siglock); in signalfd_poll() 162 spin_lock_irq(¤t->sighand->siglock); in signalfd_dequeue() 171 spin_unlock_irq(¤t->sighand->siglock); in signalfd_dequeue() 175 add_wait_queue(¤t->sighand in signalfd_dequeue() [all...] |
/kernel/linux/linux-5.10/include/linux/ |
H A D | signalfd.h | 21 if (unlikely(waitqueue_active(&tsk->sighand->signalfd_wqh))) in signalfd_notify() 22 wake_up(&tsk->sighand->signalfd_wqh); in signalfd_notify() 25 extern void signalfd_cleanup(struct sighand_struct *sighand); 31 static inline void signalfd_cleanup(struct sighand_struct *sighand) { } in signalfd_cleanup() argument
|
/kernel/linux/linux-6.6/include/linux/ |
H A D | signalfd.h | 21 if (unlikely(waitqueue_active(&tsk->sighand->signalfd_wqh))) in signalfd_notify() 22 wake_up(&tsk->sighand->signalfd_wqh); in signalfd_notify() 25 extern void signalfd_cleanup(struct sighand_struct *sighand); 31 static inline void signalfd_cleanup(struct sighand_struct *sighand) { } in signalfd_cleanup() argument
|
/kernel/linux/linux-5.10/drivers/tty/ |
H A D | tty_jobctrl.c | 19 current->sighand->action[sig-1].sa.sa_handler == SIG_IGN); in is_ignored() 78 spin_lock_irqsave(&p->sighand->siglock, flags); in proc_clear_tty() 81 spin_unlock_irqrestore(&p->sighand->siglock, flags); in proc_clear_tty() 93 * sighand lock 121 spin_lock_irq(¤t->sighand->siglock); in proc_set_tty() 123 spin_unlock_irq(¤t->sighand->siglock); in proc_set_tty() 132 spin_lock_irq(¤t->sighand->siglock); in tty_open_proc_set_tty() 153 spin_unlock_irq(¤t->sighand->siglock); in tty_open_proc_set_tty() 162 spin_lock_irqsave(¤t->sighand->siglock, flags); in get_current_tty() 164 spin_unlock_irqrestore(¤t->sighand in get_current_tty() [all...] |
/kernel/linux/linux-6.6/drivers/tty/ |
H A D | tty_jobctrl.c | 19 current->sighand->action[sig-1].sa.sa_handler == SIG_IGN); in is_ignored() 80 spin_lock_irqsave(&p->sighand->siglock, flags); in proc_clear_tty() 83 spin_unlock_irqrestore(&p->sighand->siglock, flags); in proc_clear_tty() 96 * sighand lock 124 spin_lock_irq(¤t->sighand->siglock); in proc_set_tty() 126 spin_unlock_irq(¤t->sighand->siglock); in proc_set_tty() 135 spin_lock_irq(¤t->sighand->siglock); in tty_open_proc_set_tty() 156 spin_unlock_irq(¤t->sighand->siglock); in tty_open_proc_set_tty() 165 spin_lock_irqsave(¤t->sighand->siglock, flags); in get_current_tty() 167 spin_unlock_irqrestore(¤t->sighand in get_current_tty() [all...] |
/kernel/linux/linux-6.6/kernel/ |
H A D | signal.c | 71 return t->sighand->action[sig - 1].sa.sa_handler; in sig_handler() 197 spin_lock_irq(¤t->sighand->siglock); in calculate_sigpending() 200 spin_unlock_irq(¤t->sighand->siglock); in calculate_sigpending() 281 * Must be called with @task->sighand->siglock held. 312 * Must be called with @task->sighand->siglock held. 336 * Must be called with @task->sighand->siglock held. 361 * Must be called with @task->sighand->siglock held. 482 spin_lock_irqsave(&t->sighand->siglock, flags); in flush_signals() 486 spin_unlock_irqrestore(&t->sighand->siglock, flags); in flush_signals() 519 spin_lock_irqsave(&tsk->sighand in flush_itimer_signals() 1404 struct sighand_struct *sighand; __lock_task_sighand() local 1436 struct sighand_struct *sighand; lockdep_assert_task_sighand_held() local 2175 struct sighand_struct *sighand; do_notify_parent_cldstop() local 2662 struct sighand_struct *sighand = current->sighand; get_signal() local [all...] |
H A D | exit.c | 154 struct sighand_struct *sighand; in __exit_signal() local 158 sighand = rcu_dereference_check(tsk->sighand, in __exit_signal() 160 spin_lock(&sighand->siglock); in __exit_signal() 214 tsk->sighand = NULL; in __exit_signal() 215 spin_unlock(&sighand->siglock); in __exit_signal() 217 __cleanup_sighand(sighand); in __exit_signal() 417 spin_lock_irq(&tsk->sighand->siglock); in coredump_task_exit() 420 spin_unlock_irq(&tsk->sighand->siglock); in coredump_task_exit() 802 struct sighand_struct *sighand in synchronize_group_exit() local 1020 struct sighand_struct *const sighand = current->sighand; do_group_exit() local [all...] |
H A D | ptrace.c | 133 spin_lock(&child->sighand->siglock); in __ptrace_unlink() 171 spin_unlock(&child->sighand->siglock); in __ptrace_unlink() 203 spin_lock_irq(&task->sighand->siglock); in ptrace_freeze_traced() 209 spin_unlock_irq(&task->sighand->siglock); in ptrace_freeze_traced() 245 * Grabs and releases tasklist_lock and @child->sighand->siglock. 264 * child->sighand can't be NULL, release_task() in ptrace_check_attach() 453 spin_lock(&task->sighand->siglock); in ptrace_attach() 478 spin_unlock(&task->sighand->siglock); in ptrace_attach() 572 else if (ignoring_children(tracer->sighand)) { in __ptrace_detach() 763 spin_lock_irq(&child->sighand in ptrace_peek_siginfo() [all...] |
H A D | fork.c | 440 /* SLAB cache for sighand_struct structures (tsk->sighand) */ 1148 * the sighand lock in case orig has changed between now and in dup_task_struct() 1818 refcount_inc(¤t->sighand->count); in copy_sighand() 1822 RCU_INIT_POINTER(tsk->sighand, sig); in copy_sighand() 1827 spin_lock_irq(¤t->sighand->siglock); in copy_sighand() 1828 memcpy(sig->action, current->sighand->action, sizeof(sig->action)); in copy_sighand() 1829 spin_unlock_irq(¤t->sighand->siglock); in copy_sighand() 1838 void __cleanup_sighand(struct sighand_struct *sighand) in __cleanup_sighand() argument 1840 if (refcount_dec_and_test(&sighand->count)) { in __cleanup_sighand() 1841 signalfd_cleanup(sighand); in __cleanup_sighand() 3268 struct sighand_struct *sighand = data; sighand_ctor() local [all...] |
H A D | pid_namespace.c | 185 spin_lock_irq(&me->sighand->siglock); in zap_pid_ns_processes() 186 me->sighand->action[SIGCHLD - 1].sa.sa_handler = SIG_IGN; in zap_pid_ns_processes() 187 spin_unlock_irq(&me->sighand->siglock); in zap_pid_ns_processes()
|
/kernel/linux/linux-5.10/kernel/ |
H A D | signal.c | 69 return t->sighand->action[sig - 1].sa.sa_handler; in sig_handler() 196 spin_lock_irq(¤t->sighand->siglock); in calculate_sigpending() 199 spin_unlock_irq(¤t->sighand->siglock); in calculate_sigpending() 280 * Must be called with @task->sighand->siglock held. 311 * Must be called with @task->sighand->siglock held. 335 * Must be called with @task->sighand->siglock held. 360 * Must be called with @task->sighand->siglock held. 480 spin_lock_irqsave(&t->sighand->siglock, flags); in flush_signals() 484 spin_unlock_irqrestore(&t->sighand->siglock, flags); in flush_signals() 517 spin_lock_irqsave(&tsk->sighand in flush_itimer_signals() 1372 struct sighand_struct *sighand; __lock_task_sighand() local 2024 struct sighand_struct *sighand; do_notify_parent_cldstop() local 2519 struct sighand_struct *sighand = current->sighand; get_signal() local [all...] |
H A D | exit.c | 151 struct sighand_struct *sighand; in __exit_signal() local 155 sighand = rcu_dereference_check(tsk->sighand, in __exit_signal() 157 spin_lock(&sighand->siglock); in __exit_signal() 211 tsk->sighand = NULL; in __exit_signal() 212 spin_unlock(&sighand->siglock); in __exit_signal() 214 __cleanup_sighand(sighand); in __exit_signal() 982 struct sighand_struct *const sighand = current->sighand; in do_group_exit() local 984 spin_lock_irq(&sighand in do_group_exit() [all...] |
H A D | ptrace.c | 131 spin_lock(&child->sighand->siglock); in __ptrace_unlink() 169 spin_unlock(&child->sighand->siglock); in __ptrace_unlink() 196 spin_lock_irq(&task->sighand->siglock); in ptrace_freeze_traced() 202 spin_unlock_irq(&task->sighand->siglock); in ptrace_freeze_traced() 218 spin_lock_irq(&task->sighand->siglock); in ptrace_unfreeze_traced() 225 spin_unlock_irq(&task->sighand->siglock); in ptrace_unfreeze_traced() 240 * Grabs and releases tasklist_lock and @child->sighand->siglock. 260 * child->sighand can't be NULL, release_task() in ptrace_check_attach() 459 spin_lock(&task->sighand->siglock); in ptrace_attach() 482 spin_unlock(&task->sighand in ptrace_attach() [all...] |
H A D | seccomp.c | 341 assert_spin_locked(¤t->sighand->siglock); in seccomp_may_assign_mode() 355 assert_spin_locked(&task->sighand->siglock); in seccomp_assign_mode() 386 * Expects sighand and cred_guard_mutex locks to be held. 397 assert_spin_locked(¤t->sighand->siglock); in seccomp_can_sync_threads() 481 * Expects sighand and cred_guard_mutex locks to be held, and for 491 assert_spin_locked(¤t->sighand->siglock); in seccomp_sync_threads() 617 * Caller must be holding current->sighand->siglock lock. 630 assert_spin_locked(¤t->sighand->siglock); in seccomp_attach_filter() 1101 spin_lock_irq(¤t->sighand->siglock); in seccomp_set_mode_strict() 1113 spin_unlock_irq(¤t->sighand in seccomp_set_mode_strict() [all...] |
H A D | fork.c | 335 /* SLAB cache for sighand_struct structures (tsk->sighand) */ 923 * the sighand lock in case orig has changed between now and in dup_task_struct() 1544 refcount_inc(¤t->sighand->count); in copy_sighand() 1548 RCU_INIT_POINTER(tsk->sighand, sig); in copy_sighand() 1553 spin_lock_irq(¤t->sighand->siglock); in copy_sighand() 1554 memcpy(sig->action, current->sighand->action, sizeof(sig->action)); in copy_sighand() 1555 spin_unlock_irq(¤t->sighand->siglock); in copy_sighand() 1564 void __cleanup_sighand(struct sighand_struct *sighand) in __cleanup_sighand() argument 1566 if (refcount_dec_and_test(&sighand->count)) { in __cleanup_sighand() 1567 signalfd_cleanup(sighand); in __cleanup_sighand() 2848 struct sighand_struct *sighand = data; sighand_ctor() local [all...] |
H A D | pid_namespace.c | 189 spin_lock_irq(&me->sighand->siglock); in zap_pid_ns_processes() 190 me->sighand->action[SIGCHLD - 1].sa.sa_handler = SIG_IGN; in zap_pid_ns_processes() 191 spin_unlock_irq(&me->sighand->siglock); in zap_pid_ns_processes()
|
/kernel/linux/linux-5.10/kernel/time/ |
H A D | itimer.c | 53 spin_lock_irq(&tsk->sighand->siglock); in get_cpu_itimer() 70 spin_unlock_irq(&tsk->sighand->siglock); in get_cpu_itimer() 82 spin_lock_irq(&tsk->sighand->siglock); in do_getitimer() 86 spin_unlock_irq(&tsk->sighand->siglock); in do_getitimer() 178 spin_lock_irq(&tsk->sighand->siglock); in set_cpu_itimer() 192 spin_unlock_irq(&tsk->sighand->siglock); in set_cpu_itimer() 216 spin_lock_irq(&tsk->sighand->siglock); in do_setitimer() 225 spin_unlock_irq(&tsk->sighand->siglock); in do_setitimer() 238 spin_unlock_irq(&tsk->sighand->siglock); in do_setitimer()
|
H A D | posix-cpu-timers.c | 42 spin_lock_irq(&task->sighand->siglock); in update_rlimit_cpu() 44 spin_unlock_irq(&task->sighand->siglock); in update_rlimit_cpu() 263 * with task sighand lock held. 417 struct sighand_struct *sighand; in posix_cpu_timer_del() local 428 * Protect against sighand release/switch in exit/exec and process/ in posix_cpu_timer_del() 431 sighand = lock_task_sighand(p, &flags); in posix_cpu_timer_del() 432 if (unlikely(sighand == NULL)) { in posix_cpu_timer_del() 497 * expire later. This must be called with the sighand lock held. 578 struct sighand_struct *sighand; in posix_cpu_timer_set() local 601 * Protect against sighand releas in posix_cpu_timer_set() 987 struct sighand_struct *sighand; posix_cpu_timer_rearm() local [all...] |
/kernel/linux/linux-6.6/kernel/time/ |
H A D | itimer.c | 53 spin_lock_irq(&tsk->sighand->siglock); in get_cpu_itimer() 70 spin_unlock_irq(&tsk->sighand->siglock); in get_cpu_itimer() 82 spin_lock_irq(&tsk->sighand->siglock); in do_getitimer() 86 spin_unlock_irq(&tsk->sighand->siglock); in do_getitimer() 178 spin_lock_irq(&tsk->sighand->siglock); in set_cpu_itimer() 192 spin_unlock_irq(&tsk->sighand->siglock); in set_cpu_itimer() 216 spin_lock_irq(&tsk->sighand->siglock); in do_setitimer() 225 spin_unlock_irq(&tsk->sighand->siglock); in do_setitimer() 238 spin_unlock_irq(&tsk->sighand->siglock); in do_setitimer()
|
H A D | posix-cpu-timers.c | 269 * with task sighand lock held. 474 struct sighand_struct *sighand; in posix_cpu_timer_del() local 485 * Protect against sighand release/switch in exit/exec and process/ in posix_cpu_timer_del() 488 sighand = lock_task_sighand(p, &flags); in posix_cpu_timer_del() 489 if (unlikely(sighand == NULL)) { in posix_cpu_timer_del() 554 * expire later. This must be called with the sighand lock held. 629 struct sighand_struct *sighand; in posix_cpu_timer_set() local 652 * Protect against sighand release/switch in exit/exec and p->cpu_timers in posix_cpu_timer_set() 655 sighand = lock_task_sighand(p, &flags); in posix_cpu_timer_set() 660 if (unlikely(sighand in posix_cpu_timer_set() 1051 struct sighand_struct *sighand; posix_cpu_timer_rearm() local [all...] |
/kernel/linux/linux-5.10/include/linux/sched/ |
H A D | signal.h | 17 * Types defining task->signal and task->sighand and APIs using them: 285 spin_lock_irq(&task->sighand->siglock); in kernel_dequeue_signal() 287 spin_unlock_irq(&task->sighand->siglock); in kernel_dequeue_signal() 294 spin_lock_irq(¤t->sighand->siglock); in kernel_signal_stop() 297 spin_unlock_irq(¤t->sighand->siglock); in kernel_signal_stop() 412 * callers must hold sighand->siglock. 706 (void)__cond_lock(&task->sighand->siglock, ret); in lock_task_sighand() 713 spin_unlock_irqrestore(&task->sighand->siglock, *flags); in unlock_task_sighand()
|
/kernel/linux/linux-6.6/include/linux/sched/ |
H A D | signal.h | 17 * Types defining task->signal and task->sighand and APIs using them: 288 spin_lock_irq(&task->sighand->siglock); in kernel_dequeue_signal() 290 spin_unlock_irq(&task->sighand->siglock); in kernel_dequeue_signal() 297 spin_lock_irq(¤t->sighand->siglock); in kernel_signal_stop() 302 spin_unlock_irq(¤t->sighand->siglock); in kernel_signal_stop() 442 * callers must hold sighand->siglock. 743 (void)__cond_lock(&task->sighand->siglock, ret); in lock_task_sighand() 750 spin_unlock_irqrestore(&task->sighand->siglock, *flags); in unlock_task_sighand()
|
/kernel/linux/linux-5.10/fs/proc/ |
H A D | task_nommu.c | 67 if (current->sighand && refcount_read(¤t->sighand->count) > 1) in task_mem() 68 sbytes += kobjsize(current->sighand); in task_mem() 70 bytes += kobjsize(current->sighand); in task_mem()
|
/kernel/linux/linux-6.6/fs/proc/ |
H A D | task_nommu.c | 65 if (current->sighand && refcount_read(¤t->sighand->count) > 1) in task_mem() 66 sbytes += kobjsize(current->sighand); in task_mem() 68 bytes += kobjsize(current->sighand); in task_mem()
|