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

From: Mathieu Desnoyers
Date: Fri Jan 27 2023 - 11:43:13 EST


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@xxxxxxxxxxxx>
Cc: Shuah Khan <shuah@xxxxxxxxxx>
Cc: linux-kselftest@xxxxxxxxxxxxxxx
Cc: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx> [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.
https://www.efficios.com