Re: [RFC PATCH] pidfs: ensure consistent ENOENT/ESRCH reporting

From: Oleg Nesterov
Date: Fri Apr 11 2025 - 07:29:22 EST


On 04/11, Christian Brauner wrote:
>
> > Looking close at this. Why is:
> >
> > if (type == PIDTYPE_PID) {
> > WARN_ON_ONCE(pid_has_task(pid, PIDTYPE_PID));
> > wake_up_all(&pid->wait_pidfd);
> > }
> >
> > located in __change_pid()? The only valid call to __change_pid() with a NULL
> > argument and PIDTYPE_PID is from __unhash_process(), no?
>
> We used to perform free_pid() directly from __change_pid() so prior to
> v6.15 changes it wasn't possible.

Yes, exactly ;)

> Now that we free the pids separately let's
> just move the notification into __unhash_process(). I have a patch ready
> for this.

Agreed,

Acked-by: Oleg Nesterov <oleg@xxxxxxxxxx>