Re: [PATCH v2] pid_namespace: make zap_pid_ns_processes() freezable
From: Oleg Nesterov
Date: Sat Oct 03 2026 - 07:07:25 EST
On 10/02, Aviv Vaknin wrote:
>
> --- a/kernel/exit.c
> +++ b/kernel/exit.c
> @@ -1751,7 +1751,7 @@ static long do_wait(struct wait_opts *wo)
> add_wait_queue(¤t->signal->wait_chldexit, &wo->child_wait);
>
> do {
> - set_current_state(TASK_INTERRUPTIBLE);
> + set_current_state(TASK_INTERRUPTIBLE | TASK_FREEZABLE);
> retval = __do_wait(wo);
> if (retval != -ERESTARTSYS)
> break;
> diff --git a/kernel/pid_namespace.c b/kernel/pid_namespace.c
> index 8bc9edb40..127a5fd23 100644
> --- a/kernel/pid_namespace.c
> +++ b/kernel/pid_namespace.c
> @@ -269,7 +269,7 @@ void zap_pid_ns_processes(struct pid_namespace *pid_ns)
> * free_pid() will awaken this task.
> */
> for (;;) {
> - set_current_state(TASK_INTERRUPTIBLE);
> + set_current_state(TASK_IDLE | TASK_FREEZABLE);
> if (pid_ns->pid_allocated == init_pids)
> break;
> schedule();
Thanks Aviv,
Acked-by: Oleg Nesterov <oleg@xxxxxxxxxx>