17.11.2024 12:40, Alexander Mikhalitsyn пишет:Ah, I guess pidfd_file is a culprit.
Hi Stas,Yes, the patch you referenced above,
Actually, it's not a forgotten check. It's intended behavior to pass
through errors from pidfd_prepare() to
the userspace. In my first version [1] of the patch I tried to return
ESRCH instead of EINVAL in your case, but
then during discussions we decided to remove that.
[1] https://lore.kernel.org/all/20230316131526.283569-2-aleksandr.mikhalitsyn@xxxxxxxxxxxxx/
only calls put_cmsg() with an error code.
But the code I can see now in git, does
much more. Namely,
if (pidfd_file)
fd_install(pidfd, pidfd_file);