Messages in this thread Patch in this message | | | From | Mike Christie <> | Subject | [PATCH V6 04/10] fork: Add USER_WORKER flag to ignore signals | Date | Mon, 29 Nov 2021 13:47:01 -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, USER_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 e094502b2eea..f8a658700075 100644 --- a/include/linux/sched/task.h +++ b/include/linux/sched/task.h @@ -21,6 +21,7 @@ struct css_set; #define USER_WORKER BIT(0) #define USER_WORKER_IO BIT(1) #define USER_WORKER_NO_FILES BIT(2) +#define USER_WORKER_SIG_IGN BIT(3) struct kernel_clone_args { u64 flags; diff --git a/kernel/fork.c b/kernel/fork.c index a47bec00f37c..c9152596a285 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 & USER_WORKER_SIG_IGN) + ignore_signals(p); + stackleak_task_init(p); if (pid != &init_struct_pid) { -- 2.25.1
| |