[PATCH v1] selftests/landlock: Fix out-of-tree builds

Mickaël Salaün mic at digikod.net
Thu Sep 22 09:18:54 UTC 2022


I plan to push it to Linus tomorrow, I'd like to get some feedback by 
then though.


On 14/09/2022 16:43, Mickaël Salaün wrote:
> I took the liberty to pushed it in -next with my tree:
> https://git.kernel.org/mic/c/a52540522c9541bfa3e499d2edba7bc0ca73a4ca
> 
> Please let me know when you can take it in your tree to include it in
> the next -rc.
> 
> Regards,
>    Mickaël
> 
> On 12/09/2022 21:48, Mickaël Salaün wrote:
>> Shuah, could you please merge this patch (and the USERCFLAGS/USERLDFLAGS
>> one if that's OK) to -next? This is fixing an issue in the current 6.0-rc5 .
>>
>> Anders, can you please check that this fixes your issue?
>> https://lore.kernel.org/r/CADYN=9JM1nnjC9LypHqrz7JJjbZLpm8rArDUy4zgYYrajErBnA@mail.gmail.com
>>
>>
>> On 09/09/2022 12:34, Mickaël Salaün wrote:
>>> These changes simplify the Makefile and handle these 5 ways to build
>>> Landlock tests:
>>> - make -C tools/testing/selftests/landlock
>>> - make -C tools/testing/selftests TARGETS=landlock gen_tar
>>> - make TARGETS=landlock kselftest-gen_tar
>>> - make TARGETS=landlock O=build kselftest-gen_tar
>>> - make -C /tmp/linux TARGETS=landlock O=/tmp/build kselftest-gen_tar
>>>
>>> This also makes $(KHDR_INCLUDES) available to other test collections
>>> when building in their directory.
>>>
>>> Fixes: f1227dc7d041 ("selftests/landlock: fix broken include of linux/landlock.h")
>>> Fixes: 3bb267a36185 ("selftests: drop khdr make target")
>>> Cc: Anders Roxell <anders.roxell at linaro.org>
>>> Cc: Guillaume Tucker <guillaume.tucker at collabora.com>
>>> Cc: Mark Brown <broonie at kernel.org>
>>> Cc: Shuah Khan <skhan at linuxfoundation.org>
>>> Signed-off-by: Mickaël Salaün <mic at digikod.net>
>>> Link: https://lore.kernel.org/r/20220909103402.1501802-1-mic@digikod.net
>>> ---
>>>     tools/testing/selftests/landlock/Makefile | 19 ++++++++++---------
>>>     tools/testing/selftests/lib.mk            |  4 ++++
>>>     2 files changed, 14 insertions(+), 9 deletions(-)
>>>
>>> diff --git a/tools/testing/selftests/landlock/Makefile b/tools/testing/selftests/landlock/Makefile
>>> index 02868ac3bc71..6632bfff486b 100644
>>> --- a/tools/testing/selftests/landlock/Makefile
>>> +++ b/tools/testing/selftests/landlock/Makefile
>>> @@ -1,6 +1,11 @@
>>>     # SPDX-License-Identifier: GPL-2.0
>>> +#
>>> +# First run: make -C ../../../.. headers_install
>>>     
>>>     CFLAGS += -Wall -O2 $(KHDR_INCLUDES)
>>> +LDLIBS += -lcap
>>> +
>>> +LOCAL_HDRS += common.h
>>>     
>>>     src_test := $(wildcard *_test.c)
>>>     
>>> @@ -8,14 +13,10 @@ TEST_GEN_PROGS := $(src_test:.c=)
>>>     
>>>     TEST_GEN_PROGS_EXTENDED := true
>>>     
>>> -OVERRIDE_TARGETS := 1
>>> -top_srcdir := ../../../..
>>> -include ../lib.mk
>>> -
>>> -khdr_dir = $(top_srcdir)/usr/include
>>> +# Static linking for short targets:
>>> +$(TEST_GEN_PROGS_EXTENDED): LDFLAGS += -static
>>>     
>>> -$(OUTPUT)/true: true.c
>>> -	$(LINK.c) $< $(LDLIBS) -o $@ -static
>>> +include ../lib.mk
>>>     
>>> -$(OUTPUT)/%_test: %_test.c $(khdr_dir)/linux/landlock.h ../kselftest_harness.h common.h
>>> -	$(LINK.c) $< $(LDLIBS) -o $@ -lcap -I$(khdr_dir)
>>> +# Static linking for targets with $(OUTPUT)/ prefix:
>>> +$(TEST_GEN_PROGS_EXTENDED): LDFLAGS += -static
>>> diff --git a/tools/testing/selftests/lib.mk b/tools/testing/selftests/lib.mk
>>> index d44c72b3abe3..9d4cb94cf437 100644
>>> --- a/tools/testing/selftests/lib.mk
>>> +++ b/tools/testing/selftests/lib.mk
>>> @@ -42,6 +42,10 @@ endif
>>>     selfdir = $(realpath $(dir $(filter %/lib.mk,$(MAKEFILE_LIST))))
>>>     top_srcdir = $(selfdir)/../../..
>>>     
>>> +ifeq ($(KHDR_INCLUDES),)
>>> +KHDR_INCLUDES := -isystem $(top_srcdir)/usr/include
>>> +endif
>>> +
>>>     # 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.
>>>
>>> base-commit: 7e18e42e4b280c85b76967a9106a13ca61c16179



More information about the Linux-security-module-archive mailing list