On 11/28/22 06:30, Simon Ser wrote:
The PID is racy, the user-space daemon could end up killing an unrelated process… Is there any way we could use a pidfd instead?
Is the PID race condition something that really happens or rather something theoretical?
Anyway, I can't see how pidfd and uevent would work together. Since uevent it's kind of a broadcast and pidfd is an anon file, it wouldn't be possible to say to userspace which is the fd to be used giving that file descriptors are per process resources.
On the other hand, this interface could be converted to be an ioctl that userspace would block waiting for a reset notification, then the kernel could create a pidfd and give to the blocked process the right fd. We would probably need a queue to make sure no event is lost.