KHDR_INCLUDES is typically used to include headers from the kernel
source directory instead of only relying on the ones from the host: they
can be missing or outdated. See the issue reported in [1] where users
have to set USERCFLAGS instead, which shouldn't be needed.

The kselftest doc [2] recommends assigning KHDR_INCLUDES to CFLAGS in a
target Makefile. lib.mk will set KHDR_INCLUDES to "-isystem
$(top_srcdir)/usr/include" if the user didn't set it, e.g. if the kernel
was built in a different build directory.

Other net targets have KHDR_INCLUDES added to their CFLAGS.

Link: https://lore.kernel.org/[email protected] [1]
Link: 
https://docs.kernel.org/dev-tools/kselftest.html#contributing-new-tests-details 
[2]
Signed-off-by: Matthieu Baerts (NGI0) <[email protected]>
---
Note: this series is targeting net to help CI and devs validating Linus
tree or the stable ones. These are not critical fixes for the kernel,
but still useful for the tests. If preferred, the series can be applied
on net-next.

---
Matthieu Baerts (NGI0) (2):
      selftests: netfilter: use KHDR_INCLUDES in CFLAGS
      selftests: forwarding: use KHDR_INCLUDES in CFLAGS

 tools/testing/selftests/net/forwarding/Makefile | 2 ++
 tools/testing/selftests/net/netfilter/Makefile  | 2 ++
 2 files changed, 4 insertions(+)
---
base-commit: 641d03105cc0d2437e32fdeec164f91a4ccef6c4
change-id: 20260904-net-sft-nf-khdr_includes-07aa6b61143d

Best regards,
--  
Matthieu Baerts (NGI0) <[email protected]>


Reply via email to