aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/include/linux/sched/signal.h
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2024-07-30 18:53:38 +0200
committerThomas Gleixner <tglx@linutronix.de>2024-07-30 18:53:38 +0200
commit9a7b0158aea7a53c8c942e8b83e16f7f30e0018c (patch)
tree55e8afffdecaa5b559f7594bd9d6a9bce22afaea /include/linux/sched/signal.h
parentLinux 6.11-rc1 (diff)
parentsignal: Replace BUG_ON()s (diff)
downloadwireguard-linux-9a7b0158aea7a53c8c942e8b83e16f7f30e0018c.tar.xz
wireguard-linux-9a7b0158aea7a53c8c942e8b83e16f7f30e0018c.zip
Merge tag 'posix-timers-2024-07-29' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks into timers/core
Pull updates for posix timers and related signal code from Frederic Weisbecker: * Prepare posix timers selftests for upcoming changes: - Check signal behaviour sanity against SIG_IGN - Check signal behaviour sanity against timer reprogramm/deletion - Check SIGEV_NONE pending expiry read - Check interval timer read on a pending SIGNAL - Check correct overrun count after signal block/unblock * Various consolidations: - timer get/set - signal queue * Fixes: - Correctly read SIGEV_NONE timers - Forward expiry while reading expired interval timers with pending signal - Don't arm SIGEV_NONE timers * Various cleanups all over the place
Diffstat (limited to '')
-rw-r--r--include/linux/sched/signal.h7
1 files changed, 3 insertions, 4 deletions
diff --git a/include/linux/sched/signal.h b/include/linux/sched/signal.h
index 0a0e23c45406..c8ed09ac29ac 100644
--- a/include/linux/sched/signal.h
+++ b/include/linux/sched/signal.h
@@ -137,7 +137,7 @@ struct signal_struct {
/* POSIX.1b Interval Timers */
unsigned int next_posix_timer_id;
- struct list_head posix_timers;
+ struct hlist_head posix_timers;
/* ITIMER_REAL timer for the process */
struct hrtimer real_timer;
@@ -276,8 +276,7 @@ static inline void signal_set_stop_flags(struct signal_struct *sig,
extern void flush_signals(struct task_struct *);
extern void ignore_signals(struct task_struct *);
extern void flush_signal_handlers(struct task_struct *, int force_default);
-extern int dequeue_signal(struct task_struct *task, sigset_t *mask,
- kernel_siginfo_t *info, enum pid_type *type);
+extern int dequeue_signal(sigset_t *mask, kernel_siginfo_t *info, enum pid_type *type);
static inline int kernel_dequeue_signal(void)
{
@@ -287,7 +286,7 @@ static inline int kernel_dequeue_signal(void)
int ret;
spin_lock_irq(&task->sighand->siglock);
- ret = dequeue_signal(task, &task->blocked, &__info, &__type);
+ ret = dequeue_signal(&task->blocked, &__info, &__type);
spin_unlock_irq(&task->sighand->siglock);
return ret;