Re: [PATCH v3 3/3] selftests: pidfd: add tests for PIDFD_SELF_*

John Hubbard
2024-10-17T17:17:58Z

On 10/17/24 5:06 AM, Lorenzo Stoakes wrote:
> +cc John, sorry I forgot to cc you on other replies!!
>
> On Thu, Oct 17, 2024 at 09:08:19AM +0100, Lorenzo Stoakes wrote:
> [snip]
>>
>> In any case I think copying the header to the tools/ directory with this
>> linux/fcntl.h in some way stubbed out (we could even stub out fcntl.h
>> there?) is the sensible way forward.
>>
>> A 'just include the header' is simply not an option as it breaks the tests.

I should have read this one first, this morning, but I missed it
initially. :)

>
> Ohhh ok I think maybe we could have a good compromise that should (hopefully!)
> satisfy both you and John.
>
> I can introduce tools/include/linux/pidfd.h that is a stub wrapper around
> the pidfd.h file.
>
> So it can be something like:
>
>
> #ifndef __TOOLS_LINUX_PIDFD_H
> #define __TOOLS_LINUX_PIDFD_H
>
> /*
> * Some systems have issues with the linux/fcntl.h import in linux/pidfd.h, so
> * work around this by setting the header guard.
> */
> #define _LINUX_FCNTL_H
> #include "../../../include/uapi/linux/pidfd.h"
> #undef _LINUX_FCNTL_H
>
> #endif /* __TOOLS_LINUX_PIDFD_H */
>
>
> Then the test code needs only to update the pidfd.h file to #include
> <linux/pidfd.h> and add a simple $(TOOLS_INCLUDES) to the CFLAGS += line in
> the pidfd self tests Makefile and we should be all good.

Yes.

>
> That way we always import everything in this header correctly, we directly
> document this issue, we include the header as you would in userland and we
> should cover off all the issues?

Very nice!

thanks,
--
John Hubbard