Messages in this thread Patch in this message | | | From | Mike Christie <> | Subject | [PATCH V5 04/10] fork: Add KERNEL_WORKER flag to ignore signals | Date | Sun, 21 Nov 2021 11:49:24 -0600 |
| |
From: Christian Brauner <christian.brauner@ubuntu.com>
Since this is mirroring kthread's sig ignore api introduced in
commit 10ab825bdef8 ("change kernel threads to ignore signals instead of blocking them")
this patch adds an option flag, KERNEL_WORKER_SIG_IGN, handled in copy_process() after copy_sighand() and copy_signals() to ease the transition from kthreads to this new api.
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com> Signed-off-by: Mike Christie <michael.christie@oracle.com> Reviewed-by: Christoph Hellwig <hch@lst.de> --- include/linux/sched/task.h | 1 + kernel/fork.c | 3 +++ 2 files changed, 4 insertions(+)
diff --git a/include/linux/sched/task.h b/include/linux/sched/task.h index 47ede41b19c5..ef3a8e7f7ed9 100644 --- a/include/linux/sched/task.h +++ b/include/linux/sched/task.h @@ -21,6 +21,7 @@ struct css_set; #define KERN_WORKER_IO BIT(0) #define KERN_WORKER_USER BIT(1) #define KERN_WORKER_NO_FILES BIT(2) +#define KERN_WORKER_SIG_IGN BIT(3) struct kernel_clone_args { u64 flags; diff --git a/kernel/fork.c b/kernel/fork.c index a1ba423eec4d..6e6050d588ae 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -2211,6 +2211,9 @@ static __latent_entropy struct task_struct *copy_process( if (retval) goto bad_fork_cleanup_io; + if (args->worker_flags & KERN_WORKER_SIG_IGN) + ignore_signals(p); + stackleak_task_init(p); if (pid != &init_struct_pid) { -- 2.25.1
| |