diff mbox series

selftests/exec: Remove pipe from TEST_GEN_FILES

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

Commit Message

Muhammad Usama Anjum Jan. 27, 2022, 4:33 p.m. UTC
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(-)

Comments

Kees Cook Jan. 27, 2022, 4:45 p.m. UTC | #1
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
>
Muhammad Usama Anjum Jan. 27, 2022, 4:55 p.m. UTC | #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
Shuah Khan Jan. 27, 2022, 5:23 p.m. UTC | #3
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 mbox series

Patch

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