All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCHv2 bpf-next 0/2] selftests/bpf: fix ima_setup.sh missing issue
@ 2022-05-13  1:01 Hangbin Liu
  2022-05-13  1:01 ` [PATCHv2 bpf-next 1/2] selftests/bpf: Fix build error with ima_setup.sh Hangbin Liu
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Hangbin Liu @ 2022-05-13  1:01 UTC (permalink / raw)
  To: netdev
  Cc: Shuah Khan, Alexei Starovoitov, Daniel Borkmann, Andrii Nakryiko,
	Martin KaFai Lau, Song Liu, Yonghong Song, John Fastabend,
	KP Singh, Ilya Leoshkevich, linux-kselftest, bpf, Hangbin Liu

The ima_setup.sh is needed by test_progs test_ima. But the file is
missed if we build test_progs separately or installed bpf test to
another folder. This patch set fixed the issue in 2 different
scenarios.

v2: no code update, just repost to bpf-next

Hangbin Liu (2):
  selftests/bpf: Fix build error with ima_setup.sh
  selftests/bpf: add missed ima_setup.sh in Makefile

 tools/testing/selftests/bpf/Makefile | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

-- 
2.35.1


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCHv2 bpf-next 1/2] selftests/bpf: Fix build error with ima_setup.sh
  2022-05-13  1:01 [PATCHv2 bpf-next 0/2] selftests/bpf: fix ima_setup.sh missing issue Hangbin Liu
@ 2022-05-13  1:01 ` Hangbin Liu
  2022-05-13 21:59   ` Andrii Nakryiko
  2022-05-13  1:01 ` [PATCHv2 bpf-next 2/2] selftests/bpf: add missed ima_setup.sh in Makefile Hangbin Liu
  2022-05-13 14:46 ` [PATCHv2 bpf-next 0/2] selftests/bpf: fix ima_setup.sh missing issue Daniel Borkmann
  2 siblings, 1 reply; 5+ messages in thread
From: Hangbin Liu @ 2022-05-13  1:01 UTC (permalink / raw)
  To: netdev
  Cc: Shuah Khan, Alexei Starovoitov, Daniel Borkmann, Andrii Nakryiko,
	Martin KaFai Lau, Song Liu, Yonghong Song, John Fastabend,
	KP Singh, Ilya Leoshkevich, linux-kselftest, bpf, Hangbin Liu

KP fixed ima_setup.sh missing issue when build test_progs separately with
commit 854055c0cf30 ("selftests/bpf: Fix flavored variants of
test_ima"). But the fix is incorrect because the build will failed with
error:

  $ OUTPUT="/tmp/bpf" make test_progs
    [...]
  make: *** No rule to make target '/tmp/bpf/ima_setup.sh', needed by 'ima_setup.sh'.  Stop.

Fix it by adding a new variable TRUNNER_EXTRA_BUILD to build extra binaries.
Left TRUNNER_EXTRA_FILES only for copying files

Fixes: 854055c0cf30 ("selftests/bpf: Fix flavored variants of test_ima")
Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
---
 tools/testing/selftests/bpf/Makefile | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/tools/testing/selftests/bpf/Makefile b/tools/testing/selftests/bpf/Makefile
index 3820608faf57..5944d3a8fff6 100644
--- a/tools/testing/selftests/bpf/Makefile
+++ b/tools/testing/selftests/bpf/Makefile
@@ -466,10 +466,10 @@ $(TRUNNER_EXTRA_OBJS): $(TRUNNER_OUTPUT)/%.o:				\
 
 # non-flavored in-srctree builds receive special treatment, in particular, we
 # do not need to copy extra resources (see e.g. test_btf_dump_case())
-$(TRUNNER_BINARY)-extras: $(TRUNNER_EXTRA_FILES) | $(TRUNNER_OUTPUT)
+$(TRUNNER_BINARY)-extras: $(TRUNNER_EXTRA_BUILD) | $(TRUNNER_OUTPUT)
 ifneq ($2:$(OUTPUT),:$(shell pwd))
 	$$(call msg,EXT-COPY,$(TRUNNER_BINARY),$(TRUNNER_EXTRA_FILES))
-	$(Q)rsync -aq $$^ $(TRUNNER_OUTPUT)/
+	$(Q)rsync -aq $(TRUNNER_EXTRA_FILES) $(TRUNNER_OUTPUT)/
 endif
 
 $(OUTPUT)/$(TRUNNER_BINARY): $(TRUNNER_TEST_OBJS)			\
@@ -490,9 +490,9 @@ TRUNNER_EXTRA_SOURCES := test_progs.c cgroup_helpers.c trace_helpers.c	\
 			 network_helpers.c testing_helpers.c		\
 			 btf_helpers.c flow_dissector_load.h		\
 			 cap_helpers.c
-TRUNNER_EXTRA_FILES := $(OUTPUT)/urandom_read $(OUTPUT)/bpf_testmod.ko	\
-		       ima_setup.sh					\
+TRUNNER_EXTRA_BUILD := $(OUTPUT)/urandom_read $(OUTPUT)/bpf_testmod.ko	\
 		       $(wildcard progs/btf_dump_test_case_*.c)
+TRUNNER_EXTRA_FILES := $(TRUNNER_EXTRA_BUILD) ima_setup.sh
 TRUNNER_BPF_BUILD_RULE := CLANG_BPF_BUILD_RULE
 TRUNNER_BPF_CFLAGS := $(BPF_CFLAGS) $(CLANG_CFLAGS) -DENABLE_ATOMICS_TESTS
 $(eval $(call DEFINE_TEST_RUNNER,test_progs))
@@ -513,6 +513,7 @@ endif
 TRUNNER_TESTS_DIR := map_tests
 TRUNNER_BPF_PROGS_DIR := progs
 TRUNNER_EXTRA_SOURCES := test_maps.c
+TRUNNER_EXTRA_BUILD :=
 TRUNNER_EXTRA_FILES :=
 TRUNNER_BPF_BUILD_RULE := $$(error no BPF objects should be built)
 TRUNNER_BPF_CFLAGS :=
-- 
2.35.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCHv2 bpf-next 2/2] selftests/bpf: add missed ima_setup.sh in Makefile
  2022-05-13  1:01 [PATCHv2 bpf-next 0/2] selftests/bpf: fix ima_setup.sh missing issue Hangbin Liu
  2022-05-13  1:01 ` [PATCHv2 bpf-next 1/2] selftests/bpf: Fix build error with ima_setup.sh Hangbin Liu
@ 2022-05-13  1:01 ` Hangbin Liu
  2022-05-13 14:46 ` [PATCHv2 bpf-next 0/2] selftests/bpf: fix ima_setup.sh missing issue Daniel Borkmann
  2 siblings, 0 replies; 5+ messages in thread
From: Hangbin Liu @ 2022-05-13  1:01 UTC (permalink / raw)
  To: netdev
  Cc: Shuah Khan, Alexei Starovoitov, Daniel Borkmann, Andrii Nakryiko,
	Martin KaFai Lau, Song Liu, Yonghong Song, John Fastabend,
	KP Singh, Ilya Leoshkevich, linux-kselftest, bpf, Hangbin Liu

When build bpf test and install it to another folder, e.g.

  make -j10 install -C tools/testing/selftests/ TARGETS="bpf" \
	SKIP_TARGETS="" INSTALL_PATH=/tmp/kselftests

The ima_setup.sh is missed in target folder, which makes test_ima failed.

Fix it by adding ima_setup.sh to TEST_PROGS_EXTENDED.

Fixes: 34b82d3ac105 ("bpf: Add a selftest for bpf_ima_inode_hash")
Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
---
 tools/testing/selftests/bpf/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/testing/selftests/bpf/Makefile b/tools/testing/selftests/bpf/Makefile
index 5944d3a8fff6..b4fd1352a2ac 100644
--- a/tools/testing/selftests/bpf/Makefile
+++ b/tools/testing/selftests/bpf/Makefile
@@ -75,7 +75,7 @@ TEST_PROGS := test_kmod.sh \
 	test_xsk.sh
 
 TEST_PROGS_EXTENDED := with_addr.sh \
-	with_tunnels.sh \
+	with_tunnels.sh ima_setup.sh \
 	test_xdp_vlan.sh test_bpftool.py
 
 # Compile but not part of 'make run_tests'
-- 
2.35.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCHv2 bpf-next 0/2] selftests/bpf: fix ima_setup.sh missing issue
  2022-05-13  1:01 [PATCHv2 bpf-next 0/2] selftests/bpf: fix ima_setup.sh missing issue Hangbin Liu
  2022-05-13  1:01 ` [PATCHv2 bpf-next 1/2] selftests/bpf: Fix build error with ima_setup.sh Hangbin Liu
  2022-05-13  1:01 ` [PATCHv2 bpf-next 2/2] selftests/bpf: add missed ima_setup.sh in Makefile Hangbin Liu
@ 2022-05-13 14:46 ` Daniel Borkmann
  2 siblings, 0 replies; 5+ messages in thread
From: Daniel Borkmann @ 2022-05-13 14:46 UTC (permalink / raw)
  To: Hangbin Liu, netdev
  Cc: Shuah Khan, Alexei Starovoitov, Andrii Nakryiko,
	Martin KaFai Lau, Song Liu, Yonghong Song, John Fastabend,
	KP Singh, Ilya Leoshkevich, linux-kselftest, bpf

On 5/13/22 3:01 AM, Hangbin Liu wrote:
> The ima_setup.sh is needed by test_progs test_ima. But the file is
> missed if we build test_progs separately or installed bpf test to
> another folder. This patch set fixed the issue in 2 different
> scenarios.
> 
> v2: no code update, just repost to bpf-next

Is this against an old tree? This doesn't apply to bpf-next, fwiw, please
rebase your series.

> Hangbin Liu (2):
>    selftests/bpf: Fix build error with ima_setup.sh
>    selftests/bpf: add missed ima_setup.sh in Makefile
> 
>   tools/testing/selftests/bpf/Makefile | 11 ++++++-----
>   1 file changed, 6 insertions(+), 5 deletions(-)
> 

Thanks,
Daniel

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCHv2 bpf-next 1/2] selftests/bpf: Fix build error with ima_setup.sh
  2022-05-13  1:01 ` [PATCHv2 bpf-next 1/2] selftests/bpf: Fix build error with ima_setup.sh Hangbin Liu
@ 2022-05-13 21:59   ` Andrii Nakryiko
  0 siblings, 0 replies; 5+ messages in thread
From: Andrii Nakryiko @ 2022-05-13 21:59 UTC (permalink / raw)
  To: Hangbin Liu
  Cc: Networking, Shuah Khan, Alexei Starovoitov, Daniel Borkmann,
	Andrii Nakryiko, Martin KaFai Lau, Song Liu, Yonghong Song,
	John Fastabend, KP Singh, Ilya Leoshkevich,
	open list:KERNEL SELFTEST FRAMEWORK, bpf

On Thu, May 12, 2022 at 6:01 PM Hangbin Liu <liuhangbin@gmail.com> wrote:
>
> KP fixed ima_setup.sh missing issue when build test_progs separately with
> commit 854055c0cf30 ("selftests/bpf: Fix flavored variants of
> test_ima"). But the fix is incorrect because the build will failed with
> error:
>
>   $ OUTPUT="/tmp/bpf" make test_progs
>     [...]
>   make: *** No rule to make target '/tmp/bpf/ima_setup.sh', needed by 'ima_setup.sh'.  Stop.
>
> Fix it by adding a new variable TRUNNER_EXTRA_BUILD to build extra binaries.
> Left TRUNNER_EXTRA_FILES only for copying files
>
> Fixes: 854055c0cf30 ("selftests/bpf: Fix flavored variants of test_ima")
> Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
> ---

Oops, replied on older version of patch, but my comments still stand.
Not sure how this is actually fixing anything, tbh.

>  tools/testing/selftests/bpf/Makefile | 9 +++++----
>  1 file changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/tools/testing/selftests/bpf/Makefile b/tools/testing/selftests/bpf/Makefile
> index 3820608faf57..5944d3a8fff6 100644
> --- a/tools/testing/selftests/bpf/Makefile
> +++ b/tools/testing/selftests/bpf/Makefile
> @@ -466,10 +466,10 @@ $(TRUNNER_EXTRA_OBJS): $(TRUNNER_OUTPUT)/%.o:                             \
>
>  # non-flavored in-srctree builds receive special treatment, in particular, we
>  # do not need to copy extra resources (see e.g. test_btf_dump_case())
> -$(TRUNNER_BINARY)-extras: $(TRUNNER_EXTRA_FILES) | $(TRUNNER_OUTPUT)
> +$(TRUNNER_BINARY)-extras: $(TRUNNER_EXTRA_BUILD) | $(TRUNNER_OUTPUT)
>  ifneq ($2:$(OUTPUT),:$(shell pwd))
>         $$(call msg,EXT-COPY,$(TRUNNER_BINARY),$(TRUNNER_EXTRA_FILES))
> -       $(Q)rsync -aq $$^ $(TRUNNER_OUTPUT)/
> +       $(Q)rsync -aq $(TRUNNER_EXTRA_FILES) $(TRUNNER_OUTPUT)/
>  endif
>
>  $(OUTPUT)/$(TRUNNER_BINARY): $(TRUNNER_TEST_OBJS)                      \
> @@ -490,9 +490,9 @@ TRUNNER_EXTRA_SOURCES := test_progs.c cgroup_helpers.c trace_helpers.c      \
>                          network_helpers.c testing_helpers.c            \
>                          btf_helpers.c flow_dissector_load.h            \
>                          cap_helpers.c
> -TRUNNER_EXTRA_FILES := $(OUTPUT)/urandom_read $(OUTPUT)/bpf_testmod.ko \
> -                      ima_setup.sh                                     \
> +TRUNNER_EXTRA_BUILD := $(OUTPUT)/urandom_read $(OUTPUT)/bpf_testmod.ko \
>                        $(wildcard progs/btf_dump_test_case_*.c)
> +TRUNNER_EXTRA_FILES := $(TRUNNER_EXTRA_BUILD) ima_setup.sh
>  TRUNNER_BPF_BUILD_RULE := CLANG_BPF_BUILD_RULE
>  TRUNNER_BPF_CFLAGS := $(BPF_CFLAGS) $(CLANG_CFLAGS) -DENABLE_ATOMICS_TESTS
>  $(eval $(call DEFINE_TEST_RUNNER,test_progs))
> @@ -513,6 +513,7 @@ endif
>  TRUNNER_TESTS_DIR := map_tests
>  TRUNNER_BPF_PROGS_DIR := progs
>  TRUNNER_EXTRA_SOURCES := test_maps.c
> +TRUNNER_EXTRA_BUILD :=
>  TRUNNER_EXTRA_FILES :=
>  TRUNNER_BPF_BUILD_RULE := $$(error no BPF objects should be built)
>  TRUNNER_BPF_CFLAGS :=
> --
> 2.35.1
>

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2022-05-13 21:59 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-13  1:01 [PATCHv2 bpf-next 0/2] selftests/bpf: fix ima_setup.sh missing issue Hangbin Liu
2022-05-13  1:01 ` [PATCHv2 bpf-next 1/2] selftests/bpf: Fix build error with ima_setup.sh Hangbin Liu
2022-05-13 21:59   ` Andrii Nakryiko
2022-05-13  1:01 ` [PATCHv2 bpf-next 2/2] selftests/bpf: add missed ima_setup.sh in Makefile Hangbin Liu
2022-05-13 14:46 ` [PATCHv2 bpf-next 0/2] selftests/bpf: fix ima_setup.sh missing issue Daniel Borkmann

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.