On Mon, Aug 05, 2019 at 12:47:19PM +0300, Dmitry V. Levin wrote:
On Mon, Jul 29, 2019 at 05:35:30PM +0800, kernel test robot wrote:
> FYI, we noticed the following commit (built with gcc-7):
> commit: 201766a20e30f982ccfe36bebfad9602c3ff574a ("ptrace: add
> in testcase: kernel_selftests
> with following parameters:
> group: kselftests-02
> test-description: The kernel contains a set of "self tests" under the
tools/testing/selftests/ directory. These are intended to be small unit tests to exercise
individual code paths in the kernel.
> test-url: https://www.kernel.org/doc/Documentation/kselftest.txt
The URL above also says: "Tests are intended to be run after building,
installing and booting a kernel".
Please build selftests with installed kernel headers corresponding to the
Alternatively, tools/testing/selftests/lib.mk could be extended
to include uapi headers from the kernel tree into CPPFLAGS, e.g.
diff --git a/tools/testing/selftests/lib.mk b/tools/testing/selftests/lib.mk
index 1c8a1963d03f..b5f4f0fb8eeb 100644
@@ -10,6 +10,9 @@ ifeq (0,$(MAKELEVEL))
selfdir = $(realpath $(dir $(filter %/lib.mk,$(MAKEFILE_LIST))))
+uapi_dir = $(realpath $(selfdir)/../../../include/uapi)
+CPPFLAGS += -I$(uapi_dir)
# The following are built by lib.mk common compile rules.
# TEST_CUSTOM_PROGS should be used by tests that require
# custom build rule and prevent common build rule use.
I like this solution, as it's a common problem and it solves it in one
place for all of the selftests.
Reviewed-by: Kees Cook <keescook(a)chromium.org>