Message ID | 20230127135755.79929-18-mathieu.desnoyers@efficios.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | selftests: Fix incorrect kernel headers search path | expand |
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! > 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.) (and add all the individual maintainers of the files you modify -- feel free to use 'b4' to help you for this task ;-) ) (...) > 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/*/ I guess most of these Makefile are very similar, no? For MPTCP, we simply looked at what was done elsewhere :) Cheers, Matt
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
On 1/27/23 06: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=...). > > 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+] > --- > tools/testing/selftests/net/Makefile | 2 +- > tools/testing/selftests/net/bpf/Makefile | 2 +- > tools/testing/selftests/net/mptcp/Makefile | 2 +- > tools/testing/selftests/net/openvswitch/Makefile | 2 +- > 4 files changed, 4 insertions(+), 4 deletions(-) > Adding net maintainers: Would you me to take this patch through kselftest tree? If you decide to take this through yours: Acked-by: Shuah Khan <skhan@linuxfoundation.org> thanks, -- Shuah
diff --git a/tools/testing/selftests/net/Makefile b/tools/testing/selftests/net/Makefile index 3007e98a6d64..bab1222c7d50 100644 --- a/tools/testing/selftests/net/Makefile +++ b/tools/testing/selftests/net/Makefile @@ -2,7 +2,7 @@ # Makefile for net selftests CFLAGS = -Wall -Wl,--no-as-needed -O2 -g -CFLAGS += -I../../../../usr/include/ $(KHDR_INCLUDES) +CFLAGS += $(KHDR_INCLUDES) TEST_PROGS := run_netsocktests run_afpackettests test_bpf.sh netdevice.sh \ rtnetlink.sh xfrm_policy.sh test_blackhole_dev.sh diff --git a/tools/testing/selftests/net/bpf/Makefile b/tools/testing/selftests/net/bpf/Makefile index 4abaf16d2077..207b6b958f66 100644 --- a/tools/testing/selftests/net/bpf/Makefile +++ b/tools/testing/selftests/net/bpf/Makefile @@ -7,7 +7,7 @@ BPFDIR := $(abspath ../../../lib/bpf) APIDIR := $(abspath ../../../include/uapi) CCINCLUDE += -I../../bpf -CCINCLUDE += -I../../../../../usr/include/ +CCINCLUDE += $(KHDR_INCLUDES) CCINCLUDE += -I$(SCRATCH_DIR)/include BPFOBJ := $(BUILD_DIR)/libbpf/libbpf.a 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) TEST_PROGS := mptcp_connect.sh pm_netlink.sh mptcp_join.sh diag.sh \ simult_flows.sh mptcp_sockopt.sh userspace_pm.sh diff --git a/tools/testing/selftests/net/openvswitch/Makefile b/tools/testing/selftests/net/openvswitch/Makefile index 2f1508abc826..41ddfa9fdd1d 100644 --- a/tools/testing/selftests/net/openvswitch/Makefile +++ b/tools/testing/selftests/net/openvswitch/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) TEST_PROGS := openvswitch.sh
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=...). 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+] --- tools/testing/selftests/net/Makefile | 2 +- tools/testing/selftests/net/bpf/Makefile | 2 +- tools/testing/selftests/net/mptcp/Makefile | 2 +- tools/testing/selftests/net/openvswitch/Makefile | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-)