diff mbox series

selftests/exec: Fix building of exec test

Message ID 20201104100706.659089-1-mpe@ellerman.id.au (mailing list archive)
State New
Headers show
Series selftests/exec: Fix building of exec test | expand

Commit Message

Michael Ellerman Nov. 4, 2020, 10:07 a.m. UTC
Currently the exec test does not build:

  make[1]: Entering directory '/linux/tools/testing/selftests/exec'
  ...
  make[1]: *** No rule to make target '/output/kselftest/exec/pipe', needed by 'all'.

This is because pipe is listed in TEST_GEN_FILES, but pipe is not
generated by the Makefile, it's created at runtime. So drop pipe from
TEST_GEN_FILES.

With that fixed, then install fails:

  make[1]: Entering directory '/linux/tools/testing/selftests/exec'
  rsync -a binfmt_script non-regular /output/install/exec/
  rsync: link_stat "/linux/tools/testing/selftests/exec/non-regular" failed: No such file or directory (2)

That's because non-regular hasn't been built, because it's in
TEST_PROGS, it should be part of TEST_GEN_PROGS to indicate that it
needs to be built.

Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
---
 tools/testing/selftests/exec/Makefile | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)


base-commit: cf7cd542d1b538f6e9e83490bc090dd773f4266d

Comments

Kees Cook Nov. 4, 2020, 7:07 p.m. UTC | #1
On Wed, Nov 04, 2020 at 09:07:06PM +1100, Michael Ellerman wrote:
> Currently the exec test does not build:
> 
>   make[1]: Entering directory '/linux/tools/testing/selftests/exec'
>   ...
>   make[1]: *** No rule to make target '/output/kselftest/exec/pipe', needed by 'all'.
> 
> This is because pipe is listed in TEST_GEN_FILES, but pipe is not
> generated by the Makefile, it's created at runtime. So drop pipe from
> TEST_GEN_FILES.

Ah, yes, shouldn't it be added to EXTRA_CLEAN though?

Fixes: 61016db15b8e ("selftests/exec: Verify execve of non-regular files fail")

> 
> With that fixed, then install fails:
> 
>   make[1]: Entering directory '/linux/tools/testing/selftests/exec'
>   rsync -a binfmt_script non-regular /output/install/exec/
>   rsync: link_stat "/linux/tools/testing/selftests/exec/non-regular" failed: No such file or directory (2)
> 
> That's because non-regular hasn't been built, because it's in
> TEST_PROGS, it should be part of TEST_GEN_PROGS to indicate that it
> needs to be built.

Yes, thanks again!

Fixes: 0f71241a8e32 ("selftests/exec: add file type errno tests")

for both:

Acked-by: Kees Cook <keescook@chromium.org>
diff mbox series

Patch

diff --git a/tools/testing/selftests/exec/Makefile b/tools/testing/selftests/exec/Makefile
index cf69b2fcce59..a1e8a7abf576 100644
--- a/tools/testing/selftests/exec/Makefile
+++ b/tools/testing/selftests/exec/Makefile
@@ -3,9 +3,9 @@  CFLAGS = -Wall
 CFLAGS += -Wno-nonnull
 CFLAGS += -D_GNU_SOURCE
 
-TEST_PROGS := binfmt_script non-regular
-TEST_GEN_PROGS := execveat load_address_4096 load_address_2097152 load_address_16777216
-TEST_GEN_FILES := execveat.symlink execveat.denatured script subdir pipe
+TEST_PROGS := binfmt_script
+TEST_GEN_PROGS := execveat non-regular load_address_4096 load_address_2097152 load_address_16777216
+TEST_GEN_FILES := execveat.symlink execveat.denatured script subdir
 # Makefile is a run-time dependency, since it's accessed by the execveat test
 TEST_FILES := Makefile