[LTP] [PATCH 1/1] compat_16: Define USE_LEGACY_COMPAT_16_H for legacy tests
Li Wang
liwang@redhat.com
Wed Jul 19 09:15:46 CEST 2023
On Tue, Jul 18, 2023 at 6:01 PM Petr Vorel <pvorel@suse.cz> wrote:
> Previously COMPAT_TST_16_H variable in Makefile was needed to be set
> when all files in directory which use compat_16.mk/compat_tst_16.h were
> rewritten to new API. Switch it to define variable for legacy tests
> + put warning into C sources (will be easier during cleanup to delete
> the variable).
>
> The only exception are these unconverted tests:
> testcases/kernel/syscalls/setfsuid/setfsuid04.c
> testcases/kernel/syscalls/setfsgid/setfsgid03.c
> testcases/kernel/syscalls/setresgid/setresgid01.c
> testcases/kernel/syscalls/setresgid/setresgid04.c
> Because there are most of the tests in their directory converted,
> variable USE_LEGACY_COMPAT_16_H is not set.
>
> This cleanup also removes typo from 83ee53589: "compat_16_tst.h" (this
> file does not exists, it should have been compat_tst_16.h).
>
> Reported-by: Yang Xu <xuyang2018.jy@fujitsu.com>
> Signed-off-by: Petr Vorel <pvorel@suse.cz>
> ---
> testcases/kernel/syscalls/getegid/Makefile | 3 +++
> testcases/kernel/syscalls/getegid/getegid01.c | 5 +++++
> testcases/kernel/syscalls/getegid/getegid02.c | 5 +++++
> testcases/kernel/syscalls/getgroups/Makefile | 3 +++
> testcases/kernel/syscalls/getgroups/getgroups01.c | 5 +++++
> testcases/kernel/syscalls/getgroups/getgroups03.c | 5 +++++
> testcases/kernel/syscalls/getresgid/Makefile | 3 +++
> testcases/kernel/syscalls/getresgid/getresgid01.c | 5 +++++
> testcases/kernel/syscalls/getresgid/getresgid02.c | 5 +++++
> testcases/kernel/syscalls/getresgid/getresgid03.c | 5 +++++
> testcases/kernel/syscalls/getresuid/Makefile | 3 +++
> testcases/kernel/syscalls/getresuid/getresuid01.c | 5 +++++
> testcases/kernel/syscalls/getresuid/getresuid02.c | 5 +++++
> testcases/kernel/syscalls/getresuid/getresuid03.c | 5 +++++
> testcases/kernel/syscalls/lchown/Makefile | 3 +++
> testcases/kernel/syscalls/lchown/lchown01.c | 5 +++++
> testcases/kernel/syscalls/lchown/lchown02.c | 5 +++++
> testcases/kernel/syscalls/lchown/lchown03.c | 5 +++++
> testcases/kernel/syscalls/setgroups/Makefile | 3 +++
> testcases/kernel/syscalls/setgroups/setgroups01.c | 4 ++++
> testcases/kernel/syscalls/setgroups/setgroups02.c | 4 ++++
> testcases/kernel/syscalls/setgroups/setgroups03.c | 4 ++++
> testcases/kernel/syscalls/setgroups/setgroups04.c | 4 ++++
> testcases/kernel/syscalls/setuid/Makefile | 3 ---
> testcases/kernel/syscalls/utils/compat_16.mk | 2 +-
> 25 files changed, 100 insertions(+), 4 deletions(-)
>
> diff --git a/testcases/kernel/syscalls/getegid/Makefile
> b/testcases/kernel/syscalls/getegid/Makefile
> index b2bb1e005..a319acf85 100644
> --- a/testcases/kernel/syscalls/getegid/Makefile
> +++ b/testcases/kernel/syscalls/getegid/Makefile
> @@ -3,6 +3,9 @@
>
> top_srcdir ?= ../../../..
>
> +# Remove after rewriting all tests to the new API.
> +USE_LEGACY_COMPAT_16_H := 1
> +
> include $(top_srcdir)/include/mk/testcases.mk
> include $(abs_srcdir)/../utils/compat_16.mk
> include $(top_srcdir)/include/mk/generic_leaf_target.mk
> diff --git a/testcases/kernel/syscalls/getegid/getegid01.c
> b/testcases/kernel/syscalls/getegid/getegid01.c
> index 271fbb6b6..431c1b7f3 100644
> --- a/testcases/kernel/syscalls/getegid/getegid01.c
> +++ b/testcases/kernel/syscalls/getegid/getegid01.c
> @@ -42,6 +42,11 @@
> #include <signal.h>
>
> #include "test.h"
> +
> +/*
> + * Don't forget to remove USE_LEGACY_COMPAT_16_H from Makefile after
> + * rewriting all tests to the new API.
> + */
> #include "compat_16.h"
>
> static void setup();
> diff --git a/testcases/kernel/syscalls/getegid/getegid02.c
> b/testcases/kernel/syscalls/getegid/getegid02.c
> index 60f09501e..c52fcfe9d 100644
> --- a/testcases/kernel/syscalls/getegid/getegid02.c
> +++ b/testcases/kernel/syscalls/getegid/getegid02.c
> @@ -28,6 +28,11 @@
> #include <errno.h>
>
> #include "test.h"
> +
> +/*
> + * Don't forget to remove USE_LEGACY_COMPAT_16_H from Makefile after
> + * rewriting all tests to the new API.
> + */
> #include "compat_16.h"
>
> static void cleanup(void);
> diff --git a/testcases/kernel/syscalls/getgroups/Makefile
> b/testcases/kernel/syscalls/getgroups/Makefile
> index b2bb1e005..a319acf85 100644
> --- a/testcases/kernel/syscalls/getgroups/Makefile
> +++ b/testcases/kernel/syscalls/getgroups/Makefile
> @@ -3,6 +3,9 @@
>
> top_srcdir ?= ../../../..
>
> +# Remove after rewriting all tests to the new API.
> +USE_LEGACY_COMPAT_16_H := 1
> +
> include $(top_srcdir)/include/mk/testcases.mk
> include $(abs_srcdir)/../utils/compat_16.mk
> include $(top_srcdir)/include/mk/generic_leaf_target.mk
> diff --git a/testcases/kernel/syscalls/getgroups/getgroups01.c
> b/testcases/kernel/syscalls/getgroups/getgroups01.c
> index dc3074b75..9ac5f888a 100644
> --- a/testcases/kernel/syscalls/getgroups/getgroups01.c
> +++ b/testcases/kernel/syscalls/getgroups/getgroups01.c
> @@ -54,6 +54,11 @@
> #include <sys/types.h>
>
> #include "test.h"
> +
> +/*
> + * Don't forget to remove USE_LEGACY_COMPAT_16_H from Makefile after
> + * rewriting all tests to the new API.
> + */
> #include "compat_16.h"
>
> static void setup(void);
> diff --git a/testcases/kernel/syscalls/getgroups/getgroups03.c
> b/testcases/kernel/syscalls/getgroups/getgroups03.c
> index 5ba20ef82..fc94f0b8e 100644
> --- a/testcases/kernel/syscalls/getgroups/getgroups03.c
> +++ b/testcases/kernel/syscalls/getgroups/getgroups03.c
> @@ -40,6 +40,11 @@
> #include <pwd.h>
>
> #include "test.h"
> +
> +/*
> + * Don't forget to remove USE_LEGACY_COMPAT_16_H from Makefile after
> + * rewriting all tests to the new API.
> + */
> #include "compat_16.h"
>
> #define TESTUSER "root"
> diff --git a/testcases/kernel/syscalls/getresgid/Makefile
> b/testcases/kernel/syscalls/getresgid/Makefile
> index b2bb1e005..a319acf85 100644
> --- a/testcases/kernel/syscalls/getresgid/Makefile
> +++ b/testcases/kernel/syscalls/getresgid/Makefile
> @@ -3,6 +3,9 @@
>
> top_srcdir ?= ../../../..
>
> +# Remove after rewriting all tests to the new API.
> +USE_LEGACY_COMPAT_16_H := 1
> +
> include $(top_srcdir)/include/mk/testcases.mk
> include $(abs_srcdir)/../utils/compat_16.mk
> include $(top_srcdir)/include/mk/generic_leaf_target.mk
> diff --git a/testcases/kernel/syscalls/getresgid/getresgid01.c
> b/testcases/kernel/syscalls/getresgid/getresgid01.c
> index b5fb804ee..8000200e1 100644
> --- a/testcases/kernel/syscalls/getresgid/getresgid01.c
> +++ b/testcases/kernel/syscalls/getresgid/getresgid01.c
> @@ -73,6 +73,11 @@
> #include <signal.h>
>
> #include "test.h"
> +
> +/*
> + * Don't forget to remove USE_LEGACY_COMPAT_16_H from Makefile after
> + * rewriting all tests to the new API.
> + */
> #include "compat_16.h"
>
> char *TCID = "getresgid01";
> diff --git a/testcases/kernel/syscalls/getresgid/getresgid02.c
> b/testcases/kernel/syscalls/getresgid/getresgid02.c
> index 8bddf9824..ca4502aac 100644
> --- a/testcases/kernel/syscalls/getresgid/getresgid02.c
> +++ b/testcases/kernel/syscalls/getresgid/getresgid02.c
> @@ -75,6 +75,11 @@
> #include <pwd.h>
>
> #include "test.h"
> +
> +/*
> + * Don't forget to remove USE_LEGACY_COMPAT_16_H from Makefile after
> + * rewriting all tests to the new API.
> + */
> #include "compat_16.h"
>
> #define LTPUSER "nobody"
> diff --git a/testcases/kernel/syscalls/getresgid/getresgid03.c
> b/testcases/kernel/syscalls/getresgid/getresgid03.c
> index 0785359e0..1d7bcabd2 100644
> --- a/testcases/kernel/syscalls/getresgid/getresgid03.c
> +++ b/testcases/kernel/syscalls/getresgid/getresgid03.c
> @@ -77,6 +77,11 @@
> #include <pwd.h>
>
> #include "test.h"
> +
> +/*
> + * Don't forget to remove USE_LEGACY_COMPAT_16_H from Makefile after
> + * rewriting all tests to the new API.
> + */
> #include "compat_16.h"
>
> char *TCID = "getresgid03";
> diff --git a/testcases/kernel/syscalls/getresuid/Makefile
> b/testcases/kernel/syscalls/getresuid/Makefile
> index b2bb1e005..a319acf85 100644
> --- a/testcases/kernel/syscalls/getresuid/Makefile
> +++ b/testcases/kernel/syscalls/getresuid/Makefile
> @@ -3,6 +3,9 @@
>
> top_srcdir ?= ../../../..
>
> +# Remove after rewriting all tests to the new API.
> +USE_LEGACY_COMPAT_16_H := 1
> +
> include $(top_srcdir)/include/mk/testcases.mk
> include $(abs_srcdir)/../utils/compat_16.mk
> include $(top_srcdir)/include/mk/generic_leaf_target.mk
> diff --git a/testcases/kernel/syscalls/getresuid/getresuid01.c
> b/testcases/kernel/syscalls/getresuid/getresuid01.c
> index 07fed9c13..a04918d6f 100644
> --- a/testcases/kernel/syscalls/getresuid/getresuid01.c
> +++ b/testcases/kernel/syscalls/getresuid/getresuid01.c
> @@ -72,6 +72,11 @@
> #include <signal.h>
>
> #include "test.h"
> +
> +/*
> + * Don't forget to remove USE_LEGACY_COMPAT_16_H from Makefile after
> + * rewriting all tests to the new API.
> + */
> #include "compat_16.h"
>
> char *TCID = "getresuid01";
> diff --git a/testcases/kernel/syscalls/getresuid/getresuid02.c
> b/testcases/kernel/syscalls/getresuid/getresuid02.c
> index 23f7944dd..77896a8a3 100644
> --- a/testcases/kernel/syscalls/getresuid/getresuid02.c
> +++ b/testcases/kernel/syscalls/getresuid/getresuid02.c
> @@ -75,6 +75,11 @@
> #include <pwd.h>
>
> #include "test.h"
> +
> +/*
> + * Don't forget to remove USE_LEGACY_COMPAT_16_H from Makefile after
> + * rewriting all tests to the new API.
> + */
> #include "compat_16.h"
>
> #define LTPUSER "nobody"
> diff --git a/testcases/kernel/syscalls/getresuid/getresuid03.c
> b/testcases/kernel/syscalls/getresuid/getresuid03.c
> index bf117038b..34e40c45d 100644
> --- a/testcases/kernel/syscalls/getresuid/getresuid03.c
> +++ b/testcases/kernel/syscalls/getresuid/getresuid03.c
> @@ -76,6 +76,11 @@
> #include <pwd.h>
>
> #include "test.h"
> +
> +/*
> + * Don't forget to remove USE_LEGACY_COMPAT_16_H from Makefile after
> + * rewriting all tests to the new API.
> + */
> #include "compat_16.h"
>
> char *TCID = "getresuid03";
> diff --git a/testcases/kernel/syscalls/lchown/Makefile
> b/testcases/kernel/syscalls/lchown/Makefile
> index 305fee281..7c76afea5 100644
> --- a/testcases/kernel/syscalls/lchown/Makefile
> +++ b/testcases/kernel/syscalls/lchown/Makefile
> @@ -3,6 +3,9 @@
>
> top_srcdir ?= ../../../..
>
> +# Remove after rewriting all tests to the new API.
> +USE_LEGACY_COMPAT_16_H := 1
> +
> include $(top_srcdir)/include/mk/testcases.mk
>
> SRCS := $(sort $(wildcard $(abs_srcdir)/lchown*.c))
> diff --git a/testcases/kernel/syscalls/lchown/lchown01.c
> b/testcases/kernel/syscalls/lchown/lchown01.c
> index 4e6076e1f..aaa0ef403 100644
> --- a/testcases/kernel/syscalls/lchown/lchown01.c
> +++ b/testcases/kernel/syscalls/lchown/lchown01.c
> @@ -41,6 +41,11 @@
>
> #include "test.h"
> #include "safe_macros.h"
> +
> +/*
> + * Don't forget to remove USE_LEGACY_COMPAT_16_H from Makefile after
> + * rewriting all tests to the new API.
> + */
> #include "compat_16.h"
>
> #define FILE_MODE (S_IFREG|S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH)
> diff --git a/testcases/kernel/syscalls/lchown/lchown02.c
> b/testcases/kernel/syscalls/lchown/lchown02.c
> index 97966f6be..c0932fb7a 100644
> --- a/testcases/kernel/syscalls/lchown/lchown02.c
> +++ b/testcases/kernel/syscalls/lchown/lchown02.c
> @@ -58,6 +58,11 @@
>
> #include "test.h"
> #include "safe_macros.h"
> +
> +/*
> + * Don't forget to remove USE_LEGACY_COMPAT_16_H from Makefile after
> + * rewriting all tests to the new API.
> + */
> #include "compat_16.h"
>
> #define TEST_USER "nobody"
> diff --git a/testcases/kernel/syscalls/lchown/lchown03.c
> b/testcases/kernel/syscalls/lchown/lchown03.c
> index c26f54c21..ecb6ed64d 100644
> --- a/testcases/kernel/syscalls/lchown/lchown03.c
> +++ b/testcases/kernel/syscalls/lchown/lchown03.c
> @@ -39,6 +39,11 @@
>
> #include "test.h"
> #include "safe_macros.h"
> +
> +/*
> + * Don't forget to remove USE_LEGACY_COMPAT_16_H from Makefile after
> + * rewriting all tests to the new API.
> + */
> #include "compat_16.h"
>
> #define DIR_MODE (S_IRUSR|S_IWUSR|S_IXUSR|S_IRGRP| \
> diff --git a/testcases/kernel/syscalls/setgroups/Makefile
> b/testcases/kernel/syscalls/setgroups/Makefile
> index b2bb1e005..a319acf85 100644
> --- a/testcases/kernel/syscalls/setgroups/Makefile
> +++ b/testcases/kernel/syscalls/setgroups/Makefile
> @@ -3,6 +3,9 @@
>
> top_srcdir ?= ../../../..
>
> +# Remove after rewriting all tests to the new API.
> +USE_LEGACY_COMPAT_16_H := 1
> +
> include $(top_srcdir)/include/mk/testcases.mk
> include $(abs_srcdir)/../utils/compat_16.mk
> include $(top_srcdir)/include/mk/generic_leaf_target.mk
> diff --git a/testcases/kernel/syscalls/setgroups/setgroups01.c
> b/testcases/kernel/syscalls/setgroups/setgroups01.c
> index fed7f8e5a..a571a57c8 100644
> --- a/testcases/kernel/syscalls/setgroups/setgroups01.c
> +++ b/testcases/kernel/syscalls/setgroups/setgroups01.c
> @@ -118,6 +118,10 @@
>
> #include "test.h"
>
> +/*
> + * Don't forget to remove USE_LEGACY_COMPAT_16_H from Makefile after
> + * rewriting all tests to the new API.
> + */
> #include "compat_16.h"
>
> void setup();
> diff --git a/testcases/kernel/syscalls/setgroups/setgroups02.c
> b/testcases/kernel/syscalls/setgroups/setgroups02.c
> index de23a4a7f..462c8327c 100644
> --- a/testcases/kernel/syscalls/setgroups/setgroups02.c
> +++ b/testcases/kernel/syscalls/setgroups/setgroups02.c
> @@ -73,6 +73,10 @@
>
> #include "test.h"
>
> +/*
> + * Don't forget to remove USE_LEGACY_COMPAT_16_H from Makefile after
> + * rewriting all tests to the new API.
> + */
> #include "compat_16.h"
>
> #define TESTUSER "nobody"
> diff --git a/testcases/kernel/syscalls/setgroups/setgroups03.c
> b/testcases/kernel/syscalls/setgroups/setgroups03.c
> index 490b06996..c800bcb51 100644
> --- a/testcases/kernel/syscalls/setgroups/setgroups03.c
> +++ b/testcases/kernel/syscalls/setgroups/setgroups03.c
> @@ -74,6 +74,10 @@
>
> #include "test.h"
>
> +/*
> + * Don't forget to remove USE_LEGACY_COMPAT_16_H from Makefile after
> + * rewriting all tests to the new API.
> + */
> #include "compat_16.h"
>
> #define TESTUSER "nobody"
> diff --git a/testcases/kernel/syscalls/setgroups/setgroups04.c
> b/testcases/kernel/syscalls/setgroups/setgroups04.c
> index 971c86bd2..71dcc4e38 100644
> --- a/testcases/kernel/syscalls/setgroups/setgroups04.c
> +++ b/testcases/kernel/syscalls/setgroups/setgroups04.c
> @@ -70,6 +70,10 @@
>
> #include "test.h"
>
> +/*
> + * Don't forget to remove USE_LEGACY_COMPAT_16_H from Makefile after
> + * rewriting all tests to the new API.
> + */
> #include "compat_16.h"
>
> TCID_DEFINE(setgroups04);
> diff --git a/testcases/kernel/syscalls/setuid/Makefile
> b/testcases/kernel/syscalls/setuid/Makefile
> index 1fdd7bd76..88d6385d9 100644
> --- a/testcases/kernel/syscalls/setuid/Makefile
> +++ b/testcases/kernel/syscalls/setuid/Makefile
> @@ -4,8 +4,5 @@ top_srcdir ?= ../../../..
>
> include $(top_srcdir)/include/mk/testcases.mk
>
> -#for compat_16.mk uses the compat_16_tst.h
> -COMPAT_TST_16_H := 1
> -
> include $(abs_srcdir)/../utils/compat_16.mk
> include $(top_srcdir)/include/mk/generic_leaf_target.mk
> diff --git a/testcases/kernel/syscalls/utils/compat_16.mk
> b/testcases/kernel/syscalls/utils/compat_16.mk
> index e81a00c40..71a8cc56f 100644
> --- a/testcases/kernel/syscalls/utils/compat_16.mk
> +++ b/testcases/kernel/syscalls/utils/compat_16.mk
> @@ -60,7 +60,7 @@ MAKE_TARGETS += $(addsuffix _16,$(MAKE_TARGETS))
> # (no .h file, no TST_USE_NEWER64_SYSCALL def).
> DEF_16 := TST_USE_COMPAT16_SYSCALL
>
> -ifneq ($(COMPAT_TST_16_H),1)
> +ifeq ($(USE_LEGACY_COMPAT_16_H),1)
> COMPAT_16_H := $(abs_srcdir)/../utils/compat_16.h
> else
> COMPAT_16_H := $(abs_srcdir)/../utils/compat_tst_16.h
>
I'm not sure here if we really need COMPAT_16_H for choosing two compat
header file.
As we already use hard code in C source file like #include "compat_16.h" or
"compat_tst_16.h",
so compile with -I the header directory is enough I guess.
Try this simple compat_16.mk, it at least works well on my side.
Or, did I miss anything in the 16bit compilation?
# cat compat_16.mk
CPPFLAGS += -I$(abs_srcdir) -I$(abs_srcdir)/../utils
SRCS ?= $(sort $(wildcard $(abs_srcdir)/*.c))
MAKE_TARGETS := $(notdir $(patsubst %.c,%,$(SRCS)))
MAKE_TARGETS_OBJS_WO_COMPAT_16 := $(addsuffix .o,$(MAKE_TARGETS))
MAKE_TARGETS += $(addsuffix _16,$(MAKE_TARGETS))
DEF_16 := TST_USE_COMPAT16_SYSCALL
%_16: CPPFLAGS += -D$(DEF_16)=1
%_16.o: %.c
$(COMPILE.c) $(OUTPUT_OPTION) $<
--
Regards,
Li Wang
More information about the ltp
mailing list