Re: [LTP] [PATCH] ioctl_pidfd05: Check if PIDFD_INFO_EXIT is available

Avinesh Kumar
2025-09-22T20:44:21Z

Hi Petr and Cyril,

On Thursday, September 18, 2025 3:31:03 PM CEST Cyril Hrubis wrote:
> Hi!
> > > This test also needs this check as it might fail with
> > > ioctl_pidfd05.c:45: TFAIL: ioctl(pidfd, PIDFD_GET_INFO, NULL) expected EINVAL: ENOTTY (25)
> > > ioctl_pidfd05.c:46: TFAIL: ioctl(pidfd, PIDFD_GET_INFO_SHORT, info_invalid) expected EINVAL: ENOTTY (25)
> > > when system does not have PIDFD_INFO_EXIT implementation.
> >
> > Reviewed-by: Petr Vorel <pvorel@suse.cz>
> >
> > Thanks for the fix!. As a quick fix this would work, because
> > ioctl_pidfd_info_exit_supported() is using ioctl(fd, PIDFD_GET_INFO, ...).
> >
> > But because PIDFD_GET_INFO was added in 6.12:
> > cdda1f26e74b ("pidfd: add ioctl to retrieve pid info") # v6.12-rc3
> > and PIDFD_INFO_EXIT in v6.14:
> > 7477d7dce48a ("pidfs: allow to retrieve exit information") # v6.14-rc1
> > it'd make sense to create ioctl_pidfd_get_info_supported() which would
> > be also used by ioctl_pidfd_info_exit_supported().
> > Why? There is 6.12 LTSS kernel branch which will get TCONF instead of being
> > tested.
> >
> > It could be done ioctl_pidfd_get_info_supported() could return int64_t mask
> > (__u64 mask struct pidfd_info member if supported or -1 if ioctl() returned -1.
> > ioctl_pidfd_info_exit_supported() would just evaluate that. Other option is just
> > code duplicity.
>
> Yes please, we need another check just for PIDFD_GET_INFO with empty
> mask.
>
>
Thank you both for reviewing and suggesting the correct approach. I have sent
the new patch [1].

[1] https://patchwork.ozlabs.org/project/ltp/patch/20250922203927.14552-1-akumar@suse.de/

Regards,
Avinesh