Re: [PATCH v2 2/2] kernel: rerun task_work while freezing in get_signal()

From: Oleg Nesterov
Date: Tue Jul 09 2024 - 10:46:13 EST


On 07/09, Pavel Begunkov wrote:
>
> --- a/kernel/signal.c
> +++ b/kernel/signal.c
> @@ -2600,6 +2600,14 @@ static void do_freezer_trap(void)
> spin_unlock_irq(&current->sighand->siglock);
> cgroup_enter_frozen();
> schedule();
> +
> + /*
> + * We could've been woken by task_work, run it to clear
> + * TIF_NOTIFY_SIGNAL. The caller will retry if necessary.
> + */
> + clear_notify_signal();
> + if (unlikely(task_work_pending(current)))
> + task_work_run();
> }

Acked-by: Oleg Nesterov <oleg@xxxxxxxxxx>