On 12/05/2020 23:57, Kees Cook wrote: > On Tue, May 05, 2020 at 05:31:54PM +0200, Mickaël Salaün wrote: >> Test propagation of noexec mount points or file executability through >> files open with or without O_MAYEXEC, thanks to the >> fs.open_mayexec_enforce sysctl. >> >> Signed-off-by: Mickaël Salaün <mic@xxxxxxxxxxx> >> Reviewed-by: Thibaut Sautereau <thibaut.sautereau@xxxxxxxxxxx> >> Cc: Aleksa Sarai <cyphar@xxxxxxxxxx> >> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> >> Cc: Kees Cook <keescook@xxxxxxxxxxxx> >> Cc: Shuah Khan <shuah@xxxxxxxxxx> > > Yay tests! :) Notes below... > >> diff --git a/tools/testing/selftests/openat2/Makefile b/tools/testing/selftests/openat2/Makefile >> index 4b93b1417b86..cb98bdb4d5b1 100644 >> --- a/tools/testing/selftests/openat2/Makefile >> +++ b/tools/testing/selftests/openat2/Makefile >> @@ -1,7 +1,8 @@ >> # SPDX-License-Identifier: GPL-2.0-or-later >> >> CFLAGS += -Wall -O2 -g -fsanitize=address -fsanitize=undefined >> -TEST_GEN_PROGS := openat2_test resolve_test rename_attack_test >> +LDLIBS += -lcap >> +TEST_GEN_PROGS := openat2_test resolve_test rename_attack_test omayexec_test > > I realize the others have _test in their name, but that feels intensely > redundant to me. :) It is redundant in the path name but it is useful to match the generated files e.g., in gitignore. > >> [...] >> diff --git a/tools/testing/selftests/openat2/omayexec_test.c b/tools/testing/selftests/openat2/omayexec_test.c >> new file mode 100644 >> index 000000000000..7052c852daf8 >> --- /dev/null >> +++ b/tools/testing/selftests/openat2/omayexec_test.c >> [...] >> +FIXTURE_DATA(mount_exec_file_exec) { }; > > For each of these, Please use "FIXTURE" not "FIXTURE_DATA". See: > 1ae81d78a8b2 ("selftests/seccomp: Adjust test fixture counts") Indeed. > >> +FIXTURE_SETUP(mount_exec_file_exec) >> +{ >> + create_workspace(_metadata, 1, 1); > > Maybe save the system's original sysctl in create_workspace() instead > of always restoring it to 0 in delete_workspace()? Right. > > Otherwise, looks good! > Thanks.