Message ID | 20220127163346.653546-1-usama.anjum@collabora.com (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | selftests/exec: Remove pipe from TEST_GEN_FILES | expand |
On Thu, Jan 27, 2022 at 09:33:45PM +0500, Muhammad Usama Anjum wrote: > pipe named FIFO special file is being created in execveat.c to perform > some tests. Makefile doesn't need to do anything with the pipe. When it > isn't found, Makefile generates the following build error: > > make: *** No rule to make target '/linux_mainline/tools/testing/selftests/exec/pipe', needed by 'all'. Stop. Ah, good catch. However, I think this should be moved to EXTRA_CLEAN instead of only removed from TEST_GEN_FILES. (i.e. "pipe" is created by tools/testing/selftests/exec/execveat.c and should be removed. -Kees > > Fixes: 61016db15b8e ("selftests/exec: Verify execve of non-regular files fail") > Signed-off-by: Muhammad Usama Anjum <usama.anjum@collabora.com> > --- > tools/testing/selftests/exec/Makefile | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/tools/testing/selftests/exec/Makefile b/tools/testing/selftests/exec/Makefile > index dd61118df66ed..12c5e27d32c16 100644 > --- a/tools/testing/selftests/exec/Makefile > +++ b/tools/testing/selftests/exec/Makefile > @@ -5,7 +5,7 @@ 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_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 > > -- > 2.30.2 >
On 1/27/22 9:45 PM, Kees Cook wrote: > On Thu, Jan 27, 2022 at 09:33:45PM +0500, Muhammad Usama Anjum wrote: >> pipe named FIFO special file is being created in execveat.c to perform >> some tests. Makefile doesn't need to do anything with the pipe. When it >> isn't found, Makefile generates the following build error: >> >> make: *** No rule to make target '/linux_mainline/tools/testing/selftests/exec/pipe', needed by 'all'. Stop. > > Ah, good catch. However, I think this should be moved to EXTRA_CLEAN instead of > only removed from TEST_GEN_FILES. (i.e. "pipe" is created by > tools/testing/selftests/exec/execveat.c and should be removed. Hi, Thank you. tools/testing/selftests/exec/execveat.c creates pipe file and removes it after performing the test on it. I've looked at the code path between creation and deletion of this file. It'll always be removed automatically. So we shouldn't add it to EXTRA_CLEAN. Thanks, Usama
On 1/27/22 9:55 AM, Muhammad Usama Anjum wrote: > > > On 1/27/22 9:45 PM, Kees Cook wrote: >> On Thu, Jan 27, 2022 at 09:33:45PM +0500, Muhammad Usama Anjum wrote: >>> pipe named FIFO special file is being created in execveat.c to perform >>> some tests. Makefile doesn't need to do anything with the pipe. When it >>> isn't found, Makefile generates the following build error: >>> >>> make: *** No rule to make target '/linux_mainline/tools/testing/selftests/exec/pipe', needed by 'all'. Stop. >> >> Ah, good catch. However, I think this should be moved to EXTRA_CLEAN instead of >> only removed from TEST_GEN_FILES. (i.e. "pipe" is created by >> tools/testing/selftests/exec/execveat.c and should be removed. > Hi, > > Thank you. tools/testing/selftests/exec/execveat.c creates pipe file and > removes it after performing the test on it. I've looked at the code path > between creation and deletion of this file. It'll always be removed > automatically. So we shouldn't add it to EXTRA_CLEAN. > Thank you for finding and fixing the problem. I see that pipe is created in prerequisites() and removed from run_tests() after executing non-regular file test. The change looks fine and I ran a quick test and it looks good. On a separate note the test use its own Makefile for running a test and copies it over in TEST_FILES - Just a bit strange, all seems to work well. Reviewed-by: Shuah Khan <skhan@linuxfoundation.org> I can pull this in for rc3. thanks, -- Shuah
diff --git a/tools/testing/selftests/exec/Makefile b/tools/testing/selftests/exec/Makefile index dd61118df66ed..12c5e27d32c16 100644 --- a/tools/testing/selftests/exec/Makefile +++ b/tools/testing/selftests/exec/Makefile @@ -5,7 +5,7 @@ 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_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
pipe named FIFO special file is being created in execveat.c to perform some tests. Makefile doesn't need to do anything with the pipe. When it isn't found, Makefile generates the following build error: make: *** No rule to make target '/linux_mainline/tools/testing/selftests/exec/pipe', needed by 'all'. Stop. Fixes: 61016db15b8e ("selftests/exec: Verify execve of non-regular files fail") Signed-off-by: Muhammad Usama Anjum <usama.anjum@collabora.com> --- tools/testing/selftests/exec/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)