Re: [PATCH 17/34] selftests: net: Fix incorrect kernel headers search path

Mathieu Desnoyers
2023-01-27T16:43:13Z

On 2023-01-27 11:21, Matthieu Baerts wrote:
> Hi Mathieu,
>
> On 27/01/2023 14:57, Mathieu Desnoyers wrote:
>> Use $(KHDR_INCLUDES) as lookup path for kernel headers. This prevents
>> building against kernel headers from the build environment in scenarios
>> where kernel headers are installed into a specific output directory
>> (O=...).
>
> Thank you for the patch!

You're welcome :)

>
>> Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
>> Cc: Shuah Khan <shuah@kernel.org>
>> Cc: linux-kselftest@vger.kernel.org
>> Cc: Ingo Molnar <mingo@redhat.com>
>> Cc: <stable@vger.kernel.org> [5.18+]
>
> (It might be useful to add a "Fixes" tag as well to clearly indicate the
> dependence with a specific commit and better understand the fix.)

Just a bit of context: I found this problematic pattern in my own
selftests (rseq and membarrier), and figured that it was an issue all
across the board. I did an initial single-patch fix, and then split it
up in 34 patches based on feedback from Shuah Khan.

I know it should have a Fixed ... tag, but I simply don't have time to
do the historical investigation work for all the 34 patches form this
patchset. Perhaps someone else is up to the task ?

>
> (and add all the individual maintainers of the files you modify -- feel
> free to use 'b4' to help you for this task ;-) )

If this can be automated, then perhaps Shuah can use it to append the
relevant information ?

>
> (...)
>
>> diff --git a/tools/testing/selftests/net/mptcp/Makefile b/tools/testing/selftests/net/mptcp/Makefile
>> index 43a723626126..06bba013bcef 100644
>> --- a/tools/testing/selftests/net/mptcp/Makefile
>> +++ b/tools/testing/selftests/net/mptcp/Makefile
>> @@ -2,7 +2,7 @@
>>
>> top_srcdir = ../../../../..
>>
>> -CFLAGS = -Wall -Wl,--no-as-needed -O2 -g -I$(top_srcdir)/usr/include $(KHDR_INCLUDES)
>> +CFLAGS = -Wall -Wl,--no-as-needed -O2 -g $(KHDR_INCLUDES)
>
> I only looked at the modification here with MPTCP selftests and it looks
> good to me. It makes sense because if KHDR_INCLUDES is not set, it will
> be set later by lib.mk I suppose.
>
> Just one small thing: I guess you can also remove "top_srcdir" variable
> that is no longer used, right? I see that "lib.mk" uses a variable with
> the same name but it overrides its value anyway. But it is likely I
> missed something there :)
>
> If indeed it is no longer needed, I guess a few Makefile can be adapted
> according to:
>
> git grep top_srcdir -- tools/testing/selftests/*/
>

Yes, this should perhaps come as additional fixes on top of my series. I
don't have time to do it myself though.

Anyone willing to contribute it ?

> I guess most of these Makefile are very similar, no? For MPTCP, we
> simply looked at what was done elsewhere :)

Yes, I did likewise.

Thanks for the feedback,

Mathieu

>
> Cheers,
> Matt

--
Mathieu Desnoyers
EfficiOS Inc.