From 02ddc292d11fa8c400823817cafdd2fecdaba9b4 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Tue, 10 May 2022 03:16:00 -0400 Subject: [PATCH] import strace-5.13-4.el8 --- .gitignore | 2 +- .strace.metadata | 2 +- ...struct-io_cqring_offsets-compile-tim.patch | 44 - ...-io_uring-Add-io_cqring_offset-flags.patch | 383 - .../0115-xlat-update-IORING_-constants.patch | 217 - ...field-lines-that-start-with-comments.patch | 84 - ...t_fields.h-add-PRINT_FIELD_LEN-macro.patch | 155 - ...ilog-functions-from-util.c-to-defs.h.patch | 157 - ...-nf.test-replace-getpid-with-geteuid.patch | 235 - ...0123-fcntl-use-print_fields.h-macros.patch | 60 - .../0124-kcmp-fix-KCMP_FILE-decoding.patch | 28 - ...-printing-of-siginfo_t.si_pid-and-si.patch | 518 - ...UID-instead-of-printuid-where-approp.patch | 105 - ...print-process-ids-as-signed-integers.patch | 525 - ...-tcb-parameter-of-read_int_from_file.patch | 56 - ...-tcb-parameters-to-various-functions.patch | 417 - ...lass-trace-syscalls-associated-with-.patch | 1391 -- SOURCES/0131-Introduce-SYS_FUNC-tkill.patch | 415 - ...ests-check-decoding-of-tkill-syscall.patch | 683 - ...sts-check-decoding-of-tgkill-syscall.patch | 656 - ...34-PID-namespace-translation-support.patch | 1478 -- SOURCES/0135-Use-printpid-in-decoders.patch | 1212 - ...0136-Use-get_proc_pid-for-proc-paths.patch | 93 - ...mplement-testing-framework-for-pidns.patch | 1360 -- ...-tests-for-PID-namespace-translation.patch | 20054 ---------------- SOURCES/0142-tests-add-fchmod-y-test.patch | 1102 - ...create_and_enter_subdir-and-leave_an.patch | 1270 - ...ding-of-faccessat-syscall-in-P-y-and.patch | 795 - .../0145-xmalloc-introduce-xasprintf.patch | 65 - ...ts-use-xasprintf-instead-of-asprintf.patch | 891 - ...int-f_handle-as-a-hexadecimal-string.patch | 276 - ...execve-test-with-fresh-linux-kernels.patch | 486 - ...ext-full-option-to-display-SELinux-c.patch | 13901 ----------- ...rate-HAVE_-_SELINUX_RUNTIME-config-d.patch | 10 +- ...PREREQ_GE-and-GLIBC_PREREQ_LT-macros.patch | 209 - ...disable-TEST_MSGCTL_BOGUS_ADDR-on-gl.patch | 103 - ...ST_MSGCTL_BOGUS_ADDR-in-ipc_msg-test.patch | 89 - ...sts-for-invalid-msgctl-commands-on-g.patch | 214 - ...mctl-IPC_STAT-test-with-a-bogus-addr.patch | 169 - ...sts-for-invalid-shmctl-commands-on-g.patch | 280 - ...sts-for-invalid-semctl-commands-on-g.patch | 199 - ...ree-allocated-data-on-the-error-path.patch | 77 + ...T-macros-add-MASK-macros-add-_SAFE-m.patch | 70 + .../0165-trie-use-BIT-and-MASK-macros.patch | 151 + ..._params-access-in-tee_fetch_buf_data.patch | 52 + ...ndex-fix-IFNAME_QUOTED_SZ-definition.patch | 55 + SOURCES/0168-m4-fix-st_SELINUX-check.patch | 208 + ...ying-of-expected-context-upon-mismat.patch | 6958 ++++++ ...et-errno-before-SELinux-context-mani.patch | 122 + ...econtext-add-secontext-field-getters.patch | 356 + ...vide-fallback-values-for-secontext-f.patch | 181 + ...eliminate-separate-secontext_format-.patch | 63 + ...et-context-to-the-expected-one-if-a-.patch | 190 + SOURCES/2003-undef-ARRAY_SIZE.patch | 6 +- SPECS/strace.spec | 299 +- 55 files changed, 8669 insertions(+), 50508 deletions(-) delete mode 100644 SOURCES/0113-io_uring-Remove-struct-io_cqring_offsets-compile-tim.patch delete mode 100644 SOURCES/0114-io_uring-Add-io_cqring_offset-flags.patch delete mode 100644 SOURCES/0115-xlat-update-IORING_-constants.patch delete mode 100644 SOURCES/0118-types-skip-field-lines-that-start-with-comments.patch delete mode 100644 SOURCES/0119-print_fields.h-add-PRINT_FIELD_LEN-macro.patch delete mode 100644 SOURCES/0120-Move-ilog-functions-from-util.c-to-defs.h.patch delete mode 100644 SOURCES/0122-tests-inject-nf.test-replace-getpid-with-geteuid.patch delete mode 100644 SOURCES/0123-fcntl-use-print_fields.h-macros.patch delete mode 100644 SOURCES/0124-kcmp-fix-KCMP_FILE-decoding.patch delete mode 100644 SOURCES/0125-printsiginfo-fix-printing-of-siginfo_t.si_pid-and-si.patch delete mode 100644 SOURCES/0126-Use-PRINT_FIELD_UID-instead-of-printuid-where-approp.patch delete mode 100644 SOURCES/0127-Consistently-print-process-ids-as-signed-integers.patch delete mode 100644 SOURCES/0128-Remove-tcb-parameter-of-read_int_from_file.patch delete mode 100644 SOURCES/0129-Add-struct-tcb-parameters-to-various-functions.patch delete mode 100644 SOURCES/0130-Modify-process-class-trace-syscalls-associated-with-.patch delete mode 100644 SOURCES/0131-Introduce-SYS_FUNC-tkill.patch delete mode 100644 SOURCES/0132-tests-check-decoding-of-tkill-syscall.patch delete mode 100644 SOURCES/0133-tests-check-decoding-of-tgkill-syscall.patch delete mode 100644 SOURCES/0134-PID-namespace-translation-support.patch delete mode 100644 SOURCES/0135-Use-printpid-in-decoders.patch delete mode 100644 SOURCES/0136-Use-get_proc_pid-for-proc-paths.patch delete mode 100644 SOURCES/0137-Implement-testing-framework-for-pidns.patch delete mode 100644 SOURCES/0138-Add-tests-for-PID-namespace-translation.patch delete mode 100644 SOURCES/0142-tests-add-fchmod-y-test.patch delete mode 100644 SOURCES/0143-tests-introduce-create_and_enter_subdir-and-leave_an.patch delete mode 100644 SOURCES/0144-tests-check-decoding-of-faccessat-syscall-in-P-y-and.patch delete mode 100644 SOURCES/0145-xmalloc-introduce-xasprintf.patch delete mode 100644 SOURCES/0146-tests-use-xasprintf-instead-of-asprintf.patch delete mode 100644 SOURCES/0147-file_handle-print-f_handle-as-a-hexadecimal-string.patch delete mode 100644 SOURCES/0148-tests-fix-execve-test-with-fresh-linux-kernels.patch delete mode 100644 SOURCES/0149-Implement-secontext-full-option-to-display-SELinux-c.patch delete mode 100644 SOURCES/0156-Introduce-GLIBC_PREREQ_GE-and-GLIBC_PREREQ_LT-macros.patch delete mode 100644 SOURCES/0157-tests-ipc_msg.c-disable-TEST_MSGCTL_BOGUS_ADDR-on-gl.patch delete mode 100644 SOURCES/0158-tests-disable-TEST_MSGCTL_BOGUS_ADDR-in-ipc_msg-test.patch delete mode 100644 SOURCES/0159-tests-disable-tests-for-invalid-msgctl-commands-on-g.patch delete mode 100644 SOURCES/0160-tests-disable-shmctl-IPC_STAT-test-with-a-bogus-addr.patch delete mode 100644 SOURCES/0161-tests-disable-tests-for-invalid-shmctl-commands-on-g.patch delete mode 100644 SOURCES/0162-tests-disable-tests-for-invalid-semctl-commands-on-g.patch create mode 100644 SOURCES/0163-filter_qualify-free-allocated-data-on-the-error-path.patch create mode 100644 SOURCES/0164-macros-expand-BIT-macros-add-MASK-macros-add-_SAFE-m.patch create mode 100644 SOURCES/0165-trie-use-BIT-and-MASK-macros.patch create mode 100644 SOURCES/0166-tee-rewrite-num_params-access-in-tee_fetch_buf_data.patch create mode 100644 SOURCES/0167-print_ifindex-fix-IFNAME_QUOTED_SZ-definition.patch create mode 100644 SOURCES/0168-m4-fix-st_SELINUX-check.patch create mode 100644 SOURCES/0169-Implement-displaying-of-expected-context-upon-mismat.patch create mode 100644 SOURCES/0170-tests-linkat-reset-errno-before-SELinux-context-mani.patch create mode 100644 SOURCES/0171-tests-secontext-add-secontext-field-getters.patch create mode 100644 SOURCES/0172-tests-linkat-provide-fallback-values-for-secontext-f.patch create mode 100644 SOURCES/0173-tests-secontext-eliminate-separate-secontext_format-.patch create mode 100644 SOURCES/0174-tests-linkat-reset-context-to-the-expected-one-if-a-.patch diff --git a/.gitignore b/.gitignore index 137831d..a2c5d2d 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/strace-5.7.tar.xz +SOURCES/strace-5.13.tar.xz diff --git a/.strace.metadata b/.strace.metadata index cce1af2..4c2d4b4 100644 --- a/.strace.metadata +++ b/.strace.metadata @@ -1 +1 @@ -95c9d5aa664982d53ce1e5ab058d8fb73e200f0c SOURCES/strace-5.7.tar.xz +0f48c474de7d34009d3455f589efe790d24050b5 SOURCES/strace-5.13.tar.xz diff --git a/SOURCES/0113-io_uring-Remove-struct-io_cqring_offsets-compile-tim.patch b/SOURCES/0113-io_uring-Remove-struct-io_cqring_offsets-compile-tim.patch deleted file mode 100644 index 5040cd6..0000000 --- a/SOURCES/0113-io_uring-Remove-struct-io_cqring_offsets-compile-tim.patch +++ /dev/null @@ -1,44 +0,0 @@ -From ff85f882bbd8a399e036b8465520d1ff0867f4f1 Mon Sep 17 00:00:00 2001 -From: Chris Packham -Date: Mon, 15 Jun 2020 22:01:25 +1200 -Subject: [PATCH 113/115] io_uring: Remove struct io_cqring_offsets compile - time asserts - -The generated types/check-io_uring.c already checks the kernel's struct -io_cqring_offsets for compatibility with the strace definition so -there's no need for manual checks. - -* io_uring.c [HAVE_STRUCT_IO_CQRING_OFFSETS]: Remove static_asserts. ---- - io_uring.c | 15 --------------- - 1 file changed, 15 deletions(-) - -diff --git a/io_uring.c b/io_uring.c -index ac1807b..fd83313 100644 ---- a/io_uring.c -+++ b/io_uring.c -@@ -17,21 +17,6 @@ - #include "xlat/uring_enter_flags.h" - #include "xlat/uring_register_opcodes.h" - --#ifdef HAVE_STRUCT_IO_CQRING_OFFSETS --# ifdef HAVE_STRUCT_IO_CQRING_OFFSETS_RESV --static_assert(offsetof(struct_io_cqring_offsets, resv) -- >= offsetof(struct io_cqring_offsets, resv), -- "struct io_cqring_offsets.resv offset mismatch" -- ", please update the decoder"); --static_assert(sizeof_field(struct_io_cqring_offsets, resv) -- <= sizeof_field(struct io_cqring_offsets, resv), -- "struct io_cqring_offsets.resv size mismatch" -- ", please update the decoder"); --# else /* !HAVE_STRUCT_IO_CQRING_OFFSETS_RESV */ --static_assert(0, "struct io_cqring_offsets.resv is missing" -- ", please update the decoder"); --# endif --#endif /* HAVE_STRUCT_IO_CQRING_OFFSETS */ - #ifdef HAVE_STRUCT_IO_URING_PARAMS - # ifdef HAVE_STRUCT_IO_URING_PARAMS_RESV - static_assert(offsetof(struct_io_uring_params, resv) --- -2.1.4 - diff --git a/SOURCES/0114-io_uring-Add-io_cqring_offset-flags.patch b/SOURCES/0114-io_uring-Add-io_cqring_offset-flags.patch deleted file mode 100644 index fc37a3f..0000000 --- a/SOURCES/0114-io_uring-Add-io_cqring_offset-flags.patch +++ /dev/null @@ -1,383 +0,0 @@ -From c51b292b237214ccfcae5a84085f8d0a7e85c8ba Mon Sep 17 00:00:00 2001 -From: Chris Packham -Date: Mon, 15 Jun 2020 22:01:26 +1200 -Subject: [PATCH 114/115] io_uring: Add io_cqring_offset flags - -Add support for displaying struct io_cqring_offsets.flags introduced -by Linux kernel commits v5.8-rc1~190^2~22 and v5.8-rc1~190^2~21. - -* types/io_uring.h (struct_io_cqring_offsets): Replace resv array -with flags, resv1, and resv2 fields. -* xlat/uring_cqring_flags.in: New file. -* configure.ac (AC_CHECK_MEMBERS): Check struct io_cqring_offsets.flags. -* io_uring.c: Include "xlat/uring_cqring_flags.h". -(SYS_FUNC(io_uring_setup)): Replace printing of the resv array -of struct io_cqring_offsets with flags, resv1, and resv2 fields. -* tests/io_uring_setup.c: Check it. - -Co-authored-by: Dmitry V. Levin -Resolves: https://github.com/strace/strace/issues/138 ---- - configure.ac | 1 + - io_uring.c | 11 +++++++---- - tests/io_uring_setup.c | 31 ++++++++++++++++++++++++++----- - types/io_uring.h | 4 +++- - xlat/uring_cqring_flags.in | 1 + - 5 files changed, 38 insertions(+), 10 deletions(-) - create mode 100644 xlat/uring_cqring_flags.in - -Index: strace-5.7/configure.ac -=================================================================== ---- strace-5.7.orig/configure.ac 2020-11-09 04:39:07.197892960 +0100 -+++ strace-5.7/configure.ac 2020-11-09 04:39:14.943826575 +0100 -@@ -481,6 +481,7 @@ - - AC_CHECK_HEADERS([linux/io_uring.h], [ - AC_CHECK_MEMBERS(m4_normalize([ -+ struct io_cqring_offsets.flags, - struct io_uring_params.features, - struct io_uring_params.wq_fd, - struct io_uring_params.resv -Index: strace-5.7/io_uring.c -=================================================================== ---- strace-5.7.orig/io_uring.c 2020-11-09 04:39:07.197892960 +0100 -+++ strace-5.7/io_uring.c 2020-11-09 04:39:14.943826575 +0100 -@@ -17,6 +17,7 @@ - #include "xlat/uring_setup_flags.h" - #include "xlat/uring_enter_flags.h" - #include "xlat/uring_register_opcodes.h" -+#include "xlat/uring_cqring_flags.h" - - #ifdef HAVE_STRUCT_IO_URING_PARAMS - # ifdef HAVE_STRUCT_IO_URING_PARAMS_RESV -@@ -88,10 +89,12 @@ - PRINT_FIELD_U(", ", params.cq_off, ring_entries); - PRINT_FIELD_U(", ", params.cq_off, overflow); - PRINT_FIELD_U(", ", params.cq_off, cqes); -- if (!IS_ARRAY_ZERO(params.cq_off.resv)) { -- PRINT_FIELD_ARRAY(", ", params.cq_off, resv, tcp, -- print_xint64_array_member); -- } -+ PRINT_FIELD_FLAGS(", ", params.cq_off, flags, -+ uring_cqring_flags, "IORING_CQ_???"); -+ if (params.cq_off.resv1) -+ PRINT_FIELD_X(", ", params.cq_off, resv1); -+ if (params.cq_off.resv2) -+ PRINT_FIELD_X(", ", params.cq_off, resv2); - tprints("}"); - } - tprints("}"); -Index: strace-5.7/tests/io_uring_setup.c -=================================================================== ---- strace-5.7.orig/tests/io_uring_setup.c 2020-11-09 04:39:07.197892960 +0100 -+++ strace-5.7/tests/io_uring_setup.c 2020-11-09 04:39:14.943826575 +0100 -@@ -27,6 +27,7 @@ - # include "xlat.h" - - # include "xlat/uring_setup_features.h" -+# include "xlat/uring_cqring_flags.h" - - # ifdef HAVE_STRUCT_IO_URING_PARAMS_FEATURES - # ifdef HAVE_STRUCT_IO_URING_PARAMS_WQ_FD -@@ -144,20 +145,40 @@ - params->sq_off.resv2); - - printf("}, cq_off={head=%u, tail=%u, ring_mask=%u" -- ", ring_entries=%u, overflow=%u, cqes=%u", -+ ", ring_entries=%u, overflow=%u, cqes=%u, flags=", - params->cq_off.head, - params->cq_off.tail, - params->cq_off.ring_mask, - params->cq_off.ring_entries, - params->cq_off.overflow, - params->cq_off.cqes); -- if (params->cq_off.resv[0] || params->cq_off.resv[1]) { -- printf(", resv=[%#llx, %#llx]", -+#ifdef HAVE_STRUCT_IO_CQRING_OFFSETS_FLAGS -+ printflags(uring_cqring_flags, -+ params->cq_off.flags, -+ "IORING_CQ_???"); -+ if (params->cq_off.resv1) -+ printf(", resv1=%#x", params->cq_off.resv1); -+ if (params->cq_off.resv2) -+ printf(", resv2=%#llx", - (unsigned long long) -- params->cq_off.resv[0], -+ params->cq_off.resv2); -+#else -+ union { -+ struct { -+ uint32_t flags; -+ uint32_t resv1; -+ } s; -+ uint64_t v; -+ } u = { .v = params->cq_off.resv[0] }; -+ printflags(uring_cqring_flags, u.s.flags, -+ "IORING_CQ_???"); -+ if (u.s.resv1) -+ printf(", resv1=%#x", u.s.resv1); -+ if (params->cq_off.resv[1]) -+ printf(", resv2=%#llx", - (unsigned long long) - params->cq_off.resv[1]); -- } -+#endif - - printf("}}) = %ld\n", rc); - } -Index: strace-5.7/types/io_uring.h -=================================================================== ---- strace-5.7.orig/types/io_uring.h 2020-11-09 04:39:07.198892952 +0100 -+++ strace-5.7/types/io_uring.h 2020-11-09 04:39:14.944826567 +0100 -@@ -31,7 +31,9 @@ - uint32_t ring_entries; - uint32_t overflow; - uint32_t cqes; -- uint64_t resv[2]; -+ /** Added by v5.8-rc1~190^2~22 */ uint32_t flags; -+ /** Added by v5.8-rc1~190^2~22 */ uint32_t resv1; -+ /** Added by v5.8-rc1~190^2~22 */ uint64_t resv2; - } struct_io_cqring_offsets; - - typedef struct { -Index: strace-5.7/xlat/uring_cqring_flags.in -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/xlat/uring_cqring_flags.in 2020-11-09 04:39:14.944826567 +0100 -@@ -0,0 +1 @@ -+IORING_CQ_EVENTFD_DISABLED 1U -Index: strace-5.7/Makefile.in -=================================================================== ---- strace-5.7.orig/Makefile.in 2020-11-09 04:39:07.201892926 +0100 -+++ strace-5.7/Makefile.in 2020-11-09 04:42:54.519945367 +0100 -@@ -1506,10 +1506,10 @@ - xlat/uffd_register_mode_flags.in xlat/uffd_zeropage_flags.in \ - xlat/umount_flags.in xlat/unix_diag_attrs.in \ - xlat/unix_diag_show.in xlat/unshare_flags.in \ -- xlat/uring_enter_flags.in xlat/uring_op_flags.in \ -- xlat/uring_ops.in xlat/uring_register_opcodes.in \ -- xlat/uring_setup_features.in xlat/uring_setup_flags.in \ -- xlat/usagewho.in xlat/v4l2_buf_flags.in \ -+ xlat/uring_cqring_flags.in xlat/uring_enter_flags.in \ -+ xlat/uring_op_flags.in xlat/uring_ops.in \ -+ xlat/uring_register_opcodes.in xlat/uring_setup_features.in \ -+ xlat/uring_setup_flags.in xlat/usagewho.in xlat/v4l2_buf_flags.in \ - xlat/v4l2_buf_flags_masks.in xlat/v4l2_buf_flags_ts_src.in \ - xlat/v4l2_buf_flags_ts_type.in xlat/v4l2_buf_types.in \ - xlat/v4l2_capture_modes.in xlat/v4l2_colorspaces.in \ -@@ -1755,10 +1755,10 @@ - xlat/uffd_register_mode_flags.h xlat/uffd_zeropage_flags.h \ - xlat/umount_flags.h xlat/unix_diag_attrs.h \ - xlat/unix_diag_show.h xlat/unshare_flags.h \ -- xlat/uring_enter_flags.h xlat/uring_op_flags.h \ -- xlat/uring_ops.h xlat/uring_register_opcodes.h \ -- xlat/uring_setup_features.h xlat/uring_setup_flags.h \ -- xlat/usagewho.h xlat/v4l2_buf_flags.h \ -+ xlat/uring_cqring_flags.h xlat/uring_enter_flags.h \ -+ xlat/uring_op_flags.h xlat/uring_ops.h \ -+ xlat/uring_register_opcodes.h xlat/uring_setup_features.h \ -+ xlat/uring_setup_flags.h xlat/usagewho.h xlat/v4l2_buf_flags.h \ - xlat/v4l2_buf_flags_masks.h xlat/v4l2_buf_flags_ts_src.h \ - xlat/v4l2_buf_flags_ts_type.h xlat/v4l2_buf_types.h \ - xlat/v4l2_capture_modes.h xlat/v4l2_colorspaces.h \ -@@ -9974,6 +9974,8 @@ - $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ - $(top_srcdir)/xlat/unshare_flags.h: $(top_srcdir)/xlat/unshare_flags.in $(top_srcdir)/xlat/gen.sh - $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ -+$(top_srcdir)/xlat/uring_cqring_flags.h: $(top_srcdir)/xlat/uring_cqring_flags.in $(top_srcdir)/xlat/gen.sh -+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ - $(top_srcdir)/xlat/uring_enter_flags.h: $(top_srcdir)/xlat/uring_enter_flags.in $(top_srcdir)/xlat/gen.sh - $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@ - $(top_srcdir)/xlat/uring_op_flags.h: $(top_srcdir)/xlat/uring_op_flags.in $(top_srcdir)/xlat/gen.sh -Index: strace-5.7/configure -=================================================================== ---- strace-5.7.orig/configure 2020-11-09 04:39:07.205892892 +0100 -+++ strace-5.7/configure 2020-11-09 05:07:10.675485410 +0100 -@@ -12580,7 +12580,17 @@ - #define HAVE_LINUX_IO_URING_H 1 - _ACEOF - -- ac_fn_c_check_member "$LINENO" "struct io_uring_params" "features" "ac_cv_member_struct_io_uring_params_features" "#include -+ ac_fn_c_check_member "$LINENO" "struct io_cqring_offsets" "flags" "ac_cv_member_struct_io_cqring_offsets_flags" "#include -+" -+if test "x$ac_cv_member_struct_io_cqring_offsets_flags" = xyes; then : -+ -+cat >>confdefs.h <<_ACEOF -+#define HAVE_STRUCT_IO_CQRING_OFFSETS_FLAGS 1 -+_ACEOF -+ -+ -+fi -+ac_fn_c_check_member "$LINENO" "struct io_uring_params" "features" "ac_cv_member_struct_io_uring_params_features" "#include - " - if test "x$ac_cv_member_struct_io_uring_params_features" = xyes; then : - -Index: strace-5.7/tests-m32/io_uring_setup.c -=================================================================== ---- strace-5.7.orig/tests-m32/io_uring_setup.c 2020-11-09 04:39:07.206892883 +0100 -+++ strace-5.7/tests-m32/io_uring_setup.c 2020-11-09 04:39:14.951826507 +0100 -@@ -27,6 +27,7 @@ - # include "xlat.h" - - # include "xlat/uring_setup_features.h" -+# include "xlat/uring_cqring_flags.h" - - # ifdef HAVE_STRUCT_IO_URING_PARAMS_FEATURES - # ifdef HAVE_STRUCT_IO_URING_PARAMS_WQ_FD -@@ -144,20 +145,40 @@ - params->sq_off.resv2); - - printf("}, cq_off={head=%u, tail=%u, ring_mask=%u" -- ", ring_entries=%u, overflow=%u, cqes=%u", -+ ", ring_entries=%u, overflow=%u, cqes=%u, flags=", - params->cq_off.head, - params->cq_off.tail, - params->cq_off.ring_mask, - params->cq_off.ring_entries, - params->cq_off.overflow, - params->cq_off.cqes); -- if (params->cq_off.resv[0] || params->cq_off.resv[1]) { -- printf(", resv=[%#llx, %#llx]", -+#ifdef HAVE_STRUCT_IO_CQRING_OFFSETS_FLAGS -+ printflags(uring_cqring_flags, -+ params->cq_off.flags, -+ "IORING_CQ_???"); -+ if (params->cq_off.resv1) -+ printf(", resv1=%#x", params->cq_off.resv1); -+ if (params->cq_off.resv2) -+ printf(", resv2=%#llx", - (unsigned long long) -- params->cq_off.resv[0], -+ params->cq_off.resv2); -+#else -+ union { -+ struct { -+ uint32_t flags; -+ uint32_t resv1; -+ } s; -+ uint64_t v; -+ } u = { .v = params->cq_off.resv[0] }; -+ printflags(uring_cqring_flags, u.s.flags, -+ "IORING_CQ_???"); -+ if (u.s.resv1) -+ printf(", resv1=%#x", u.s.resv1); -+ if (params->cq_off.resv[1]) -+ printf(", resv2=%#llx", - (unsigned long long) - params->cq_off.resv[1]); -- } -+#endif - - printf("}}) = %ld\n", rc); - } -Index: strace-5.7/tests-mx32/io_uring_setup.c -=================================================================== ---- strace-5.7.orig/tests-mx32/io_uring_setup.c 2020-11-09 04:39:07.206892883 +0100 -+++ strace-5.7/tests-mx32/io_uring_setup.c 2020-11-09 04:39:14.951826507 +0100 -@@ -27,6 +27,7 @@ - # include "xlat.h" - - # include "xlat/uring_setup_features.h" -+# include "xlat/uring_cqring_flags.h" - - # ifdef HAVE_STRUCT_IO_URING_PARAMS_FEATURES - # ifdef HAVE_STRUCT_IO_URING_PARAMS_WQ_FD -@@ -144,20 +145,40 @@ - params->sq_off.resv2); - - printf("}, cq_off={head=%u, tail=%u, ring_mask=%u" -- ", ring_entries=%u, overflow=%u, cqes=%u", -+ ", ring_entries=%u, overflow=%u, cqes=%u, flags=", - params->cq_off.head, - params->cq_off.tail, - params->cq_off.ring_mask, - params->cq_off.ring_entries, - params->cq_off.overflow, - params->cq_off.cqes); -- if (params->cq_off.resv[0] || params->cq_off.resv[1]) { -- printf(", resv=[%#llx, %#llx]", -+#ifdef HAVE_STRUCT_IO_CQRING_OFFSETS_FLAGS -+ printflags(uring_cqring_flags, -+ params->cq_off.flags, -+ "IORING_CQ_???"); -+ if (params->cq_off.resv1) -+ printf(", resv1=%#x", params->cq_off.resv1); -+ if (params->cq_off.resv2) -+ printf(", resv2=%#llx", - (unsigned long long) -- params->cq_off.resv[0], -+ params->cq_off.resv2); -+#else -+ union { -+ struct { -+ uint32_t flags; -+ uint32_t resv1; -+ } s; -+ uint64_t v; -+ } u = { .v = params->cq_off.resv[0] }; -+ printflags(uring_cqring_flags, u.s.flags, -+ "IORING_CQ_???"); -+ if (u.s.resv1) -+ printf(", resv1=%#x", u.s.resv1); -+ if (params->cq_off.resv[1]) -+ printf(", resv2=%#llx", - (unsigned long long) - params->cq_off.resv[1]); -- } -+#endif - - printf("}}) = %ld\n", rc); - } -Index: strace-5.7/xlat/uring_cqring_flags.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/xlat/uring_cqring_flags.h 2020-11-09 05:07:27.046345327 +0100 -@@ -0,0 +1,48 @@ -+/* Generated by ./xlat/gen.sh from ./xlat/uring_cqring_flags.in; do not edit. */ -+ -+#include "gcc_compat.h" -+#include "static_assert.h" -+ -+#if defined(IORING_CQ_EVENTFD_DISABLED) || (defined(HAVE_DECL_IORING_CQ_EVENTFD_DISABLED) && HAVE_DECL_IORING_CQ_EVENTFD_DISABLED) -+DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE -+static_assert((IORING_CQ_EVENTFD_DISABLED) == (1U), "IORING_CQ_EVENTFD_DISABLED != 1U"); -+DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE -+#else -+# define IORING_CQ_EVENTFD_DISABLED 1U -+#endif -+ -+#ifndef XLAT_MACROS_ONLY -+ -+# ifdef IN_MPERS -+ -+# error static const struct xlat uring_cqring_flags in mpers mode -+ -+# else -+ -+static const struct xlat_data uring_cqring_flags_xdata[] = { -+ XLAT(IORING_CQ_EVENTFD_DISABLED), -+ #define XLAT_VAL_0 ((unsigned) (IORING_CQ_EVENTFD_DISABLED)) -+ #define XLAT_STR_0 STRINGIFY(IORING_CQ_EVENTFD_DISABLED) -+}; -+static -+const struct xlat uring_cqring_flags[1] = { { -+ .data = uring_cqring_flags_xdata, -+ .size = ARRAY_SIZE(uring_cqring_flags_xdata), -+ .type = XT_NORMAL, -+ .flags_mask = 0 -+# ifdef XLAT_VAL_0 -+ | XLAT_VAL_0 -+# endif -+ , -+ .flags_strsz = 0 -+# ifdef XLAT_STR_0 -+ + sizeof(XLAT_STR_0) -+# endif -+ , -+} }; -+ -+# undef XLAT_STR_0 -+# undef XLAT_VAL_0 -+# endif /* !IN_MPERS */ -+ -+#endif /* !XLAT_MACROS_ONLY */ diff --git a/SOURCES/0115-xlat-update-IORING_-constants.patch b/SOURCES/0115-xlat-update-IORING_-constants.patch deleted file mode 100644 index 34b14d1..0000000 --- a/SOURCES/0115-xlat-update-IORING_-constants.patch +++ /dev/null @@ -1,217 +0,0 @@ -From dd6b70f5d4db14b432f424071d262e87fa944c96 Mon Sep 17 00:00:00 2001 -From: "Dmitry V. Levin" -Date: Sun, 28 Jun 2020 08:00:00 +0000 -Subject: [PATCH 115/115] xlat: update IORING_* constants - -* xlat/uring_ops.in (IORING_OP_TEE): New constant introduced by Linux -kernel commit v5.8-rc1~190^2~14. -* tests/io_uring_register.c: Update expected output. ---- - tests/io_uring_register.c | 12 ++++++------ - xlat/uring_ops.in | 1 + - 2 files changed, 7 insertions(+), 6 deletions(-) - -Index: strace-5.7/tests/io_uring_register.c -=================================================================== ---- strace-5.7.orig/tests/io_uring_register.c 2020-11-09 04:44:38.311057254 +0100 -+++ strace-5.7/tests/io_uring_register.c 2020-11-09 04:44:40.445038991 +0100 -@@ -225,12 +225,12 @@ - probe->ops[0].flags = 0; - probe->ops[0].resv2 = 0xbeefface; - -- probe->ops[1].op = 32; -+ probe->ops[1].op = 33; - probe->ops[1].resv = 0; - probe->ops[1].flags = IO_URING_OP_SUPPORTED; - probe->ops[1].resv2 = 0xdeadc0de; - -- probe->ops[2].op = 33; -+ probe->ops[2].op = 34; - probe->ops[2].resv = 0xaf; - probe->ops[2].flags = 0xbeef; - probe->ops[2].resv2 = 0; -@@ -245,22 +245,22 @@ - ", {last_op=IORING_OP_EPOLL_CTL, ops_len=%hhu" - ", resv2=[0, %#x, 0], ops=[" - "{op=IORING_OP_NOP, resv=0xde, flags=0, resv2=0xbeefface}, " -- "{op=IORING_OP_REMOVE_BUFFERS, flags=IO_URING_OP_SUPPORTED" -+ "{op=IORING_OP_TEE, flags=IO_URING_OP_SUPPORTED" - ", resv2=0xdeadc0de}, " -- "{op=33 /* IORING_OP_??? */, resv=0xaf" -+ "{op=34 /* IORING_OP_??? */, resv=0xaf" - ", flags=IO_URING_OP_SUPPORTED|0xbeee}, " - "{op=254 /* IORING_OP_??? */" - ", flags=0xc0de /* IO_URING_OP_??? */}]}, 4) = %s\n", - fd_null, path_null, probe->ops_len, probe->resv2[1], errstr); - -- probe->last_op = 33; -+ probe->last_op = 34; - probe->resv2[1] = 0; - fill_memory_ex(probe->ops, sizeof(probe->ops[0]) * (DEFAULT_STRLEN + 1), - 0x40, 0x80); - sys_io_uring_register(fd_null, IORING_REGISTER_PROBE, probe, - DEFAULT_STRLEN + 1); - printf("io_uring_register(%u<%s>, IORING_REGISTER_PROBE" -- ", {last_op=33 /* IORING_OP_??? */, ops_len=%hhu, ops=[", -+ ", {last_op=34 /* IORING_OP_??? */, ops_len=%hhu, ops=[", - fd_null, path_null, probe->ops_len); - for (size_t i = 0; i < DEFAULT_STRLEN; i++) { - printf("%s{op=%u /* IORING_OP_??? */, resv=%#hhx" -Index: strace-5.7/xlat/uring_ops.in -=================================================================== ---- strace-5.7.orig/xlat/uring_ops.in 2020-11-09 04:44:38.311057254 +0100 -+++ strace-5.7/xlat/uring_ops.in 2020-11-09 04:44:40.445038991 +0100 -@@ -32,3 +32,4 @@ - IORING_OP_SPLICE 30 - IORING_OP_PROVIDE_BUFFERS 31 - IORING_OP_REMOVE_BUFFERS 32 -+IORING_OP_TEE 33 -Index: strace-5.7/tests-m32/io_uring_register.c -=================================================================== ---- strace-5.7.orig/tests-m32/io_uring_register.c 2020-11-09 04:44:38.312057246 +0100 -+++ strace-5.7/tests-m32/io_uring_register.c 2020-11-09 04:44:40.445038991 +0100 -@@ -225,12 +225,12 @@ - probe->ops[0].flags = 0; - probe->ops[0].resv2 = 0xbeefface; - -- probe->ops[1].op = 32; -+ probe->ops[1].op = 33; - probe->ops[1].resv = 0; - probe->ops[1].flags = IO_URING_OP_SUPPORTED; - probe->ops[1].resv2 = 0xdeadc0de; - -- probe->ops[2].op = 33; -+ probe->ops[2].op = 34; - probe->ops[2].resv = 0xaf; - probe->ops[2].flags = 0xbeef; - probe->ops[2].resv2 = 0; -@@ -245,22 +245,22 @@ - ", {last_op=IORING_OP_EPOLL_CTL, ops_len=%hhu" - ", resv2=[0, %#x, 0], ops=[" - "{op=IORING_OP_NOP, resv=0xde, flags=0, resv2=0xbeefface}, " -- "{op=IORING_OP_REMOVE_BUFFERS, flags=IO_URING_OP_SUPPORTED" -+ "{op=IORING_OP_TEE, flags=IO_URING_OP_SUPPORTED" - ", resv2=0xdeadc0de}, " -- "{op=33 /* IORING_OP_??? */, resv=0xaf" -+ "{op=34 /* IORING_OP_??? */, resv=0xaf" - ", flags=IO_URING_OP_SUPPORTED|0xbeee}, " - "{op=254 /* IORING_OP_??? */" - ", flags=0xc0de /* IO_URING_OP_??? */}]}, 4) = %s\n", - fd_null, path_null, probe->ops_len, probe->resv2[1], errstr); - -- probe->last_op = 33; -+ probe->last_op = 34; - probe->resv2[1] = 0; - fill_memory_ex(probe->ops, sizeof(probe->ops[0]) * (DEFAULT_STRLEN + 1), - 0x40, 0x80); - sys_io_uring_register(fd_null, IORING_REGISTER_PROBE, probe, - DEFAULT_STRLEN + 1); - printf("io_uring_register(%u<%s>, IORING_REGISTER_PROBE" -- ", {last_op=33 /* IORING_OP_??? */, ops_len=%hhu, ops=[", -+ ", {last_op=34 /* IORING_OP_??? */, ops_len=%hhu, ops=[", - fd_null, path_null, probe->ops_len); - for (size_t i = 0; i < DEFAULT_STRLEN; i++) { - printf("%s{op=%u /* IORING_OP_??? */, resv=%#hhx" -Index: strace-5.7/tests-mx32/io_uring_register.c -=================================================================== ---- strace-5.7.orig/tests-mx32/io_uring_register.c 2020-11-09 04:44:38.312057246 +0100 -+++ strace-5.7/tests-mx32/io_uring_register.c 2020-11-09 04:44:40.446038982 +0100 -@@ -225,12 +225,12 @@ - probe->ops[0].flags = 0; - probe->ops[0].resv2 = 0xbeefface; - -- probe->ops[1].op = 32; -+ probe->ops[1].op = 33; - probe->ops[1].resv = 0; - probe->ops[1].flags = IO_URING_OP_SUPPORTED; - probe->ops[1].resv2 = 0xdeadc0de; - -- probe->ops[2].op = 33; -+ probe->ops[2].op = 34; - probe->ops[2].resv = 0xaf; - probe->ops[2].flags = 0xbeef; - probe->ops[2].resv2 = 0; -@@ -245,22 +245,22 @@ - ", {last_op=IORING_OP_EPOLL_CTL, ops_len=%hhu" - ", resv2=[0, %#x, 0], ops=[" - "{op=IORING_OP_NOP, resv=0xde, flags=0, resv2=0xbeefface}, " -- "{op=IORING_OP_REMOVE_BUFFERS, flags=IO_URING_OP_SUPPORTED" -+ "{op=IORING_OP_TEE, flags=IO_URING_OP_SUPPORTED" - ", resv2=0xdeadc0de}, " -- "{op=33 /* IORING_OP_??? */, resv=0xaf" -+ "{op=34 /* IORING_OP_??? */, resv=0xaf" - ", flags=IO_URING_OP_SUPPORTED|0xbeee}, " - "{op=254 /* IORING_OP_??? */" - ", flags=0xc0de /* IO_URING_OP_??? */}]}, 4) = %s\n", - fd_null, path_null, probe->ops_len, probe->resv2[1], errstr); - -- probe->last_op = 33; -+ probe->last_op = 34; - probe->resv2[1] = 0; - fill_memory_ex(probe->ops, sizeof(probe->ops[0]) * (DEFAULT_STRLEN + 1), - 0x40, 0x80); - sys_io_uring_register(fd_null, IORING_REGISTER_PROBE, probe, - DEFAULT_STRLEN + 1); - printf("io_uring_register(%u<%s>, IORING_REGISTER_PROBE" -- ", {last_op=33 /* IORING_OP_??? */, ops_len=%hhu, ops=[", -+ ", {last_op=34 /* IORING_OP_??? */, ops_len=%hhu, ops=[", - fd_null, path_null, probe->ops_len); - for (size_t i = 0; i < DEFAULT_STRLEN; i++) { - printf("%s{op=%u /* IORING_OP_??? */, resv=%#hhx" -Index: strace-5.7/xlat/uring_ops.h -=================================================================== ---- strace-5.7.orig/xlat/uring_ops.h 2020-11-09 04:44:38.313057237 +0100 -+++ strace-5.7/xlat/uring_ops.h 2020-11-09 04:47:01.835829135 +0100 -@@ -234,6 +234,13 @@ - #else - # define IORING_OP_REMOVE_BUFFERS 32 - #endif -+#if defined(IORING_OP_TEE) || (defined(HAVE_DECL_IORING_OP_TEE) && HAVE_DECL_IORING_OP_TEE) -+DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE -+static_assert((IORING_OP_TEE) == (33), "IORING_OP_TEE != 33"); -+DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE -+#else -+# define IORING_OP_TEE 33 -+#endif - - #ifndef XLAT_MACROS_ONLY - -@@ -343,6 +350,9 @@ - [IORING_OP_REMOVE_BUFFERS] = XLAT(IORING_OP_REMOVE_BUFFERS), - #define XLAT_VAL_32 ((unsigned) (IORING_OP_REMOVE_BUFFERS)) - #define XLAT_STR_32 STRINGIFY(IORING_OP_REMOVE_BUFFERS) -+ [IORING_OP_TEE] = XLAT(IORING_OP_TEE), -+ #define XLAT_VAL_33 ((unsigned) (IORING_OP_TEE)) -+ #define XLAT_STR_33 STRINGIFY(IORING_OP_TEE) - }; - static - const struct xlat uring_ops[1] = { { -@@ -449,6 +459,9 @@ - # ifdef XLAT_VAL_32 - | XLAT_VAL_32 - # endif -+# ifdef XLAT_VAL_33 -+ | XLAT_VAL_33 -+# endif - , - .flags_strsz = 0 - # ifdef XLAT_STR_0 -@@ -550,6 +563,9 @@ - # ifdef XLAT_STR_32 - + sizeof(XLAT_STR_32) - # endif -+# ifdef XLAT_STR_33 -+ + sizeof(XLAT_STR_33) -+# endif - , - } }; - -@@ -619,6 +635,8 @@ - # undef XLAT_VAL_31 - # undef XLAT_STR_32 - # undef XLAT_VAL_32 -+# undef XLAT_STR_33 -+# undef XLAT_VAL_33 - # endif /* !IN_MPERS */ - - #endif /* !XLAT_MACROS_ONLY */ diff --git a/SOURCES/0118-types-skip-field-lines-that-start-with-comments.patch b/SOURCES/0118-types-skip-field-lines-that-start-with-comments.patch deleted file mode 100644 index b9a37cd..0000000 --- a/SOURCES/0118-types-skip-field-lines-that-start-with-comments.patch +++ /dev/null @@ -1,84 +0,0 @@ -From b0a361c0a9095b396ff7100203c767ec9ffd2cfa Mon Sep 17 00:00:00 2001 -From: "Dmitry V. Levin" -Date: Tue, 16 Jun 2020 08:00:00 +0000 -Subject: [PATCH] types: skip field lines that start with comments - -This allows to exclude certain fields from type checks by placing -comments at the beginning of the corresponding lines. - -* types/find_last_type_fields.awk: Skip lines starting with spaces -followed by "/". ---- - types/find_last_type_fields.awk | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: strace-5.7/types/find_last_type_fields.awk -=================================================================== ---- strace-5.7.orig/types/find_last_type_fields.awk 2020-01-21 19:02:38.000000000 +0100 -+++ strace-5.7/types/find_last_type_fields.awk 2020-11-09 04:47:06.976785148 +0100 -@@ -17,7 +17,7 @@ - print a[1] "." last_field - next - } -- if (match($0, /^[[:space:]]+[^];:[]+[[:space:]]+([^][:space:];:[]+)(\[[^];:[]*\])?;.*$/, a)) { -+ if (match($0, /^[[:space:]]+[^];[:space:]:\/[][^];:[]*[[:space:]]+([^][:space:];:[]+)(\[[^];:[]*\])?;.*$/, a)) { - last_field = a[1] - next - } -Index: strace-5.7/types/check-io_uring.c -=================================================================== ---- strace-5.7.orig/types/check-io_uring.c 2020-11-09 04:47:06.977785139 +0100 -+++ strace-5.7/types/check-io_uring.c 2020-11-09 04:49:10.033732186 +0100 -@@ -14,13 +14,13 @@ - #endif /* HAVE_STRUCT_IO_SQRING_OFFSETS */ - - #ifdef HAVE_STRUCT_IO_CQRING_OFFSETS --# ifdef HAVE_STRUCT_IO_CQRING_OFFSETS_RESV -+# ifdef HAVE_STRUCT_IO_CQRING_OFFSETS_CQES - static_assert(sizeof(struct io_cqring_offsets) == sizeof(struct_io_cqring_offsets), - "struct io_cqring_offsets size mismatch, please update the decoder or fix the kernel"); - # else --static_assert(sizeof(struct io_cqring_offsets) <= offsetof(struct_io_cqring_offsets, resv), -+static_assert(sizeof(struct io_cqring_offsets) <= offsetof(struct_io_cqring_offsets, cqes), - "struct io_cqring_offsets size mismatch, please update the decoder or fix the kernel"); --# endif /* HAVE_STRUCT_IO_CQRING_OFFSETS_RESV */ -+# endif /* HAVE_STRUCT_IO_CQRING_OFFSETS_CQES */ - #endif /* HAVE_STRUCT_IO_CQRING_OFFSETS */ - - #ifdef HAVE_STRUCT_IO_URING_PARAMS -Index: strace-5.7/config.h.in -=================================================================== ---- strace-5.7.orig/config.h.in 2020-11-09 04:47:06.980785114 +0100 -+++ strace-5.7/config.h.in 2020-11-09 04:50:11.871203054 +0100 -@@ -2596,8 +2596,8 @@ - /* Define to 1 if the system has the type `struct io_cqring_offsets'. */ - #undef HAVE_STRUCT_IO_CQRING_OFFSETS - --/* Define to 1 if `resv' is a member of `struct io_cqring_offsets'. */ --#undef HAVE_STRUCT_IO_CQRING_OFFSETS_RESV -+/* Define to 1 if `cqes' is a member of `struct io_cqring_offsets'. */ -+#undef HAVE_STRUCT_IO_CQRING_OFFSETS_CQES - - /* Define to 1 if the system has the type `struct io_sqring_offsets'. */ - #undef HAVE_STRUCT_IO_SQRING_OFFSETS -Index: strace-5.7/configure -=================================================================== ---- strace-5.7.orig/configure 2020-11-09 04:47:06.988785045 +0100 -+++ strace-5.7/configure 2020-11-09 04:51:12.500684263 +0100 -@@ -13475,13 +13475,13 @@ - #define HAVE_STRUCT_IO_CQRING_OFFSETS 1 - _ACEOF - --ac_fn_c_check_member "$LINENO" "struct io_cqring_offsets" "resv" "ac_cv_member_struct_io_cqring_offsets_resv" "$ac_includes_default -+ac_fn_c_check_member "$LINENO" "struct io_cqring_offsets" "cqes" "ac_cv_member_struct_io_cqring_offsets_cqes" "$ac_includes_default - #include - " --if test "x$ac_cv_member_struct_io_cqring_offsets_resv" = xyes; then : -+if test "x$ac_cv_member_struct_io_cqring_offsets_cqes" = xyes; then : - - cat >>confdefs.h <<_ACEOF --#define HAVE_STRUCT_IO_CQRING_OFFSETS_RESV 1 -+#define HAVE_STRUCT_IO_CQRING_OFFSETS_CQES 1 - _ACEOF - - diff --git a/SOURCES/0119-print_fields.h-add-PRINT_FIELD_LEN-macro.patch b/SOURCES/0119-print_fields.h-add-PRINT_FIELD_LEN-macro.patch deleted file mode 100644 index c955bde..0000000 --- a/SOURCES/0119-print_fields.h-add-PRINT_FIELD_LEN-macro.patch +++ /dev/null @@ -1,155 +0,0 @@ -From 8806a21b612d76c8732d0df2ebaf52b62166ce51 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?=C3=81kos=20Uzonyi?= -Date: Sat, 13 Jun 2020 18:18:31 +0200 -Subject: [PATCH 119/138] print_fields.h: add PRINT_FIELD_LEN macro - -* print_fields.h (PRINT_FIELD_LEN): New macro. -* net.c: (print_get_linger, print_get_ucred, print_tpacket_stats): -Rewrite using PRINT_FIELD_LEN. ---- - net.c | 90 ++++++---------------------------------------------------- - print_fields.h | 15 ++++++++++ - 2 files changed, 23 insertions(+), 82 deletions(-) - -diff --git a/net.c b/net.c -index a58fa92..9ea34b2 100644 ---- a/net.c -+++ b/net.c -@@ -579,24 +579,8 @@ print_get_linger(struct tcb *const tcp, const kernel_ulong_t addr, - if (umoven_or_printaddr(tcp, addr, len, &linger)) - return; - -- if (len < sizeof(linger.l_onoff)) { -- tprints("{l_onoff="); -- print_quoted_string((void *) &linger.l_onoff, -- len, QUOTE_FORCE_HEX); -- } else { -- PRINT_FIELD_D("{", linger, l_onoff); -- -- if (len > offsetof(struct linger, l_linger)) { -- len -= offsetof(struct linger, l_linger); -- if (len < sizeof(linger.l_linger)) { -- tprints(", l_linger="); -- print_quoted_string((void *) &linger.l_linger, -- len, QUOTE_FORCE_HEX); -- } else { -- PRINT_FIELD_D(", ", linger, l_linger); -- } -- } -- } -+ PRINT_FIELD_LEN("{", linger, l_onoff, len, PRINT_FIELD_D); -+ PRINT_FIELD_LEN(", ", linger, l_linger, len, PRINT_FIELD_D); - tprints("}"); - } - -@@ -617,38 +601,9 @@ print_get_ucred(struct tcb *const tcp, const kernel_ulong_t addr, - if (umoven_or_printaddr(tcp, addr, len, &uc)) - return; - -- if (len < sizeof(uc.pid)) { -- tprints("{pid="); -- print_quoted_string((void *) &uc.pid, -- len, QUOTE_FORCE_HEX); -- } else { -- PRINT_FIELD_D("{", uc, pid); -- -- if (len > offsetof(struct ucred, uid)) { -- len -= offsetof(struct ucred, uid); -- if (len < sizeof(uc.uid)) { -- tprints(", uid="); -- print_quoted_string((void *) &uc.uid, -- len, QUOTE_FORCE_HEX); -- } else { -- PRINT_FIELD_UID(", ", uc, uid); -- -- if (len > offsetof(struct ucred, gid) - -- offsetof(struct ucred, uid)) { -- len -= offsetof(struct ucred, gid) - -- offsetof(struct ucred, uid); -- if (len < sizeof(uc.gid)) { -- tprints(", gid="); -- print_quoted_string((void *) &uc.gid, -- len, -- QUOTE_FORCE_HEX); -- } else { -- PRINT_FIELD_UID(", ", uc, gid); -- } -- } -- } -- } -- } -+ PRINT_FIELD_LEN("{", uc, pid, len, PRINT_FIELD_D); -+ PRINT_FIELD_LEN(", ", uc, uid, len, PRINT_FIELD_UID); -+ PRINT_FIELD_LEN(", ", uc, gid, len, PRINT_FIELD_UID); - tprints("}"); - } - -@@ -688,38 +643,9 @@ print_tpacket_stats(struct tcb *const tcp, const kernel_ulong_t addr, - if (umoven_or_printaddr(tcp, addr, len, &stats)) - return; - -- if (len < sizeof(stats.tp_packets)) { -- tprints("{tp_packets="); -- print_quoted_string((void *) &stats.tp_packets, -- len, QUOTE_FORCE_HEX); -- } else { -- PRINT_FIELD_U("{", stats, tp_packets); -- -- if (len > offsetof(struct tp_stats, tp_drops)) { -- len -= offsetof(struct tp_stats, tp_drops); -- if (len < sizeof(stats.tp_drops)) { -- tprints(", tp_drops="); -- print_quoted_string((void *) &stats.tp_drops, -- len, QUOTE_FORCE_HEX); -- } else { -- PRINT_FIELD_U(", ", stats, tp_drops); -- -- if (len > offsetof(struct tp_stats, tp_freeze_q_cnt) - -- offsetof(struct tp_stats, tp_drops)) { -- len -= offsetof(struct tp_stats, tp_freeze_q_cnt) - -- offsetof(struct tp_stats, tp_drops); -- if (len < sizeof(stats.tp_freeze_q_cnt)) { -- tprints(", tp_freeze_q_cnt="); -- print_quoted_string((void *) &stats.tp_freeze_q_cnt, -- len, -- QUOTE_FORCE_HEX); -- } else { -- PRINT_FIELD_U(", ", stats, tp_freeze_q_cnt); -- } -- } -- } -- } -- } -+ PRINT_FIELD_LEN("{", stats, tp_packets, len, PRINT_FIELD_U); -+ PRINT_FIELD_LEN(", ", stats, tp_drops, len, PRINT_FIELD_U); -+ PRINT_FIELD_LEN(", ", stats, tp_freeze_q_cnt, len, PRINT_FIELD_U); - tprints("}"); - } - #endif /* PACKET_STATISTICS */ -diff --git a/print_fields.h b/print_fields.h -index 02c56bf..70dbbff 100644 ---- a/print_fields.h -+++ b/print_fields.h -@@ -277,4 +277,19 @@ - (size_), (hwtype_)); \ - } while (0) - -+# define PRINT_FIELD_LEN(prefix_, where_, field_, \ -+ len_, print_func_, ...) \ -+ do { \ -+ unsigned int start = offsetof(typeof(where_), field_); \ -+ unsigned int end = start + sizeof(where_.field_); \ -+ if (len_ >= end) { \ -+ print_func_(prefix_, where_, field_, \ -+ ##__VA_ARGS__); \ -+ } else if (len_ > start) { \ -+ tprintf("%s%s=", prefix_, #field_); \ -+ print_quoted_string((void *)&where_.field_, \ -+ len_ - start, QUOTE_FORCE_HEX); \ -+ } \ -+ } while (0) -+ - #endif /* !STRACE_PRINT_FIELDS_H */ --- -2.1.4 - diff --git a/SOURCES/0120-Move-ilog-functions-from-util.c-to-defs.h.patch b/SOURCES/0120-Move-ilog-functions-from-util.c-to-defs.h.patch deleted file mode 100644 index 8d70014..0000000 --- a/SOURCES/0120-Move-ilog-functions-from-util.c-to-defs.h.patch +++ /dev/null @@ -1,157 +0,0 @@ -From c9e41cd3485fa1a65dc6206c5b210b4be4c5597c Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?=C3=81kos=20Uzonyi?= -Date: Sat, 13 Jun 2020 18:18:32 +0200 -Subject: [PATCH 120/138] Move ilog* functions from util.c to defs.h - -* util.c (ILOG2_ITER_, ilog2_klong, ilog2_64, ilog2_32): Move ... -* defs.h: ... here. ---- - defs.h | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - util.c | 62 -------------------------------------------------------------- - 2 files changed, 60 insertions(+), 62 deletions(-) - -diff --git a/defs.h b/defs.h -index 3aa07fb..d8bd513 100644 ---- a/defs.h -+++ b/defs.h -@@ -1698,4 +1698,64 @@ scno_is_valid(kernel_ulong_t scno) - - # define SYS_FUNC(syscall_name) int SYS_FUNC_NAME(sys_ ## syscall_name)(struct tcb *tcp) - -+#define ILOG2_ITER_(val_, ret_, bit_) \ -+ do { \ -+ typeof(ret_) shift_ = \ -+ ((val_) > ((((typeof(val_)) 1) \ -+ << (1 << (bit_))) - 1)) << (bit_); \ -+ (val_) >>= shift_; \ -+ (ret_) |= shift_; \ -+ } while (0) -+ -+/** -+ * Calculate floor(log2(val)), with the exception of val == 0, for which 0 -+ * is returned as well. -+ * -+ * @param val 64-bit value to calculate integer base-2 logarithm for. -+ * @return (unsigned int) floor(log2(val)) if val > 0, 0 if val == 0. -+ */ -+static inline unsigned int -+ilog2_64(uint64_t val) -+{ -+ unsigned int ret = 0; -+ -+ ILOG2_ITER_(val, ret, 5); -+ ILOG2_ITER_(val, ret, 4); -+ ILOG2_ITER_(val, ret, 3); -+ ILOG2_ITER_(val, ret, 2); -+ ILOG2_ITER_(val, ret, 1); -+ ILOG2_ITER_(val, ret, 0); -+ -+ return ret; -+} -+ -+/** -+ * Calculate floor(log2(val)), with the exception of val == 0, for which 0 -+ * is returned as well. -+ * -+ * @param val 32-bit value to calculate integer base-2 logarithm for. -+ * @return (unsigned int) floor(log2(val)) if val > 0, 0 if val == 0. -+ */ -+static inline unsigned int -+ilog2_32(uint32_t val) -+{ -+ unsigned int ret = 0; -+ -+ ILOG2_ITER_(val, ret, 4); -+ ILOG2_ITER_(val, ret, 3); -+ ILOG2_ITER_(val, ret, 2); -+ ILOG2_ITER_(val, ret, 1); -+ ILOG2_ITER_(val, ret, 0); -+ -+ return ret; -+} -+ -+#if SIZEOF_KERNEL_LONG_T > 4 -+# define ilog2_klong ilog2_64 -+#else -+# define ilog2_klong ilog2_32 -+#endif -+ -+#undef ILOG2_ITER_ -+ - #endif /* !STRACE_DEFS_H */ -diff --git a/util.c b/util.c -index 59696b5..cde76c1 100644 ---- a/util.c -+++ b/util.c -@@ -1120,68 +1120,6 @@ dumpiov_upto(struct tcb *const tcp, const int len, const kernel_ulong_t addr, - #undef iov - } - --#define ILOG2_ITER_(val_, ret_, bit_) \ -- do { \ -- typeof(ret_) shift_ = \ -- ((val_) > ((((typeof(val_)) 1) \ -- << (1 << (bit_))) - 1)) << (bit_); \ -- (val_) >>= shift_; \ -- (ret_) |= shift_; \ -- } while (0) -- --#if SIZEOF_KERNEL_LONG_T > 4 -- --# define ilog2_klong ilog2_64 --/** -- * Calculate floor(log2(val)), with the exception of val == 0, for which 0 -- * is returned as well. -- * -- * @param val 64-bit value to calculate integer base-2 logarithm for. -- * @return (unsigned int) floor(log2(val)) if val > 0, 0 if val == 0. -- */ --static inline unsigned int --ilog2_64(uint64_t val) --{ -- unsigned int ret = 0; -- -- ILOG2_ITER_(val, ret, 5); -- ILOG2_ITER_(val, ret, 4); -- ILOG2_ITER_(val, ret, 3); -- ILOG2_ITER_(val, ret, 2); -- ILOG2_ITER_(val, ret, 1); -- ILOG2_ITER_(val, ret, 0); -- -- return ret; --} -- --#else /* SIZEOF_KERNEL_LONG_T == 4 */ -- --# define ilog2_klong ilog2_32 --/** -- * Calculate floor(log2(val)), with the exception of val == 0, for which 0 -- * is returned as well. -- * -- * @param val 32-bit value to calculate integer base-2 logarithm for. -- * @return (unsigned int) floor(log2(val)) if val > 0, 0 if val == 0. -- */ --static inline unsigned int --ilog2_32(uint32_t val) --{ -- unsigned int ret = 0; -- -- ILOG2_ITER_(val, ret, 4); -- ILOG2_ITER_(val, ret, 3); -- ILOG2_ITER_(val, ret, 2); -- ILOG2_ITER_(val, ret, 1); -- ILOG2_ITER_(val, ret, 0); -- -- return ret; --} -- --#endif /* SIZEOF_KERNEL_LONG_T */ -- --#undef ILOG2_ITER_ -- - void - dumpstr(struct tcb *const tcp, const kernel_ulong_t addr, - const kernel_ulong_t len) --- -2.1.4 - diff --git a/SOURCES/0122-tests-inject-nf.test-replace-getpid-with-geteuid.patch b/SOURCES/0122-tests-inject-nf.test-replace-getpid-with-geteuid.patch deleted file mode 100644 index 1b15526..0000000 --- a/SOURCES/0122-tests-inject-nf.test-replace-getpid-with-geteuid.patch +++ /dev/null @@ -1,235 +0,0 @@ -From c5be5bb949988c262012e7f4763b1d658c1769b9 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?=C3=81kos=20Uzonyi?= -Date: Fri, 19 Jun 2020 12:06:42 +0200 -Subject: [PATCH 122/138] tests/inject-nf.test: replace getpid with geteuid - -Since we treat PIDs as signed integers, large values (>=2^31) will -cause overflow when we use printpid. -UIDs are treated as unsigned integers, so geteuid is a good alternative. -(getuid would be problematic, as it does not exists on alpha). -Also, on systems where geteuid32 exists, geteuid returns maximum 16 bit -values, so we have to use geteuid32 in this case. - -[ldv: geteuid syscall was introduced on Alpha by Linux kernel commit -v5.1-rc1~160^2~3^2~1, so this test will not work on old Alpha kernels.] - -* tests/inject-nf.c: Replace getpid with either geteuid32 or geteuid. -[__alpha__]: Remove. -[__NR_geteuid32]: New condition. -* tests/inject-nf.test (SYSCALL): Replace getpid with '/^geteuid(32)?$'. -Remove alpha workaround. ---- - tests/inject-nf.c | 20 +++++++++----------- - tests/inject-nf.test | 9 +-------- - 2 files changed, 10 insertions(+), 19 deletions(-) - -Index: strace-5.7/tests/inject-nf.c -=================================================================== ---- strace-5.7.orig/tests/inject-nf.c 2020-09-09 14:50:44.159739392 +0200 -+++ strace-5.7/tests/inject-nf.c 2020-09-09 14:56:17.193937896 +0200 -@@ -16,28 +16,26 @@ - - #include "raw_syscall.h" - --#ifdef __alpha__ --/* alpha has no getpid */ --# define SC_NR __NR_getpgrp --# define SC_NAME "getpgrp" --# define getpid getpgrp -+#ifdef __NR_geteuid32 -+# define SC_NR __NR_geteuid32 -+# define SC_NAME "geteuid32" - #else --# define SC_NR __NR_getpid --# define SC_NAME "getpid" -+# define SC_NR __NR_geteuid -+# define SC_NAME "geteuid" - #endif - - #ifdef raw_syscall_0 - # define INVOKE_SC(err) raw_syscall_0(SC_NR, &err) - #else --/* No raw_syscall_0, let's use getpid() and hope for the best. */ --# define INVOKE_SC(err) getpid() -+/* No raw_syscall_0, let's use geteuid() and hope for the best. */ -+# define INVOKE_SC(err) geteuid() - #endif - - /* - * This prototype is intentionally different - * from the prototype provided by . - */ --extern kernel_ulong_t getpid(void); -+extern kernel_ulong_t geteuid(void); - - int - main(int ac, char **av) -@@ -45,7 +43,7 @@ - assert(ac == 1 || ac == 2); - - kernel_ulong_t expected = -- (ac == 1) ? getpid() : strtoull(av[1], NULL, 0); -+ (ac == 1) ? geteuid() : strtoull(av[1], NULL, 0); - kernel_ulong_t err = 0; - kernel_ulong_t rc = INVOKE_SC(err); - -Index: strace-5.7/tests/inject-nf.test -=================================================================== ---- strace-5.7.orig/tests/inject-nf.test 2020-09-09 14:50:44.159739392 +0200 -+++ strace-5.7/tests/inject-nf.test 2020-09-09 14:56:17.194937896 +0200 -@@ -9,14 +9,7 @@ - - . "${srcdir=.}/scno_tampering.sh" - --case "$STRACE_ARCH" in --alpha) -- SYSCALL=getpgrp -- ;; --*) -- SYSCALL=getpid -- ;; --esac -+SYSCALL='/^geteuid(32)?$' - - run_prog - prog="$args" -Index: strace-5.7/tests-m32/inject-nf.c -=================================================================== ---- strace-5.7.orig/tests-m32/inject-nf.c 2019-09-25 03:02:03.000000000 +0200 -+++ strace-5.7/tests-m32/inject-nf.c 2020-09-09 14:58:03.687001371 +0200 -@@ -16,28 +16,26 @@ - - #include "raw_syscall.h" - --#ifdef __alpha__ --/* alpha has no getpid */ --# define SC_NR __NR_getpgrp --# define SC_NAME "getpgrp" --# define getpid getpgrp -+#ifdef __NR_geteuid32 -+# define SC_NR __NR_geteuid32 -+# define SC_NAME "geteuid32" - #else --# define SC_NR __NR_getpid --# define SC_NAME "getpid" -+# define SC_NR __NR_geteuid -+# define SC_NAME "geteuid" - #endif - - #ifdef raw_syscall_0 - # define INVOKE_SC(err) raw_syscall_0(SC_NR, &err) - #else --/* No raw_syscall_0, let's use getpid() and hope for the best. */ --# define INVOKE_SC(err) getpid() -+/* No raw_syscall_0, let's use geteuid() and hope for the best. */ -+# define INVOKE_SC(err) geteuid() - #endif - - /* - * This prototype is intentionally different - * from the prototype provided by . - */ --extern kernel_ulong_t getpid(void); -+extern kernel_ulong_t geteuid(void); - - int - main(int ac, char **av) -@@ -45,7 +43,7 @@ - assert(ac == 1 || ac == 2); - - kernel_ulong_t expected = -- (ac == 1) ? getpid() : strtoull(av[1], NULL, 0); -+ (ac == 1) ? geteuid() : strtoull(av[1], NULL, 0); - kernel_ulong_t err = 0; - kernel_ulong_t rc = INVOKE_SC(err); - -Index: strace-5.7/tests-m32/inject-nf.test -=================================================================== ---- strace-5.7.orig/tests-m32/inject-nf.test 2018-12-25 00:46:43.000000000 +0100 -+++ strace-5.7/tests-m32/inject-nf.test 2020-09-09 14:58:03.727001394 +0200 -@@ -9,14 +9,7 @@ - - . "${srcdir=.}/scno_tampering.sh" - --case "$STRACE_ARCH" in --alpha) -- SYSCALL=getpgrp -- ;; --*) -- SYSCALL=getpid -- ;; --esac -+SYSCALL='/^geteuid(32)?$' - - run_prog - prog="$args" -Index: strace-5.7/tests-mx32/inject-nf.c -=================================================================== ---- strace-5.7.orig/tests-mx32/inject-nf.c 2019-09-25 03:02:03.000000000 +0200 -+++ strace-5.7/tests-mx32/inject-nf.c 2020-09-09 14:58:03.708001383 +0200 -@@ -16,28 +16,26 @@ - - #include "raw_syscall.h" - --#ifdef __alpha__ --/* alpha has no getpid */ --# define SC_NR __NR_getpgrp --# define SC_NAME "getpgrp" --# define getpid getpgrp -+#ifdef __NR_geteuid32 -+# define SC_NR __NR_geteuid32 -+# define SC_NAME "geteuid32" - #else --# define SC_NR __NR_getpid --# define SC_NAME "getpid" -+# define SC_NR __NR_geteuid -+# define SC_NAME "geteuid" - #endif - - #ifdef raw_syscall_0 - # define INVOKE_SC(err) raw_syscall_0(SC_NR, &err) - #else --/* No raw_syscall_0, let's use getpid() and hope for the best. */ --# define INVOKE_SC(err) getpid() -+/* No raw_syscall_0, let's use geteuid() and hope for the best. */ -+# define INVOKE_SC(err) geteuid() - #endif - - /* - * This prototype is intentionally different - * from the prototype provided by . - */ --extern kernel_ulong_t getpid(void); -+extern kernel_ulong_t geteuid(void); - - int - main(int ac, char **av) -@@ -45,7 +43,7 @@ - assert(ac == 1 || ac == 2); - - kernel_ulong_t expected = -- (ac == 1) ? getpid() : strtoull(av[1], NULL, 0); -+ (ac == 1) ? geteuid() : strtoull(av[1], NULL, 0); - kernel_ulong_t err = 0; - kernel_ulong_t rc = INVOKE_SC(err); - -Index: strace-5.7/tests-mx32/inject-nf.test -=================================================================== ---- strace-5.7.orig/tests-mx32/inject-nf.test 2018-12-25 00:46:43.000000000 +0100 -+++ strace-5.7/tests-mx32/inject-nf.test 2020-09-09 14:58:03.750001408 +0200 -@@ -9,14 +9,7 @@ - - . "${srcdir=.}/scno_tampering.sh" - --case "$STRACE_ARCH" in --alpha) -- SYSCALL=getpgrp -- ;; --*) -- SYSCALL=getpid -- ;; --esac -+SYSCALL='/^geteuid(32)?$' - - run_prog - prog="$args" diff --git a/SOURCES/0123-fcntl-use-print_fields.h-macros.patch b/SOURCES/0123-fcntl-use-print_fields.h-macros.patch deleted file mode 100644 index 9f4d96a..0000000 --- a/SOURCES/0123-fcntl-use-print_fields.h-macros.patch +++ /dev/null @@ -1,60 +0,0 @@ -From eba856eb0246ce2a2ba99d68611da1af7814080e Mon Sep 17 00:00:00 2001 -From: "Dmitry V. Levin" -Date: Mon, 13 Jul 2020 08:00:00 +0000 -Subject: [PATCH 123/138] fcntl: use print_fields.h macros - -* fcntl.c: Include "print_fields.h". -(print_struct_flock64, print_f_owner_ex): Use PRINT_FIELD_* macros -from print_fields.h. ---- - fcntl.c | 19 +++++++++---------- - 1 file changed, 9 insertions(+), 10 deletions(-) - -diff --git a/fcntl.c b/fcntl.c -index 0b4221c..e84549e 100644 ---- a/fcntl.c -+++ b/fcntl.c -@@ -11,6 +11,7 @@ - - #include "defs.h" - #include "flock.h" -+#include "print_fields.h" - - #include "xlat/f_owner_types.h" - #include "xlat/f_seals.h" -@@ -22,14 +23,12 @@ - static void - print_struct_flock64(const struct_kernel_flock64 *fl, const int getlk) - { -- tprints("{l_type="); -- printxval(lockfcmds, (unsigned short) fl->l_type, "F_???"); -- tprints(", l_whence="); -- printxval(whence_codes, (unsigned short) fl->l_whence, "SEEK_???"); -- tprintf(", l_start=%" PRId64 ", l_len=%" PRId64, -- (int64_t) fl->l_start, (int64_t) fl->l_len); -+ PRINT_FIELD_XVAL("{", *fl, l_type, lockfcmds, "F_???"); -+ PRINT_FIELD_XVAL(", ", *fl, l_whence, whence_codes, "SEEK_???"); -+ PRINT_FIELD_D(", ", *fl, l_start); -+ PRINT_FIELD_D(", ", *fl, l_len); - if (getlk) -- tprintf(", l_pid=%lu", (unsigned long) fl->l_pid); -+ PRINT_FIELD_D(", ", *fl, l_pid); - tprints("}"); - } - -@@ -59,9 +58,9 @@ print_f_owner_ex(struct tcb *const tcp, const kernel_ulong_t addr) - if (umove_or_printaddr(tcp, addr, &owner)) - return; - -- tprints("{type="); -- printxval(f_owner_types, owner.type, "F_OWNER_???"); -- tprintf(", pid=%d}", owner.pid); -+ PRINT_FIELD_XVAL("{", owner, type, f_owner_types, "F_OWNER_???"); -+ PRINT_FIELD_D(", ", owner, pid); -+ tprints("}"); - } - - static int --- -2.1.4 - diff --git a/SOURCES/0124-kcmp-fix-KCMP_FILE-decoding.patch b/SOURCES/0124-kcmp-fix-KCMP_FILE-decoding.patch deleted file mode 100644 index b15613f..0000000 --- a/SOURCES/0124-kcmp-fix-KCMP_FILE-decoding.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 86923d3a0a01c520ea25d22587143ad6b8dab18b Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?=C3=81kos=20Uzonyi?= -Date: Sat, 13 Jun 2020 18:18:28 +0200 -Subject: [PATCH 124/138] kcmp: fix KCMP_FILE decoding - -* kcmp.c (SYS_FUNC(kcmp)): Fix KCMP_FILE pid arguments. - -Fixes: v4.20~66 ("kcmp: output fds using a separate function") ---- - kcmp.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/kcmp.c b/kcmp.c -index 6819265..6211555 100644 ---- a/kcmp.c -+++ b/kcmp.c -@@ -38,7 +38,7 @@ SYS_FUNC(kcmp) - tprints(", "); - printfd_pid_tracee_ns(tcp, pid1, idx1); - tprints(", "); -- printfd_pid_tracee_ns(tcp, pid1, idx2); -+ printfd_pid_tracee_ns(tcp, pid2, idx2); - - break; - --- -2.1.4 - diff --git a/SOURCES/0125-printsiginfo-fix-printing-of-siginfo_t.si_pid-and-si.patch b/SOURCES/0125-printsiginfo-fix-printing-of-siginfo_t.si_pid-and-si.patch deleted file mode 100644 index 6ec6f26..0000000 --- a/SOURCES/0125-printsiginfo-fix-printing-of-siginfo_t.si_pid-and-si.patch +++ /dev/null @@ -1,518 +0,0 @@ -From 56a29d0e192b119c101146e2197246f51661b6b5 Mon Sep 17 00:00:00 2001 -From: "Dmitry V. Levin" -Date: Fri, 17 Jul 2020 08:00:00 +0000 -Subject: [PATCH 125/138] printsiginfo: fix printing of siginfo_t.si_pid and - siginfo_t.si_uid - -* printsiginfo.c (printsigsource): Print siginfo_t.si_pid using -PRINT_FIELD_D, print siginfo_t.si_uid using PRINT_FIELD_UID. -* tests/clone_ptrace.c (main): Update expected output. -* tests/orphaned_process_group.c (main): Likewise. -* tests/pidfd_send_signal.c (main): Likewise. -* tests/ptrace.c (test_peeksiginfo): Likewise. -* tests/rt_sigqueueinfo.c (main): Likewise. -* tests/rt_tgsigqueueinfo.c (main): Likewise. -* tests/siginfo.c (main): Likewise. -* tests/waitid.c (sprint_siginfo): Likewise. ---- - printsiginfo.c | 5 ++--- - tests/clone_ptrace.c | 2 +- - tests/orphaned_process_group.c | 2 +- - tests/pidfd_send_signal.c | 2 +- - tests/ptrace.c | 12 ++++++------ - tests/rt_sigqueueinfo.c | 2 +- - tests/rt_tgsigqueueinfo.c | 4 ++-- - tests/siginfo.c | 10 +++++----- - tests/waitid.c | 4 ++-- - 9 files changed, 21 insertions(+), 22 deletions(-) - -Index: strace-5.7/printsiginfo.c -=================================================================== ---- strace-5.7.orig/printsiginfo.c 2020-09-09 14:50:44.013739305 +0200 -+++ strace-5.7/printsiginfo.c 2020-09-09 14:58:30.753017503 +0200 -@@ -58,9 +58,8 @@ - static void - printsigsource(const siginfo_t *sip) - { -- tprintf(", si_pid=%u, si_uid=%u", -- (unsigned int) sip->si_pid, -- (unsigned int) sip->si_uid); -+ PRINT_FIELD_D(", ", *sip, si_pid); -+ PRINT_FIELD_UID(", ", *sip, si_uid); - } - - static void -Index: strace-5.7/tests/clone_ptrace.c -=================================================================== ---- strace-5.7.orig/tests/clone_ptrace.c 2020-09-09 14:50:44.013739305 +0200 -+++ strace-5.7/tests/clone_ptrace.c 2020-09-09 14:58:30.754017504 +0200 -@@ -96,7 +96,7 @@ - error_msg_and_fail("unexpected child exit status %d", status); - - printf("--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_KILLED, si_pid=%d" -- ", si_uid=%u, si_status=%s, si_utime=%u, si_stime=%u} ---\n" -+ ", si_uid=%d, si_status=%s, si_utime=%u, si_stime=%u} ---\n" - #if !QUIET_EXIT - "+++ exited with 0 +++\n" - #endif -Index: strace-5.7/tests/orphaned_process_group.c -=================================================================== ---- strace-5.7.orig/tests/orphaned_process_group.c 2020-09-09 14:50:44.013739305 +0200 -+++ strace-5.7/tests/orphaned_process_group.c 2020-09-09 14:58:30.754017504 +0200 -@@ -139,7 +139,7 @@ - */ - leader = getpid(); - printf("%-5d --- %s {si_signo=%s, si_code=SI_TKILL" -- ", si_pid=%d, si_uid=%u} ---\n", -+ ", si_pid=%d, si_uid=%d} ---\n", - stopped, "SIGSTOP", "SIGSTOP", stopped, geteuid()); - printf("%-5d --- stopped by SIGSTOP ---\n", stopped); - printf("%-5d +++ exited with 0 +++\n", leader); -Index: strace-5.7/tests/pidfd_send_signal.c -=================================================================== ---- strace-5.7.orig/tests/pidfd_send_signal.c 2020-09-09 14:50:44.013739305 +0200 -+++ strace-5.7/tests/pidfd_send_signal.c 2020-09-09 14:58:30.754017504 +0200 -@@ -54,7 +54,7 @@ - - sys_pidfd_send_signal(fd, SIGUSR2, si, -1); - printf("pidfd_send_signal(%d, SIGUSR2, {si_signo=SIGUSR1" -- ", si_code=SI_QUEUE, si_errno=%u, si_pid=%u, si_uid=%u" -+ ", si_code=SI_QUEUE, si_errno=%u, si_pid=%d, si_uid=%d" - ", si_value={int=%d, ptr=%p}}, %#x) = %s\n", - fd, si->si_errno, si->si_pid, si->si_uid, si->si_int, si->si_ptr, - -1U, errstr); -Index: strace-5.7/tests/ptrace.c -=================================================================== ---- strace-5.7.orig/tests/ptrace.c 2020-09-09 14:50:44.013739305 +0200 -+++ strace-5.7/tests/ptrace.c 2020-09-09 14:58:30.754017504 +0200 -@@ -127,16 +127,16 @@ - printf("ptrace(PTRACE_PEEKSIGINFO, %u" - ", {off=%llu, flags=0, nr=%u}" - ", [{si_signo=SIGUSR1, si_code=SI_TKILL" -- ", si_pid=%u, si_uid=%u}" -+ ", si_pid=%d, si_uid=%d}" - ", {si_signo=SIGUSR2, si_code=SI_TKILL" -- ", si_pid=%u, si_uid=%u}" -+ ", si_pid=%d, si_uid=%d}" - ", {si_signo=SIGALRM, si_code=SI_TKILL" -- ", si_pid=%u, si_uid=%u}" -+ ", si_pid=%d, si_uid=%d}" - "]) = %s\n", - (unsigned) pid, psi->off, psi->nr, -- (unsigned) pid, (unsigned) uid, -- (unsigned) pid, (unsigned) uid, -- (unsigned) pid, (unsigned) uid, -+ (int) pid, (int) uid, -+ (int) pid, (int) uid, -+ (int) pid, (int) uid, - errstr); - } - -Index: strace-5.7/tests/rt_sigqueueinfo.c -=================================================================== ---- strace-5.7.orig/tests/rt_sigqueueinfo.c 2020-09-09 14:50:44.013739305 +0200 -+++ strace-5.7/tests/rt_sigqueueinfo.c 2020-09-09 14:58:30.754017504 +0200 -@@ -27,7 +27,7 @@ - if (sigqueue(pid, SIGUSR1, value)) - perror_msg_and_skip("sigqueue"); - printf("rt_sigqueueinfo(%u, SIGUSR1, {si_signo=SIGUSR1, " -- "si_code=SI_QUEUE, si_pid=%u, si_uid=%u, " -+ "si_code=SI_QUEUE, si_pid=%d, si_uid=%d, " - "si_value={int=%d, ptr=%p}}) = 0\n", - pid, pid, getuid(), value.sival_int, value.sival_ptr); - printf("+++ exited with 0 +++\n"); -Index: strace-5.7/tests/rt_tgsigqueueinfo.c -=================================================================== ---- strace-5.7.orig/tests/rt_tgsigqueueinfo.c 2020-09-09 14:50:44.013739305 +0200 -+++ strace-5.7/tests/rt_tgsigqueueinfo.c 2020-09-09 14:58:30.755017504 +0200 -@@ -53,8 +53,8 @@ - "rt_tgsigqueueinfo"); - - printf("rt_tgsigqueueinfo(%u, %u, %s, {si_signo=%s" -- ", si_code=SI_QUEUE, si_errno=ENOENT, si_pid=%u" -- ", si_uid=%u, si_value={int=%d, ptr=%p}}) = 0\n", -+ ", si_code=SI_QUEUE, si_errno=ENOENT, si_pid=%d" -+ ", si_uid=%d, si_value={int=%d, ptr=%p}}) = 0\n", - info->si_pid, info->si_pid, "SIGUSR1", "SIGUSR1", - info->si_pid, info->si_uid, info->si_value.sival_int, - info->si_value.sival_ptr); -Index: strace-5.7/tests/siginfo.c -=================================================================== ---- strace-5.7.orig/tests/siginfo.c 2020-09-09 14:50:44.013739305 +0200 -+++ strace-5.7/tests/siginfo.c 2020-09-09 14:58:30.755017504 +0200 -@@ -63,7 +63,7 @@ - - sigsuspend(&unblock_mask); - tprintf("--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED" -- ", si_pid=%d, si_uid=%u, si_status=%d" -+ ", si_pid=%d, si_uid=%d, si_status=%d" - ", si_utime=%llu, si_stime=%llu} ---\n", - sinfo.si_pid, sinfo.si_uid, sinfo.si_status, - zero_extend_signed_to_ull(sinfo.si_utime), -@@ -94,7 +94,7 @@ - - sigsuspend(&unblock_mask); - tprintf("--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_KILLED" -- ", si_pid=%d, si_uid=%u, si_status=SIGUSR1" -+ ", si_pid=%d, si_uid=%d, si_status=SIGUSR1" - ", si_utime=%llu, si_stime=%llu} ---\n", - sinfo.si_pid, sinfo.si_uid, - zero_extend_signed_to_ull(sinfo.si_utime), -@@ -121,7 +121,7 @@ - - sigsuspend(&unblock_mask); - tprintf("--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_STOPPED" -- ", si_pid=%d, si_uid=%u, si_status=SIGSTOP" -+ ", si_pid=%d, si_uid=%d, si_status=SIGSTOP" - ", si_utime=%llu, si_stime=%llu} ---\n", - sinfo.si_pid, sinfo.si_uid, - zero_extend_signed_to_ull(sinfo.si_utime), -@@ -131,7 +131,7 @@ - - sigsuspend(&unblock_mask); - tprintf("--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_CONTINUED" -- ", si_pid=%d, si_uid=%u, si_status=SIGCONT" -+ ", si_pid=%d, si_uid=%d, si_status=SIGCONT" - ", si_utime=%llu, si_stime=%llu} ---\n", - sinfo.si_pid, sinfo.si_uid, - zero_extend_signed_to_ull(sinfo.si_utime), -@@ -142,7 +142,7 @@ - - sigsuspend(&unblock_mask); - tprintf("--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED" -- ", si_pid=%d, si_uid=%u, si_status=0" -+ ", si_pid=%d, si_uid=%d, si_status=0" - ", si_utime=%llu, si_stime=%llu} ---\n", - sinfo.si_pid, sinfo.si_uid, - zero_extend_signed_to_ull(sinfo.si_utime), -Index: strace-5.7/tests/waitid.c -=================================================================== ---- strace-5.7.orig/tests/waitid.c 2020-09-09 14:50:44.013739305 +0200 -+++ strace-5.7/tests/waitid.c 2020-09-09 14:58:30.755017504 +0200 -@@ -103,8 +103,8 @@ - snprintf(buf, sizeof(buf), - "{si_signo=SIGCHLD" - ", si_code=%s" -- ", si_pid=%u" -- ", si_uid=%u" -+ ", si_pid=%d" -+ ", si_uid=%d" - ", si_status=%s" - ", si_utime=%llu" - ", si_stime=%llu}", -Index: strace-5.7/tests-m32/clone_ptrace.c -=================================================================== ---- strace-5.7.orig/tests-m32/clone_ptrace.c 2020-04-04 00:58:26.000000000 +0200 -+++ strace-5.7/tests-m32/clone_ptrace.c 2020-09-09 14:59:06.931039067 +0200 -@@ -96,7 +96,7 @@ - error_msg_and_fail("unexpected child exit status %d", status); - - printf("--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_KILLED, si_pid=%d" -- ", si_uid=%u, si_status=%s, si_utime=%u, si_stime=%u} ---\n" -+ ", si_uid=%d, si_status=%s, si_utime=%u, si_stime=%u} ---\n" - #if !QUIET_EXIT - "+++ exited with 0 +++\n" - #endif -Index: strace-5.7/tests-m32/orphaned_process_group.c -=================================================================== ---- strace-5.7.orig/tests-m32/orphaned_process_group.c 2019-03-06 17:02:38.000000000 +0100 -+++ strace-5.7/tests-m32/orphaned_process_group.c 2020-09-09 14:59:07.012039115 +0200 -@@ -139,7 +139,7 @@ - */ - leader = getpid(); - printf("%-5d --- %s {si_signo=%s, si_code=SI_TKILL" -- ", si_pid=%d, si_uid=%u} ---\n", -+ ", si_pid=%d, si_uid=%d} ---\n", - stopped, "SIGSTOP", "SIGSTOP", stopped, geteuid()); - printf("%-5d --- stopped by SIGSTOP ---\n", stopped); - printf("%-5d +++ exited with 0 +++\n", leader); -Index: strace-5.7/tests-m32/pidfd_send_signal.c -=================================================================== ---- strace-5.7.orig/tests-m32/pidfd_send_signal.c 2019-08-14 13:22:32.000000000 +0200 -+++ strace-5.7/tests-m32/pidfd_send_signal.c 2020-09-09 14:59:07.077039154 +0200 -@@ -54,7 +54,7 @@ - - sys_pidfd_send_signal(fd, SIGUSR2, si, -1); - printf("pidfd_send_signal(%d, SIGUSR2, {si_signo=SIGUSR1" -- ", si_code=SI_QUEUE, si_errno=%u, si_pid=%u, si_uid=%u" -+ ", si_code=SI_QUEUE, si_errno=%u, si_pid=%d, si_uid=%d" - ", si_value={int=%d, ptr=%p}}, %#x) = %s\n", - fd, si->si_errno, si->si_pid, si->si_uid, si->si_int, si->si_ptr, - -1U, errstr); -Index: strace-5.7/tests-m32/ptrace.c -=================================================================== ---- strace-5.7.orig/tests-m32/ptrace.c 2019-09-25 03:02:03.000000000 +0200 -+++ strace-5.7/tests-m32/ptrace.c 2020-09-09 14:59:07.142039193 +0200 -@@ -127,16 +127,16 @@ - printf("ptrace(PTRACE_PEEKSIGINFO, %u" - ", {off=%llu, flags=0, nr=%u}" - ", [{si_signo=SIGUSR1, si_code=SI_TKILL" -- ", si_pid=%u, si_uid=%u}" -+ ", si_pid=%d, si_uid=%d}" - ", {si_signo=SIGUSR2, si_code=SI_TKILL" -- ", si_pid=%u, si_uid=%u}" -+ ", si_pid=%d, si_uid=%d}" - ", {si_signo=SIGALRM, si_code=SI_TKILL" -- ", si_pid=%u, si_uid=%u}" -+ ", si_pid=%d, si_uid=%d}" - "]) = %s\n", - (unsigned) pid, psi->off, psi->nr, -- (unsigned) pid, (unsigned) uid, -- (unsigned) pid, (unsigned) uid, -- (unsigned) pid, (unsigned) uid, -+ (int) pid, (int) uid, -+ (int) pid, (int) uid, -+ (int) pid, (int) uid, - errstr); - } - -Index: strace-5.7/tests-m32/rt_sigqueueinfo.c -=================================================================== ---- strace-5.7.orig/tests-m32/rt_sigqueueinfo.c 2018-12-25 00:46:43.000000000 +0100 -+++ strace-5.7/tests-m32/rt_sigqueueinfo.c 2020-09-09 14:59:07.204039230 +0200 -@@ -27,7 +27,7 @@ - if (sigqueue(pid, SIGUSR1, value)) - perror_msg_and_skip("sigqueue"); - printf("rt_sigqueueinfo(%u, SIGUSR1, {si_signo=SIGUSR1, " -- "si_code=SI_QUEUE, si_pid=%u, si_uid=%u, " -+ "si_code=SI_QUEUE, si_pid=%d, si_uid=%d, " - "si_value={int=%d, ptr=%p}}) = 0\n", - pid, pid, getuid(), value.sival_int, value.sival_ptr); - printf("+++ exited with 0 +++\n"); -Index: strace-5.7/tests-m32/rt_tgsigqueueinfo.c -=================================================================== ---- strace-5.7.orig/tests-m32/rt_tgsigqueueinfo.c 2019-09-25 03:02:03.000000000 +0200 -+++ strace-5.7/tests-m32/rt_tgsigqueueinfo.c 2020-09-09 14:59:07.258039262 +0200 -@@ -53,8 +53,8 @@ - "rt_tgsigqueueinfo"); - - printf("rt_tgsigqueueinfo(%u, %u, %s, {si_signo=%s" -- ", si_code=SI_QUEUE, si_errno=ENOENT, si_pid=%u" -- ", si_uid=%u, si_value={int=%d, ptr=%p}}) = 0\n", -+ ", si_code=SI_QUEUE, si_errno=ENOENT, si_pid=%d" -+ ", si_uid=%d, si_value={int=%d, ptr=%p}}) = 0\n", - info->si_pid, info->si_pid, "SIGUSR1", "SIGUSR1", - info->si_pid, info->si_uid, info->si_value.sival_int, - info->si_value.sival_ptr); -Index: strace-5.7/tests-m32/siginfo.c -=================================================================== ---- strace-5.7.orig/tests-m32/siginfo.c 2018-12-25 00:46:43.000000000 +0100 -+++ strace-5.7/tests-m32/siginfo.c 2020-09-09 14:59:07.311039293 +0200 -@@ -63,7 +63,7 @@ - - sigsuspend(&unblock_mask); - tprintf("--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED" -- ", si_pid=%d, si_uid=%u, si_status=%d" -+ ", si_pid=%d, si_uid=%d, si_status=%d" - ", si_utime=%llu, si_stime=%llu} ---\n", - sinfo.si_pid, sinfo.si_uid, sinfo.si_status, - zero_extend_signed_to_ull(sinfo.si_utime), -@@ -94,7 +94,7 @@ - - sigsuspend(&unblock_mask); - tprintf("--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_KILLED" -- ", si_pid=%d, si_uid=%u, si_status=SIGUSR1" -+ ", si_pid=%d, si_uid=%d, si_status=SIGUSR1" - ", si_utime=%llu, si_stime=%llu} ---\n", - sinfo.si_pid, sinfo.si_uid, - zero_extend_signed_to_ull(sinfo.si_utime), -@@ -121,7 +121,7 @@ - - sigsuspend(&unblock_mask); - tprintf("--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_STOPPED" -- ", si_pid=%d, si_uid=%u, si_status=SIGSTOP" -+ ", si_pid=%d, si_uid=%d, si_status=SIGSTOP" - ", si_utime=%llu, si_stime=%llu} ---\n", - sinfo.si_pid, sinfo.si_uid, - zero_extend_signed_to_ull(sinfo.si_utime), -@@ -131,7 +131,7 @@ - - sigsuspend(&unblock_mask); - tprintf("--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_CONTINUED" -- ", si_pid=%d, si_uid=%u, si_status=SIGCONT" -+ ", si_pid=%d, si_uid=%d, si_status=SIGCONT" - ", si_utime=%llu, si_stime=%llu} ---\n", - sinfo.si_pid, sinfo.si_uid, - zero_extend_signed_to_ull(sinfo.si_utime), -@@ -142,7 +142,7 @@ - - sigsuspend(&unblock_mask); - tprintf("--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED" -- ", si_pid=%d, si_uid=%u, si_status=0" -+ ", si_pid=%d, si_uid=%d, si_status=0" - ", si_utime=%llu, si_stime=%llu} ---\n", - sinfo.si_pid, sinfo.si_uid, - zero_extend_signed_to_ull(sinfo.si_utime), -Index: strace-5.7/tests-m32/waitid.c -=================================================================== ---- strace-5.7.orig/tests-m32/waitid.c 2020-04-19 03:22:29.000000000 +0200 -+++ strace-5.7/tests-m32/waitid.c 2020-09-09 14:59:07.371039329 +0200 -@@ -103,8 +103,8 @@ - snprintf(buf, sizeof(buf), - "{si_signo=SIGCHLD" - ", si_code=%s" -- ", si_pid=%u" -- ", si_uid=%u" -+ ", si_pid=%d" -+ ", si_uid=%d" - ", si_status=%s" - ", si_utime=%llu" - ", si_stime=%llu}", -Index: strace-5.7/tests-mx32/clone_ptrace.c -=================================================================== ---- strace-5.7.orig/tests-mx32/clone_ptrace.c 2020-04-04 00:58:26.000000000 +0200 -+++ strace-5.7/tests-mx32/clone_ptrace.c 2020-09-09 14:59:06.978039095 +0200 -@@ -96,7 +96,7 @@ - error_msg_and_fail("unexpected child exit status %d", status); - - printf("--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_KILLED, si_pid=%d" -- ", si_uid=%u, si_status=%s, si_utime=%u, si_stime=%u} ---\n" -+ ", si_uid=%d, si_status=%s, si_utime=%u, si_stime=%u} ---\n" - #if !QUIET_EXIT - "+++ exited with 0 +++\n" - #endif -Index: strace-5.7/tests-mx32/orphaned_process_group.c -=================================================================== ---- strace-5.7.orig/tests-mx32/orphaned_process_group.c 2019-03-06 17:02:38.000000000 +0100 -+++ strace-5.7/tests-mx32/orphaned_process_group.c 2020-09-09 14:59:07.046039135 +0200 -@@ -139,7 +139,7 @@ - */ - leader = getpid(); - printf("%-5d --- %s {si_signo=%s, si_code=SI_TKILL" -- ", si_pid=%d, si_uid=%u} ---\n", -+ ", si_pid=%d, si_uid=%d} ---\n", - stopped, "SIGSTOP", "SIGSTOP", stopped, geteuid()); - printf("%-5d --- stopped by SIGSTOP ---\n", stopped); - printf("%-5d +++ exited with 0 +++\n", leader); -Index: strace-5.7/tests-mx32/pidfd_send_signal.c -=================================================================== ---- strace-5.7.orig/tests-mx32/pidfd_send_signal.c 2019-08-14 13:22:32.000000000 +0200 -+++ strace-5.7/tests-mx32/pidfd_send_signal.c 2020-09-09 14:59:07.110039174 +0200 -@@ -54,7 +54,7 @@ - - sys_pidfd_send_signal(fd, SIGUSR2, si, -1); - printf("pidfd_send_signal(%d, SIGUSR2, {si_signo=SIGUSR1" -- ", si_code=SI_QUEUE, si_errno=%u, si_pid=%u, si_uid=%u" -+ ", si_code=SI_QUEUE, si_errno=%u, si_pid=%d, si_uid=%d" - ", si_value={int=%d, ptr=%p}}, %#x) = %s\n", - fd, si->si_errno, si->si_pid, si->si_uid, si->si_int, si->si_ptr, - -1U, errstr); -Index: strace-5.7/tests-mx32/ptrace.c -=================================================================== ---- strace-5.7.orig/tests-mx32/ptrace.c 2019-09-25 03:02:03.000000000 +0200 -+++ strace-5.7/tests-mx32/ptrace.c 2020-09-09 14:59:07.174039212 +0200 -@@ -127,16 +127,16 @@ - printf("ptrace(PTRACE_PEEKSIGINFO, %u" - ", {off=%llu, flags=0, nr=%u}" - ", [{si_signo=SIGUSR1, si_code=SI_TKILL" -- ", si_pid=%u, si_uid=%u}" -+ ", si_pid=%d, si_uid=%d}" - ", {si_signo=SIGUSR2, si_code=SI_TKILL" -- ", si_pid=%u, si_uid=%u}" -+ ", si_pid=%d, si_uid=%d}" - ", {si_signo=SIGALRM, si_code=SI_TKILL" -- ", si_pid=%u, si_uid=%u}" -+ ", si_pid=%d, si_uid=%d}" - "]) = %s\n", - (unsigned) pid, psi->off, psi->nr, -- (unsigned) pid, (unsigned) uid, -- (unsigned) pid, (unsigned) uid, -- (unsigned) pid, (unsigned) uid, -+ (int) pid, (int) uid, -+ (int) pid, (int) uid, -+ (int) pid, (int) uid, - errstr); - } - -Index: strace-5.7/tests-mx32/rt_sigqueueinfo.c -=================================================================== ---- strace-5.7.orig/tests-mx32/rt_sigqueueinfo.c 2018-12-25 00:46:43.000000000 +0100 -+++ strace-5.7/tests-mx32/rt_sigqueueinfo.c 2020-09-09 14:59:07.232039246 +0200 -@@ -27,7 +27,7 @@ - if (sigqueue(pid, SIGUSR1, value)) - perror_msg_and_skip("sigqueue"); - printf("rt_sigqueueinfo(%u, SIGUSR1, {si_signo=SIGUSR1, " -- "si_code=SI_QUEUE, si_pid=%u, si_uid=%u, " -+ "si_code=SI_QUEUE, si_pid=%d, si_uid=%d, " - "si_value={int=%d, ptr=%p}}) = 0\n", - pid, pid, getuid(), value.sival_int, value.sival_ptr); - printf("+++ exited with 0 +++\n"); -Index: strace-5.7/tests-mx32/rt_tgsigqueueinfo.c -=================================================================== ---- strace-5.7.orig/tests-mx32/rt_tgsigqueueinfo.c 2019-09-25 03:02:03.000000000 +0200 -+++ strace-5.7/tests-mx32/rt_tgsigqueueinfo.c 2020-09-09 14:59:07.284039277 +0200 -@@ -53,8 +53,8 @@ - "rt_tgsigqueueinfo"); - - printf("rt_tgsigqueueinfo(%u, %u, %s, {si_signo=%s" -- ", si_code=SI_QUEUE, si_errno=ENOENT, si_pid=%u" -- ", si_uid=%u, si_value={int=%d, ptr=%p}}) = 0\n", -+ ", si_code=SI_QUEUE, si_errno=ENOENT, si_pid=%d" -+ ", si_uid=%d, si_value={int=%d, ptr=%p}}) = 0\n", - info->si_pid, info->si_pid, "SIGUSR1", "SIGUSR1", - info->si_pid, info->si_uid, info->si_value.sival_int, - info->si_value.sival_ptr); -Index: strace-5.7/tests-mx32/siginfo.c -=================================================================== ---- strace-5.7.orig/tests-mx32/siginfo.c 2018-12-25 00:46:43.000000000 +0100 -+++ strace-5.7/tests-mx32/siginfo.c 2020-09-09 14:59:07.338039310 +0200 -@@ -63,7 +63,7 @@ - - sigsuspend(&unblock_mask); - tprintf("--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED" -- ", si_pid=%d, si_uid=%u, si_status=%d" -+ ", si_pid=%d, si_uid=%d, si_status=%d" - ", si_utime=%llu, si_stime=%llu} ---\n", - sinfo.si_pid, sinfo.si_uid, sinfo.si_status, - zero_extend_signed_to_ull(sinfo.si_utime), -@@ -94,7 +94,7 @@ - - sigsuspend(&unblock_mask); - tprintf("--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_KILLED" -- ", si_pid=%d, si_uid=%u, si_status=SIGUSR1" -+ ", si_pid=%d, si_uid=%d, si_status=SIGUSR1" - ", si_utime=%llu, si_stime=%llu} ---\n", - sinfo.si_pid, sinfo.si_uid, - zero_extend_signed_to_ull(sinfo.si_utime), -@@ -121,7 +121,7 @@ - - sigsuspend(&unblock_mask); - tprintf("--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_STOPPED" -- ", si_pid=%d, si_uid=%u, si_status=SIGSTOP" -+ ", si_pid=%d, si_uid=%d, si_status=SIGSTOP" - ", si_utime=%llu, si_stime=%llu} ---\n", - sinfo.si_pid, sinfo.si_uid, - zero_extend_signed_to_ull(sinfo.si_utime), -@@ -131,7 +131,7 @@ - - sigsuspend(&unblock_mask); - tprintf("--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_CONTINUED" -- ", si_pid=%d, si_uid=%u, si_status=SIGCONT" -+ ", si_pid=%d, si_uid=%d, si_status=SIGCONT" - ", si_utime=%llu, si_stime=%llu} ---\n", - sinfo.si_pid, sinfo.si_uid, - zero_extend_signed_to_ull(sinfo.si_utime), -@@ -142,7 +142,7 @@ - - sigsuspend(&unblock_mask); - tprintf("--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED" -- ", si_pid=%d, si_uid=%u, si_status=0" -+ ", si_pid=%d, si_uid=%d, si_status=0" - ", si_utime=%llu, si_stime=%llu} ---\n", - sinfo.si_pid, sinfo.si_uid, - zero_extend_signed_to_ull(sinfo.si_utime), -Index: strace-5.7/tests-mx32/waitid.c -=================================================================== ---- strace-5.7.orig/tests-mx32/waitid.c 2020-04-19 03:22:29.000000000 +0200 -+++ strace-5.7/tests-mx32/waitid.c 2020-09-09 14:59:07.398039345 +0200 -@@ -103,8 +103,8 @@ - snprintf(buf, sizeof(buf), - "{si_signo=SIGCHLD" - ", si_code=%s" -- ", si_pid=%u" -- ", si_uid=%u" -+ ", si_pid=%d" -+ ", si_uid=%d" - ", si_status=%s" - ", si_utime=%llu" - ", si_stime=%llu}", diff --git a/SOURCES/0126-Use-PRINT_FIELD_UID-instead-of-printuid-where-approp.patch b/SOURCES/0126-Use-PRINT_FIELD_UID-instead-of-printuid-where-approp.patch deleted file mode 100644 index 16d23fd..0000000 --- a/SOURCES/0126-Use-PRINT_FIELD_UID-instead-of-printuid-where-approp.patch +++ /dev/null @@ -1,105 +0,0 @@ -From 64d04198d3c64756ae8a51646b6eac3dff419cb6 Mon Sep 17 00:00:00 2001 -From: "Dmitry V. Levin" -Date: Fri, 17 Jul 2020 08:00:00 +0000 -Subject: [PATCH 126/138] Use PRINT_FIELD_UID instead of printuid where - appropriate - -* ipc_msgctl.c: Include "print_fields.h". -(print_msqid_ds): Use PRINT_FIELD_UID instead of printuid. -* ipc_shmctl.c: Include "print_fields.h". -(print_shmid_ds): Use PRINT_FIELD_UID instead of printuid. -* statx.c (SYS_FUNC(statx)): Use PRINT_FIELD_UID instead of printuid. ---- - ipc_msgctl.c | 10 +++++----- - ipc_shmctl.c | 10 +++++----- - statx.c | 4 ++-- - 3 files changed, 12 insertions(+), 12 deletions(-) - -diff --git a/ipc_msgctl.c b/ipc_msgctl.c -index 92eda11..920ed72 100644 ---- a/ipc_msgctl.c -+++ b/ipc_msgctl.c -@@ -22,6 +22,7 @@ typedef struct NAME_OF_STRUCT_MSQID_DS msqid_ds_t; - - #include MPERS_DEFS - -+#include "print_fields.h" - #include "xlat/msgctl_flags.h" - - static void -@@ -37,9 +38,8 @@ print_msqid_ds(struct tcb *const tcp, const kernel_ulong_t addr, int cmd) - if (umove_or_printaddr(tcp, addr, &msqid_ds)) - return; - -- tprints("{msg_perm={"); -- printuid("uid=", msqid_ds.msg_perm.uid); -- printuid(", gid=", msqid_ds.msg_perm.gid); -+ PRINT_FIELD_UID("{msg_perm={", msqid_ds.msg_perm, uid); -+ PRINT_FIELD_UID(", ", msqid_ds.msg_perm, gid); - tprints(", mode="); - print_numeric_umode_t(msqid_ds.msg_perm.mode); - -@@ -50,8 +50,8 @@ print_msqid_ds(struct tcb *const tcp, const kernel_ulong_t addr, int cmd) - - tprintf(", key=%u", - (unsigned) msqid_ds.msg_perm.NAME_OF_STRUCT_IPC_PERM_KEY); -- printuid(", cuid=", msqid_ds.msg_perm.cuid); -- printuid(", cgid=", msqid_ds.msg_perm.cgid); -+ PRINT_FIELD_UID(", ", msqid_ds.msg_perm, cuid); -+ PRINT_FIELD_UID(", ", msqid_ds.msg_perm, cgid); - tprints("}"); - tprintf(", msg_stime=%u", (unsigned) msqid_ds.msg_stime); - tprintf(", msg_rtime=%u", (unsigned) msqid_ds.msg_rtime); -diff --git a/ipc_shmctl.c b/ipc_shmctl.c -index 0fb584e..83e36f3 100644 ---- a/ipc_shmctl.c -+++ b/ipc_shmctl.c -@@ -22,6 +22,7 @@ typedef struct NAME_OF_STRUCT_SHMID_DS shmid_ds_t; - - #include MPERS_DEFS - -+#include "print_fields.h" - #include "xlat/shmctl_flags.h" - - static void -@@ -37,9 +38,8 @@ print_shmid_ds(struct tcb *const tcp, const kernel_ulong_t addr, int cmd) - if (umove_or_printaddr(tcp, addr, &shmid_ds)) - return; - -- tprints("{shm_perm={"); -- printuid("uid=", shmid_ds.shm_perm.uid); -- printuid(", gid=", shmid_ds.shm_perm.gid); -+ PRINT_FIELD_UID("{shm_perm={", shmid_ds.shm_perm, uid); -+ PRINT_FIELD_UID(", ", shmid_ds.shm_perm, gid); - tprints(", mode="); - print_numeric_umode_t(shmid_ds.shm_perm.mode); - -@@ -50,8 +50,8 @@ print_shmid_ds(struct tcb *const tcp, const kernel_ulong_t addr, int cmd) - - tprintf(", key=%u", - (unsigned) shmid_ds.shm_perm.NAME_OF_STRUCT_IPC_PERM_KEY); -- printuid(", cuid=", shmid_ds.shm_perm.cuid); -- printuid(", cgid=", shmid_ds.shm_perm.cgid); -+ PRINT_FIELD_UID(", ", shmid_ds.shm_perm, cuid); -+ PRINT_FIELD_UID(", ", shmid_ds.shm_perm, cgid); - tprints("}"); - tprintf(", shm_segsz=%u", (unsigned) shmid_ds.shm_segsz); - tprintf(", shm_cpid=%u", (unsigned) shmid_ds.shm_cpid); -diff --git a/statx.c b/statx.c -index 54b6d7c..7b00b8e 100644 ---- a/statx.c -+++ b/statx.c -@@ -60,8 +60,8 @@ SYS_FUNC(statx) - - if (!abbrev(tcp)) { - PRINT_FIELD_U(", ", stx, stx_nlink); -- printuid(", stx_uid=", stx.stx_uid); -- printuid(", stx_gid=", stx.stx_gid); -+ PRINT_FIELD_UID(", ", stx, stx_uid); -+ PRINT_FIELD_UID(", ", stx, stx_gid); - } - - tprints(", stx_mode="); --- -2.1.4 - diff --git a/SOURCES/0127-Consistently-print-process-ids-as-signed-integers.patch b/SOURCES/0127-Consistently-print-process-ids-as-signed-integers.patch deleted file mode 100644 index c93332f..0000000 --- a/SOURCES/0127-Consistently-print-process-ids-as-signed-integers.patch +++ /dev/null @@ -1,525 +0,0 @@ -From edf6f95bd19f5ce7ac0ef62f923cd17fb6052f51 Mon Sep 17 00:00:00 2001 -From: "Dmitry V. Levin" -Date: Sat, 18 Jul 2020 08:00:00 +0000 -Subject: [PATCH 127/138] Consistently print process ids as signed integers - -* block.c (block_ioctl): Print struct_blk_user_trace_setup.pid using -PRINT_FIELD_D instead of PRINT_FIELD_U. -* bpf.c (BPF_TASK_FD_QUERY): Print task_fd_query.pid using PRINT_FIELD_D -instead of PRINT_FIELD_U. -* ipc_msgctl.c (print_msqid_ds): Print msqid_ds.msg_lspid -and msqid_ds.msg_lrpid using PRINT_FIELD_D. -* ipc_shmctl.c (print_shmid_ds): Print shmid_ds.shm_cpid and shm_lpid -using PRINT_FIELD_D. -* msghdr.c (print_scm_creds): Print ucred.pid using PRINT_FIELD_D -instead of PRINT_FIELD_U. -* netlink.c (print_nlmsghdr): Print nlmsghdr.nlmsg_pid using %d format -instead of %u. -* tests/bpf.c (BPF_TASK_FD_QUERY_checks): Update expected output. -* tests/ioctl_block.c (main): Update expected output. -* tests/ipc_msg.c (main): Likewise. -* tests/ipc_shm.c (main): Likewise. -* tests/net-yy-netlink.c (main): Likewise. -* tests/netlink_protocol.c (test_nlmsgerr): Likewise. ---- - block.c | 2 +- - bpf.c | 2 +- - ipc_msgctl.c | 4 ++-- - ipc_shmctl.c | 4 ++-- - msghdr.c | 2 +- - netlink.c | 2 +- - tests/bpf.c | 8 ++++---- - tests/ioctl_block.c | 2 +- - tests/ipc_msg.c | 6 +++--- - tests/ipc_shm.c | 8 ++++---- - tests/net-yy-netlink.c | 4 ++-- - tests/netlink_protocol.c | 4 ++-- - 12 files changed, 24 insertions(+), 24 deletions(-) - -Index: strace-5.7/block.c -=================================================================== ---- strace-5.7.orig/block.c 2020-09-09 14:50:43.878739225 +0200 -+++ strace-5.7/block.c 2020-09-09 14:59:14.715043707 +0200 -@@ -179,7 +179,7 @@ - PRINT_FIELD_U(", ", buts, buf_nr); - PRINT_FIELD_U(", ", buts, start_lba); - PRINT_FIELD_U(", ", buts, end_lba); -- PRINT_FIELD_U(", ", buts, pid); -+ PRINT_FIELD_D(", ", buts, pid); - return 0; - } else { - struct_blk_user_trace_setup buts; -Index: strace-5.7/bpf.c -=================================================================== ---- strace-5.7.orig/bpf.c 2020-09-09 14:50:43.878739225 +0200 -+++ strace-5.7/bpf.c 2020-09-09 14:59:14.715043707 +0200 -@@ -927,7 +927,7 @@ - if (entering(tcp)) { - set_tcb_priv_ulong(tcp, attr.buf_len); - -- PRINT_FIELD_U("{task_fd_query={", attr, pid); -+ PRINT_FIELD_D("{task_fd_query={", attr, pid); - PRINT_FIELD_FD(", ", attr, fd, tcp); - PRINT_FIELD_U(", ", attr, flags); - PRINT_FIELD_U(", ", attr, buf_len); -Index: strace-5.7/ipc_msgctl.c -=================================================================== ---- strace-5.7.orig/ipc_msgctl.c 2020-09-09 14:59:12.909042630 +0200 -+++ strace-5.7/ipc_msgctl.c 2020-09-09 14:59:14.715043707 +0200 -@@ -58,8 +58,8 @@ - tprintf(", msg_ctime=%u", (unsigned) msqid_ds.msg_ctime); - tprintf(", msg_qnum=%u", (unsigned) msqid_ds.msg_qnum); - tprintf(", msg_qbytes=%u", (unsigned) msqid_ds.msg_qbytes); -- tprintf(", msg_lspid=%u", (unsigned) msqid_ds.msg_lspid); -- tprintf(", msg_lrpid=%u", (unsigned) msqid_ds.msg_lrpid); -+ PRINT_FIELD_D(", ", msqid_ds, msg_lspid); -+ PRINT_FIELD_D(", ", msqid_ds, msg_lrpid); - tprints("}"); - break; - -Index: strace-5.7/ipc_shmctl.c -=================================================================== ---- strace-5.7.orig/ipc_shmctl.c 2020-09-09 14:59:12.909042630 +0200 -+++ strace-5.7/ipc_shmctl.c 2020-09-09 14:59:14.716043707 +0200 -@@ -54,8 +54,8 @@ - PRINT_FIELD_UID(", ", shmid_ds.shm_perm, cgid); - tprints("}"); - tprintf(", shm_segsz=%u", (unsigned) shmid_ds.shm_segsz); -- tprintf(", shm_cpid=%u", (unsigned) shmid_ds.shm_cpid); -- tprintf(", shm_lpid=%u", (unsigned) shmid_ds.shm_lpid); -+ PRINT_FIELD_D(", ", shmid_ds, shm_cpid); -+ PRINT_FIELD_D(", ", shmid_ds, shm_lpid); - tprintf(", shm_nattch=%u", (unsigned) shmid_ds.shm_nattch); - tprintf(", shm_atime=%u", (unsigned) shmid_ds.shm_atime); - tprintf(", shm_dtime=%u", (unsigned) shmid_ds.shm_dtime); -Index: strace-5.7/msghdr.c -=================================================================== ---- strace-5.7.orig/msghdr.c 2020-09-09 14:50:43.878739225 +0200 -+++ strace-5.7/msghdr.c 2020-09-09 14:59:14.717043708 +0200 -@@ -69,7 +69,7 @@ - { - const struct ucred *uc = cmsg_data; - -- PRINT_FIELD_U("{", *uc, pid); -+ PRINT_FIELD_D("{", *uc, pid); - PRINT_FIELD_UID(", ", *uc, uid); - PRINT_FIELD_UID(", ", *uc, gid); - tprints("}"); -Index: strace-5.7/netlink.c -=================================================================== ---- strace-5.7.orig/netlink.c 2020-09-09 14:50:43.878739225 +0200 -+++ strace-5.7/netlink.c 2020-09-09 14:59:14.717043708 +0200 -@@ -446,7 +446,7 @@ - decode_nlmsg_flags(nlmsghdr->nlmsg_flags, - nlmsghdr->nlmsg_type, family); - -- tprintf(", seq=%u, pid=%u}", nlmsghdr->nlmsg_seq, -+ tprintf(", seq=%u, pid=%d}", nlmsghdr->nlmsg_seq, - nlmsghdr->nlmsg_pid); - } - -Index: strace-5.7/tests/bpf.c -=================================================================== ---- strace-5.7.orig/tests/bpf.c 2020-09-09 14:50:43.878739225 +0200 -+++ strace-5.7/tests/bpf.c 2020-09-09 14:59:14.717043708 +0200 -@@ -1289,16 +1289,16 @@ - - static const struct bpf_attr_check BPF_TASK_FD_QUERY_checks[] = { - { -- .data = { .BPF_TASK_FD_QUERY_data = { .pid = 0xdeadbeef } }, -+ .data = { .BPF_TASK_FD_QUERY_data = { .pid = 1735928559 } }, - .size = offsetofend(struct BPF_TASK_FD_QUERY_struct, pid), -- .str = "task_fd_query={pid=3735928559, fd=0" FD0_PATH -+ .str = "task_fd_query={pid=1735928559, fd=0" FD0_PATH - ", flags=0, buf_len=0, buf=NULL, prog_id=0" - ", fd_type=BPF_FD_TYPE_RAW_TRACEPOINT" - ", probe_offset=0, probe_addr=0}" - }, - { /* 1 */ - .data = { .BPF_TASK_FD_QUERY_data = { -- .pid = 0xcafef00d, -+ .pid = 1405705229, - .fd = 0xdeadbeef, - .flags = 0xfacefeed, - .buf_len = 0xdefaced, -@@ -1309,7 +1309,7 @@ - .probe_addr = 0xfac5fed5fac7fed8 - } }, - .size = offsetofend(struct BPF_TASK_FD_QUERY_struct, probe_addr), -- .str = "task_fd_query={pid=3405705229" -+ .str = "task_fd_query={pid=1405705229" - ", fd=-559038737" - ", flags=4207869677" - ", buf_len=233811181" -Index: strace-5.7/tests/ioctl_block.c -=================================================================== ---- strace-5.7.orig/tests/ioctl_block.c 2020-09-09 14:50:43.878739225 +0200 -+++ strace-5.7/tests/ioctl_block.c 2020-09-09 14:59:14.717043708 +0200 -@@ -165,7 +165,7 @@ - - ioctl(-1, BLKTRACESETUP, buts); - printf("ioctl(-1, BLKTRACESETUP, {act_mask=%hu, buf_size=%u, buf_nr=%u" -- ", start_lba=%" PRI__u64 ", end_lba=%" PRI__u64 ", pid=%u})" -+ ", start_lba=%" PRI__u64 ", end_lba=%" PRI__u64 ", pid=%d})" - " = -1 EBADF (%m)\n", - buts->act_mask, buts->buf_size, buts->buf_nr, - buts->start_lba, buts->end_lba, buts->pid); -Index: strace-5.7/tests/ipc_msg.c -=================================================================== ---- strace-5.7.orig/tests/ipc_msg.c 2020-09-09 14:50:43.878739225 +0200 -+++ strace-5.7/tests/ipc_msg.c 2020-09-09 14:59:14.717043708 +0200 -@@ -128,15 +128,15 @@ - printf("msgctl\\(%d, (%s\\|)?%s, \\{msg_perm=\\{uid=%u" - ", gid=%u, mode=%#o, key=%u, cuid=%u, cgid=%u\\}, msg_stime=%u" - ", msg_rtime=%u, msg_ctime=%u, msg_qnum=%u, msg_qbytes=%u" -- ", msg_lspid=%u, msg_lrpid=%u\\}\\) = 0\n", -+ ", msg_lspid=%d, msg_lrpid=%d\\}\\) = 0\n", - id, str_ipc_64, str_ipc_stat, - (unsigned) ds.msg_perm.uid, (unsigned) ds.msg_perm.gid, - (unsigned) ds.msg_perm.mode, (unsigned) ds.msg_perm.__key, - (unsigned) ds.msg_perm.cuid, (unsigned) ds.msg_perm.cgid, - (unsigned) ds.msg_stime, (unsigned) ds.msg_rtime, - (unsigned) ds.msg_ctime, (unsigned) ds.msg_qnum, -- (unsigned) ds.msg_qbytes, (unsigned) ds.msg_lspid, -- (unsigned) ds.msg_lrpid); -+ (unsigned) ds.msg_qbytes, (int) ds.msg_lspid, -+ (int) ds.msg_lrpid); - - if (msgctl(id, IPC_SET, &ds)) - perror_msg_and_skip("msgctl IPC_SET"); -Index: strace-5.7/tests/ipc_shm.c -=================================================================== ---- strace-5.7.orig/tests/ipc_shm.c 2020-09-09 14:50:43.878739225 +0200 -+++ strace-5.7/tests/ipc_shm.c 2020-09-09 14:59:14.718043708 +0200 -@@ -168,15 +168,15 @@ - if (shmctl(id, IPC_STAT, &ds)) - perror_msg_and_skip("shmctl IPC_STAT"); - printf("shmctl\\(%d, (%s\\|)?%s, \\{shm_perm=\\{uid=%u, gid=%u, " -- "mode=%#o, key=%u, cuid=%u, cgid=%u\\}, shm_segsz=%u, shm_cpid=%u, " -- "shm_lpid=%u, shm_nattch=%u, shm_atime=%u, shm_dtime=%u, " -+ "mode=%#o, key=%u, cuid=%u, cgid=%u\\}, shm_segsz=%u, shm_cpid=%d, " -+ "shm_lpid=%d, shm_nattch=%u, shm_atime=%u, shm_dtime=%u, " - "shm_ctime=%u\\}\\) = 0\n", - id, str_ipc_64, str_ipc_stat, - (unsigned) ds.shm_perm.uid, (unsigned) ds.shm_perm.gid, - (unsigned) ds.shm_perm.mode, (unsigned) ds.shm_perm.__key, - (unsigned) ds.shm_perm.cuid, (unsigned) ds.shm_perm.cgid, -- (unsigned) ds.shm_segsz, (unsigned) ds.shm_cpid, -- (unsigned) ds.shm_lpid, (unsigned) ds.shm_nattch, -+ (unsigned) ds.shm_segsz, (int) ds.shm_cpid, -+ (int) ds.shm_lpid, (unsigned) ds.shm_nattch, - (unsigned) ds.shm_atime, (unsigned) ds.shm_dtime, - (unsigned) ds. shm_ctime); - -Index: strace-5.7/tests/net-yy-netlink.c -=================================================================== ---- strace-5.7.orig/tests/net-yy-netlink.c 2020-09-09 14:50:43.878739225 +0200 -+++ strace-5.7/tests/net-yy-netlink.c 2020-09-09 14:59:14.718043708 +0200 -@@ -67,13 +67,13 @@ - if (bind(fd, sa, *len)) - perror_msg_and_skip("bind"); - printf("bind(%d" FMT_UNBOUND ", {sa_family=AF_NETLINK" -- ", nl_pid=%u, nl_groups=00000000}, %u) = 0\n", -+ ", nl_pid=%d, nl_groups=00000000}, %u) = 0\n", - fd, ARG_UNBOUND, addr.nl_pid, (unsigned) *len); - - if (getsockname(fd, sa, len)) - perror_msg_and_fail("getsockname"); - printf("getsockname(%d" FMT_BOUND ", {sa_family=AF_NETLINK" -- ", nl_pid=%u, nl_groups=00000000}, [%u]) = 0\n", -+ ", nl_pid=%d, nl_groups=00000000}, [%u]) = 0\n", - fd, ARG_BOUND, addr.nl_pid, (unsigned) *len); - - if (close(fd)) -Index: strace-5.7/tests/netlink_protocol.c -=================================================================== ---- strace-5.7.orig/tests/netlink_protocol.c 2020-09-09 14:50:43.878739225 +0200 -+++ strace-5.7/tests/netlink_protocol.c 2020-09-09 14:59:14.718043708 +0200 -@@ -264,7 +264,7 @@ - printf("sendto(%d, {{len=%u, type=NLMSG_ERROR, flags=NLM_F_REQUEST" - ", seq=0, pid=0}, {error=-EACCES" - ", msg={len=%u, type=NLMSG_NOOP, flags=NLM_F_REQUEST|0x%x" -- ", seq=%u, pid=%u}}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n", -+ ", seq=%u, pid=%d}}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n", - fd, nlh->nlmsg_len, err->msg.nlmsg_len, NLM_F_DUMP, - err->msg.nlmsg_seq, err->msg.nlmsg_pid, - nlh->nlmsg_len, sprintrc(rc)); -@@ -289,7 +289,7 @@ - printf("sendto(%d, {{len=%u, type=NLMSG_ERROR, flags=NLM_F_REQUEST" - ", seq=0, pid=0}, {error=-EACCES" - ", msg={{len=%u, type=NLMSG_NOOP, flags=NLM_F_REQUEST|0x%x" -- ", seq=%u, pid=%u}, \"\\x61\\x62\\x63\\x64\"}}}" -+ ", seq=%u, pid=%d}, \"\\x61\\x62\\x63\\x64\"}}}" - ", %u, MSG_DONTWAIT, NULL, 0) = %s\n", - fd, nlh->nlmsg_len, err->msg.nlmsg_len, NLM_F_DUMP, - err->msg.nlmsg_seq, err->msg.nlmsg_pid, -Index: strace-5.7/tests-m32/bpf.c -=================================================================== ---- strace-5.7.orig/tests-m32/bpf.c 2020-04-18 15:47:17.000000000 +0200 -+++ strace-5.7/tests-m32/bpf.c 2020-09-09 14:59:52.229066067 +0200 -@@ -1289,16 +1289,16 @@ - - static const struct bpf_attr_check BPF_TASK_FD_QUERY_checks[] = { - { -- .data = { .BPF_TASK_FD_QUERY_data = { .pid = 0xdeadbeef } }, -+ .data = { .BPF_TASK_FD_QUERY_data = { .pid = 1735928559 } }, - .size = offsetofend(struct BPF_TASK_FD_QUERY_struct, pid), -- .str = "task_fd_query={pid=3735928559, fd=0" FD0_PATH -+ .str = "task_fd_query={pid=1735928559, fd=0" FD0_PATH - ", flags=0, buf_len=0, buf=NULL, prog_id=0" - ", fd_type=BPF_FD_TYPE_RAW_TRACEPOINT" - ", probe_offset=0, probe_addr=0}" - }, - { /* 1 */ - .data = { .BPF_TASK_FD_QUERY_data = { -- .pid = 0xcafef00d, -+ .pid = 1405705229, - .fd = 0xdeadbeef, - .flags = 0xfacefeed, - .buf_len = 0xdefaced, -@@ -1309,7 +1309,7 @@ - .probe_addr = 0xfac5fed5fac7fed8 - } }, - .size = offsetofend(struct BPF_TASK_FD_QUERY_struct, probe_addr), -- .str = "task_fd_query={pid=3405705229" -+ .str = "task_fd_query={pid=1405705229" - ", fd=-559038737" - ", flags=4207869677" - ", buf_len=233811181" -Index: strace-5.7/tests-m32/ioctl_block.c -=================================================================== ---- strace-5.7.orig/tests-m32/ioctl_block.c 2019-07-24 19:12:18.000000000 +0200 -+++ strace-5.7/tests-m32/ioctl_block.c 2020-09-09 14:59:52.290066103 +0200 -@@ -165,7 +165,7 @@ - - ioctl(-1, BLKTRACESETUP, buts); - printf("ioctl(-1, BLKTRACESETUP, {act_mask=%hu, buf_size=%u, buf_nr=%u" -- ", start_lba=%" PRI__u64 ", end_lba=%" PRI__u64 ", pid=%u})" -+ ", start_lba=%" PRI__u64 ", end_lba=%" PRI__u64 ", pid=%d})" - " = -1 EBADF (%m)\n", - buts->act_mask, buts->buf_size, buts->buf_nr, - buts->start_lba, buts->end_lba, buts->pid); -Index: strace-5.7/tests-m32/ipc_msg.c -=================================================================== ---- strace-5.7.orig/tests-m32/ipc_msg.c 2019-09-25 03:02:03.000000000 +0200 -+++ strace-5.7/tests-m32/ipc_msg.c 2020-09-09 14:59:52.349066138 +0200 -@@ -128,15 +128,15 @@ - printf("msgctl\\(%d, (%s\\|)?%s, \\{msg_perm=\\{uid=%u" - ", gid=%u, mode=%#o, key=%u, cuid=%u, cgid=%u\\}, msg_stime=%u" - ", msg_rtime=%u, msg_ctime=%u, msg_qnum=%u, msg_qbytes=%u" -- ", msg_lspid=%u, msg_lrpid=%u\\}\\) = 0\n", -+ ", msg_lspid=%d, msg_lrpid=%d\\}\\) = 0\n", - id, str_ipc_64, str_ipc_stat, - (unsigned) ds.msg_perm.uid, (unsigned) ds.msg_perm.gid, - (unsigned) ds.msg_perm.mode, (unsigned) ds.msg_perm.__key, - (unsigned) ds.msg_perm.cuid, (unsigned) ds.msg_perm.cgid, - (unsigned) ds.msg_stime, (unsigned) ds.msg_rtime, - (unsigned) ds.msg_ctime, (unsigned) ds.msg_qnum, -- (unsigned) ds.msg_qbytes, (unsigned) ds.msg_lspid, -- (unsigned) ds.msg_lrpid); -+ (unsigned) ds.msg_qbytes, (int) ds.msg_lspid, -+ (int) ds.msg_lrpid); - - if (msgctl(id, IPC_SET, &ds)) - perror_msg_and_skip("msgctl IPC_SET"); -Index: strace-5.7/tests-m32/ipc_shm.c -=================================================================== ---- strace-5.7.orig/tests-m32/ipc_shm.c 2019-11-28 20:30:05.000000000 +0100 -+++ strace-5.7/tests-m32/ipc_shm.c 2020-09-09 14:59:52.406066172 +0200 -@@ -168,15 +168,15 @@ - if (shmctl(id, IPC_STAT, &ds)) - perror_msg_and_skip("shmctl IPC_STAT"); - printf("shmctl\\(%d, (%s\\|)?%s, \\{shm_perm=\\{uid=%u, gid=%u, " -- "mode=%#o, key=%u, cuid=%u, cgid=%u\\}, shm_segsz=%u, shm_cpid=%u, " -- "shm_lpid=%u, shm_nattch=%u, shm_atime=%u, shm_dtime=%u, " -+ "mode=%#o, key=%u, cuid=%u, cgid=%u\\}, shm_segsz=%u, shm_cpid=%d, " -+ "shm_lpid=%d, shm_nattch=%u, shm_atime=%u, shm_dtime=%u, " - "shm_ctime=%u\\}\\) = 0\n", - id, str_ipc_64, str_ipc_stat, - (unsigned) ds.shm_perm.uid, (unsigned) ds.shm_perm.gid, - (unsigned) ds.shm_perm.mode, (unsigned) ds.shm_perm.__key, - (unsigned) ds.shm_perm.cuid, (unsigned) ds.shm_perm.cgid, -- (unsigned) ds.shm_segsz, (unsigned) ds.shm_cpid, -- (unsigned) ds.shm_lpid, (unsigned) ds.shm_nattch, -+ (unsigned) ds.shm_segsz, (int) ds.shm_cpid, -+ (int) ds.shm_lpid, (unsigned) ds.shm_nattch, - (unsigned) ds.shm_atime, (unsigned) ds.shm_dtime, - (unsigned) ds. shm_ctime); - -Index: strace-5.7/tests-m32/net-yy-netlink.c -=================================================================== ---- strace-5.7.orig/tests-m32/net-yy-netlink.c 2020-04-04 00:58:26.000000000 +0200 -+++ strace-5.7/tests-m32/net-yy-netlink.c 2020-09-09 14:59:52.464066207 +0200 -@@ -67,13 +67,13 @@ - if (bind(fd, sa, *len)) - perror_msg_and_skip("bind"); - printf("bind(%d" FMT_UNBOUND ", {sa_family=AF_NETLINK" -- ", nl_pid=%u, nl_groups=00000000}, %u) = 0\n", -+ ", nl_pid=%d, nl_groups=00000000}, %u) = 0\n", - fd, ARG_UNBOUND, addr.nl_pid, (unsigned) *len); - - if (getsockname(fd, sa, len)) - perror_msg_and_fail("getsockname"); - printf("getsockname(%d" FMT_BOUND ", {sa_family=AF_NETLINK" -- ", nl_pid=%u, nl_groups=00000000}, [%u]) = 0\n", -+ ", nl_pid=%d, nl_groups=00000000}, [%u]) = 0\n", - fd, ARG_BOUND, addr.nl_pid, (unsigned) *len); - - if (close(fd)) -Index: strace-5.7/tests-m32/netlink_protocol.c -=================================================================== ---- strace-5.7.orig/tests-m32/netlink_protocol.c 2018-12-30 16:35:21.000000000 +0100 -+++ strace-5.7/tests-m32/netlink_protocol.c 2020-09-09 14:59:52.524066242 +0200 -@@ -264,7 +264,7 @@ - printf("sendto(%d, {{len=%u, type=NLMSG_ERROR, flags=NLM_F_REQUEST" - ", seq=0, pid=0}, {error=-EACCES" - ", msg={len=%u, type=NLMSG_NOOP, flags=NLM_F_REQUEST|0x%x" -- ", seq=%u, pid=%u}}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n", -+ ", seq=%u, pid=%d}}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n", - fd, nlh->nlmsg_len, err->msg.nlmsg_len, NLM_F_DUMP, - err->msg.nlmsg_seq, err->msg.nlmsg_pid, - nlh->nlmsg_len, sprintrc(rc)); -@@ -289,7 +289,7 @@ - printf("sendto(%d, {{len=%u, type=NLMSG_ERROR, flags=NLM_F_REQUEST" - ", seq=0, pid=0}, {error=-EACCES" - ", msg={{len=%u, type=NLMSG_NOOP, flags=NLM_F_REQUEST|0x%x" -- ", seq=%u, pid=%u}, \"\\x61\\x62\\x63\\x64\"}}}" -+ ", seq=%u, pid=%d}, \"\\x61\\x62\\x63\\x64\"}}}" - ", %u, MSG_DONTWAIT, NULL, 0) = %s\n", - fd, nlh->nlmsg_len, err->msg.nlmsg_len, NLM_F_DUMP, - err->msg.nlmsg_seq, err->msg.nlmsg_pid, -Index: strace-5.7/tests-mx32/bpf.c -=================================================================== ---- strace-5.7.orig/tests-mx32/bpf.c 2020-04-18 15:47:17.000000000 +0200 -+++ strace-5.7/tests-mx32/bpf.c 2020-09-09 14:59:52.261066086 +0200 -@@ -1289,16 +1289,16 @@ - - static const struct bpf_attr_check BPF_TASK_FD_QUERY_checks[] = { - { -- .data = { .BPF_TASK_FD_QUERY_data = { .pid = 0xdeadbeef } }, -+ .data = { .BPF_TASK_FD_QUERY_data = { .pid = 1735928559 } }, - .size = offsetofend(struct BPF_TASK_FD_QUERY_struct, pid), -- .str = "task_fd_query={pid=3735928559, fd=0" FD0_PATH -+ .str = "task_fd_query={pid=1735928559, fd=0" FD0_PATH - ", flags=0, buf_len=0, buf=NULL, prog_id=0" - ", fd_type=BPF_FD_TYPE_RAW_TRACEPOINT" - ", probe_offset=0, probe_addr=0}" - }, - { /* 1 */ - .data = { .BPF_TASK_FD_QUERY_data = { -- .pid = 0xcafef00d, -+ .pid = 1405705229, - .fd = 0xdeadbeef, - .flags = 0xfacefeed, - .buf_len = 0xdefaced, -@@ -1309,7 +1309,7 @@ - .probe_addr = 0xfac5fed5fac7fed8 - } }, - .size = offsetofend(struct BPF_TASK_FD_QUERY_struct, probe_addr), -- .str = "task_fd_query={pid=3405705229" -+ .str = "task_fd_query={pid=1405705229" - ", fd=-559038737" - ", flags=4207869677" - ", buf_len=233811181" -Index: strace-5.7/tests-mx32/ioctl_block.c -=================================================================== ---- strace-5.7.orig/tests-mx32/ioctl_block.c 2019-07-24 19:12:18.000000000 +0200 -+++ strace-5.7/tests-mx32/ioctl_block.c 2020-09-09 14:59:52.319066120 +0200 -@@ -165,7 +165,7 @@ - - ioctl(-1, BLKTRACESETUP, buts); - printf("ioctl(-1, BLKTRACESETUP, {act_mask=%hu, buf_size=%u, buf_nr=%u" -- ", start_lba=%" PRI__u64 ", end_lba=%" PRI__u64 ", pid=%u})" -+ ", start_lba=%" PRI__u64 ", end_lba=%" PRI__u64 ", pid=%d})" - " = -1 EBADF (%m)\n", - buts->act_mask, buts->buf_size, buts->buf_nr, - buts->start_lba, buts->end_lba, buts->pid); -Index: strace-5.7/tests-mx32/ipc_msg.c -=================================================================== ---- strace-5.7.orig/tests-mx32/ipc_msg.c 2019-09-25 03:02:03.000000000 +0200 -+++ strace-5.7/tests-mx32/ipc_msg.c 2020-09-09 14:59:52.377066155 +0200 -@@ -128,15 +128,15 @@ - printf("msgctl\\(%d, (%s\\|)?%s, \\{msg_perm=\\{uid=%u" - ", gid=%u, mode=%#o, key=%u, cuid=%u, cgid=%u\\}, msg_stime=%u" - ", msg_rtime=%u, msg_ctime=%u, msg_qnum=%u, msg_qbytes=%u" -- ", msg_lspid=%u, msg_lrpid=%u\\}\\) = 0\n", -+ ", msg_lspid=%d, msg_lrpid=%d\\}\\) = 0\n", - id, str_ipc_64, str_ipc_stat, - (unsigned) ds.msg_perm.uid, (unsigned) ds.msg_perm.gid, - (unsigned) ds.msg_perm.mode, (unsigned) ds.msg_perm.__key, - (unsigned) ds.msg_perm.cuid, (unsigned) ds.msg_perm.cgid, - (unsigned) ds.msg_stime, (unsigned) ds.msg_rtime, - (unsigned) ds.msg_ctime, (unsigned) ds.msg_qnum, -- (unsigned) ds.msg_qbytes, (unsigned) ds.msg_lspid, -- (unsigned) ds.msg_lrpid); -+ (unsigned) ds.msg_qbytes, (int) ds.msg_lspid, -+ (int) ds.msg_lrpid); - - if (msgctl(id, IPC_SET, &ds)) - perror_msg_and_skip("msgctl IPC_SET"); -Index: strace-5.7/tests-mx32/ipc_shm.c -=================================================================== ---- strace-5.7.orig/tests-mx32/ipc_shm.c 2019-11-28 20:30:05.000000000 +0100 -+++ strace-5.7/tests-mx32/ipc_shm.c 2020-09-09 14:59:52.435066189 +0200 -@@ -168,15 +168,15 @@ - if (shmctl(id, IPC_STAT, &ds)) - perror_msg_and_skip("shmctl IPC_STAT"); - printf("shmctl\\(%d, (%s\\|)?%s, \\{shm_perm=\\{uid=%u, gid=%u, " -- "mode=%#o, key=%u, cuid=%u, cgid=%u\\}, shm_segsz=%u, shm_cpid=%u, " -- "shm_lpid=%u, shm_nattch=%u, shm_atime=%u, shm_dtime=%u, " -+ "mode=%#o, key=%u, cuid=%u, cgid=%u\\}, shm_segsz=%u, shm_cpid=%d, " -+ "shm_lpid=%d, shm_nattch=%u, shm_atime=%u, shm_dtime=%u, " - "shm_ctime=%u\\}\\) = 0\n", - id, str_ipc_64, str_ipc_stat, - (unsigned) ds.shm_perm.uid, (unsigned) ds.shm_perm.gid, - (unsigned) ds.shm_perm.mode, (unsigned) ds.shm_perm.__key, - (unsigned) ds.shm_perm.cuid, (unsigned) ds.shm_perm.cgid, -- (unsigned) ds.shm_segsz, (unsigned) ds.shm_cpid, -- (unsigned) ds.shm_lpid, (unsigned) ds.shm_nattch, -+ (unsigned) ds.shm_segsz, (int) ds.shm_cpid, -+ (int) ds.shm_lpid, (unsigned) ds.shm_nattch, - (unsigned) ds.shm_atime, (unsigned) ds.shm_dtime, - (unsigned) ds. shm_ctime); - -Index: strace-5.7/tests-mx32/net-yy-netlink.c -=================================================================== ---- strace-5.7.orig/tests-mx32/net-yy-netlink.c 2020-04-04 00:58:26.000000000 +0200 -+++ strace-5.7/tests-mx32/net-yy-netlink.c 2020-09-09 14:59:52.494066225 +0200 -@@ -67,13 +67,13 @@ - if (bind(fd, sa, *len)) - perror_msg_and_skip("bind"); - printf("bind(%d" FMT_UNBOUND ", {sa_family=AF_NETLINK" -- ", nl_pid=%u, nl_groups=00000000}, %u) = 0\n", -+ ", nl_pid=%d, nl_groups=00000000}, %u) = 0\n", - fd, ARG_UNBOUND, addr.nl_pid, (unsigned) *len); - - if (getsockname(fd, sa, len)) - perror_msg_and_fail("getsockname"); - printf("getsockname(%d" FMT_BOUND ", {sa_family=AF_NETLINK" -- ", nl_pid=%u, nl_groups=00000000}, [%u]) = 0\n", -+ ", nl_pid=%d, nl_groups=00000000}, [%u]) = 0\n", - fd, ARG_BOUND, addr.nl_pid, (unsigned) *len); - - if (close(fd)) -Index: strace-5.7/tests-mx32/netlink_protocol.c -=================================================================== ---- strace-5.7.orig/tests-mx32/netlink_protocol.c 2018-12-30 16:35:21.000000000 +0100 -+++ strace-5.7/tests-mx32/netlink_protocol.c 2020-09-09 14:59:52.553066260 +0200 -@@ -264,7 +264,7 @@ - printf("sendto(%d, {{len=%u, type=NLMSG_ERROR, flags=NLM_F_REQUEST" - ", seq=0, pid=0}, {error=-EACCES" - ", msg={len=%u, type=NLMSG_NOOP, flags=NLM_F_REQUEST|0x%x" -- ", seq=%u, pid=%u}}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n", -+ ", seq=%u, pid=%d}}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n", - fd, nlh->nlmsg_len, err->msg.nlmsg_len, NLM_F_DUMP, - err->msg.nlmsg_seq, err->msg.nlmsg_pid, - nlh->nlmsg_len, sprintrc(rc)); -@@ -289,7 +289,7 @@ - printf("sendto(%d, {{len=%u, type=NLMSG_ERROR, flags=NLM_F_REQUEST" - ", seq=0, pid=0}, {error=-EACCES" - ", msg={{len=%u, type=NLMSG_NOOP, flags=NLM_F_REQUEST|0x%x" -- ", seq=%u, pid=%u}, \"\\x61\\x62\\x63\\x64\"}}}" -+ ", seq=%u, pid=%d}, \"\\x61\\x62\\x63\\x64\"}}}" - ", %u, MSG_DONTWAIT, NULL, 0) = %s\n", - fd, nlh->nlmsg_len, err->msg.nlmsg_len, NLM_F_DUMP, - err->msg.nlmsg_seq, err->msg.nlmsg_pid, diff --git a/SOURCES/0128-Remove-tcb-parameter-of-read_int_from_file.patch b/SOURCES/0128-Remove-tcb-parameter-of-read_int_from_file.patch deleted file mode 100644 index d2a21d3..0000000 --- a/SOURCES/0128-Remove-tcb-parameter-of-read_int_from_file.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 924f71a4296be54e109784dfdb487b732bfc9bbf Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?=C3=81kos=20Uzonyi?= -Date: Fri, 17 Jul 2020 23:24:36 +0200 -Subject: [PATCH 128/138] Remove tcb parameter of read_int_from_file - -* defs.h (read_int_from_file): Remove tcb parameter. -* util.c (read_int_from_file): Likewise. -* msghdr.c (get_optmem_max): Remove tcb parameter of read_int_from_file. ---- - defs.h | 2 +- - msghdr.c | 2 +- - util.c | 2 +- - 3 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/defs.h b/defs.h -index d8bd513..dae1cd9 100644 ---- a/defs.h -+++ b/defs.h -@@ -498,7 +498,7 @@ extern unsigned os_release; - # undef KERNEL_VERSION - # define KERNEL_VERSION(a, b, c) (((a) << 16) + ((b) << 8) + (c)) - --extern int read_int_from_file(struct tcb *, const char *, int *); -+extern int read_int_from_file(const char *, int *); - - extern void set_sortby(const char *); - extern int set_overhead(const char *); -diff --git a/msghdr.c b/msghdr.c -index becbb51..1ab4c6e 100644 ---- a/msghdr.c -+++ b/msghdr.c -@@ -293,7 +293,7 @@ get_optmem_max(struct tcb *tcp) - static int optmem_max; - - if (!optmem_max) { -- if (read_int_from_file(tcp, "/proc/sys/net/core/optmem_max", -+ if (read_int_from_file("/proc/sys/net/core/optmem_max", - &optmem_max) || optmem_max <= 0) { - optmem_max = sizeof(long long) * (2 * IOV_MAX + 512); - } else { -diff --git a/util.c b/util.c -index cde76c1..286c690 100644 ---- a/util.c -+++ b/util.c -@@ -1517,7 +1517,7 @@ print_abnormal_hi(const kernel_ulong_t val) - } - - int --read_int_from_file(struct tcb *tcp, const char *const fname, int *const pvalue) -+read_int_from_file(const char *const fname, int *const pvalue) - { - const int fd = open_file(fname, O_RDONLY); - if (fd < 0) --- -2.1.4 - diff --git a/SOURCES/0129-Add-struct-tcb-parameters-to-various-functions.patch b/SOURCES/0129-Add-struct-tcb-parameters-to-various-functions.patch deleted file mode 100644 index 64e70e3..0000000 --- a/SOURCES/0129-Add-struct-tcb-parameters-to-various-functions.patch +++ /dev/null @@ -1,417 +0,0 @@ -From 09ca090db1a67eaf590372ae85a94ba8b41223c2 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?=C3=81kos=20Uzonyi?= -Date: Mon, 27 Jul 2020 20:54:06 +0200 -Subject: [PATCH 129/138] Add "struct tcb *" parameters to various functions - -This is going to be needed to implement pidns support. - -* defs.h (print_sockaddr): Add a "struct tcb *" parameter. -* printsiginfo.h (printsiginfo): Likewise. -* fcntl.c (print_struct_flock64): Likewise. All callers updated. -* print_fields.h (PRINT_FIELD_SOCKADDR): Likewise. All callers updated. -* printsiginfo.c (printsigsource, print_si_info, printsiginfo): Likewise. -All callers updated. -* sockaddr.c (print_sockaddr_data_un, print_sockaddr_data_in, -print_sockaddr_data_in6, print_sockaddr_data_ax25, -print_sockaddr_data_ipx, print_sockaddr_data_x25, -print_sockaddr_data_nl, print_sockaddr_data_ll, -print_sockaddr_data_bt, sockaddr_printer, print_sockaddr): Likewise. -All callers updated. ---- - defs.h | 2 +- - fcntl.c | 6 +++--- - msghdr.c | 4 ++-- - print_fields.h | 4 ++-- - print_group_req.c | 2 +- - printsiginfo.c | 22 +++++++++++----------- - printsiginfo.h | 2 +- - sock.c | 10 +++++----- - sockaddr.c | 33 ++++++++++++++++++++------------- - strace.c | 2 +- - 10 files changed, 47 insertions(+), 40 deletions(-) - -diff --git a/defs.h b/defs.h -index dae1cd9..48987f9 100644 ---- a/defs.h -+++ b/defs.h -@@ -1059,7 +1059,7 @@ printfd(struct tcb *tcp, int fd) - * of the tracee the descriptor tcp). This is a stub. - */ - extern void printfd_pid_tracee_ns(struct tcb *tcp, pid_t pid, int fd); --extern void print_sockaddr(const void *sa, int len); -+extern void print_sockaddr(struct tcb *, const void *sa, int len); - extern bool - print_inet_addr(int af, const void *addr, unsigned int len, const char *var_name); - extern bool -diff --git a/fcntl.c b/fcntl.c -index e84549e..345634c 100644 ---- a/fcntl.c -+++ b/fcntl.c -@@ -21,7 +21,7 @@ - #include "xlat/notifyflags.h" - - static void --print_struct_flock64(const struct_kernel_flock64 *fl, const int getlk) -+print_struct_flock64(struct tcb *const tcp, const struct_kernel_flock64 *fl, const int getlk) - { - PRINT_FIELD_XVAL("{", *fl, l_type, lockfcmds, "F_???"); - PRINT_FIELD_XVAL(", ", *fl, l_whence, whence_codes, "SEEK_???"); -@@ -38,7 +38,7 @@ printflock64(struct tcb *const tcp, const kernel_ulong_t addr, const int getlk) - struct_kernel_flock64 fl; - - if (fetch_struct_flock64(tcp, addr, &fl)) -- print_struct_flock64(&fl, getlk); -+ print_struct_flock64(tcp, &fl, getlk); - } - - static void -@@ -47,7 +47,7 @@ printflock(struct tcb *const tcp, const kernel_ulong_t addr, const int getlk) - struct_kernel_flock64 fl; - - if (fetch_struct_flock(tcp, addr, &fl)) -- print_struct_flock64(&fl, getlk); -+ print_struct_flock64(tcp, &fl, getlk); - } - - static void -diff --git a/msghdr.c b/msghdr.c -index 1ab4c6e..ef6dc24 100644 ---- a/msghdr.c -+++ b/msghdr.c -@@ -216,7 +216,7 @@ print_cmsg_ip_recverr(struct tcb *tcp, const void *cmsg_data, - PRINT_FIELD_U(", ", *err, ee_code); - PRINT_FIELD_U(", ", *err, ee_info); - PRINT_FIELD_U(", ", *err, ee_data); -- PRINT_FIELD_SOCKADDR(", ", *err, offender); -+ PRINT_FIELD_SOCKADDR(", ", *err, offender, tcp); - tprints("}"); - } - -@@ -228,7 +228,7 @@ print_cmsg_ip_origdstaddr(struct tcb *tcp, const void *cmsg_data, - data_len > sizeof(struct sockaddr_storage) - ? sizeof(struct sockaddr_storage) : data_len; - -- print_sockaddr(cmsg_data, addr_len); -+ print_sockaddr(tcp, cmsg_data, addr_len); - } - - typedef void (* const cmsg_printer)(struct tcb *, const void *, unsigned int); -diff --git a/print_fields.h b/print_fields.h -index 70dbbff..2413398 100644 ---- a/print_fields.h -+++ b/print_fields.h -@@ -211,10 +211,10 @@ - print_ifindex((where_).field_); \ - } while (0) - --# define PRINT_FIELD_SOCKADDR(prefix_, where_, field_) \ -+# define PRINT_FIELD_SOCKADDR(prefix_, where_, field_, tcp_) \ - do { \ - STRACE_PRINTF("%s%s=", (prefix_), #field_); \ -- print_sockaddr(&(where_).field_, \ -+ print_sockaddr(tcp_, &(where_).field_, \ - sizeof((where_).field_)); \ - } while (0) - -diff --git a/print_group_req.c b/print_group_req.c -index f0ce58b..9e8ce60 100644 ---- a/print_group_req.c -+++ b/print_group_req.c -@@ -30,7 +30,7 @@ MPERS_PRINTER_DECL(void, print_group_req, struct tcb *const tcp, - printaddr(addr); - } else if (!umove_or_printaddr(tcp, addr, &greq)) { - PRINT_FIELD_IFINDEX("{", greq, gr_interface); -- PRINT_FIELD_SOCKADDR(", ", greq, gr_group); -+ PRINT_FIELD_SOCKADDR(", ", greq, gr_group, tcp); - tprints("}"); - } - } -diff --git a/printsiginfo.c b/printsiginfo.c -index 0a9932d..8ed1e7b 100644 ---- a/printsiginfo.c -+++ b/printsiginfo.c -@@ -56,7 +56,7 @@ - #endif - - static void --printsigsource(const siginfo_t *sip) -+printsigsource(struct tcb *tcp, const siginfo_t *sip) - { - PRINT_FIELD_D(", ", *sip, si_pid); - PRINT_FIELD_UID(", ", *sip, si_uid); -@@ -116,7 +116,7 @@ print_si_code(int si_signo, unsigned int si_code) - } - - static void --print_si_info(const siginfo_t *sip) -+print_si_info(struct tcb *tcp, const siginfo_t *sip) - { - if (sip->si_errno) - PRINT_FIELD_ERR_U(", ", *sip, si_errno); -@@ -124,10 +124,10 @@ print_si_info(const siginfo_t *sip) - if (SI_FROMUSER(sip)) { - switch (sip->si_code) { - case SI_USER: -- printsigsource(sip); -+ printsigsource(tcp, sip); - break; - case SI_TKILL: -- printsigsource(sip); -+ printsigsource(tcp, sip); - break; - #if defined HAVE_SIGINFO_T_SI_TIMERID && defined HAVE_SIGINFO_T_SI_OVERRUN - case SI_TIMER: -@@ -137,7 +137,7 @@ print_si_info(const siginfo_t *sip) - break; - #endif - default: -- printsigsource(sip); -+ printsigsource(tcp, sip); - if (sip->si_ptr) - printsigval(sip); - break; -@@ -145,7 +145,7 @@ print_si_info(const siginfo_t *sip) - } else { - switch (sip->si_signo) { - case SIGCHLD: -- printsigsource(sip); -+ printsigsource(tcp, sip); - tprints(", si_status="); - if (sip->si_code == CLD_EXITED) - tprintf("%d", sip->si_status); -@@ -204,7 +204,7 @@ print_si_info(const siginfo_t *sip) - #endif - default: - if (sip->si_pid || sip->si_uid) -- printsigsource(sip); -+ printsigsource(tcp, sip); - if (sip->si_ptr) - printsigval(sip); - } -@@ -215,7 +215,7 @@ print_si_info(const siginfo_t *sip) - static - #endif - void --printsiginfo(const siginfo_t *sip) -+printsiginfo(struct tcb *tcp, const siginfo_t *sip) - { - if (sip->si_signo == 0) { - tprints("{}"); -@@ -230,7 +230,7 @@ printsiginfo(const siginfo_t *sip) - #ifdef SI_NOINFO - if (sip->si_code != SI_NOINFO) - #endif -- print_si_info(sip); -+ print_si_info(tcp, sip); - - tprints("}"); - } -@@ -241,13 +241,13 @@ MPERS_PRINTER_DECL(void, printsiginfo_at, - siginfo_t si; - - if (!umove_or_printaddr(tcp, addr, &si)) -- printsiginfo(&si); -+ printsiginfo(tcp, &si); - } - - static bool - print_siginfo_t(struct tcb *tcp, void *elem_buf, size_t elem_size, void *data) - { -- printsiginfo((const siginfo_t *) elem_buf); -+ printsiginfo(tcp, (const siginfo_t *) elem_buf); - return true; - } - -diff --git a/printsiginfo.h b/printsiginfo.h -index 4088cb5..3fec2ab 100644 ---- a/printsiginfo.h -+++ b/printsiginfo.h -@@ -8,6 +8,6 @@ - #ifndef STRACE_PRINTSIGINFO_H - # define STRACE_PRINTSIGINFO_H - --extern void printsiginfo(const siginfo_t *); -+extern void printsiginfo(struct tcb *, const siginfo_t *); - - #endif /* !STRACE_PRINTSIGINFO_H */ -diff --git a/sock.c b/sock.c -index 5b14007..99a3190 100644 ---- a/sock.c -+++ b/sock.c -@@ -44,19 +44,19 @@ print_ifreq(struct tcb *const tcp, const unsigned int code, - switch (code) { - case SIOCSIFADDR: - case SIOCGIFADDR: -- PRINT_FIELD_SOCKADDR("", *ifr, ifr_addr); -+ PRINT_FIELD_SOCKADDR("", *ifr, ifr_addr, tcp); - break; - case SIOCSIFDSTADDR: - case SIOCGIFDSTADDR: -- PRINT_FIELD_SOCKADDR("", *ifr, ifr_dstaddr); -+ PRINT_FIELD_SOCKADDR("", *ifr, ifr_dstaddr, tcp); - break; - case SIOCSIFBRDADDR: - case SIOCGIFBRDADDR: -- PRINT_FIELD_SOCKADDR("", *ifr, ifr_broadaddr); -+ PRINT_FIELD_SOCKADDR("", *ifr, ifr_broadaddr, tcp); - break; - case SIOCSIFNETMASK: - case SIOCGIFNETMASK: -- PRINT_FIELD_SOCKADDR("", *ifr, ifr_netmask); -+ PRINT_FIELD_SOCKADDR("", *ifr, ifr_netmask, tcp); - break; - case SIOCSIFHWADDR: - case SIOCGIFHWADDR: { -@@ -126,7 +126,7 @@ print_ifconf_ifreq(struct tcb *tcp, void *elem_buf, size_t elem_size, - - tprints("{ifr_name="); - print_ifname(ifr->ifr_name); -- PRINT_FIELD_SOCKADDR(", ", *ifr, ifr_addr); -+ PRINT_FIELD_SOCKADDR(", ", *ifr, ifr_addr, tcp); - tprints("}"); - - return true; -diff --git a/sockaddr.c b/sockaddr.c -index b6b9aa7..b004633 100644 ---- a/sockaddr.c -+++ b/sockaddr.c -@@ -47,7 +47,7 @@ const size_t arp_hardware_types_size = ARRAY_SIZE(arp_hardware_types) - 1; - const size_t ethernet_protocols_size = ARRAY_SIZE(ethernet_protocols) - 1; - - static void --print_sockaddr_data_un(const void *const buf, const int addrlen) -+print_sockaddr_data_un(struct tcb *tcp, const void *const buf, const int addrlen) - { - const struct sockaddr_un *const sa_un = buf; - const int un_len = addrlen > (int) sizeof(*sa_un) -@@ -172,7 +172,8 @@ decode_inet_addr(struct tcb *const tcp, - } - - static void --print_sockaddr_data_in(const void *const buf, const int addrlen) -+print_sockaddr_data_in(struct tcb *tcp, const void *const buf, -+ const int addrlen) - { - const struct sockaddr_in *const sa_in = buf; - -@@ -183,7 +184,8 @@ print_sockaddr_data_in(const void *const buf, const int addrlen) - #define SIN6_MIN_LEN offsetof(struct sockaddr_in6, sin6_scope_id) - - static void --print_sockaddr_data_in6(const void *const buf, const int addrlen) -+print_sockaddr_data_in6(struct tcb *tcp, const void *const buf, -+ const int addrlen) - { - const struct sockaddr_in6 *const sa_in6 = buf; - -@@ -322,7 +324,8 @@ print_ax25_addr(const void /* ax25_address */ *addr_void) - } - - static void --print_sockaddr_data_ax25(const void *const buf, const int addrlen) -+print_sockaddr_data_ax25(struct tcb *tcp, const void *const buf, -+ const int addrlen) - { - const struct full_sockaddr_ax25 *const sax25 = buf; - size_t addrlen_us = MAX(addrlen, 0); -@@ -372,7 +375,8 @@ digis_end: - } - - static void --print_sockaddr_data_ipx(const void *const buf, const int addrlen) -+print_sockaddr_data_ipx(struct tcb *tcp, const void *const buf, -+ const int addrlen) - { - const struct sockaddr_ipx *const sa_ipx = buf; - unsigned int i; -@@ -399,7 +403,8 @@ print_x25_addr(const void /* struct x25_address */ *addr_void) - } - - static void --print_sockaddr_data_x25(const void *const buf, const int addrlen) -+print_sockaddr_data_x25(struct tcb *tcp, const void *const buf, -+ const int addrlen) - { - const struct sockaddr_x25 *const sa_x25 = buf; - -@@ -407,7 +412,7 @@ print_sockaddr_data_x25(const void *const buf, const int addrlen) - } - - static void --print_sockaddr_data_nl(const void *const buf, const int addrlen) -+print_sockaddr_data_nl(struct tcb *tcp, const void *const buf, const int addrlen) - { - const struct sockaddr_nl *const sa_nl = buf; - -@@ -442,7 +447,8 @@ print_sll_protocol(const struct sockaddr_ll *const sa_ll) - } - - static void --print_sockaddr_data_ll(const void *const buf, const int addrlen) -+print_sockaddr_data_ll(struct tcb *tcp, const void *const buf, -+ const int addrlen) - { - const struct sockaddr_ll *const sa_ll = buf; - -@@ -567,7 +573,8 @@ print_bluetooth_l2_cid_end: - } - - static void --print_sockaddr_data_bt(const void *const buf, const int addrlen) -+print_sockaddr_data_bt(struct tcb *tcp, const void *const buf, -+ const int addrlen) - { - struct sockaddr_hci { - /* sa_family_t */ uint16_t hci_family; -@@ -651,7 +658,7 @@ print_sockaddr_data_bt(const void *const buf, const int addrlen) - } - } - --typedef void (* const sockaddr_printer)(const void *const, const int); -+typedef void (* const sockaddr_printer)(struct tcb *tcp, const void *const, const int); - - static const struct { - const sockaddr_printer printer; -@@ -669,7 +676,7 @@ static const struct { - }; - - void --print_sockaddr(const void *const buf, const int addrlen) -+print_sockaddr(struct tcb *tcp, const void *const buf, const int addrlen) - { - const struct sockaddr *const sa = buf; - -@@ -682,7 +689,7 @@ print_sockaddr(const void *const buf, const int addrlen) - if (sa->sa_family < ARRAY_SIZE(sa_printers) - && sa_printers[sa->sa_family].printer - && addrlen >= sa_printers[sa->sa_family].min_len) { -- sa_printers[sa->sa_family].printer(buf, addrlen); -+ sa_printers[sa->sa_family].printer(tcp, buf, addrlen); - } else { - print_sockaddr_data_raw(buf, addrlen); - } -@@ -713,7 +720,7 @@ decode_sockaddr(struct tcb *const tcp, const kernel_ulong_t addr, int addrlen) - - memset(&addrbuf.pad[addrlen], 0, sizeof(addrbuf.pad) - addrlen); - -- print_sockaddr(&addrbuf, addrlen); -+ print_sockaddr(tcp, &addrbuf, addrlen); - - return addrbuf.sa.sa_family; - } -diff --git a/strace.c b/strace.c -index 311e4d6..4c96a98 100644 ---- a/strace.c -+++ b/strace.c -@@ -2941,7 +2941,7 @@ print_stopped(struct tcb *tcp, const siginfo_t *si, const unsigned int sig) - printleader(tcp); - if (si) { - tprintf("--- %s ", sprintsigname(sig)); -- printsiginfo(si); -+ printsiginfo(tcp, si); - tprints(" ---\n"); - } else - tprintf("--- stopped by %s ---\n", sprintsigname(sig)); --- -2.1.4 - diff --git a/SOURCES/0130-Modify-process-class-trace-syscalls-associated-with-.patch b/SOURCES/0130-Modify-process-class-trace-syscalls-associated-with-.patch deleted file mode 100644 index 89f4358..0000000 --- a/SOURCES/0130-Modify-process-class-trace-syscalls-associated-with-.patch +++ /dev/null @@ -1,1391 +0,0 @@ -From 2313eb7158479646ec9f85893453951c3b4b58df Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?=C3=81kos=20Uzonyi?= -Date: Fri, 19 Jun 2020 12:06:43 +0200 -Subject: [PATCH 130/138] Modify %process class: trace syscalls associated with - process lifecycle - -The description is rephrased as: -"Trace system calls associated with process lifecycle -(creation, exec, termination)." - -kill, tkill, tgkill, pidfd_send_signal and rt_sigqueueinfo are added, -arch_prctl and unshare are removed from the %process class. - -syscallent*.h files are updated automatically by: -find linux -name syscallent*.h -exec \ -sed -i -r -e ' - /(arch_prctl|unshare)/ { - s/(\{[^,]*,\t[^,]*)TP\|/\1/ - s/(\{[^,]*,\t[^,]*)\|TP/\1/ - s/(\{[^,]*,\t[^,]*)TP,/\10,/ - } -' -e ' - /(kill|pidfd_send_signal|rt_sigqueueinfo)/ { - s/(\{[^,]*,\t[^0][^,]*)/\1|TP/ - s/(\{[^,]*,\s*)0/\1TP/ - } -' {} + - -[ldv: document this change in NEWS.] - -* strace.1.in: Rephrase %process description. -* linux/32/syscallent.h: Add TP flag to *kill, pidfd_send_signal and -rt_sigqueueinfo; remove TP flag from arch_prctl and unshare. -* linux/64/syscallent.h: Likewise. -* linux/alpha/syscallent.h: Likewise. -* linux/arm/syscallent.h: Likewise. -* linux/avr32/syscallent.h: Likewise. -* linux/bfin/syscallent.h: Likewise. -* linux/hppa/syscallent.h: Likewise. -* linux/i386/syscallent.h: Likewise. -* linux/ia64/syscallent.h: Likewise. -* linux/m68k/syscallent.h: Likewise. -* linux/microblaze/syscallent.h: Likewise. -* linux/mips/syscallent-compat.h: Likewise. -* linux/mips/syscallent-n32.h: Likewise. -* linux/mips/syscallent-n64.h: Likewise. -* linux/mips/syscallent-o32.h: Likewise. -* linux/powerpc/syscallent.h: Likewise. -* linux/powerpc64/syscallent.h: Likewise. -* linux/s390/syscallent.h: Likewise. -* linux/s390x/syscallent.h: Likewise. -* linux/sh/syscallent.h: Likewise. -* linux/sh64/syscallent.h: Likewise. -* linux/sparc/syscallent.h: Likewise. -* linux/sparc64/syscallent.h: Likewise. -* linux/syscallent-common.h: Likewise. -* linux/x32/syscallent.h: Likewise. -* linux/x86_64/syscallent.h: Likewise. -* linux/xtensa/syscallent.h: Likewise. -* NEWS: Mention this change. - -Conflicts: - NEWS - linux/i386/syscallent.h ---- - linux/32/syscallent.h | 10 +++++----- - linux/64/syscallent.h | 10 +++++----- - linux/alpha/syscallent.h | 12 ++++++------ - linux/arm/syscallent.h | 10 +++++----- - linux/avr32/syscallent.h | 10 +++++----- - linux/bfin/syscallent.h | 10 +++++----- - linux/hppa/syscallent.h | 10 +++++----- - linux/i386/syscallent.h | 12 ++++++------ - linux/ia64/syscallent.h | 10 +++++----- - linux/m68k/syscallent.h | 10 +++++----- - linux/microblaze/syscallent.h | 10 +++++----- - linux/mips/syscallent-compat.h | 10 +++++----- - linux/mips/syscallent-n32.h | 10 +++++----- - linux/mips/syscallent-n64.h | 10 +++++----- - linux/mips/syscallent-o32.h | 10 +++++----- - linux/powerpc/syscallent.h | 10 +++++----- - linux/powerpc64/syscallent.h | 10 +++++----- - linux/s390/syscallent.h | 10 +++++----- - linux/s390x/syscallent.h | 10 +++++----- - linux/sh/syscallent.h | 10 +++++----- - linux/sh64/syscallent.h | 10 +++++----- - linux/sparc/syscallent.h | 10 +++++----- - linux/sparc64/syscallent.h | 10 +++++----- - linux/syscallent-common.h | 2 +- - linux/x32/syscallent.h | 14 +++++++------- - linux/x86_64/syscallent.h | 12 ++++++------ - linux/xtensa/syscallent.h | 10 +++++----- - strace.1.in | 4 ++-- - 28 files changed, 138 insertions(+), 138 deletions(-) - -diff --git a/linux/32/syscallent.h b/linux/32/syscallent.h -index 5e1f06d..c74ab18 100644 ---- a/linux/32/syscallent.h -+++ b/linux/32/syscallent.h -@@ -109,7 +109,7 @@ - [ 94] = { 1, TP|SE, SEN(exit), "exit_group" }, - [ 95] = { 5, TP, SEN(waitid), "waitid" }, - [ 96] = { 1, 0, SEN(set_tid_address), "set_tid_address" }, --[ 97] = { 1, TP, SEN(unshare), "unshare" }, -+[ 97] = { 1, 0, SEN(unshare), "unshare" }, - /* [ 98] futex */ - [ 99] = { 2, 0, SEN(set_robust_list), "set_robust_list" }, - [100] = { 3, 0, SEN(get_robust_list), "get_robust_list" }, -@@ -141,16 +141,16 @@ - [126] = { 1, 0, SEN(sched_get_priority_min), "sched_get_priority_min"}, - /* [127] sched_rr_get_interval */ - [128] = { 0, 0, SEN(restart_syscall), "restart_syscall" }, --[129] = { 2, TS, SEN(kill), "kill" }, --[130] = { 2, TS, SEN(kill), "tkill" }, --[131] = { 3, TS, SEN(tgkill), "tgkill" }, -+[129] = { 2, TS|TP, SEN(kill), "kill" }, -+[130] = { 2, TS|TP, SEN(kill), "tkill" }, -+[131] = { 3, TS|TP, SEN(tgkill), "tgkill" }, - [132] = { 2, TS, SEN(sigaltstack), "sigaltstack" }, - [133] = { 2, TS, SEN(rt_sigsuspend), "rt_sigsuspend" }, - [134] = { 4, TS, SEN(rt_sigaction), "rt_sigaction" }, - [135] = { 4, TS, SEN(rt_sigprocmask), "rt_sigprocmask" }, - [136] = { 2, TS, SEN(rt_sigpending), "rt_sigpending" }, - /* [137] rt_sigtimedwait */ --[138] = { 3, TS, SEN(rt_sigqueueinfo), "rt_sigqueueinfo" }, -+[138] = { 3, TS|TP, SEN(rt_sigqueueinfo), "rt_sigqueueinfo" }, - [139] = { 0, TS, SEN(rt_sigreturn), "rt_sigreturn" }, - [140] = { 3, 0, SEN(setpriority), "setpriority" }, - [141] = { 2, 0, SEN(getpriority), "getpriority" }, -diff --git a/linux/64/syscallent.h b/linux/64/syscallent.h -index 9531a05..3fb1305 100644 ---- a/linux/64/syscallent.h -+++ b/linux/64/syscallent.h -@@ -102,7 +102,7 @@ - [ 94] = { 1, TP|SE, SEN(exit), "exit_group" }, - [ 95] = { 5, TP, SEN(waitid), "waitid" }, - [ 96] = { 1, 0, SEN(set_tid_address), "set_tid_address" }, --[ 97] = { 1, TP, SEN(unshare), "unshare" }, -+[ 97] = { 1, 0, SEN(unshare), "unshare" }, - [ 98] = { 6, 0, SEN(futex_time64), "futex" }, - [ 99] = { 2, 0, SEN(set_robust_list), "set_robust_list" }, - [100] = { 3, 0, SEN(get_robust_list), "get_robust_list" }, -@@ -134,16 +134,16 @@ - [126] = { 1, 0, SEN(sched_get_priority_min), "sched_get_priority_min"}, - [127] = { 2, 0, SEN(sched_rr_get_interval_time64),"sched_rr_get_interval"}, - [128] = { 0, 0, SEN(restart_syscall), "restart_syscall" }, --[129] = { 2, TS, SEN(kill), "kill" }, --[130] = { 2, TS, SEN(kill), "tkill" }, --[131] = { 3, TS, SEN(tgkill), "tgkill" }, -+[129] = { 2, TS|TP, SEN(kill), "kill" }, -+[130] = { 2, TS|TP, SEN(kill), "tkill" }, -+[131] = { 3, TS|TP, SEN(tgkill), "tgkill" }, - [132] = { 2, TS, SEN(sigaltstack), "sigaltstack" }, - [133] = { 2, TS, SEN(rt_sigsuspend), "rt_sigsuspend" }, - [134] = { 4, TS, SEN(rt_sigaction), "rt_sigaction" }, - [135] = { 4, TS, SEN(rt_sigprocmask), "rt_sigprocmask" }, - [136] = { 2, TS, SEN(rt_sigpending), "rt_sigpending" }, - [137] = { 4, TS, SEN(rt_sigtimedwait_time64), "rt_sigtimedwait" }, --[138] = { 3, TS, SEN(rt_sigqueueinfo), "rt_sigqueueinfo" }, -+[138] = { 3, TS|TP, SEN(rt_sigqueueinfo), "rt_sigqueueinfo" }, - [139] = { 0, TS, SEN(rt_sigreturn), "rt_sigreturn" }, - [140] = { 3, 0, SEN(setpriority), "setpriority" }, - [141] = { 2, 0, SEN(getpriority), "getpriority" }, -diff --git a/linux/alpha/syscallent.h b/linux/alpha/syscallent.h -index b0d680b..93f0b0e 100644 ---- a/linux/alpha/syscallent.h -+++ b/linux/alpha/syscallent.h -@@ -44,7 +44,7 @@ - [ 34] = { 5, 0, SEN(printargs), "osf_chflags" }, /* not implemented */ - [ 35] = { 5, 0, SEN(printargs), "osf_fchflags" }, /* not implemented */ - [ 36] = { 0, 0, SEN(sync), "sync" }, --[ 37] = { 2, TS, SEN(kill), "kill" }, -+[ 37] = { 2, TS|TP, SEN(kill), "kill" }, - [ 38] = { 5, TF|TST|TSTA, SEN(printargs), "osf_old_stat" }, /* not implemented */ - [ 39] = { 2, 0, SEN(setpgid), "setpgid" }, - [ 40] = { 5, TF|TLST|TSTA, SEN(printargs), "osf_old_lstat" }, /* not implemented */ -@@ -153,7 +153,7 @@ - [143] = { 5, 0, SEN(printargs), "osf_sethostid" }, /* not implemented */ - [144] = { 2, 0, SEN(getrlimit), "getrlimit" }, - [145] = { 2, 0, SEN(setrlimit), "setrlimit" }, --[146] = { 5, 0, SEN(printargs), "osf_old_killpg" }, /* not implemented */ -+[146] = { 5, TP, SEN(printargs), "osf_old_killpg" }, /* not implemented */ - [147] = { 0, 0, SEN(setsid), "setsid" }, - [148] = { 4, TF, SEN(quotactl), "quotactl" }, - [149] = { 5, 0, SEN(printargs), "osf_oldquota" }, /* not implemented */ -@@ -300,7 +300,7 @@ - [353] = { 4, TS, SEN(rt_sigprocmask), "rt_sigprocmask" }, - [354] = { 2, TS, SEN(rt_sigpending), "rt_sigpending" }, - [355] = { 4, TS, SEN(rt_sigtimedwait_time64), "rt_sigtimedwait" }, --[356] = { 3, TS, SEN(rt_sigqueueinfo), "rt_sigqueueinfo" }, -+[356] = { 3, TS|TP, SEN(rt_sigqueueinfo), "rt_sigqueueinfo" }, - [357] = { 2, TS, SEN(rt_sigsuspend), "rt_sigsuspend" }, - [358] = { 5, TD, SEN(select), "select" }, - [359] = { 2, TCL, SEN(gettimeofday), "gettimeofday" }, -@@ -325,7 +325,7 @@ - [378] = { 0, PU|NF, SEN(gettid), "gettid" }, - [379] = { 3, TD, SEN(readahead), "readahead" }, - [380] = { }, --[381] = { 2, TS, SEN(kill), "tkill" }, -+[381] = { 2, TS|TP, SEN(kill), "tkill" }, - [382] = { 5, TF, SEN(setxattr), "setxattr" }, - [383] = { 5, TF, SEN(setxattr), "lsetxattr" }, - [384] = { 5, TD, SEN(fsetxattr), "fsetxattr" }, -@@ -367,7 +367,7 @@ - [421] = { 2, TCL, SEN(clock_getres_time64), "clock_getres" }, - [422] = { 4, 0, SEN(clock_nanosleep_time64), "clock_nanosleep" }, - [423] = { 4, TI, SEN(semtimedop_time64), "semtimedop" }, --[424] = { 3, TS, SEN(tgkill), "tgkill" }, -+[424] = { 3, TS|TP, SEN(tgkill), "tgkill" }, - [425] = { 2, TF|TST|TSTA, SEN(stat64), "stat64" }, - [426] = { 2, TF|TLST|TSTA, SEN(lstat64), "lstat64" }, - [427] = { 2, TD|TFST|TSTA, SEN(fstat64), "fstat64" }, -@@ -408,7 +408,7 @@ - [462] = { 3, TD|TF, SEN(faccessat), "faccessat" }, - [463] = { 6, TD, SEN(pselect6_time64), "pselect6" }, - [464] = { 5, TD, SEN(ppoll_time64), "ppoll" }, --[465] = { 1, TP, SEN(unshare), "unshare" }, -+[465] = { 1, 0, SEN(unshare), "unshare" }, - [466] = { 2, 0, SEN(set_robust_list), "set_robust_list" }, - [467] = { 3, 0, SEN(get_robust_list), "get_robust_list" }, - [468] = { 6, TD, SEN(splice), "splice" }, -diff --git a/linux/arm/syscallent.h b/linux/arm/syscallent.h -index e9eee9f..73497b6 100644 ---- a/linux/arm/syscallent.h -+++ b/linux/arm/syscallent.h -@@ -44,7 +44,7 @@ - [ 34] = { 1, 0, SEN(nice), "nice" }, - [ 35] = { 0, 0, SEN(ftime), "ftime" }, - [ 36] = { 0, 0, SEN(sync), "sync" }, --[ 37] = { 2, TS, SEN(kill), "kill" }, -+[ 37] = { 2, TS|TP, SEN(kill), "kill" }, - [ 38] = { 2, TF, SEN(rename), "rename" }, - [ 39] = { 2, TF, SEN(mkdir), "mkdir" }, - [ 40] = { 1, TF, SEN(rmdir), "rmdir" }, -@@ -185,7 +185,7 @@ - [175] = { 4, TS, SEN(rt_sigprocmask), "rt_sigprocmask" }, - [176] = { 2, TS, SEN(rt_sigpending), "rt_sigpending" }, - [177] = { 4, TS, SEN(rt_sigtimedwait_time32), "rt_sigtimedwait" }, --[178] = { 3, TS, SEN(rt_sigqueueinfo), "rt_sigqueueinfo" }, -+[178] = { 3, TS|TP, SEN(rt_sigqueueinfo), "rt_sigqueueinfo" }, - [179] = { 2, TS, SEN(rt_sigsuspend), "rt_sigsuspend" }, - [180] = { 6, TD, SEN(pread), "pread64" }, - [181] = { 6, TD, SEN(pwrite), "pwrite64" }, -@@ -245,7 +245,7 @@ - [235] = { 2, TF, SEN(removexattr), "removexattr" }, - [236] = { 2, TF, SEN(removexattr), "lremovexattr" }, - [237] = { 2, TD, SEN(fremovexattr), "fremovexattr" }, --[238] = { 2, TS, SEN(kill), "tkill" }, -+[238] = { 2, TS|TP, SEN(kill), "tkill" }, - [239] = { 4, TD|TN, SEN(sendfile64), "sendfile64" }, - [240] = { 6, 0, SEN(futex_time32), "futex" }, - [241] = { 3, 0, SEN(sched_setaffinity), "sched_setaffinity" }, -@@ -275,7 +275,7 @@ - [265] = { 4, 0, SEN(clock_nanosleep_time32), "clock_nanosleep" }, - [266] = { 3, TF|TSF|TSFA, SEN(statfs64), "statfs64" }, - [267] = { 3, TD|TFSF|TSFA, SEN(fstatfs64), "fstatfs64" }, --[268] = { 3, TS, SEN(tgkill), "tgkill" }, -+[268] = { 3, TS|TP, SEN(tgkill), "tgkill" }, - [269] = { 2, TF, SEN(utimes), "utimes" }, - [270] = { 6, TD, SEN(fadvise64_64), "fadvise64_64" }, - [271] = { 3, 0, SEN(printargs), "pciconfig_iobase" }, -@@ -344,7 +344,7 @@ - [334] = { 3, TD|TF, SEN(faccessat), "faccessat" }, - [335] = { 6, TD, SEN(pselect6_time32), "pselect6" }, - [336] = { 5, TD, SEN(ppoll_time32), "ppoll" }, --[337] = { 1, TP, SEN(unshare), "unshare" }, -+[337] = { 1, 0, SEN(unshare), "unshare" }, - [338] = { 2, 0, SEN(set_robust_list), "set_robust_list" }, - [339] = { 3, 0, SEN(get_robust_list), "get_robust_list" }, - [340] = { 6, TD, SEN(splice), "splice" }, -diff --git a/linux/avr32/syscallent.h b/linux/avr32/syscallent.h -index 0b24353..b3cf2da 100644 ---- a/linux/avr32/syscallent.h -+++ b/linux/avr32/syscallent.h -@@ -43,7 +43,7 @@ - [ 34] = { 1, TF, SEN(chroot), "chroot" }, - [ 35] = { 0, 0, SEN(sync), "sync" }, - [ 36] = { 1, TD, SEN(fsync), "fsync" }, --[ 37] = { 2, TS, SEN(kill), "kill" }, -+[ 37] = { 2, TS|TP, SEN(kill), "kill" }, - [ 38] = { 2, TF, SEN(rename), "rename" }, - [ 39] = { 2, TF, SEN(mkdir), "mkdir" }, - [ 40] = { 1, TF, SEN(rmdir), "rmdir" }, -@@ -78,7 +78,7 @@ - [ 69] = { 4, TS, SEN(rt_sigprocmask), "rt_sigprocmask" }, - [ 70] = { 2, TS, SEN(rt_sigpending), "rt_sigpending" }, - [ 71] = { 4, TS, SEN(rt_sigtimedwait_time32), "rt_sigtimedwait" }, --[ 72] = { 3, TS, SEN(rt_sigqueueinfo), "rt_sigqueueinfo" }, -+[ 72] = { 3, TS|TP, SEN(rt_sigqueueinfo), "rt_sigqueueinfo" }, - [ 73] = { 2, TS, SEN(rt_sigsuspend), "rt_sigsuspend" }, - [ 74] = { 2, 0, SEN(sethostname), "sethostname" }, - [ 75] = { 2, 0, SEN(setrlimit), "setrlimit" }, -@@ -196,7 +196,7 @@ - [187] = { 2, TF, SEN(removexattr), "removexattr" }, - [188] = { 2, TF, SEN(removexattr), "lremovexattr" }, - [189] = { 2, TD, SEN(fremovexattr), "fremovexattr" }, --[190] = { 2, TS, SEN(kill), "tkill" }, -+[190] = { 2, TS|TP, SEN(kill), "tkill" }, - [191] = { 4, TD|TN, SEN(sendfile64), "sendfile64" }, - [192] = { 6, 0, SEN(futex_time32), "futex" }, - [193] = { 3, 0, SEN(sched_setaffinity), "sched_setaffinity" }, -@@ -227,7 +227,7 @@ - [218] = { 4, 0, SEN(clock_nanosleep_time32), "clock_nanosleep" }, - [219] = { 3, TF|TSF|TSFA, SEN(statfs64), "statfs64" }, - [220] = { 3, TD|TFSF|TSFA, SEN(fstatfs64), "fstatfs64" }, --[221] = { 3, TS, SEN(tgkill), "tgkill" }, -+[221] = { 3, TS|TP, SEN(tgkill), "tgkill" }, - [222] = { }, - [223] = { 2, TF, SEN(utimes), "utimes" }, - [224] = { 6, TD, SEN(fadvise64_64), "fadvise64_64" }, -@@ -264,7 +264,7 @@ - [255] = { 3, TD|TF, SEN(faccessat), "faccessat" }, - [256] = { 6, TD, SEN(pselect6_time32), "pselect6" }, - [257] = { 5, TD, SEN(ppoll_time32), "ppoll" }, --[258] = { 1, TP, SEN(unshare), "unshare" }, -+[258] = { 1, 0, SEN(unshare), "unshare" }, - [259] = { 2, 0, SEN(set_robust_list), "set_robust_list" }, - [260] = { 3, 0, SEN(get_robust_list), "get_robust_list" }, - [261] = { 6, TD, SEN(splice), "splice" }, -diff --git a/linux/bfin/syscallent.h b/linux/bfin/syscallent.h -index 4deafe0..b93a844 100644 ---- a/linux/bfin/syscallent.h -+++ b/linux/bfin/syscallent.h -@@ -44,7 +44,7 @@ - [ 34] = { 1, 0, SEN(nice), "nice" }, - [ 35] = { 0, 0, SEN(ftime), "ftime" }, - [ 36] = { 0, 0, SEN(sync), "sync" }, --[ 37] = { 2, TS, SEN(kill), "kill" }, -+[ 37] = { 2, TS|TP, SEN(kill), "kill" }, - [ 38] = { 2, TF, SEN(rename), "rename" }, - [ 39] = { 2, TF, SEN(mkdir), "mkdir" }, - [ 40] = { 1, TF, SEN(rmdir), "rmdir" }, -@@ -185,7 +185,7 @@ - [175] = { 4, TS, SEN(rt_sigprocmask), "rt_sigprocmask" }, - [176] = { 2, TS, SEN(rt_sigpending), "rt_sigpending" }, - [177] = { 4, TS, SEN(rt_sigtimedwait_time32), "rt_sigtimedwait" }, --[178] = { 3, TS, SEN(rt_sigqueueinfo), "rt_sigqueueinfo" }, -+[178] = { 3, TS|TP, SEN(rt_sigqueueinfo), "rt_sigqueueinfo" }, - [179] = { 2, TS, SEN(rt_sigsuspend), "rt_sigsuspend" }, - [180] = { 5, TD, SEN(pread), "pread" }, - [181] = { 5, TD, SEN(pwrite), "pwrite" }, -@@ -244,7 +244,7 @@ - [235] = { 2, TF, SEN(removexattr), "removexattr" }, - [236] = { 2, TF, SEN(removexattr), "lremovexattr" }, - [237] = { 2, TD, SEN(fremovexattr), "fremovexattr" }, --[238] = { 2, TS, SEN(kill), "tkill" }, -+[238] = { 2, TS|TP, SEN(kill), "tkill" }, - [239] = { 4, TD|TN, SEN(sendfile64), "sendfile64" }, - [240] = { 6, 0, SEN(futex_time32), "futex" }, - [241] = { 3, 0, SEN(sched_setaffinity), "sched_setaffinity" }, -@@ -277,7 +277,7 @@ - [268] = { 4, 0, SEN(clock_nanosleep_time32), "clock_nanosleep" }, - [269] = { 3, TF|TSF|TSFA, SEN(statfs64), "statfs64" }, - [270] = { 3, TD|TFSF|TSFA, SEN(fstatfs64), "fstatfs64" }, --[271] = { 3, TS, SEN(tgkill), "tgkill" }, -+[271] = { 3, TS|TP, SEN(tgkill), "tgkill" }, - [272] = { 2, TF, SEN(utimes), "utimes" }, - [273] = { 6, TD, SEN(fadvise64_64), "fadvise64_64" }, - [274] = { 5, 0, SEN(vserver), "vserver" }, -@@ -316,7 +316,7 @@ - [307] = { 3, TD|TF, SEN(faccessat), "faccessat" }, - [308] = { 6, TD, SEN(pselect6_time32), "pselect6" }, - [309] = { 5, TD, SEN(ppoll_time32), "ppoll" }, --[310] = { 1, TP, SEN(unshare), "unshare" }, -+[310] = { 1, 0, SEN(unshare), "unshare" }, - [311] = { 2, 0, SEN(sram_alloc), "sram_alloc" }, - [312] = { 1, 0, SEN(printargs), "sram_free" }, - [313] = { 3, 0, SEN(printargs), "dma_memcpy" }, -diff --git a/linux/hppa/syscallent.h b/linux/hppa/syscallent.h -index dca6c41..31341d4 100644 ---- a/linux/hppa/syscallent.h -+++ b/linux/hppa/syscallent.h -@@ -40,7 +40,7 @@ - [ 34] = { 1, 0, SEN(nice), "nice" }, - [ 35] = { 3, TN, SEN(accept), "accept" }, - [ 36] = { 0, 0, SEN(sync), "sync" }, --[ 37] = { 2, TS, SEN(kill), "kill" }, -+[ 37] = { 2, TS|TP, SEN(kill), "kill" }, - [ 38] = { 2, TF, SEN(rename), "rename" }, - [ 39] = { 2, TF, SEN(mkdir), "mkdir" }, - [ 40] = { 1, TF, SEN(rmdir), "rmdir" }, -@@ -181,7 +181,7 @@ - [175] = { 4, TS, SEN(rt_sigprocmask), "rt_sigprocmask" }, - [176] = { 2, TS, SEN(rt_sigpending), "rt_sigpending" }, - [177] = { 4, TS, SEN(rt_sigtimedwait_time32), "rt_sigtimedwait" }, --[178] = { 3, TS, SEN(rt_sigqueueinfo), "rt_sigqueueinfo" }, -+[178] = { 3, TS|TP, SEN(rt_sigqueueinfo), "rt_sigqueueinfo" }, - [179] = { 2, TS, SEN(rt_sigsuspend), "rt_sigsuspend" }, - [180] = { 3, TF, SEN(chown), "chown" }, - [181] = { 5, TN, SEN(setsockopt), "setsockopt" }, -@@ -211,7 +211,7 @@ - [205] = { 5, 0, SEN(printargs), "acl_set" }, - [206] = { 0, PU|NF, SEN(gettid), "gettid" }, - [207] = { 4, TD, SEN(readahead), "readahead" }, --[208] = { 2, TS, SEN(kill), "tkill" }, -+[208] = { 2, TS|TP, SEN(kill), "tkill" }, - [209] = { 4, TD|TN, SEN(sendfile64), "sendfile64" }, - [210] = { 6, 0, SEN(futex_time32), "futex" }, - [211] = { 3, 0, SEN(sched_setaffinity), "sched_setaffinity" }, -@@ -262,7 +262,7 @@ - [256] = { 2, TCL, SEN(clock_gettime32), "clock_gettime" }, - [257] = { 2, TCL, SEN(clock_getres_time32), "clock_getres" }, - [258] = { 4, 0, SEN(clock_nanosleep_time32), "clock_nanosleep" }, --[259] = { 3, TS, SEN(tgkill), "tgkill" }, -+[259] = { 3, TS|TP, SEN(tgkill), "tgkill" }, - [260] = { 6, TM, SEN(mbind), "mbind" }, - [261] = { 5, TM, SEN(get_mempolicy), "get_mempolicy" }, - [262] = { 3, TM, SEN(set_mempolicy), "set_mempolicy" }, -@@ -291,7 +291,7 @@ - [285] = { 4, TD|TF, SEN(readlinkat), "readlinkat" }, - [286] = { 3, TD|TF, SEN(fchmodat), "fchmodat" }, - [287] = { 3, TD|TF, SEN(faccessat), "faccessat" }, --[288] = { 1, TP, SEN(unshare), "unshare" }, -+[288] = { 1, 0, SEN(unshare), "unshare" }, - [289] = { 2, 0, SEN(set_robust_list), "set_robust_list" }, - [290] = { 3, 0, SEN(get_robust_list), "get_robust_list" }, - [291] = { 6, TD, SEN(splice), "splice" }, -diff --git a/linux/i386/syscallent.h b/linux/i386/syscallent.h -index 0427870..efe0ff7 100644 ---- a/linux/i386/syscallent.h -+++ b/linux/i386/syscallent.h -@@ -44,7 +44,7 @@ - [ 34] = { 1, 0, SEN(nice), "nice" }, - [ 35] = { 0, 0, SEN(ftime), "ftime" }, - [ 36] = { 0, 0, SEN(sync), "sync" }, --[ 37] = { 2, TS, SEN(kill), "kill" }, -+[ 37] = { 2, TS|TP, SEN(kill), "kill" }, - [ 38] = { 2, TF, SEN(rename), "rename" }, - [ 39] = { 2, TF, SEN(mkdir), "mkdir" }, - [ 40] = { 1, TF, SEN(rmdir), "rmdir" }, -@@ -185,7 +185,7 @@ - [175] = { 4, TS, SEN(rt_sigprocmask), "rt_sigprocmask" }, - [176] = { 2, TS, SEN(rt_sigpending), "rt_sigpending" }, - [177] = { 4, TS, SEN(rt_sigtimedwait_time32), "rt_sigtimedwait" }, --[178] = { 3, TS, SEN(rt_sigqueueinfo), "rt_sigqueueinfo" }, -+[178] = { 3, TS|TP, SEN(rt_sigqueueinfo), "rt_sigqueueinfo" }, - [179] = { 2, TS, SEN(rt_sigsuspend), "rt_sigsuspend" }, - [180] = { 5, TD, SEN(pread), "pread64" }, - [181] = { 5, TD, SEN(pwrite), "pwrite64" }, -@@ -244,7 +244,7 @@ - [235] = { 2, TF, SEN(removexattr), "removexattr" }, - [236] = { 2, TF, SEN(removexattr), "lremovexattr" }, - [237] = { 2, TD, SEN(fremovexattr), "fremovexattr" }, --[238] = { 2, TS, SEN(kill), "tkill" }, -+[238] = { 2, TS|TP, SEN(kill), "tkill" }, - [239] = { 4, TD|TN, SEN(sendfile64), "sendfile64" }, - [240] = { 6, 0, SEN(futex_time32), "futex" }, - [241] = { 3, 0, SEN(sched_setaffinity), "sched_setaffinity" }, -@@ -276,7 +276,7 @@ - [267] = { 4, 0, SEN(clock_nanosleep_time32), "clock_nanosleep" }, - [268] = { 3, TF|TSF|TSFA, SEN(statfs64), "statfs64" }, - [269] = { 3, TD|TFSF|TSFA, SEN(fstatfs64), "fstatfs64" }, --[270] = { 3, TS, SEN(tgkill), "tgkill" }, -+[270] = { 3, TS|TP, SEN(tgkill), "tgkill" }, - [271] = { 2, TF, SEN(utimes), "utimes" }, - [272] = { 6, TD, SEN(fadvise64_64), "fadvise64_64" }, - [273] = { 5, 0, SEN(vserver), "vserver" }, -@@ -316,7 +316,7 @@ - [307] = { 3, TD|TF, SEN(faccessat), "faccessat" }, - [308] = { 6, TD, SEN(pselect6_time32), "pselect6" }, - [309] = { 5, TD, SEN(ppoll_time32), "ppoll" }, --[310] = { 1, TP, SEN(unshare), "unshare" }, -+[310] = { 1, 0, SEN(unshare), "unshare" }, - [311] = { 2, 0, SEN(set_robust_list), "set_robust_list" }, - [312] = { 3, 0, SEN(get_robust_list), "get_robust_list" }, - [313] = { 6, TD, SEN(splice), "splice" }, -@@ -390,7 +390,7 @@ - [381] = { 2, 0, SEN(pkey_alloc), "pkey_alloc" }, - [382] = { 1, 0, SEN(pkey_free), "pkey_free" }, - [383] = { 5, TD|TF|TSTA, SEN(statx), "statx" }, --[384] = { 2, TP, SEN(arch_prctl), "arch_prctl" }, -+[384] = { 2, 0, SEN(arch_prctl), "arch_prctl" }, - [385] = { 6, 0, SEN(io_pgetevents_time32), "io_pgetevents" }, - [386] = { 4, 0, SEN(rseq), "rseq" }, - /* room for arch specific calls */ -diff --git a/linux/ia64/syscallent.h b/linux/ia64/syscallent.h -index 9098488..8aeda41 100644 ---- a/linux/ia64/syscallent.h -+++ b/linux/ia64/syscallent.h -@@ -49,7 +49,7 @@ - [BASE_NR + 26] = { 0, 0, SEN(sync), "sync" }, - [BASE_NR + 27] = { 1, TD, SEN(fsync), "fsync" }, - [BASE_NR + 28] = { 1, TD, SEN(fdatasync), "fdatasync" }, --[BASE_NR + 29] = { 2, TS, SEN(kill), "kill" }, -+[BASE_NR + 29] = { 2, TS|TP, SEN(kill), "kill" }, - [BASE_NR + 30] = { 2, TF, SEN(rename), "rename" }, - [BASE_NR + 31] = { 2, TF, SEN(mkdir), "mkdir" }, - [BASE_NR + 32] = { 1, TF, SEN(rmdir), "rmdir" }, -@@ -176,7 +176,7 @@ - [BASE_NR + 153] = { 4, TS, SEN(rt_sigaction), "rt_sigaction" }, - [BASE_NR + 154] = { 2, TS, SEN(rt_sigpending), "rt_sigpending" }, - [BASE_NR + 155] = { 4, TS, SEN(rt_sigprocmask), "rt_sigprocmask" }, --[BASE_NR + 156] = { 3, TS, SEN(rt_sigqueueinfo), "rt_sigqueueinfo" }, -+[BASE_NR + 156] = { 3, TS|TP, SEN(rt_sigqueueinfo), "rt_sigqueueinfo" }, - [BASE_NR + 157] = { 0, TS, SEN(rt_sigreturn), "rt_sigreturn" }, - [BASE_NR + 158] = { 2, TS, SEN(rt_sigsuspend), "rt_sigsuspend" }, - [BASE_NR + 159] = { 4, TS, SEN(rt_sigtimedwait_time64), "rt_sigtimedwait" }, -@@ -225,13 +225,13 @@ - [BASE_NR + 202] = { 2, TF, SEN(removexattr), "removexattr" }, - [BASE_NR + 203] = { 2, TF, SEN(removexattr), "lremovexattr" }, - [BASE_NR + 204] = { 2, TD, SEN(fremovexattr), "fremovexattr" }, --[BASE_NR + 205] = { 2, TS, SEN(kill), "tkill" }, -+[BASE_NR + 205] = { 2, TS|TP, SEN(kill), "tkill" }, - [BASE_NR + 206] = { 6, 0, SEN(futex_time64), "futex" }, - [BASE_NR + 207] = { 3, 0, SEN(sched_setaffinity), "sched_setaffinity" }, - [BASE_NR + 208] = { 3, 0, SEN(sched_getaffinity), "sched_getaffinity" }, - [BASE_NR + 209] = { 1, 0, SEN(set_tid_address), "set_tid_address" }, - [BASE_NR + 210] = { 4, TD, SEN(fadvise64), "fadvise64" }, --[BASE_NR + 211] = { 3, TS, SEN(tgkill), "tgkill" }, -+[BASE_NR + 211] = { 3, TS|TP, SEN(tgkill), "tgkill" }, - [BASE_NR + 212] = { 1, TP|SE, SEN(exit), "exit_group" }, - [BASE_NR + 213] = { 3, 0, SEN(lookup_dcookie), "lookup_dcookie" }, - [BASE_NR + 214] = { 2, TM, SEN(io_setup), "io_setup" }, -@@ -292,7 +292,7 @@ - [BASE_NR + 269] = { 3, TD|TF, SEN(faccessat), "faccessat" }, - [BASE_NR + 270] = { 6, TD, SEN(pselect6_time64), "pselect6" }, - [BASE_NR + 271] = { 5, TD, SEN(ppoll_time64), "ppoll" }, --[BASE_NR + 272] = { 1, TP, SEN(unshare), "unshare" }, -+[BASE_NR + 272] = { 1, 0, SEN(unshare), "unshare" }, - [BASE_NR + 273] = { 6, TD, SEN(splice), "splice" }, - [BASE_NR + 274] = { 2, 0, SEN(set_robust_list), "set_robust_list" }, - [BASE_NR + 275] = { 3, 0, SEN(get_robust_list), "get_robust_list" }, -diff --git a/linux/m68k/syscallent.h b/linux/m68k/syscallent.h -index 315dbb6..1876bed 100644 ---- a/linux/m68k/syscallent.h -+++ b/linux/m68k/syscallent.h -@@ -44,7 +44,7 @@ - [ 34] = { 1, 0, SEN(nice), "nice" }, - [ 35] = { 0, 0, SEN(ftime), "ftime" }, - [ 36] = { 0, 0, SEN(sync), "sync" }, --[ 37] = { 2, TS, SEN(kill), "kill" }, -+[ 37] = { 2, TS|TP, SEN(kill), "kill" }, - [ 38] = { 2, TF, SEN(rename), "rename" }, - [ 39] = { 2, TF, SEN(mkdir), "mkdir" }, - [ 40] = { 1, TF, SEN(rmdir), "rmdir" }, -@@ -185,7 +185,7 @@ - [175] = { 4, TS, SEN(rt_sigprocmask), "rt_sigprocmask" }, - [176] = { 2, TS, SEN(rt_sigpending), "rt_sigpending" }, - [177] = { 4, TS, SEN(rt_sigtimedwait_time32), "rt_sigtimedwait" }, --[178] = { 3, TS, SEN(rt_sigqueueinfo), "rt_sigqueueinfo" }, -+[178] = { 3, TS|TP, SEN(rt_sigqueueinfo), "rt_sigqueueinfo" }, - [179] = { 2, TS, SEN(rt_sigsuspend), "rt_sigsuspend" }, - [180] = { 5, TD, SEN(pread), "pread64" }, - [181] = { 5, TD, SEN(pwrite), "pwrite64" }, -@@ -228,7 +228,7 @@ - [218 ... 219] = { }, - [220] = { 3, TD, SEN(getdents64), "getdents64" }, - [221] = { 0, PU|NF, SEN(gettid), "gettid" }, --[222] = { 2, TS, SEN(kill), "tkill" }, -+[222] = { 2, TS|TP, SEN(kill), "tkill" }, - [223] = { 5, TF, SEN(setxattr), "setxattr" }, - [224] = { 5, TF, SEN(setxattr), "lsetxattr" }, - [225] = { 5, TD, SEN(fsetxattr), "fsetxattr" }, -@@ -271,7 +271,7 @@ - [262] = { 4, 0, SEN(clock_nanosleep_time32), "clock_nanosleep" }, - [263] = { 3, TF|TSF|TSFA, SEN(statfs64), "statfs64" }, - [264] = { 3, TD|TFSF|TSFA, SEN(fstatfs64), "fstatfs64" }, --[265] = { 3, TS, SEN(tgkill), "tgkill" }, -+[265] = { 3, TS|TP, SEN(tgkill), "tgkill" }, - [266] = { 2, TF, SEN(utimes), "utimes" }, - [267] = { 6, TD, SEN(fadvise64_64), "fadvise64_64" }, - [268] = { 6, TM, SEN(mbind), "mbind" }, -@@ -309,7 +309,7 @@ - [300] = { 3, TD|TF, SEN(faccessat), "faccessat" }, - [301] = { 6, TD, SEN(pselect6_time32), "pselect6" }, - [302] = { 5, TD, SEN(ppoll_time32), "ppoll" }, --[303] = { 1, TP, SEN(unshare), "unshare" }, -+[303] = { 1, 0, SEN(unshare), "unshare" }, - [304] = { 2, 0, SEN(set_robust_list), "set_robust_list" }, - [305] = { 3, 0, SEN(get_robust_list), "get_robust_list" }, - [306] = { 6, TD, SEN(splice), "splice" }, -diff --git a/linux/microblaze/syscallent.h b/linux/microblaze/syscallent.h -index c17aad1..5d071bc 100644 ---- a/linux/microblaze/syscallent.h -+++ b/linux/microblaze/syscallent.h -@@ -44,7 +44,7 @@ - [ 34] = { 1, 0, SEN(nice), "nice" }, - [ 35] = { 0, 0, SEN(ftime), "ftime" }, - [ 36] = { 0, 0, SEN(sync), "sync" }, --[ 37] = { 2, TS, SEN(kill), "kill" }, -+[ 37] = { 2, TS|TP, SEN(kill), "kill" }, - [ 38] = { 2, TF, SEN(rename), "rename" }, - [ 39] = { 2, TF, SEN(mkdir), "mkdir" }, - [ 40] = { 1, TF, SEN(rmdir), "rmdir" }, -@@ -185,7 +185,7 @@ - [175] = { 4, TS, SEN(rt_sigprocmask), "rt_sigprocmask" }, - [176] = { 2, TS, SEN(rt_sigpending), "rt_sigpending" }, - [177] = { 4, TS, SEN(rt_sigtimedwait_time32), "rt_sigtimedwait" }, --[178] = { 3, TS, SEN(rt_sigqueueinfo), "rt_sigqueueinfo" }, -+[178] = { 3, TS|TP, SEN(rt_sigqueueinfo), "rt_sigqueueinfo" }, - [179] = { 2, TS, SEN(rt_sigsuspend), "rt_sigsuspend" }, - [180] = { 5, TD, SEN(pread), "pread64" }, - [181] = { 5, TD, SEN(pwrite), "pwrite64" }, -@@ -244,7 +244,7 @@ - [235] = { 2, TF, SEN(removexattr), "removexattr" }, - [236] = { 2, TF, SEN(removexattr), "lremovexattr" }, - [237] = { 2, TD, SEN(fremovexattr), "fremovexattr" }, --[238] = { 2, TS, SEN(kill), "tkill" }, -+[238] = { 2, TS|TP, SEN(kill), "tkill" }, - [239] = { 4, TD|TN, SEN(sendfile64), "sendfile64" }, - [240] = { 6, 0, SEN(futex_time32), "futex" }, - [241] = { 3, 0, SEN(sched_setaffinity), "sched_setaffinity" }, -@@ -276,7 +276,7 @@ - [267] = { 4, 0, SEN(clock_nanosleep_time32), "clock_nanosleep" }, - [268] = { 3, TF|TSF|TSFA, SEN(statfs64), "statfs64" }, - [269] = { 3, TD|TFSF|TSFA, SEN(fstatfs64), "fstatfs64" }, --[270] = { 3, TS, SEN(tgkill), "tgkill" }, -+[270] = { 3, TS|TP, SEN(tgkill), "tgkill" }, - [271] = { 2, TF, SEN(utimes), "utimes" }, - [272] = { 6, TD, SEN(fadvise64_64), "fadvise64_64" }, - [273] = { 5, 0, SEN(vserver), "vserver" }, -@@ -316,7 +316,7 @@ - [307] = { 3, TD|TF, SEN(faccessat), "faccessat" }, - [308] = { 6, TD, SEN(pselect6_time32), "pselect6" }, - [309] = { 5, TD, SEN(ppoll_time32), "ppoll" }, --[310] = { 1, TP, SEN(unshare), "unshare" }, -+[310] = { 1, 0, SEN(unshare), "unshare" }, - [311] = { 2, 0, SEN(set_robust_list), "set_robust_list" }, - [312] = { 3, 0, SEN(get_robust_list), "get_robust_list" }, - [313] = { 6, TD, SEN(splice), "splice" }, -diff --git a/linux/mips/syscallent-compat.h b/linux/mips/syscallent-compat.h -index 918f110..61ccfe4 100644 ---- a/linux/mips/syscallent-compat.h -+++ b/linux/mips/syscallent-compat.h -@@ -42,7 +42,7 @@ - [ 34] = { 0, 0, SEN(printargs), "svr4_nice" }, - [ 35] = { 0, TF|TSF|TSFA,SEN(printargs), "svr4_statfs" }, - [ 36] = { 0, 0, SEN(printargs), "svr4_sync" }, --[ 37] = { 0, 0, SEN(printargs), "svr4_kill" }, -+[ 37] = { 0, TP, SEN(printargs), "svr4_kill" }, - [ 38] = { 0, TD|TFSF|TSFA,SEN(printargs), "svr4_fstatfs" }, - [ 39] = { 0, 0, SEN(printargs), "svr4_setpgrp" }, - [ 40] = { 0, 0, SEN(printargs), "svr4_cxenix" }, -@@ -193,7 +193,7 @@ - [1034] = { 0, 0, SEN(printargs), "sysv_nice" }, - [1035] = { 0, TF|TSF|TSFA,SEN(printargs), "sysv_statfs" }, - [1036] = { 0, 0, SEN(printargs), "sysv_sync" }, --[1037] = { 0, 0, SEN(printargs), "sysv_kill" }, -+[1037] = { 0, TP, SEN(printargs), "sysv_kill" }, - [1038] = { 0, TD|TFSF|TSFA,SEN(printargs), "sysv_fstatfs" }, - [1039] = { 0, 0, SEN(printargs), "sysv_setpgrp" }, - [1040] = { 0, 0, SEN(printargs), "sysv_syssgi" }, -@@ -378,7 +378,7 @@ - [2034] = { 0, 0, SEN(printargs), "bsd43_nice" }, - [2035] = { 0, 0, SEN(printargs), "bsd43_ftime" }, - [2036] = { 0, 0, SEN(printargs), "bsd43_sync" }, --[2037] = { 0, 0, SEN(printargs), "bsd43_kill" }, -+[2037] = { 0, TP, SEN(printargs), "bsd43_kill" }, - [2038] = { 0, TF|TST|TSTA,SEN(printargs), "bsd43_stat" }, - [2039] = { 0, 0, SEN(printargs), "bsd43_oldsetpgrp" }, - [2040] = { 0, TF|TLST|TSTA,SEN(printargs), "bsd43_lstat" }, -@@ -487,7 +487,7 @@ - [2143] = { 0, 0, SEN(printargs), "bsd43_sethostid" }, - [2144] = { 0, 0, SEN(printargs), "bsd43_getrlimit" }, - [2145] = { 0, 0, SEN(printargs), "bsd43_setrlimit" }, --[2146] = { 0, 0, SEN(printargs), "bsd43_killpg" }, -+[2146] = { 0, TP, SEN(printargs), "bsd43_killpg" }, - [2147] = { 0, 0, SEN(printargs), "bsd43_shmsys" }, - [2148] = { 0, 0, SEN(printargs), "bsd43_quota" }, - [2149] = { 0, 0, SEN(printargs), "bsd43_qquota" }, -@@ -571,7 +571,7 @@ - [3034] = { 0, 0, SEN(printargs), "posix_nice" }, - [3035] = { 0, TF|TSF|TSFA,SEN(printargs), "posix_statfs" }, - [3036] = { 0, 0, SEN(printargs), "posix_sync" }, --[3037] = { 0, 0, SEN(printargs), "posix_kill" }, -+[3037] = { 0, TP, SEN(printargs), "posix_kill" }, - [3038] = { 0, TD|TFSF|TSFA,SEN(printargs), "posix_fstatfs" }, - [3039] = { 0, 0, SEN(printargs), "posix_getpgrp" }, - [3040] = { 0, 0, SEN(printargs), "posix_syssgi" }, -diff --git a/linux/mips/syscallent-n32.h b/linux/mips/syscallent-n32.h -index 38773f8..cfd199d 100644 ---- a/linux/mips/syscallent-n32.h -+++ b/linux/mips/syscallent-n32.h -@@ -68,7 +68,7 @@ - [BASE_NR + 57] = { 3, TF|TP|TSD|SE|SI, SEN(execve), "execve" }, - [BASE_NR + 58] = { 1, TP|SE, SEN(exit), "exit" }, - [BASE_NR + 59] = { 4, TP, SEN(wait4), "wait4" }, --[BASE_NR + 60] = { 2, TS, SEN(kill), "kill" }, -+[BASE_NR + 60] = { 2, TS|TP, SEN(kill), "kill" }, - [BASE_NR + 61] = { 1, 0, SEN(uname), "uname" }, - [BASE_NR + 62] = { 3, TI, SEN(semget), "semget" }, - [BASE_NR + 63] = { 3, TI, SEN(semop), "semop" }, -@@ -135,7 +135,7 @@ - [BASE_NR + 124] = { 2, TC, SEN(capset), "capset" }, - [BASE_NR + 125] = { 2, TS, SEN(rt_sigpending), "rt_sigpending" }, - [BASE_NR + 126] = { 4, TS, SEN(rt_sigtimedwait_time32), "rt_sigtimedwait" }, --[BASE_NR + 127] = { 3, TS, SEN(rt_sigqueueinfo), "rt_sigqueueinfo" }, -+[BASE_NR + 127] = { 3, TS|TP, SEN(rt_sigqueueinfo), "rt_sigqueueinfo" }, - [BASE_NR + 128] = { 2, TS, SEN(rt_sigsuspend), "rt_sigsuspend" }, - [BASE_NR + 129] = { 2, TS, SEN(sigaltstack), "sigaltstack" }, - [BASE_NR + 130] = { 2, TF, SEN(utime), "utime" }, -@@ -200,7 +200,7 @@ - [BASE_NR + 189] = { 2, TF, SEN(removexattr), "removexattr" }, - [BASE_NR + 190] = { 2, TF, SEN(removexattr), "lremovexattr" }, - [BASE_NR + 191] = { 2, TD, SEN(fremovexattr), "fremovexattr" }, --[BASE_NR + 192] = { 2, TS, SEN(kill), "tkill" }, -+[BASE_NR + 192] = { 2, TS|TP, SEN(kill), "tkill" }, - [BASE_NR + 193] = { 1, TCL, SEN(time), "time" }, - [BASE_NR + 194] = { 6, 0, SEN(futex_time32), "futex" }, - [BASE_NR + 195] = { 3, 0, SEN(sched_setaffinity), "sched_setaffinity" }, -@@ -237,7 +237,7 @@ - [BASE_NR + 226] = { 2, TCL, SEN(clock_gettime32), "clock_gettime" }, - [BASE_NR + 227] = { 2, TCL, SEN(clock_getres_time32), "clock_getres" }, - [BASE_NR + 228] = { 4, 0, SEN(clock_nanosleep_time32), "clock_nanosleep" }, --[BASE_NR + 229] = { 3, TS, SEN(tgkill), "tgkill" }, -+[BASE_NR + 229] = { 3, TS|TP, SEN(tgkill), "tgkill" }, - [BASE_NR + 230] = { 2, TF, SEN(utimes), "utimes" }, - [BASE_NR + 231] = { 6, TM, SEN(mbind), "mbind" }, - [BASE_NR + 232] = { 5, TM, SEN(get_mempolicy), "get_mempolicy" }, -@@ -274,7 +274,7 @@ - [BASE_NR + 263] = { 3, TD|TF, SEN(faccessat), "faccessat" }, - [BASE_NR + 264] = { 6, TD, SEN(pselect6_time32), "pselect6" }, - [BASE_NR + 265] = { 5, TD, SEN(ppoll_time32), "ppoll" }, --[BASE_NR + 266] = { 1, TP, SEN(unshare), "unshare" }, -+[BASE_NR + 266] = { 1, 0, SEN(unshare), "unshare" }, - [BASE_NR + 267] = { 6, TD, SEN(splice), "splice" }, - [BASE_NR + 268] = { 4, TD, SEN(sync_file_range), "sync_file_range" }, - [BASE_NR + 269] = { 4, TD, SEN(tee), "tee" }, -diff --git a/linux/mips/syscallent-n64.h b/linux/mips/syscallent-n64.h -index 0dfd64e..7ef6700 100644 ---- a/linux/mips/syscallent-n64.h -+++ b/linux/mips/syscallent-n64.h -@@ -68,7 +68,7 @@ - [BASE_NR + 57] = { 3, TF|TP|TSD|SE|SI, SEN(execve), "execve" }, - [BASE_NR + 58] = { 1, TP|SE, SEN(exit), "exit" }, - [BASE_NR + 59] = { 4, TP, SEN(wait4), "wait4" }, --[BASE_NR + 60] = { 2, TS, SEN(kill), "kill" }, -+[BASE_NR + 60] = { 2, TS|TP, SEN(kill), "kill" }, - [BASE_NR + 61] = { 1, 0, SEN(uname), "uname" }, - [BASE_NR + 62] = { 3, TI, SEN(semget), "semget" }, - [BASE_NR + 63] = { 3, TI, SEN(semop), "semop" }, -@@ -135,7 +135,7 @@ - [BASE_NR + 124] = { 2, TC, SEN(capset), "capset" }, - [BASE_NR + 125] = { 2, TS, SEN(rt_sigpending), "rt_sigpending" }, - [BASE_NR + 126] = { 4, TS, SEN(rt_sigtimedwait_time64), "rt_sigtimedwait" }, --[BASE_NR + 127] = { 3, TS, SEN(rt_sigqueueinfo), "rt_sigqueueinfo" }, -+[BASE_NR + 127] = { 3, TS|TP, SEN(rt_sigqueueinfo), "rt_sigqueueinfo" }, - [BASE_NR + 128] = { 2, TS, SEN(rt_sigsuspend), "rt_sigsuspend" }, - [BASE_NR + 129] = { 2, TS, SEN(sigaltstack), "sigaltstack" }, - [BASE_NR + 130] = { 2, TF, SEN(utime), "utime" }, -@@ -200,7 +200,7 @@ - [BASE_NR + 189] = { 2, TF, SEN(removexattr), "removexattr" }, - [BASE_NR + 190] = { 2, TF, SEN(removexattr), "lremovexattr" }, - [BASE_NR + 191] = { 2, TD, SEN(fremovexattr), "fremovexattr" }, --[BASE_NR + 192] = { 2, TS, SEN(kill), "tkill" }, -+[BASE_NR + 192] = { 2, TS|TP, SEN(kill), "tkill" }, - [BASE_NR + 193] = { 1, TCL, SEN(time), "time" }, - [BASE_NR + 194] = { 6, 0, SEN(futex_time64), "futex" }, - [BASE_NR + 195] = { 3, 0, SEN(sched_setaffinity), "sched_setaffinity" }, -@@ -233,7 +233,7 @@ - [BASE_NR + 222] = { 2, TCL, SEN(clock_gettime64), "clock_gettime" }, - [BASE_NR + 223] = { 2, TCL, SEN(clock_getres_time64), "clock_getres" }, - [BASE_NR + 224] = { 4, 0, SEN(clock_nanosleep_time64), "clock_nanosleep" }, --[BASE_NR + 225] = { 3, TS, SEN(tgkill), "tgkill" }, -+[BASE_NR + 225] = { 3, TS|TP, SEN(tgkill), "tgkill" }, - [BASE_NR + 226] = { 2, TF, SEN(utimes), "utimes" }, - [BASE_NR + 227] = { 6, TM, SEN(mbind), "mbind" }, - [BASE_NR + 228] = { 5, TM, SEN(get_mempolicy), "get_mempolicy" }, -@@ -270,7 +270,7 @@ - [BASE_NR + 259] = { 3, TD|TF, SEN(faccessat), "faccessat" }, - [BASE_NR + 260] = { 6, TD, SEN(pselect6_time64), "pselect6" }, - [BASE_NR + 261] = { 5, TD, SEN(ppoll_time64), "ppoll" }, --[BASE_NR + 262] = { 1, TP, SEN(unshare), "unshare" }, -+[BASE_NR + 262] = { 1, 0, SEN(unshare), "unshare" }, - [BASE_NR + 263] = { 6, TD, SEN(splice), "splice" }, - [BASE_NR + 264] = { 4, TD, SEN(sync_file_range), "sync_file_range" }, - [BASE_NR + 265] = { 4, TD, SEN(tee), "tee" }, -diff --git a/linux/mips/syscallent-o32.h b/linux/mips/syscallent-o32.h -index f4e67e8..d2b26f7 100644 ---- a/linux/mips/syscallent-o32.h -+++ b/linux/mips/syscallent-o32.h -@@ -46,7 +46,7 @@ - [BASE_NR + 34] = { 1, 0, SEN(nice), "nice" }, - [BASE_NR + 35] = { 1, 0, SEN(ftime), "ftime" }, - [BASE_NR + 36] = { 0, 0, SEN(sync), "sync" }, --[BASE_NR + 37] = { 2, TS, SEN(kill), "kill" }, -+[BASE_NR + 37] = { 2, TS|TP, SEN(kill), "kill" }, - [BASE_NR + 38] = { 2, TF, SEN(rename), "rename" }, - [BASE_NR + 39] = { 2, TF, SEN(mkdir), "mkdir" }, - [BASE_NR + 40] = { 1, TF, SEN(rmdir), "rmdir" }, -@@ -207,7 +207,7 @@ - [BASE_NR + 195] = { 4, TS, SEN(rt_sigprocmask), "rt_sigprocmask" }, - [BASE_NR + 196] = { 2, TS, SEN(rt_sigpending), "rt_sigpending" }, - [BASE_NR + 197] = { 4, TS, SEN(rt_sigtimedwait_time32), "rt_sigtimedwait" }, --[BASE_NR + 198] = { 3, TS, SEN(rt_sigqueueinfo), "rt_sigqueueinfo" }, -+[BASE_NR + 198] = { 3, TS|TP, SEN(rt_sigqueueinfo), "rt_sigqueueinfo" }, - [BASE_NR + 199] = { 2, TS, SEN(rt_sigsuspend), "rt_sigsuspend" }, - [BASE_NR + 200] = { 6, TD, SEN(pread), "pread64" }, - [BASE_NR + 201] = { 6, TD, SEN(pwrite), "pwrite64" }, -@@ -245,7 +245,7 @@ - [BASE_NR + 233] = { 2, TF, SEN(removexattr), "removexattr" }, - [BASE_NR + 234] = { 2, TF, SEN(removexattr), "lremovexattr" }, - [BASE_NR + 235] = { 2, TD, SEN(fremovexattr), "fremovexattr" }, --[BASE_NR + 236] = { 2, TS, SEN(kill), "tkill" }, -+[BASE_NR + 236] = { 2, TS|TP, SEN(kill), "tkill" }, - [BASE_NR + 237] = { 4, TD|TN, SEN(sendfile64), "sendfile64" }, - [BASE_NR + 238] = { 6, 0, SEN(futex_time32), "futex" }, - [BASE_NR + 239] = { 3, 0, SEN(sched_setaffinity), "sched_setaffinity" }, -@@ -275,7 +275,7 @@ - [BASE_NR + 263] = { 2, TCL, SEN(clock_gettime32), "clock_gettime" }, - [BASE_NR + 264] = { 2, TCL, SEN(clock_getres_time32), "clock_getres" }, - [BASE_NR + 265] = { 4, 0, SEN(clock_nanosleep_time32), "clock_nanosleep" }, --[BASE_NR + 266] = { 3, TS, SEN(tgkill), "tgkill" }, -+[BASE_NR + 266] = { 3, TS|TP, SEN(tgkill), "tgkill" }, - [BASE_NR + 267] = { 2, TF, SEN(utimes), "utimes" }, - [BASE_NR + 268] = { 6, TM, SEN(mbind), "mbind" }, - [BASE_NR + 269] = { 5, TM, SEN(get_mempolicy), "get_mempolicy" }, -@@ -312,7 +312,7 @@ - [BASE_NR + 300] = { 3, TD|TF, SEN(faccessat), "faccessat" }, - [BASE_NR + 301] = { 6, TD, SEN(pselect6_time32), "pselect6" }, - [BASE_NR + 302] = { 5, TD, SEN(ppoll_time32), "ppoll" }, --[BASE_NR + 303] = { 1, TP, SEN(unshare), "unshare" }, -+[BASE_NR + 303] = { 1, 0, SEN(unshare), "unshare" }, - [BASE_NR + 304] = { 6, TD, SEN(splice), "splice" }, - [BASE_NR + 305] = { 7, TD, SEN(sync_file_range), "sync_file_range" }, - [BASE_NR + 306] = { 4, TD, SEN(tee), "tee" }, -diff --git a/linux/powerpc/syscallent.h b/linux/powerpc/syscallent.h -index 6958eda..b0962b4 100644 ---- a/linux/powerpc/syscallent.h -+++ b/linux/powerpc/syscallent.h -@@ -44,7 +44,7 @@ - [ 34] = { 1, 0, SEN(nice), "nice" }, - [ 35] = { 0, 0, SEN(ftime), "ftime" }, - [ 36] = { 0, 0, SEN(sync), "sync" }, --[ 37] = { 2, TS, SEN(kill), "kill" }, -+[ 37] = { 2, TS|TP, SEN(kill), "kill" }, - [ 38] = { 2, TF, SEN(rename), "rename" }, - [ 39] = { 2, TF, SEN(mkdir), "mkdir" }, - [ 40] = { 1, TF, SEN(rmdir), "rmdir" }, -@@ -184,7 +184,7 @@ - [174] = { 4, TS, SEN(rt_sigprocmask), "rt_sigprocmask" }, - [175] = { 2, TS, SEN(rt_sigpending), "rt_sigpending" }, - [176] = { 4, TS, SEN(rt_sigtimedwait_time32), "rt_sigtimedwait" }, --[177] = { 3, TS, SEN(rt_sigqueueinfo), "rt_sigqueueinfo" }, -+[177] = { 3, TS|TP, SEN(rt_sigqueueinfo), "rt_sigqueueinfo" }, - [178] = { 2, TS, SEN(rt_sigsuspend), "rt_sigsuspend" }, - [179] = { 6, TD, SEN(pread), "pread64" }, - [180] = { 6, TD, SEN(pwrite), "pwrite64" }, -@@ -215,7 +215,7 @@ - [205] = { 3, TM, SEN(madvise), "madvise" }, - [206] = { 3, TM, SEN(mincore), "mincore" }, - [207] = { 0, PU|NF, SEN(gettid), "gettid" }, --[208] = { 2, TS, SEN(kill), "tkill" }, -+[208] = { 2, TS|TP, SEN(kill), "tkill" }, - [209] = { 5, TF, SEN(setxattr), "setxattr" }, - [210] = { 5, TF, SEN(setxattr), "lsetxattr" }, - [211] = { 5, TD, SEN(fsetxattr), "fsetxattr" }, -@@ -257,7 +257,7 @@ - [247] = { 2, TCL, SEN(clock_getres_time32), "clock_getres" }, - [248] = { 4, 0, SEN(clock_nanosleep_time32), "clock_nanosleep" }, - [249] = { 2, 0, SEN(printargs), "swapcontext" }, --[250] = { 3, TS, SEN(tgkill), "tgkill" }, -+[250] = { 3, TS|TP, SEN(tgkill), "tgkill" }, - [251] = { 2, TF, SEN(utimes), "utimes" }, - [252] = { 3, TF|TSF|TSFA, SEN(statfs64), "statfs64" }, - [253] = { 3, TD|TFSF|TSFA, SEN(fstatfs64), "fstatfs64" }, -@@ -289,7 +289,7 @@ - [279] = { 4, 0, SEN(printargs), "spu_create" }, - [280] = { 6, TD, SEN(pselect6_time32), "pselect6" }, - [281] = { 5, TD, SEN(ppoll_time32), "ppoll" }, --[282] = { 1, TP, SEN(unshare), "unshare" }, -+[282] = { 1, 0, SEN(unshare), "unshare" }, - [283] = { 6, TD, SEN(splice), "splice" }, - [284] = { 4, TD, SEN(tee), "tee" }, - [285] = { 4, TD, SEN(vmsplice), "vmsplice" }, -diff --git a/linux/powerpc64/syscallent.h b/linux/powerpc64/syscallent.h -index 608caed..1a0dfb5 100644 ---- a/linux/powerpc64/syscallent.h -+++ b/linux/powerpc64/syscallent.h -@@ -44,7 +44,7 @@ - [ 34] = { 1, 0, SEN(nice), "nice" }, - [ 35] = { 0, 0, SEN(ftime), "ftime" }, - [ 36] = { 0, 0, SEN(sync), "sync" }, --[ 37] = { 2, TS, SEN(kill), "kill" }, -+[ 37] = { 2, TS|TP, SEN(kill), "kill" }, - [ 38] = { 2, TF, SEN(rename), "rename" }, - [ 39] = { 2, TF, SEN(mkdir), "mkdir" }, - [ 40] = { 1, TF, SEN(rmdir), "rmdir" }, -@@ -184,7 +184,7 @@ - [174] = { 4, TS, SEN(rt_sigprocmask), "rt_sigprocmask" }, - [175] = { 2, TS, SEN(rt_sigpending), "rt_sigpending" }, - [176] = { 4, TS, SEN(rt_sigtimedwait_time64), "rt_sigtimedwait" }, --[177] = { 3, TS, SEN(rt_sigqueueinfo), "rt_sigqueueinfo" }, -+[177] = { 3, TS|TP, SEN(rt_sigqueueinfo), "rt_sigqueueinfo" }, - [178] = { 2, TS, SEN(rt_sigsuspend), "rt_sigsuspend" }, - [179] = { 4, TD, SEN(pread), "pread64" }, - [180] = { 4, TD, SEN(pwrite), "pwrite64" }, -@@ -210,7 +210,7 @@ - [205] = { 3, TM, SEN(madvise), "madvise" }, - [206] = { 3, TM, SEN(mincore), "mincore" }, - [207] = { 0, PU|NF, SEN(gettid), "gettid" }, --[208] = { 2, TS, SEN(kill), "tkill" }, -+[208] = { 2, TS|TP, SEN(kill), "tkill" }, - [209] = { 5, TF, SEN(setxattr), "setxattr" }, - [210] = { 5, TF, SEN(setxattr), "lsetxattr" }, - [211] = { 5, TD, SEN(fsetxattr), "fsetxattr" }, -@@ -252,7 +252,7 @@ - [247] = { 2, TCL, SEN(clock_getres_time64), "clock_getres" }, - [248] = { 4, 0, SEN(clock_nanosleep_time64), "clock_nanosleep" }, - [249] = { 2, 0, SEN(printargs), "swapcontext" }, --[250] = { 3, TS, SEN(tgkill), "tgkill" }, -+[250] = { 3, TS|TP, SEN(tgkill), "tgkill" }, - [251] = { 2, TF, SEN(utimes), "utimes" }, - [252] = { 3, TF|TSF|TSFA, SEN(statfs64), "statfs64" }, - [253] = { 3, TD|TFSF|TSFA, SEN(fstatfs64), "fstatfs64" }, -@@ -284,7 +284,7 @@ - [279] = { 4, 0, SEN(printargs), "spu_create" }, - [280] = { 6, TD, SEN(pselect6_time64), "pselect6" }, - [281] = { 5, TD, SEN(ppoll_time64), "ppoll" }, --[282] = { 1, TP, SEN(unshare), "unshare" }, -+[282] = { 1, 0, SEN(unshare), "unshare" }, - [283] = { 6, TD, SEN(splice), "splice" }, - [284] = { 4, TD, SEN(tee), "tee" }, - [285] = { 4, TD, SEN(vmsplice), "vmsplice" }, -diff --git a/linux/s390/syscallent.h b/linux/s390/syscallent.h -index c61ad77..105089f 100644 ---- a/linux/s390/syscallent.h -+++ b/linux/s390/syscallent.h -@@ -46,7 +46,7 @@ - [ 34] = { 1, 0, SEN(nice), "nice" }, - [ 35] = { }, - [ 36] = { 0, 0, SEN(sync), "sync" }, --[ 37] = { 2, TS, SEN(kill), "kill" }, -+[ 37] = { 2, TS|TP, SEN(kill), "kill" }, - [ 38] = { 2, TF, SEN(rename), "rename" }, - [ 39] = { 2, TF, SEN(mkdir), "mkdir" }, - [ 40] = { 1, TF, SEN(rmdir), "rmdir" }, -@@ -187,7 +187,7 @@ - [175] = { 4, TS, SEN(rt_sigprocmask), "rt_sigprocmask" }, - [176] = { 2, TS, SEN(rt_sigpending), "rt_sigpending" }, - [177] = { 4, TS, SEN(rt_sigtimedwait_time32), "rt_sigtimedwait" }, --[178] = { 3, TS, SEN(rt_sigqueueinfo), "rt_sigqueueinfo" }, -+[178] = { 3, TS|TP, SEN(rt_sigqueueinfo), "rt_sigqueueinfo" }, - [179] = { 2, TS, SEN(rt_sigsuspend), "rt_sigsuspend" }, - [180] = { 5, TD, SEN(pread), "pread64" }, - [181] = { 5, TD, SEN(pwrite), "pwrite64" }, -@@ -246,11 +246,11 @@ - [234] = { 2, TF, SEN(removexattr), "lremovexattr" }, - [235] = { 2, TD, SEN(fremovexattr), "fremovexattr" }, - [236] = { 0, PU|NF, SEN(gettid), "gettid" }, --[237] = { 2, TS, SEN(kill), "tkill" }, -+[237] = { 2, TS|TP, SEN(kill), "tkill" }, - [238] = { 6, 0, SEN(futex_time32), "futex" }, - [239] = { 3, 0, SEN(sched_setaffinity), "sched_setaffinity" }, - [240] = { 3, 0, SEN(sched_getaffinity), "sched_getaffinity" }, --[241] = { 3, TS, SEN(tgkill), "tgkill" }, -+[241] = { 3, TS|TP, SEN(tgkill), "tgkill" }, - [242] = { }, - [243] = { 2, TM, SEN(io_setup), "io_setup" }, - [244] = { 1, TM, SEN(io_destroy), "io_destroy" }, -@@ -312,7 +312,7 @@ - [300] = { 3, TD|TF, SEN(faccessat), "faccessat" }, - [301] = { 6, TD, SEN(pselect6_time32), "pselect6" }, - [302] = { 5, TD, SEN(ppoll_time32), "ppoll" }, --[303] = { 1, TP, SEN(unshare), "unshare" }, -+[303] = { 1, 0, SEN(unshare), "unshare" }, - [304] = { 2, 0, SEN(set_robust_list), "set_robust_list" }, - [305] = { 3, 0, SEN(get_robust_list), "get_robust_list" }, - [306] = { 6, TD, SEN(splice), "splice" }, -diff --git a/linux/s390x/syscallent.h b/linux/s390x/syscallent.h -index c493757..e9cf57a 100644 ---- a/linux/s390x/syscallent.h -+++ b/linux/s390x/syscallent.h -@@ -45,7 +45,7 @@ - [ 34] = { 1, 0, SEN(nice), "nice" }, - [ 35] = { }, - [ 36] = { 0, 0, SEN(sync), "sync" }, --[ 37] = { 2, TS, SEN(kill), "kill" }, -+[ 37] = { 2, TS|TP, SEN(kill), "kill" }, - [ 38] = { 2, TF, SEN(rename), "rename" }, - [ 39] = { 2, TF, SEN(mkdir), "mkdir" }, - [ 40] = { 1, TF, SEN(rmdir), "rmdir" }, -@@ -176,7 +176,7 @@ - [175] = { 4, TS, SEN(rt_sigprocmask), "rt_sigprocmask" }, - [176] = { 2, TS, SEN(rt_sigpending), "rt_sigpending" }, - [177] = { 4, TS, SEN(rt_sigtimedwait_time64), "rt_sigtimedwait" }, --[178] = { 3, TS, SEN(rt_sigqueueinfo), "rt_sigqueueinfo" }, -+[178] = { 3, TS|TP, SEN(rt_sigqueueinfo), "rt_sigqueueinfo" }, - [179] = { 2, TS, SEN(rt_sigsuspend), "rt_sigsuspend" }, - [180] = { 4, TD, SEN(pread), "pread64" }, - [181] = { 4, TD, SEN(pwrite), "pwrite64" }, -@@ -230,11 +230,11 @@ - [234] = { 2, TF, SEN(removexattr), "lremovexattr" }, - [235] = { 2, TD, SEN(fremovexattr), "fremovexattr" }, - [236] = { 0, PU|NF, SEN(gettid), "gettid" }, --[237] = { 2, TS, SEN(kill), "tkill" }, -+[237] = { 2, TS|TP, SEN(kill), "tkill" }, - [238] = { 6, 0, SEN(futex_time64), "futex" }, - [239] = { 3, 0, SEN(sched_setaffinity), "sched_setaffinity" }, - [240] = { 3, 0, SEN(sched_getaffinity), "sched_getaffinity" }, --[241] = { 3, TS, SEN(tgkill), "tgkill" }, -+[241] = { 3, TS|TP, SEN(tgkill), "tgkill" }, - [242] = { }, - [243] = { 2, TM, SEN(io_setup), "io_setup" }, - [244] = { 1, TM, SEN(io_destroy), "io_destroy" }, -@@ -296,7 +296,7 @@ - [300] = { 3, TD|TF, SEN(faccessat), "faccessat" }, - [301] = { 6, TD, SEN(pselect6_time64), "pselect6" }, - [302] = { 5, TD, SEN(ppoll_time64), "ppoll" }, --[303] = { 1, TP, SEN(unshare), "unshare" }, -+[303] = { 1, 0, SEN(unshare), "unshare" }, - [304] = { 2, 0, SEN(set_robust_list), "set_robust_list" }, - [305] = { 3, 0, SEN(get_robust_list), "get_robust_list" }, - [306] = { 6, TD, SEN(splice), "splice" }, -diff --git a/linux/sh/syscallent.h b/linux/sh/syscallent.h -index 61eb728..70dc7da 100644 ---- a/linux/sh/syscallent.h -+++ b/linux/sh/syscallent.h -@@ -46,7 +46,7 @@ - [ 34] = { 1, 0, SEN(nice), "nice" }, - [ 35] = { 0, 0, SEN(ftime), "ftime" }, - [ 36] = { 0, 0, SEN(sync), "sync" }, --[ 37] = { 2, TS, SEN(kill), "kill" }, -+[ 37] = { 2, TS|TP, SEN(kill), "kill" }, - [ 38] = { 2, TF, SEN(rename), "rename" }, - [ 39] = { 2, TF, SEN(mkdir), "mkdir" }, - [ 40] = { 1, TF, SEN(rmdir), "rmdir" }, -@@ -187,7 +187,7 @@ - [175] = { 4, TS, SEN(rt_sigprocmask), "rt_sigprocmask" }, - [176] = { 2, TS, SEN(rt_sigpending), "rt_sigpending" }, - [177] = { 4, TS, SEN(rt_sigtimedwait_time32), "rt_sigtimedwait" }, --[178] = { 3, TS, SEN(rt_sigqueueinfo), "rt_sigqueueinfo" }, -+[178] = { 3, TS|TP, SEN(rt_sigqueueinfo), "rt_sigqueueinfo" }, - [179] = { 2, TS, SEN(rt_sigsuspend), "rt_sigsuspend" }, - [180] = { 6, TD, SEN(pread), "pread64" }, - [181] = { 6, TD, SEN(pwrite), "pwrite64" }, -@@ -245,7 +245,7 @@ - [235] = { 2, TF, SEN(removexattr), "removexattr" }, - [236] = { 2, TF, SEN(removexattr), "lremovexattr" }, - [237] = { 2, TD, SEN(fremovexattr), "fremovexattr" }, --[238] = { 2, TS, SEN(kill), "tkill" }, -+[238] = { 2, TS|TP, SEN(kill), "tkill" }, - [239] = { 4, TD|TN, SEN(sendfile64), "sendfile64" }, - [240] = { 6, 0, SEN(futex_time32), "futex" }, - [241] = { 3, 0, SEN(sched_setaffinity), "sched_setaffinity" }, -@@ -276,7 +276,7 @@ - [267] = { 4, 0, SEN(clock_nanosleep_time32), "clock_nanosleep" }, - [268] = { 3, TF|TSF|TSFA, SEN(statfs64), "statfs64" }, - [269] = { 3, TD|TFSF|TSFA, SEN(fstatfs64), "fstatfs64" }, --[270] = { 3, TS, SEN(tgkill), "tgkill" }, -+[270] = { 3, TS|TP, SEN(tgkill), "tgkill" }, - [271] = { 2, TF, SEN(utimes), "utimes" }, - [272] = { 6, TD, SEN(fadvise64_64), "fadvise64_64" }, - [273] = { }, -@@ -316,7 +316,7 @@ - [307] = { 3, TD|TF, SEN(faccessat), "faccessat" }, - [308] = { 6, TD, SEN(pselect6_time32), "pselect6" }, - [309] = { 5, TD, SEN(ppoll_time32), "ppoll" }, --[310] = { 1, TP, SEN(unshare), "unshare" }, -+[310] = { 1, 0, SEN(unshare), "unshare" }, - [311] = { 2, 0, SEN(set_robust_list), "set_robust_list" }, - [312] = { 3, 0, SEN(get_robust_list), "get_robust_list" }, - [313] = { 6, TD, SEN(splice), "splice" }, -diff --git a/linux/sh64/syscallent.h b/linux/sh64/syscallent.h -index f681635..eff5dc0 100644 ---- a/linux/sh64/syscallent.h -+++ b/linux/sh64/syscallent.h -@@ -44,7 +44,7 @@ - [ 34] = { 1, 0, SEN(nice), "nice" }, - [ 35] = { 0, 0, SEN(ftime), "ftime" }, - [ 36] = { 0, 0, SEN(sync), "sync" }, --[ 37] = { 2, TS, SEN(kill), "kill" }, -+[ 37] = { 2, TS|TP, SEN(kill), "kill" }, - [ 38] = { 2, TF, SEN(rename), "rename" }, - [ 39] = { 2, TF, SEN(mkdir), "mkdir" }, - [ 40] = { 1, TF, SEN(rmdir), "rmdir" }, -@@ -185,7 +185,7 @@ - [175] = { 4, TS, SEN(rt_sigprocmask), "rt_sigprocmask" }, - [176] = { 2, TS, SEN(rt_sigpending), "rt_sigpending" }, - [177] = { 4, TS, SEN(rt_sigtimedwait_time64), "rt_sigtimedwait" }, --[178] = { 3, TS, SEN(rt_sigqueueinfo), "rt_sigqueueinfo" }, -+[178] = { 3, TS|TP, SEN(rt_sigqueueinfo), "rt_sigqueueinfo" }, - [179] = { 2, TS, SEN(rt_sigsuspend), "rt_sigsuspend" }, - [180] = { 4, TD, SEN(pread), "pread64" }, - [181] = { 4, TD, SEN(pwrite), "pwrite64" }, -@@ -271,7 +271,7 @@ - [263] = { 2, TF, SEN(removexattr), "removexattr" }, - [264] = { 2, TF, SEN(removexattr), "lremovexattr" }, - [265] = { 2, TD, SEN(fremovexattr), "fremovexattr" }, --[266] = { 2, TS, SEN(kill), "tkill" }, -+[266] = { 2, TS|TP, SEN(kill), "tkill" }, - [267] = { 4, TD|TN, SEN(sendfile64), "sendfile64" }, - [268] = { 6, 0, SEN(futex_time64), "futex" }, - [269] = { 3, 0, SEN(sched_setaffinity), "sched_setaffinity" }, -@@ -302,7 +302,7 @@ - [295] = { 4, 0, SEN(clock_nanosleep_time64), "clock_nanosleep" }, - [296] = { 3, TF|TSF|TSFA, SEN(statfs64), "statfs64" }, - [297] = { 3, TD|TFSF|TSFA, SEN(fstatfs64), "fstatfs64" }, --[298] = { 3, TS, SEN(tgkill), "tgkill" }, -+[298] = { 3, TS|TP, SEN(tgkill), "tgkill" }, - [299] = { 2, TF, SEN(utimes), "utimes" }, - [300] = { 4, TD, SEN(fadvise64_64), "fadvise64_64" }, - [301] = { }, -@@ -342,7 +342,7 @@ - [335] = { 3, TD|TF, SEN(faccessat), "faccessat" }, - [336] = { 6, TD, SEN(pselect6_time64), "pselect6" }, - [337] = { 5, TD, SEN(ppoll_time64), "ppoll" }, --[338] = { 1, TP, SEN(unshare), "unshare" }, -+[338] = { 1, 0, SEN(unshare), "unshare" }, - [339] = { 2, 0, SEN(set_robust_list), "set_robust_list" }, - [340] = { 3, 0, SEN(get_robust_list), "get_robust_list" }, - [341] = { 6, TD, SEN(splice), "splice" }, -diff --git a/linux/sparc/syscallent.h b/linux/sparc/syscallent.h -index 3417e7f..8c8bd18 100644 ---- a/linux/sparc/syscallent.h -+++ b/linux/sparc/syscallent.h -@@ -42,7 +42,7 @@ - [ 34] = { 1, 0, SEN(nice), "nice" }, - [ 35] = { 3, TF, SEN(chown), "chown32" }, - [ 36] = { 0, 0, SEN(sync), "sync" }, --[ 37] = { 2, TS, SEN(kill), "kill" }, -+[ 37] = { 2, TS|TP, SEN(kill), "kill" }, - [ 38] = { 2, TF|TST|TSTA, SEN(stat), "stat" }, - [ 39] = { 4, TD|TN, SEN(sendfile), "sendfile" }, - [ 40] = { 2, TF|TLST|TSTA, SEN(lstat), "lstat" }, -@@ -111,7 +111,7 @@ - [103] = { 4, TS, SEN(rt_sigprocmask), "rt_sigprocmask" }, - [104] = { 2, TS, SEN(rt_sigpending), "rt_sigpending" }, - [105] = { 4, TS, SEN(rt_sigtimedwait_time32), "rt_sigtimedwait" }, --[106] = { 3, TS, SEN(rt_sigqueueinfo), "rt_sigqueueinfo" }, -+[106] = { 3, TS|TP, SEN(rt_sigqueueinfo), "rt_sigqueueinfo" }, - [107] = { 2, TS, SEN(rt_sigsuspend), "rt_sigsuspend" }, - [108] = { 3, TC, SEN(setresuid), "setresuid32" }, - [109] = { 3, TC, SEN(getresuid), "getresuid32" }, -@@ -192,7 +192,7 @@ - [184] = { 5, 0, SEN(query_module), "query_module" }, - [185] = { 2, 0, SEN(setpgid), "setpgid" }, - [186] = { 2, TD, SEN(fremovexattr), "fremovexattr" }, --[187] = { 2, TS, SEN(kill), "tkill" }, -+[187] = { 2, TS|TP, SEN(kill), "tkill" }, - [188] = { 1, TP|SE, SEN(exit), "exit_group" }, - [189] = { 1, 0, SEN(uname), "uname" }, - [190] = { 3, 0, SEN(init_module), "init_module" }, -@@ -216,7 +216,7 @@ - [208] = { 4, 0, SEN(lookup_dcookie), "lookup_dcookie" }, - [209] = { 5, TD, SEN(fadvise64), "fadvise64" }, - [210] = { 6, TD, SEN(fadvise64_64), "fadvise64_64" }, --[211] = { 3, TS, SEN(tgkill), "tgkill" }, -+[211] = { 3, TS|TP, SEN(tgkill), "tgkill" }, - [212] = { 3, TP, SEN(waitpid), "waitpid" }, - [213] = { 1, TF, SEN(swapoff), "swapoff" }, - [214] = { 1, 0, SEN(sysinfo), "sysinfo" }, -@@ -304,7 +304,7 @@ - [296] = { 3, TD|TF, SEN(faccessat), "faccessat" }, - [297] = { 6, TD, SEN(pselect6_time32), "pselect6" }, - [298] = { 5, TD, SEN(ppoll_time32), "ppoll" }, --[299] = { 1, TP, SEN(unshare), "unshare" }, -+[299] = { 1, 0, SEN(unshare), "unshare" }, - [300] = { 2, 0, SEN(set_robust_list), "set_robust_list" }, - [301] = { 3, 0, SEN(get_robust_list), "get_robust_list" }, - [302] = { 4, TM, SEN(migrate_pages), "migrate_pages" }, -diff --git a/linux/sparc64/syscallent.h b/linux/sparc64/syscallent.h -index dd77685..0e0e0c4 100644 ---- a/linux/sparc64/syscallent.h -+++ b/linux/sparc64/syscallent.h -@@ -41,7 +41,7 @@ - [ 34] = { 1, 0, SEN(nice), "nice" }, - [ 35] = { }, - [ 36] = { 0, 0, SEN(sync), "sync" }, --[ 37] = { 2, TS, SEN(kill), "kill" }, -+[ 37] = { 2, TS|TP, SEN(kill), "kill" }, - [ 38] = { 2, TF|TST|TSTA, SEN(stat), "stat" }, - [ 39] = { 4, TD|TN, SEN(sendfile), "sendfile" }, - [ 40] = { 2, TF|TLST|TSTA, SEN(lstat), "lstat" }, -@@ -109,7 +109,7 @@ - [103] = { 4, TS, SEN(rt_sigprocmask), "rt_sigprocmask" }, - [104] = { 2, TS, SEN(rt_sigpending), "rt_sigpending" }, - [105] = { 4, TS, SEN(rt_sigtimedwait_time64), "rt_sigtimedwait" }, --[106] = { 3, TS, SEN(rt_sigqueueinfo), "rt_sigqueueinfo" }, -+[106] = { 3, TS|TP, SEN(rt_sigqueueinfo), "rt_sigqueueinfo" }, - [107] = { 2, TS, SEN(rt_sigsuspend), "rt_sigsuspend" }, - [108] = { 3, TC, SEN(setresuid), "setresuid" }, - [109] = { 3, TC, SEN(getresuid), "getresuid" }, -@@ -190,7 +190,7 @@ - [184] = { 5, 0, SEN(query_module), "query_module" }, - [185] = { 2, 0, SEN(setpgid), "setpgid" }, - [186] = { 2, TD, SEN(fremovexattr), "fremovexattr" }, --[187] = { 2, TS, SEN(kill), "tkill" }, -+[187] = { 2, TS|TP, SEN(kill), "tkill" }, - [188] = { 1, TP|SE, SEN(exit), "exit_group" }, - [189] = { 1, 0, SEN(uname), "uname" }, - [190] = { 3, 0, SEN(init_module), "init_module" }, -@@ -214,7 +214,7 @@ - [208] = { 3, 0, SEN(lookup_dcookie), "lookup_dcookie" }, - [209] = { 4, TD, SEN(fadvise64), "fadvise64" }, - [210] = { 4, TD, SEN(fadvise64_64), "fadvise64_64" }, --[211] = { 3, TS, SEN(tgkill), "tgkill" }, -+[211] = { 3, TS|TP, SEN(tgkill), "tgkill" }, - [212] = { 3, TP, SEN(waitpid), "waitpid" }, - [213] = { 1, TF, SEN(swapoff), "swapoff" }, - [214] = { 1, 0, SEN(sysinfo), "sysinfo" }, -@@ -302,7 +302,7 @@ - [296] = { 3, TD|TF, SEN(faccessat), "faccessat" }, - [297] = { 6, TD, SEN(pselect6_time64), "pselect6" }, - [298] = { 5, TD, SEN(ppoll_time64), "ppoll" }, --[299] = { 1, TP, SEN(unshare), "unshare" }, -+[299] = { 1, 0, SEN(unshare), "unshare" }, - [300] = { 2, 0, SEN(set_robust_list), "set_robust_list" }, - [301] = { 3, 0, SEN(get_robust_list), "get_robust_list" }, - [302] = { 4, TM, SEN(migrate_pages), "migrate_pages" }, -diff --git a/linux/syscallent-common.h b/linux/syscallent-common.h -index 0d3a4db..0ff671e 100644 ---- a/linux/syscallent-common.h -+++ b/linux/syscallent-common.h -@@ -8,7 +8,7 @@ - #ifndef BASE_NR - # define BASE_NR 0 - #endif --[BASE_NR + 424] = { 4, TD|TS, SEN(pidfd_send_signal), "pidfd_send_signal" }, -+[BASE_NR + 424] = { 4, TD|TS|TP, SEN(pidfd_send_signal), "pidfd_send_signal" }, - [BASE_NR + 425] = { 2, TD, SEN(io_uring_setup), "io_uring_setup" }, - [BASE_NR + 426] = { 6, TD|TS, SEN(io_uring_enter), "io_uring_enter" }, - [BASE_NR + 427] = { 4, TD|TM, SEN(io_uring_register), "io_uring_register" }, -diff --git a/linux/x32/syscallent.h b/linux/x32/syscallent.h -index 30e295f..db8ecfd 100644 ---- a/linux/x32/syscallent.h -+++ b/linux/x32/syscallent.h -@@ -67,7 +67,7 @@ - [ 59] = { 3, TF|TP|SE|SI, SEN(printargs), "execve#64" }, - [ 60] = { 1, TP|SE, SEN(exit), "exit" }, - [ 61] = { 4, TP, SEN(wait4), "wait4" }, --[ 62] = { 2, TS, SEN(kill), "kill" }, -+[ 62] = { 2, TS|TP, SEN(kill), "kill" }, - [ 63] = { 1, 0, SEN(uname), "uname" }, - [ 64] = { 3, TI, SEN(semget), "semget" }, - [ 65] = { 3, TI, SEN(semop), "semop" }, -@@ -134,7 +134,7 @@ - [126] = { 2, TC, SEN(capset), "capset" }, - [127] = { 2, TS, SEN(printargs), "rt_sigpending#64" }, - [128] = { 4, TS, SEN(printargs), "rt_sigtimedwait#64" }, --[129] = { 3, TS, SEN(printargs), "rt_sigqueueinfo#64" }, -+[129] = { 3, TS|TP, SEN(printargs), "rt_sigqueueinfo#64" }, - [130] = { 2, TS, SEN(rt_sigsuspend), "rt_sigsuspend" }, - [131] = { 2, TS, SEN(printargs), "sigaltstack#64" }, - [132] = { 2, TF, SEN(utime), "utime" }, -@@ -163,7 +163,7 @@ - [155] = { 2, TF, SEN(pivotroot), "pivot_root" }, - [156] = { 1, 0, SEN(printargs), "_sysctl#64" }, - [157] = { 5, TC, SEN(prctl), "prctl" }, --[158] = { 2, TP, SEN(arch_prctl), "arch_prctl" }, -+[158] = { 2, 0, SEN(arch_prctl), "arch_prctl" }, - [159] = { 1, TCL, SEN(adjtimex64), "adjtimex" }, - [160] = { 2, 0, SEN(setrlimit), "setrlimit" }, - [161] = { 1, TF, SEN(chroot), "chroot" }, -@@ -205,7 +205,7 @@ - [197] = { 2, TF, SEN(removexattr), "removexattr" }, - [198] = { 2, TF, SEN(removexattr), "lremovexattr" }, - [199] = { 2, TD, SEN(fremovexattr), "fremovexattr" }, --[200] = { 2, TS, SEN(kill), "tkill" }, -+[200] = { 2, TS|TP, SEN(kill), "tkill" }, - [201] = { 1, TCL, SEN(time), "time" }, - [202] = { 6, 0, SEN(futex_time64), "futex" }, - [203] = { 3, 0, SEN(sched_setaffinity), "sched_setaffinity" }, -@@ -239,7 +239,7 @@ - [231] = { 1, TP|SE, SEN(exit), "exit_group" }, - [232] = { 4, TD, SEN(epoll_wait), "epoll_wait" }, - [233] = { 4, TD, SEN(epoll_ctl), "epoll_ctl" }, --[234] = { 3, TS, SEN(tgkill), "tgkill" }, -+[234] = { 3, TS|TP, SEN(tgkill), "tgkill" }, - [235] = { 2, TF, SEN(utimes), "utimes" }, - [236] = { 5, 0, SEN(printargs), "vserver#64" }, - [237] = { 6, TM, SEN(mbind), "mbind" }, -@@ -277,7 +277,7 @@ - [269] = { 3, TD|TF, SEN(faccessat), "faccessat" }, - [270] = { 6, TD, SEN(pselect6_time64), "pselect6" }, - [271] = { 5, TD, SEN(ppoll_time64), "ppoll" }, --[272] = { 1, TP, SEN(unshare), "unshare" }, -+[272] = { 1, 0, SEN(unshare), "unshare" }, - [273] = { 2, 0, SEN(printargs), "set_robust_list#64" }, - [274] = { 3, 0, SEN(printargs), "get_robust_list#64" }, - [275] = { 6, TD, SEN(splice), "splice" }, -@@ -358,7 +358,7 @@ - [521] = { 4, CST, SEN(ptrace), "ptrace" }, - [522] = { 2, CST|TS, SEN(rt_sigpending), "rt_sigpending" }, - [523] = { 4, CST|TS, SEN(rt_sigtimedwait_time64), "rt_sigtimedwait" }, --[524] = { 3, CST|TS, SEN(rt_sigqueueinfo), "rt_sigqueueinfo" }, -+[524] = { 3, CST|TS|TP, SEN(rt_sigqueueinfo), "rt_sigqueueinfo" }, - [525] = { 2, CST|TS, SEN(sigaltstack), "sigaltstack" }, - [526] = { 3, CST, SEN(timer_create), "timer_create" }, - [527] = { 2, CST|TD, SEN(mq_notify), "mq_notify" }, -diff --git a/linux/x86_64/syscallent.h b/linux/x86_64/syscallent.h -index 8423c7d..c69a5aa 100644 ---- a/linux/x86_64/syscallent.h -+++ b/linux/x86_64/syscallent.h -@@ -67,7 +67,7 @@ - [ 59] = { 3, TF|TP|TSD|SE|SI, SEN(execve), "execve" }, - [ 60] = { 1, TP|SE, SEN(exit), "exit" }, - [ 61] = { 4, TP, SEN(wait4), "wait4" }, --[ 62] = { 2, TS, SEN(kill), "kill" }, -+[ 62] = { 2, TS|TP, SEN(kill), "kill" }, - [ 63] = { 1, 0, SEN(uname), "uname" }, - [ 64] = { 3, TI, SEN(semget), "semget" }, - [ 65] = { 3, TI, SEN(semop), "semop" }, -@@ -134,7 +134,7 @@ - [126] = { 2, TC, SEN(capset), "capset" }, - [127] = { 2, TS, SEN(rt_sigpending), "rt_sigpending" }, - [128] = { 4, TS, SEN(rt_sigtimedwait_time64), "rt_sigtimedwait" }, --[129] = { 3, TS, SEN(rt_sigqueueinfo), "rt_sigqueueinfo" }, -+[129] = { 3, TS|TP, SEN(rt_sigqueueinfo), "rt_sigqueueinfo" }, - [130] = { 2, TS, SEN(rt_sigsuspend), "rt_sigsuspend" }, - [131] = { 2, TS, SEN(sigaltstack), "sigaltstack" }, - [132] = { 2, TF, SEN(utime), "utime" }, -@@ -163,7 +163,7 @@ - [155] = { 2, TF, SEN(pivotroot), "pivot_root" }, - [156] = { 1, 0, SEN(sysctl), "_sysctl" }, - [157] = { 5, TC, SEN(prctl), "prctl" }, --[158] = { 2, TP, SEN(arch_prctl), "arch_prctl" }, -+[158] = { 2, 0, SEN(arch_prctl), "arch_prctl" }, - [159] = { 1, TCL, SEN(adjtimex64), "adjtimex" }, - [160] = { 2, 0, SEN(setrlimit), "setrlimit" }, - [161] = { 1, TF, SEN(chroot), "chroot" }, -@@ -205,7 +205,7 @@ - [197] = { 2, TF, SEN(removexattr), "removexattr" }, - [198] = { 2, TF, SEN(removexattr), "lremovexattr" }, - [199] = { 2, TD, SEN(fremovexattr), "fremovexattr" }, --[200] = { 2, TS, SEN(kill), "tkill" }, -+[200] = { 2, TS|TP, SEN(kill), "tkill" }, - [201] = { 1, TCL, SEN(time), "time" }, - [202] = { 6, 0, SEN(futex_time64), "futex" }, - [203] = { 3, 0, SEN(sched_setaffinity), "sched_setaffinity" }, -@@ -239,7 +239,7 @@ - [231] = { 1, TP|SE, SEN(exit), "exit_group" }, - [232] = { 4, TD, SEN(epoll_wait), "epoll_wait" }, - [233] = { 4, TD, SEN(epoll_ctl), "epoll_ctl" }, --[234] = { 3, TS, SEN(tgkill), "tgkill" }, -+[234] = { 3, TS|TP, SEN(tgkill), "tgkill" }, - [235] = { 2, TF, SEN(utimes), "utimes" }, - [236] = { 5, 0, SEN(vserver), "vserver" }, - [237] = { 6, TM, SEN(mbind), "mbind" }, -@@ -277,7 +277,7 @@ - [269] = { 3, TD|TF, SEN(faccessat), "faccessat" }, - [270] = { 6, TD, SEN(pselect6_time64), "pselect6" }, - [271] = { 5, TD, SEN(ppoll_time64), "ppoll" }, --[272] = { 1, TP, SEN(unshare), "unshare" }, -+[272] = { 1, 0, SEN(unshare), "unshare" }, - [273] = { 2, 0, SEN(set_robust_list), "set_robust_list" }, - [274] = { 3, 0, SEN(get_robust_list), "get_robust_list" }, - [275] = { 6, TD, SEN(splice), "splice" }, -diff --git a/linux/xtensa/syscallent.h b/linux/xtensa/syscallent.h -index 385630a..61f1dd4 100644 ---- a/linux/xtensa/syscallent.h -+++ b/linux/xtensa/syscallent.h -@@ -123,9 +123,9 @@ - [120] = { 0, PU|NF, SEN(getpid), "getpid" }, - [121] = { 4, TP, SEN(wait4), "wait4" }, - [122] = { 5, TP, SEN(waitid), "waitid" }, --[123] = { 2, TS, SEN(kill), "kill" }, --[124] = { 2, TS, SEN(kill), "tkill" }, --[125] = { 3, TS, SEN(tgkill), "tgkill" }, -+[123] = { 2, TS|TP, SEN(kill), "kill" }, -+[124] = { 2, TS|TP, SEN(kill), "tkill" }, -+[125] = { 3, TS|TP, SEN(tgkill), "tgkill" }, - [126] = { 1, 0, SEN(set_tid_address), "set_tid_address" }, - [127] = { 0, PU|NF, SEN(gettid), "gettid" }, - [128] = { 0, 0, SEN(setsid), "setsid" }, -@@ -227,7 +227,7 @@ - [227] = { 4, TS, SEN(rt_sigprocmask), "rt_sigprocmask" }, - [228] = { 2, TS, SEN(rt_sigpending), "rt_sigpending" }, - [229] = { 4, TS, SEN(rt_sigtimedwait_time32), "rt_sigtimedwait" }, --[230] = { 3, TS, SEN(rt_sigqueueinfo), "rt_sigqueueinfo" }, -+[230] = { 3, TS|TP, SEN(rt_sigqueueinfo), "rt_sigqueueinfo" }, - [231] = { 2, TS, SEN(rt_sigsuspend), "rt_sigsuspend" }, - [232] = { 4, TD, SEN(mq_open), "mq_open" }, - [233] = { 1, 0, SEN(mq_unlink), "mq_unlink" }, -@@ -263,7 +263,7 @@ - [263] = { 6, TM, SEN(mbind), "mbind" }, - [264] = { 5, TM, SEN(get_mempolicy), "get_mempolicy" }, - [265] = { 3, TM, SEN(set_mempolicy), "set_mempolicy" }, --[266] = { 1, TP, SEN(unshare), "unshare" }, -+[266] = { 1, 0, SEN(unshare), "unshare" }, - [267] = { 6, TM, SEN(move_pages), "move_pages" }, - [268] = { 6, TD, SEN(splice), "splice" }, - [269] = { 4, TD, SEN(tee), "tee" }, -diff --git a/strace.1.in b/strace.1.in -index 7564fc2..fed8b5a 100644 ---- a/strace.1.in -+++ b/strace.1.in -@@ -518,8 +518,8 @@ is deprecated. - .B %process - .TQ - .B process --Trace all system calls which involve process management. This --is useful for watching the fork, wait, and exec steps of a process. -+Trace system calls associated with process lifecycle -+(creation, exec, termination). - The syntax without a preceding percent sign - .RB (\[dq] "-e trace" = process \[dq]) - is deprecated. --- -2.1.4 - diff --git a/SOURCES/0131-Introduce-SYS_FUNC-tkill.patch b/SOURCES/0131-Introduce-SYS_FUNC-tkill.patch deleted file mode 100644 index c62a050..0000000 --- a/SOURCES/0131-Introduce-SYS_FUNC-tkill.patch +++ /dev/null @@ -1,415 +0,0 @@ -From 98cb4de5002be3b81c45489200bcab0ae323123d Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?=C3=81kos=20Uzonyi?= -Date: Mon, 27 Jul 2020 20:54:07 +0200 -Subject: [PATCH 131/138] Introduce SYS_FUNC(tkill) - -This is going to be needed to implement pidns support -in tkill syscall decoder. - -syscallent*.h files are updated automatically by: - git grep -l 'SEN(kill).*"tkill"' | - xargs sed -i '/"tkill"/ s/SEN(kill)/SEN(tkill)/' - -* signal.c (SYS_FUNC(tkill)): New syscall decoder. -* linux/32/syscallent.h: Use SEN(tkill) for "tkill" syscall. -* linux/64/syscallent.h: Likewise. -* linux/alpha/syscallent.h: Likewise. -* linux/arm/syscallent.h: Likewise. -* linux/avr32/syscallent.h: Likewise. -* linux/bfin/syscallent.h: Likewise. -* linux/hppa/syscallent.h: Likewise. -* linux/i386/syscallent.h: Likewise. -* linux/ia64/syscallent.h: Likewise. -* linux/m68k/syscallent.h: Likewise. -* linux/microblaze/syscallent.h: Likewise. -* linux/mips/syscallent-n32.h: Likewise. -* linux/mips/syscallent-n64.h: Likewise. -* linux/mips/syscallent-o32.h: Likewise. -* linux/powerpc/syscallent.h: Likewise. -* linux/powerpc64/syscallent.h: Likewise. -* linux/s390/syscallent.h: Likewise. -* linux/s390x/syscallent.h: Likewise. -* linux/sh/syscallent.h: Likewise. -* linux/sh64/syscallent.h: Likewise. -* linux/sparc/syscallent.h: Likewise. -* linux/sparc64/syscallent.h: Likewise. -* linux/x32/syscallent.h: Likewise. -* linux/x86_64/syscallent.h: Likewise. -* linux/xtensa/syscallent.h: Likewise. ---- - linux/32/syscallent.h | 2 +- - linux/64/syscallent.h | 2 +- - linux/alpha/syscallent.h | 2 +- - linux/arm/syscallent.h | 2 +- - linux/avr32/syscallent.h | 2 +- - linux/bfin/syscallent.h | 2 +- - linux/hppa/syscallent.h | 2 +- - linux/i386/syscallent.h | 2 +- - linux/ia64/syscallent.h | 2 +- - linux/m68k/syscallent.h | 2 +- - linux/microblaze/syscallent.h | 2 +- - linux/mips/syscallent-n32.h | 2 +- - linux/mips/syscallent-n64.h | 2 +- - linux/mips/syscallent-o32.h | 2 +- - linux/powerpc/syscallent.h | 2 +- - linux/powerpc64/syscallent.h | 2 +- - linux/s390/syscallent.h | 2 +- - linux/s390x/syscallent.h | 2 +- - linux/sh/syscallent.h | 2 +- - linux/sh64/syscallent.h | 2 +- - linux/sparc/syscallent.h | 2 +- - linux/sparc64/syscallent.h | 2 +- - linux/x32/syscallent.h | 2 +- - linux/x86_64/syscallent.h | 2 +- - linux/xtensa/syscallent.h | 2 +- - signal.c | 9 +++++++++ - 26 files changed, 34 insertions(+), 25 deletions(-) - -diff --git a/linux/32/syscallent.h b/linux/32/syscallent.h -index c74ab18..79c36e0 100644 ---- a/linux/32/syscallent.h -+++ b/linux/32/syscallent.h -@@ -142,7 +142,7 @@ - /* [127] sched_rr_get_interval */ - [128] = { 0, 0, SEN(restart_syscall), "restart_syscall" }, - [129] = { 2, TS|TP, SEN(kill), "kill" }, --[130] = { 2, TS|TP, SEN(kill), "tkill" }, -+[130] = { 2, TS|TP, SEN(tkill), "tkill" }, - [131] = { 3, TS|TP, SEN(tgkill), "tgkill" }, - [132] = { 2, TS, SEN(sigaltstack), "sigaltstack" }, - [133] = { 2, TS, SEN(rt_sigsuspend), "rt_sigsuspend" }, -diff --git a/linux/64/syscallent.h b/linux/64/syscallent.h -index 3fb1305..ce5602e 100644 ---- a/linux/64/syscallent.h -+++ b/linux/64/syscallent.h -@@ -135,7 +135,7 @@ - [127] = { 2, 0, SEN(sched_rr_get_interval_time64),"sched_rr_get_interval"}, - [128] = { 0, 0, SEN(restart_syscall), "restart_syscall" }, - [129] = { 2, TS|TP, SEN(kill), "kill" }, --[130] = { 2, TS|TP, SEN(kill), "tkill" }, -+[130] = { 2, TS|TP, SEN(tkill), "tkill" }, - [131] = { 3, TS|TP, SEN(tgkill), "tgkill" }, - [132] = { 2, TS, SEN(sigaltstack), "sigaltstack" }, - [133] = { 2, TS, SEN(rt_sigsuspend), "rt_sigsuspend" }, -diff --git a/linux/alpha/syscallent.h b/linux/alpha/syscallent.h -index 93f0b0e..7859b9c 100644 ---- a/linux/alpha/syscallent.h -+++ b/linux/alpha/syscallent.h -@@ -325,7 +325,7 @@ - [378] = { 0, PU|NF, SEN(gettid), "gettid" }, - [379] = { 3, TD, SEN(readahead), "readahead" }, - [380] = { }, --[381] = { 2, TS|TP, SEN(kill), "tkill" }, -+[381] = { 2, TS|TP, SEN(tkill), "tkill" }, - [382] = { 5, TF, SEN(setxattr), "setxattr" }, - [383] = { 5, TF, SEN(setxattr), "lsetxattr" }, - [384] = { 5, TD, SEN(fsetxattr), "fsetxattr" }, -diff --git a/linux/arm/syscallent.h b/linux/arm/syscallent.h -index 73497b6..87b0687 100644 ---- a/linux/arm/syscallent.h -+++ b/linux/arm/syscallent.h -@@ -245,7 +245,7 @@ - [235] = { 2, TF, SEN(removexattr), "removexattr" }, - [236] = { 2, TF, SEN(removexattr), "lremovexattr" }, - [237] = { 2, TD, SEN(fremovexattr), "fremovexattr" }, --[238] = { 2, TS|TP, SEN(kill), "tkill" }, -+[238] = { 2, TS|TP, SEN(tkill), "tkill" }, - [239] = { 4, TD|TN, SEN(sendfile64), "sendfile64" }, - [240] = { 6, 0, SEN(futex_time32), "futex" }, - [241] = { 3, 0, SEN(sched_setaffinity), "sched_setaffinity" }, -diff --git a/linux/avr32/syscallent.h b/linux/avr32/syscallent.h -index b3cf2da..491ff8e 100644 ---- a/linux/avr32/syscallent.h -+++ b/linux/avr32/syscallent.h -@@ -196,7 +196,7 @@ - [187] = { 2, TF, SEN(removexattr), "removexattr" }, - [188] = { 2, TF, SEN(removexattr), "lremovexattr" }, - [189] = { 2, TD, SEN(fremovexattr), "fremovexattr" }, --[190] = { 2, TS|TP, SEN(kill), "tkill" }, -+[190] = { 2, TS|TP, SEN(tkill), "tkill" }, - [191] = { 4, TD|TN, SEN(sendfile64), "sendfile64" }, - [192] = { 6, 0, SEN(futex_time32), "futex" }, - [193] = { 3, 0, SEN(sched_setaffinity), "sched_setaffinity" }, -diff --git a/linux/bfin/syscallent.h b/linux/bfin/syscallent.h -index b93a844..53d5c23 100644 ---- a/linux/bfin/syscallent.h -+++ b/linux/bfin/syscallent.h -@@ -244,7 +244,7 @@ - [235] = { 2, TF, SEN(removexattr), "removexattr" }, - [236] = { 2, TF, SEN(removexattr), "lremovexattr" }, - [237] = { 2, TD, SEN(fremovexattr), "fremovexattr" }, --[238] = { 2, TS|TP, SEN(kill), "tkill" }, -+[238] = { 2, TS|TP, SEN(tkill), "tkill" }, - [239] = { 4, TD|TN, SEN(sendfile64), "sendfile64" }, - [240] = { 6, 0, SEN(futex_time32), "futex" }, - [241] = { 3, 0, SEN(sched_setaffinity), "sched_setaffinity" }, -diff --git a/linux/hppa/syscallent.h b/linux/hppa/syscallent.h -index 31341d4..20cae3c 100644 ---- a/linux/hppa/syscallent.h -+++ b/linux/hppa/syscallent.h -@@ -211,7 +211,7 @@ - [205] = { 5, 0, SEN(printargs), "acl_set" }, - [206] = { 0, PU|NF, SEN(gettid), "gettid" }, - [207] = { 4, TD, SEN(readahead), "readahead" }, --[208] = { 2, TS|TP, SEN(kill), "tkill" }, -+[208] = { 2, TS|TP, SEN(tkill), "tkill" }, - [209] = { 4, TD|TN, SEN(sendfile64), "sendfile64" }, - [210] = { 6, 0, SEN(futex_time32), "futex" }, - [211] = { 3, 0, SEN(sched_setaffinity), "sched_setaffinity" }, -diff --git a/linux/i386/syscallent.h b/linux/i386/syscallent.h -index efe0ff7..521e7ba 100644 ---- a/linux/i386/syscallent.h -+++ b/linux/i386/syscallent.h -@@ -244,7 +244,7 @@ - [235] = { 2, TF, SEN(removexattr), "removexattr" }, - [236] = { 2, TF, SEN(removexattr), "lremovexattr" }, - [237] = { 2, TD, SEN(fremovexattr), "fremovexattr" }, --[238] = { 2, TS|TP, SEN(kill), "tkill" }, -+[238] = { 2, TS|TP, SEN(tkill), "tkill" }, - [239] = { 4, TD|TN, SEN(sendfile64), "sendfile64" }, - [240] = { 6, 0, SEN(futex_time32), "futex" }, - [241] = { 3, 0, SEN(sched_setaffinity), "sched_setaffinity" }, -diff --git a/linux/ia64/syscallent.h b/linux/ia64/syscallent.h -index 8aeda41..c5088e1 100644 ---- a/linux/ia64/syscallent.h -+++ b/linux/ia64/syscallent.h -@@ -225,7 +225,7 @@ - [BASE_NR + 202] = { 2, TF, SEN(removexattr), "removexattr" }, - [BASE_NR + 203] = { 2, TF, SEN(removexattr), "lremovexattr" }, - [BASE_NR + 204] = { 2, TD, SEN(fremovexattr), "fremovexattr" }, --[BASE_NR + 205] = { 2, TS|TP, SEN(kill), "tkill" }, -+[BASE_NR + 205] = { 2, TS|TP, SEN(tkill), "tkill" }, - [BASE_NR + 206] = { 6, 0, SEN(futex_time64), "futex" }, - [BASE_NR + 207] = { 3, 0, SEN(sched_setaffinity), "sched_setaffinity" }, - [BASE_NR + 208] = { 3, 0, SEN(sched_getaffinity), "sched_getaffinity" }, -diff --git a/linux/m68k/syscallent.h b/linux/m68k/syscallent.h -index 1876bed..107780c 100644 ---- a/linux/m68k/syscallent.h -+++ b/linux/m68k/syscallent.h -@@ -228,7 +228,7 @@ - [218 ... 219] = { }, - [220] = { 3, TD, SEN(getdents64), "getdents64" }, - [221] = { 0, PU|NF, SEN(gettid), "gettid" }, --[222] = { 2, TS|TP, SEN(kill), "tkill" }, -+[222] = { 2, TS|TP, SEN(tkill), "tkill" }, - [223] = { 5, TF, SEN(setxattr), "setxattr" }, - [224] = { 5, TF, SEN(setxattr), "lsetxattr" }, - [225] = { 5, TD, SEN(fsetxattr), "fsetxattr" }, -diff --git a/linux/microblaze/syscallent.h b/linux/microblaze/syscallent.h -index 5d071bc..d830a3e 100644 ---- a/linux/microblaze/syscallent.h -+++ b/linux/microblaze/syscallent.h -@@ -244,7 +244,7 @@ - [235] = { 2, TF, SEN(removexattr), "removexattr" }, - [236] = { 2, TF, SEN(removexattr), "lremovexattr" }, - [237] = { 2, TD, SEN(fremovexattr), "fremovexattr" }, --[238] = { 2, TS|TP, SEN(kill), "tkill" }, -+[238] = { 2, TS|TP, SEN(tkill), "tkill" }, - [239] = { 4, TD|TN, SEN(sendfile64), "sendfile64" }, - [240] = { 6, 0, SEN(futex_time32), "futex" }, - [241] = { 3, 0, SEN(sched_setaffinity), "sched_setaffinity" }, -diff --git a/linux/mips/syscallent-n32.h b/linux/mips/syscallent-n32.h -index cfd199d..5ab0c53 100644 ---- a/linux/mips/syscallent-n32.h -+++ b/linux/mips/syscallent-n32.h -@@ -200,7 +200,7 @@ - [BASE_NR + 189] = { 2, TF, SEN(removexattr), "removexattr" }, - [BASE_NR + 190] = { 2, TF, SEN(removexattr), "lremovexattr" }, - [BASE_NR + 191] = { 2, TD, SEN(fremovexattr), "fremovexattr" }, --[BASE_NR + 192] = { 2, TS|TP, SEN(kill), "tkill" }, -+[BASE_NR + 192] = { 2, TS|TP, SEN(tkill), "tkill" }, - [BASE_NR + 193] = { 1, TCL, SEN(time), "time" }, - [BASE_NR + 194] = { 6, 0, SEN(futex_time32), "futex" }, - [BASE_NR + 195] = { 3, 0, SEN(sched_setaffinity), "sched_setaffinity" }, -diff --git a/linux/mips/syscallent-n64.h b/linux/mips/syscallent-n64.h -index 7ef6700..1964872 100644 ---- a/linux/mips/syscallent-n64.h -+++ b/linux/mips/syscallent-n64.h -@@ -200,7 +200,7 @@ - [BASE_NR + 189] = { 2, TF, SEN(removexattr), "removexattr" }, - [BASE_NR + 190] = { 2, TF, SEN(removexattr), "lremovexattr" }, - [BASE_NR + 191] = { 2, TD, SEN(fremovexattr), "fremovexattr" }, --[BASE_NR + 192] = { 2, TS|TP, SEN(kill), "tkill" }, -+[BASE_NR + 192] = { 2, TS|TP, SEN(tkill), "tkill" }, - [BASE_NR + 193] = { 1, TCL, SEN(time), "time" }, - [BASE_NR + 194] = { 6, 0, SEN(futex_time64), "futex" }, - [BASE_NR + 195] = { 3, 0, SEN(sched_setaffinity), "sched_setaffinity" }, -diff --git a/linux/mips/syscallent-o32.h b/linux/mips/syscallent-o32.h -index d2b26f7..eb8908e 100644 ---- a/linux/mips/syscallent-o32.h -+++ b/linux/mips/syscallent-o32.h -@@ -245,7 +245,7 @@ - [BASE_NR + 233] = { 2, TF, SEN(removexattr), "removexattr" }, - [BASE_NR + 234] = { 2, TF, SEN(removexattr), "lremovexattr" }, - [BASE_NR + 235] = { 2, TD, SEN(fremovexattr), "fremovexattr" }, --[BASE_NR + 236] = { 2, TS|TP, SEN(kill), "tkill" }, -+[BASE_NR + 236] = { 2, TS|TP, SEN(tkill), "tkill" }, - [BASE_NR + 237] = { 4, TD|TN, SEN(sendfile64), "sendfile64" }, - [BASE_NR + 238] = { 6, 0, SEN(futex_time32), "futex" }, - [BASE_NR + 239] = { 3, 0, SEN(sched_setaffinity), "sched_setaffinity" }, -diff --git a/linux/powerpc/syscallent.h b/linux/powerpc/syscallent.h -index b0962b4..7a77979 100644 ---- a/linux/powerpc/syscallent.h -+++ b/linux/powerpc/syscallent.h -@@ -215,7 +215,7 @@ - [205] = { 3, TM, SEN(madvise), "madvise" }, - [206] = { 3, TM, SEN(mincore), "mincore" }, - [207] = { 0, PU|NF, SEN(gettid), "gettid" }, --[208] = { 2, TS|TP, SEN(kill), "tkill" }, -+[208] = { 2, TS|TP, SEN(tkill), "tkill" }, - [209] = { 5, TF, SEN(setxattr), "setxattr" }, - [210] = { 5, TF, SEN(setxattr), "lsetxattr" }, - [211] = { 5, TD, SEN(fsetxattr), "fsetxattr" }, -diff --git a/linux/powerpc64/syscallent.h b/linux/powerpc64/syscallent.h -index 1a0dfb5..f20fd78 100644 ---- a/linux/powerpc64/syscallent.h -+++ b/linux/powerpc64/syscallent.h -@@ -210,7 +210,7 @@ - [205] = { 3, TM, SEN(madvise), "madvise" }, - [206] = { 3, TM, SEN(mincore), "mincore" }, - [207] = { 0, PU|NF, SEN(gettid), "gettid" }, --[208] = { 2, TS|TP, SEN(kill), "tkill" }, -+[208] = { 2, TS|TP, SEN(tkill), "tkill" }, - [209] = { 5, TF, SEN(setxattr), "setxattr" }, - [210] = { 5, TF, SEN(setxattr), "lsetxattr" }, - [211] = { 5, TD, SEN(fsetxattr), "fsetxattr" }, -diff --git a/linux/s390/syscallent.h b/linux/s390/syscallent.h -index 105089f..6844c7e 100644 ---- a/linux/s390/syscallent.h -+++ b/linux/s390/syscallent.h -@@ -246,7 +246,7 @@ - [234] = { 2, TF, SEN(removexattr), "lremovexattr" }, - [235] = { 2, TD, SEN(fremovexattr), "fremovexattr" }, - [236] = { 0, PU|NF, SEN(gettid), "gettid" }, --[237] = { 2, TS|TP, SEN(kill), "tkill" }, -+[237] = { 2, TS|TP, SEN(tkill), "tkill" }, - [238] = { 6, 0, SEN(futex_time32), "futex" }, - [239] = { 3, 0, SEN(sched_setaffinity), "sched_setaffinity" }, - [240] = { 3, 0, SEN(sched_getaffinity), "sched_getaffinity" }, -diff --git a/linux/s390x/syscallent.h b/linux/s390x/syscallent.h -index e9cf57a..c805204 100644 ---- a/linux/s390x/syscallent.h -+++ b/linux/s390x/syscallent.h -@@ -230,7 +230,7 @@ - [234] = { 2, TF, SEN(removexattr), "lremovexattr" }, - [235] = { 2, TD, SEN(fremovexattr), "fremovexattr" }, - [236] = { 0, PU|NF, SEN(gettid), "gettid" }, --[237] = { 2, TS|TP, SEN(kill), "tkill" }, -+[237] = { 2, TS|TP, SEN(tkill), "tkill" }, - [238] = { 6, 0, SEN(futex_time64), "futex" }, - [239] = { 3, 0, SEN(sched_setaffinity), "sched_setaffinity" }, - [240] = { 3, 0, SEN(sched_getaffinity), "sched_getaffinity" }, -diff --git a/linux/sh/syscallent.h b/linux/sh/syscallent.h -index 70dc7da..6a89f75 100644 ---- a/linux/sh/syscallent.h -+++ b/linux/sh/syscallent.h -@@ -245,7 +245,7 @@ - [235] = { 2, TF, SEN(removexattr), "removexattr" }, - [236] = { 2, TF, SEN(removexattr), "lremovexattr" }, - [237] = { 2, TD, SEN(fremovexattr), "fremovexattr" }, --[238] = { 2, TS|TP, SEN(kill), "tkill" }, -+[238] = { 2, TS|TP, SEN(tkill), "tkill" }, - [239] = { 4, TD|TN, SEN(sendfile64), "sendfile64" }, - [240] = { 6, 0, SEN(futex_time32), "futex" }, - [241] = { 3, 0, SEN(sched_setaffinity), "sched_setaffinity" }, -diff --git a/linux/sh64/syscallent.h b/linux/sh64/syscallent.h -index eff5dc0..4ec35d3 100644 ---- a/linux/sh64/syscallent.h -+++ b/linux/sh64/syscallent.h -@@ -271,7 +271,7 @@ - [263] = { 2, TF, SEN(removexattr), "removexattr" }, - [264] = { 2, TF, SEN(removexattr), "lremovexattr" }, - [265] = { 2, TD, SEN(fremovexattr), "fremovexattr" }, --[266] = { 2, TS|TP, SEN(kill), "tkill" }, -+[266] = { 2, TS|TP, SEN(tkill), "tkill" }, - [267] = { 4, TD|TN, SEN(sendfile64), "sendfile64" }, - [268] = { 6, 0, SEN(futex_time64), "futex" }, - [269] = { 3, 0, SEN(sched_setaffinity), "sched_setaffinity" }, -diff --git a/linux/sparc/syscallent.h b/linux/sparc/syscallent.h -index 8c8bd18..a274791 100644 ---- a/linux/sparc/syscallent.h -+++ b/linux/sparc/syscallent.h -@@ -192,7 +192,7 @@ - [184] = { 5, 0, SEN(query_module), "query_module" }, - [185] = { 2, 0, SEN(setpgid), "setpgid" }, - [186] = { 2, TD, SEN(fremovexattr), "fremovexattr" }, --[187] = { 2, TS|TP, SEN(kill), "tkill" }, -+[187] = { 2, TS|TP, SEN(tkill), "tkill" }, - [188] = { 1, TP|SE, SEN(exit), "exit_group" }, - [189] = { 1, 0, SEN(uname), "uname" }, - [190] = { 3, 0, SEN(init_module), "init_module" }, -diff --git a/linux/sparc64/syscallent.h b/linux/sparc64/syscallent.h -index 0e0e0c4..61c32f9 100644 ---- a/linux/sparc64/syscallent.h -+++ b/linux/sparc64/syscallent.h -@@ -190,7 +190,7 @@ - [184] = { 5, 0, SEN(query_module), "query_module" }, - [185] = { 2, 0, SEN(setpgid), "setpgid" }, - [186] = { 2, TD, SEN(fremovexattr), "fremovexattr" }, --[187] = { 2, TS|TP, SEN(kill), "tkill" }, -+[187] = { 2, TS|TP, SEN(tkill), "tkill" }, - [188] = { 1, TP|SE, SEN(exit), "exit_group" }, - [189] = { 1, 0, SEN(uname), "uname" }, - [190] = { 3, 0, SEN(init_module), "init_module" }, -diff --git a/linux/x32/syscallent.h b/linux/x32/syscallent.h -index db8ecfd..d64060d 100644 ---- a/linux/x32/syscallent.h -+++ b/linux/x32/syscallent.h -@@ -205,7 +205,7 @@ - [197] = { 2, TF, SEN(removexattr), "removexattr" }, - [198] = { 2, TF, SEN(removexattr), "lremovexattr" }, - [199] = { 2, TD, SEN(fremovexattr), "fremovexattr" }, --[200] = { 2, TS|TP, SEN(kill), "tkill" }, -+[200] = { 2, TS|TP, SEN(tkill), "tkill" }, - [201] = { 1, TCL, SEN(time), "time" }, - [202] = { 6, 0, SEN(futex_time64), "futex" }, - [203] = { 3, 0, SEN(sched_setaffinity), "sched_setaffinity" }, -diff --git a/linux/x86_64/syscallent.h b/linux/x86_64/syscallent.h -index c69a5aa..027093a 100644 ---- a/linux/x86_64/syscallent.h -+++ b/linux/x86_64/syscallent.h -@@ -205,7 +205,7 @@ - [197] = { 2, TF, SEN(removexattr), "removexattr" }, - [198] = { 2, TF, SEN(removexattr), "lremovexattr" }, - [199] = { 2, TD, SEN(fremovexattr), "fremovexattr" }, --[200] = { 2, TS|TP, SEN(kill), "tkill" }, -+[200] = { 2, TS|TP, SEN(tkill), "tkill" }, - [201] = { 1, TCL, SEN(time), "time" }, - [202] = { 6, 0, SEN(futex_time64), "futex" }, - [203] = { 3, 0, SEN(sched_setaffinity), "sched_setaffinity" }, -diff --git a/linux/xtensa/syscallent.h b/linux/xtensa/syscallent.h -index 61f1dd4..6de03d2 100644 ---- a/linux/xtensa/syscallent.h -+++ b/linux/xtensa/syscallent.h -@@ -124,7 +124,7 @@ - [121] = { 4, TP, SEN(wait4), "wait4" }, - [122] = { 5, TP, SEN(waitid), "waitid" }, - [123] = { 2, TS|TP, SEN(kill), "kill" }, --[124] = { 2, TS|TP, SEN(kill), "tkill" }, -+[124] = { 2, TS|TP, SEN(tkill), "tkill" }, - [125] = { 3, TS|TP, SEN(tgkill), "tgkill" }, - [126] = { 1, 0, SEN(set_tid_address), "set_tid_address" }, - [127] = { 0, PU|NF, SEN(gettid), "gettid" }, -diff --git a/signal.c b/signal.c -index 3cb54bb..5f1acac 100644 ---- a/signal.c -+++ b/signal.c -@@ -446,6 +446,15 @@ SYS_FUNC(kill) - return RVAL_DECODED; - } - -+SYS_FUNC(tkill) -+{ -+ tprintf("%d", (int) tcp->u_arg[0]); -+ tprints(", "); -+ printsignal(tcp->u_arg[1]); -+ -+ return RVAL_DECODED; -+} -+ - SYS_FUNC(tgkill) - { - /* tgid, tid */ --- -2.1.4 - diff --git a/SOURCES/0132-tests-check-decoding-of-tkill-syscall.patch b/SOURCES/0132-tests-check-decoding-of-tkill-syscall.patch deleted file mode 100644 index 0d9bb80..0000000 --- a/SOURCES/0132-tests-check-decoding-of-tkill-syscall.patch +++ /dev/null @@ -1,683 +0,0 @@ -From 24119509205a17c71de10e913cfc38dc52aa6563 Mon Sep 17 00:00:00 2001 -From: "Dmitry V. Levin" -Date: Sat, 1 Aug 2020 08:00:00 +0000 -Subject: [PATCH 132/138] tests: check decoding of tkill syscall - -* tests/tkill.c: New file. -* tests/gen_tests.in (tkill): New entry. -* tests/pure_executables.list: Add tkill. -* tests/.gitignore: Likewise. ---- - tests/.gitignore | 1 + - tests/gen_tests.in | 1 + - tests/pure_executables.list | 1 + - tests/tkill.c | 60 +++++++++++++++++++++++++++++++++++++++++++++ - 4 files changed, 63 insertions(+) - create mode 100644 tests/tkill.c - -Index: strace-5.7/tests/gen_tests.in -=================================================================== ---- strace-5.7.orig/tests/gen_tests.in 2020-09-09 15:47:07.671767616 +0200 -+++ strace-5.7/tests/gen_tests.in 2020-09-09 19:30:36.780885588 +0200 -@@ -668,6 +668,7 @@ - timerfd_xettime -e trace=timerfd_create,timerfd_settime,timerfd_gettime - times -esignal=none - times-fail -a12 -e trace=times -+tkill -a12 --signal='!cont' - trace_clock test_trace_expr 'clock_nanosleep|times' -e%clock - trace_creds test_trace_expr '([gs]et[^p]*([gu]id|groups)|caps|prctl|[fl]?chown|print(path-umovestr|strn-umoven)-undumpable|ptrace|quotactl|rt_sigtimedwait|rt_(tg)?sigqueueinfo).*' -e%creds - trace_fstat test_trace_expr '' -e%fstat -v -P stat.sample -P /dev/full -Index: strace-5.7/tests/pure_executables.list -=================================================================== ---- strace-5.7.orig/tests/pure_executables.list 2020-09-09 15:47:07.671767616 +0200 -+++ strace-5.7/tests/pure_executables.list 2020-09-09 19:30:36.780885588 +0200 -@@ -589,6 +589,7 @@ - timerfd_xettime - times - times-fail -+tkill - truncate - truncate64 - ugetrlimit -Index: strace-5.7/tests/tkill.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/tkill.c 2020-09-09 19:21:10.469548041 +0200 -@@ -0,0 +1,60 @@ -+/* -+ * Check decoding of tkill syscall. -+ * -+ * Copyright (c) 2020 Dmitry V. Levin -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+#include "scno.h" -+ -+#ifdef __NR_tkill -+ -+# include -+# include -+# include -+ -+static const char *errstr; -+ -+static long -+k_tkill(const unsigned int tid, const unsigned int sig) -+{ -+ const kernel_ulong_t fill = (kernel_ulong_t) 0xdefaced00000000ULL; -+ const kernel_ulong_t bad = (kernel_ulong_t) 0xbadc0dedbadc0dedULL; -+ const kernel_ulong_t arg1 = fill | tid; -+ const kernel_ulong_t arg2 = fill | sig; -+ const long rc = syscall(__NR_tkill, arg1, arg2, bad, bad, bad, bad); -+ errstr = sprintrc(rc); -+ return rc; -+} -+ -+int -+main(void) -+{ -+ const int pid = getpid(); -+ const int bad_pid = -1; -+ const int bad_sig = 0xface; -+ -+ k_tkill(pid, 0); -+ printf("tkill(%d, 0) = %s\n", pid, errstr); -+ -+ k_tkill(pid, SIGCONT); -+ printf("tkill(%d, SIGCONT) = %s\n", pid, errstr); -+ -+ k_tkill(bad_pid, bad_sig); -+ printf("tkill(%d, %d) = %s\n", bad_pid, bad_sig, errstr); -+ -+ k_tkill(bad_pid, -bad_sig); -+ printf("tkill(%d, %d) = %s\n", bad_pid, -bad_sig, errstr); -+ -+ puts("+++ exited with 0 +++"); -+ return 0; -+} -+ -+#else -+ -+SKIP_MAIN_UNDEFINED("__NR_tkill") -+ -+#endif -Index: strace-5.7/tests-m32/gen_tests.in -=================================================================== ---- strace-5.7.orig/tests-m32/gen_tests.in 2020-09-09 15:47:07.671767616 +0200 -+++ strace-5.7/tests-m32/gen_tests.in 2020-09-09 19:30:36.780885588 +0200 -@@ -668,6 +668,7 @@ - timerfd_xettime -e trace=timerfd_create,timerfd_settime,timerfd_gettime - times -esignal=none - times-fail -a12 -e trace=times -+tkill -a12 --signal='!cont' - trace_clock test_trace_expr 'clock_nanosleep|times' -e%clock - trace_creds test_trace_expr '([gs]et[^p]*([gu]id|groups)|caps|prctl|[fl]?chown|print(path-umovestr|strn-umoven)-undumpable|ptrace|quotactl|rt_sigtimedwait|rt_(tg)?sigqueueinfo).*' -e%creds - trace_fstat test_trace_expr '' -e%fstat -v -P stat.sample -P /dev/full -Index: strace-5.7/tests-m32/pure_executables.list -=================================================================== ---- strace-5.7.orig/tests-m32/pure_executables.list 2020-09-09 15:47:07.671767616 +0200 -+++ strace-5.7/tests-m32/pure_executables.list 2020-09-09 19:30:36.780885588 +0200 -@@ -589,6 +589,7 @@ - timerfd_xettime - times - times-fail -+tkill - truncate - truncate64 - ugetrlimit -Index: strace-5.7/tests-m32/tkill.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/tkill.c 2020-09-09 19:21:10.469548041 +0200 -@@ -0,0 +1,60 @@ -+/* -+ * Check decoding of tkill syscall. -+ * -+ * Copyright (c) 2020 Dmitry V. Levin -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+#include "scno.h" -+ -+#ifdef __NR_tkill -+ -+# include -+# include -+# include -+ -+static const char *errstr; -+ -+static long -+k_tkill(const unsigned int tid, const unsigned int sig) -+{ -+ const kernel_ulong_t fill = (kernel_ulong_t) 0xdefaced00000000ULL; -+ const kernel_ulong_t bad = (kernel_ulong_t) 0xbadc0dedbadc0dedULL; -+ const kernel_ulong_t arg1 = fill | tid; -+ const kernel_ulong_t arg2 = fill | sig; -+ const long rc = syscall(__NR_tkill, arg1, arg2, bad, bad, bad, bad); -+ errstr = sprintrc(rc); -+ return rc; -+} -+ -+int -+main(void) -+{ -+ const int pid = getpid(); -+ const int bad_pid = -1; -+ const int bad_sig = 0xface; -+ -+ k_tkill(pid, 0); -+ printf("tkill(%d, 0) = %s\n", pid, errstr); -+ -+ k_tkill(pid, SIGCONT); -+ printf("tkill(%d, SIGCONT) = %s\n", pid, errstr); -+ -+ k_tkill(bad_pid, bad_sig); -+ printf("tkill(%d, %d) = %s\n", bad_pid, bad_sig, errstr); -+ -+ k_tkill(bad_pid, -bad_sig); -+ printf("tkill(%d, %d) = %s\n", bad_pid, -bad_sig, errstr); -+ -+ puts("+++ exited with 0 +++"); -+ return 0; -+} -+ -+#else -+ -+SKIP_MAIN_UNDEFINED("__NR_tkill") -+ -+#endif -Index: strace-5.7/tests-mx32/gen_tests.in -=================================================================== ---- strace-5.7.orig/tests-mx32/gen_tests.in 2020-09-09 15:47:07.671767616 +0200 -+++ strace-5.7/tests-mx32/gen_tests.in 2020-09-09 19:30:36.780885588 +0200 -@@ -668,6 +668,7 @@ - timerfd_xettime -e trace=timerfd_create,timerfd_settime,timerfd_gettime - times -esignal=none - times-fail -a12 -e trace=times -+tkill -a12 --signal='!cont' - trace_clock test_trace_expr 'clock_nanosleep|times' -e%clock - trace_creds test_trace_expr '([gs]et[^p]*([gu]id|groups)|caps|prctl|[fl]?chown|print(path-umovestr|strn-umoven)-undumpable|ptrace|quotactl|rt_sigtimedwait|rt_(tg)?sigqueueinfo).*' -e%creds - trace_fstat test_trace_expr '' -e%fstat -v -P stat.sample -P /dev/full -Index: strace-5.7/tests-mx32/pure_executables.list -=================================================================== ---- strace-5.7.orig/tests-mx32/pure_executables.list 2020-09-09 15:47:07.671767616 +0200 -+++ strace-5.7/tests-mx32/pure_executables.list 2020-09-09 19:30:36.780885588 +0200 -@@ -589,6 +589,7 @@ - timerfd_xettime - times - times-fail -+tkill - truncate - truncate64 - ugetrlimit -Index: strace-5.7/tests-mx32/tkill.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/tkill.c 2020-09-09 19:21:10.469548041 +0200 -@@ -0,0 +1,60 @@ -+/* -+ * Check decoding of tkill syscall. -+ * -+ * Copyright (c) 2020 Dmitry V. Levin -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+#include "scno.h" -+ -+#ifdef __NR_tkill -+ -+# include -+# include -+# include -+ -+static const char *errstr; -+ -+static long -+k_tkill(const unsigned int tid, const unsigned int sig) -+{ -+ const kernel_ulong_t fill = (kernel_ulong_t) 0xdefaced00000000ULL; -+ const kernel_ulong_t bad = (kernel_ulong_t) 0xbadc0dedbadc0dedULL; -+ const kernel_ulong_t arg1 = fill | tid; -+ const kernel_ulong_t arg2 = fill | sig; -+ const long rc = syscall(__NR_tkill, arg1, arg2, bad, bad, bad, bad); -+ errstr = sprintrc(rc); -+ return rc; -+} -+ -+int -+main(void) -+{ -+ const int pid = getpid(); -+ const int bad_pid = -1; -+ const int bad_sig = 0xface; -+ -+ k_tkill(pid, 0); -+ printf("tkill(%d, 0) = %s\n", pid, errstr); -+ -+ k_tkill(pid, SIGCONT); -+ printf("tkill(%d, SIGCONT) = %s\n", pid, errstr); -+ -+ k_tkill(bad_pid, bad_sig); -+ printf("tkill(%d, %d) = %s\n", bad_pid, bad_sig, errstr); -+ -+ k_tkill(bad_pid, -bad_sig); -+ printf("tkill(%d, %d) = %s\n", bad_pid, -bad_sig, errstr); -+ -+ puts("+++ exited with 0 +++"); -+ return 0; -+} -+ -+#else -+ -+SKIP_MAIN_UNDEFINED("__NR_tkill") -+ -+#endif -Index: strace-5.7/tests-m32/Makefile.in -=================================================================== ---- strace-5.7.orig/tests-m32/Makefile.in 2020-09-09 15:47:07.671767616 +0200 -+++ strace-5.7/tests-m32/Makefile.in 2020-09-09 19:32:14.800944013 +0200 -@@ -496,14 +496,15 @@ - sysinfo$(EXEEXT) syslog$(EXEEXT) tee$(EXEEXT) time$(EXEEXT) \ - timer_create$(EXEEXT) timer_xettime$(EXEEXT) \ - timerfd_xettime$(EXEEXT) times$(EXEEXT) times-fail$(EXEEXT) \ -- truncate$(EXEEXT) truncate64$(EXEEXT) ugetrlimit$(EXEEXT) \ -- uio$(EXEEXT) umask$(EXEEXT) umount$(EXEEXT) umount2$(EXEEXT) \ -- umoven-illptr$(EXEEXT) umovestr$(EXEEXT) \ -- umovestr-illptr$(EXEEXT) umovestr2$(EXEEXT) umovestr3$(EXEEXT) \ -- umovestr_cached$(EXEEXT) umovestr_cached_adjacent$(EXEEXT) \ -- uname$(EXEEXT) unlink$(EXEEXT) unlinkat$(EXEEXT) \ -- unshare$(EXEEXT) userfaultfd$(EXEEXT) ustat$(EXEEXT) \ -- utime$(EXEEXT) utimensat$(EXEEXT) utimensat-Xabbrev$(EXEEXT) \ -+ tkill$(EXEEXT) truncate$(EXEEXT) truncate64$(EXEEXT) \ -+ ugetrlimit$(EXEEXT) uio$(EXEEXT) umask$(EXEEXT) \ -+ umount$(EXEEXT) umount2$(EXEEXT) umoven-illptr$(EXEEXT) \ -+ umovestr$(EXEEXT) umovestr-illptr$(EXEEXT) umovestr2$(EXEEXT) \ -+ umovestr3$(EXEEXT) umovestr_cached$(EXEEXT) \ -+ umovestr_cached_adjacent$(EXEEXT) uname$(EXEEXT) \ -+ unlink$(EXEEXT) unlinkat$(EXEEXT) unshare$(EXEEXT) \ -+ userfaultfd$(EXEEXT) ustat$(EXEEXT) utime$(EXEEXT) \ -+ utimensat$(EXEEXT) utimensat-Xabbrev$(EXEEXT) \ - utimensat-Xraw$(EXEEXT) utimensat-Xverbose$(EXEEXT) \ - utimes$(EXEEXT) vhangup$(EXEEXT) vmsplice$(EXEEXT) \ - wait4$(EXEEXT) waitid$(EXEEXT) waitpid$(EXEEXT) xattr$(EXEEXT) \ -@@ -3484,6 +3485,10 @@ - times_fail_OBJECTS = times-fail.$(OBJEXT) - times_fail_LDADD = $(LDADD) - times_fail_DEPENDENCIES = libtests.a -+tkill_SOURCES = tkill.c -+tkill_OBJECTS = tkill.$(OBJEXT) -+tkill_LDADD = $(LDADD) -+tkill_DEPENDENCIES = libtests.a - tracer_ppid_pgid_sid_SOURCES = tracer_ppid_pgid_sid.c - tracer_ppid_pgid_sid_OBJECTS = tracer_ppid_pgid_sid.$(OBJEXT) - tracer_ppid_pgid_sid_LDADD = $(LDADD) -@@ -4184,7 +4189,7 @@ - ./$(DEPDIR)/threads-execve.Po ./$(DEPDIR)/time.Po \ - ./$(DEPDIR)/timer_create.Po ./$(DEPDIR)/timer_xettime.Po \ - ./$(DEPDIR)/timerfd_xettime.Po ./$(DEPDIR)/times-fail.Po \ -- ./$(DEPDIR)/times.Po ./$(DEPDIR)/tracer_ppid_pgid_sid.Po \ -+ ./$(DEPDIR)/times.Po ./$(DEPDIR)/tkill.Po ./$(DEPDIR)/tracer_ppid_pgid_sid.Po \ - ./$(DEPDIR)/truncate.Po ./$(DEPDIR)/truncate64-truncate64.Po \ - ./$(DEPDIR)/ugetrlimit.Po ./$(DEPDIR)/uio-uio.Po \ - ./$(DEPDIR)/umask.Po ./$(DEPDIR)/umount.Po \ -@@ -4441,7 +4446,7 @@ - syslog-success.c tee.c threads-execve.c \ - threads-execve--quiet-thread-execve.c threads-execve-q.c \ - threads-execve-qq.c threads-execve-qqq.c time.c timer_create.c \ -- timer_xettime.c timerfd_xettime.c times.c times-fail.c \ -+ timer_xettime.c timerfd_xettime.c times.c times-fail.c tkill.c \ - tracer_ppid_pgid_sid.c truncate.c truncate64.c ugetrlimit.c \ - uio.c umask.c umount.c umount2.c umoven-illptr.c umovestr.c \ - umovestr-illptr.c umovestr2.c umovestr3.c umovestr_cached.c \ -@@ -4667,7 +4672,7 @@ - syslog-success.c tee.c threads-execve.c \ - threads-execve--quiet-thread-execve.c threads-execve-q.c \ - threads-execve-qq.c threads-execve-qqq.c time.c timer_create.c \ -- timer_xettime.c timerfd_xettime.c times.c times-fail.c \ -+ timer_xettime.c timerfd_xettime.c times.c times-fail.c tkill.c \ - tracer_ppid_pgid_sid.c truncate.c truncate64.c ugetrlimit.c \ - uio.c umask.c umount.c umount2.c umoven-illptr.c umovestr.c \ - umovestr-illptr.c umovestr2.c umovestr3.c umovestr_cached.c \ -@@ -5725,6 +5730,7 @@ - timerfd_xettime \ - times \ - times-fail \ -+ tkill \ - truncate \ - truncate64 \ - ugetrlimit \ -@@ -6133,9 +6139,10 @@ - threads-execve-qqq.gen.test time.gen.test \ - timer_create.gen.test timer_xettime.gen.test \ - timerfd_xettime.gen.test times.gen.test times-fail.gen.test \ -- trace_clock.gen.test trace_creds.gen.test trace_fstat.gen.test \ -- trace_fstatfs.gen.test trace_lstat.gen.test \ -- trace_personality_32.gen.test trace_personality_64.gen.test \ -+ tkill.gen.test trace_clock.gen.test trace_creds.gen.test \ -+ trace_fstat.gen.test trace_fstatfs.gen.test \ -+ trace_lstat.gen.test trace_personality_32.gen.test \ -+ trace_personality_64.gen.test \ - trace_personality_regex_32.gen.test \ - trace_personality_regex_64.gen.test \ - trace_personality_regex_x32.gen.test \ -@@ -9392,6 +9399,10 @@ - @rm -f times-fail$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(times_fail_OBJECTS) $(times_fail_LDADD) $(LIBS) - -+tkill$(EXEEXT): $(tkill_OBJECTS) $(tkill_DEPENDENCIES) $(EXTRA_tkill_DEPENDENCIES) -+ @rm -f tkill$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(tkill_OBJECTS) $(tkill_LDADD) $(LIBS) -+ - tracer_ppid_pgid_sid$(EXEEXT): $(tracer_ppid_pgid_sid_OBJECTS) $(tracer_ppid_pgid_sid_DEPENDENCIES) $(EXTRA_tracer_ppid_pgid_sid_DEPENDENCIES) - @rm -f tracer_ppid_pgid_sid$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tracer_ppid_pgid_sid_OBJECTS) $(tracer_ppid_pgid_sid_LDADD) $(LIBS) -@@ -10349,6 +10360,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/timerfd_xettime.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/times-fail.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/times.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tkill.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tracer_ppid_pgid_sid.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/truncate.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/truncate64-truncate64.Po@am__quote@ # am--include-marker -@@ -12169,6 +12181,7 @@ - -rm -f ./$(DEPDIR)/timerfd_xettime.Po - -rm -f ./$(DEPDIR)/times-fail.Po - -rm -f ./$(DEPDIR)/times.Po -+ -rm -f ./$(DEPDIR)/tkill.Po - -rm -f ./$(DEPDIR)/tracer_ppid_pgid_sid.Po - -rm -f ./$(DEPDIR)/truncate.Po - -rm -f ./$(DEPDIR)/truncate64-truncate64.Po -@@ -13024,6 +13037,7 @@ - -rm -f ./$(DEPDIR)/timerfd_xettime.Po - -rm -f ./$(DEPDIR)/times-fail.Po - -rm -f ./$(DEPDIR)/times.Po -+ -rm -f ./$(DEPDIR)/tkill.Po - -rm -f ./$(DEPDIR)/tracer_ppid_pgid_sid.Po - -rm -f ./$(DEPDIR)/truncate.Po - -rm -f ./$(DEPDIR)/truncate64-truncate64.Po -@@ -15101,6 +15115,9 @@ - $(srcdir)/times-fail.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/tkill.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/trace_clock.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -Index: strace-5.7/tests-mx32/Makefile.in -=================================================================== ---- strace-5.7.orig/tests-mx32/Makefile.in 2020-09-09 15:47:07.671767616 +0200 -+++ strace-5.7/tests-mx32/Makefile.in 2020-09-09 19:32:39.854958946 +0200 -@@ -496,14 +496,15 @@ - sysinfo$(EXEEXT) syslog$(EXEEXT) tee$(EXEEXT) time$(EXEEXT) \ - timer_create$(EXEEXT) timer_xettime$(EXEEXT) \ - timerfd_xettime$(EXEEXT) times$(EXEEXT) times-fail$(EXEEXT) \ -- truncate$(EXEEXT) truncate64$(EXEEXT) ugetrlimit$(EXEEXT) \ -- uio$(EXEEXT) umask$(EXEEXT) umount$(EXEEXT) umount2$(EXEEXT) \ -- umoven-illptr$(EXEEXT) umovestr$(EXEEXT) \ -- umovestr-illptr$(EXEEXT) umovestr2$(EXEEXT) umovestr3$(EXEEXT) \ -- umovestr_cached$(EXEEXT) umovestr_cached_adjacent$(EXEEXT) \ -- uname$(EXEEXT) unlink$(EXEEXT) unlinkat$(EXEEXT) \ -- unshare$(EXEEXT) userfaultfd$(EXEEXT) ustat$(EXEEXT) \ -- utime$(EXEEXT) utimensat$(EXEEXT) utimensat-Xabbrev$(EXEEXT) \ -+ tkill$(EXEEXT) truncate$(EXEEXT) truncate64$(EXEEXT) \ -+ ugetrlimit$(EXEEXT) uio$(EXEEXT) umask$(EXEEXT) \ -+ umount$(EXEEXT) umount2$(EXEEXT) umoven-illptr$(EXEEXT) \ -+ umovestr$(EXEEXT) umovestr-illptr$(EXEEXT) umovestr2$(EXEEXT) \ -+ umovestr3$(EXEEXT) umovestr_cached$(EXEEXT) \ -+ umovestr_cached_adjacent$(EXEEXT) uname$(EXEEXT) \ -+ unlink$(EXEEXT) unlinkat$(EXEEXT) unshare$(EXEEXT) \ -+ userfaultfd$(EXEEXT) ustat$(EXEEXT) utime$(EXEEXT) \ -+ utimensat$(EXEEXT) utimensat-Xabbrev$(EXEEXT) \ - utimensat-Xraw$(EXEEXT) utimensat-Xverbose$(EXEEXT) \ - utimes$(EXEEXT) vhangup$(EXEEXT) vmsplice$(EXEEXT) \ - wait4$(EXEEXT) waitid$(EXEEXT) waitpid$(EXEEXT) xattr$(EXEEXT) \ -@@ -3484,6 +3485,10 @@ - times_fail_OBJECTS = times-fail.$(OBJEXT) - times_fail_LDADD = $(LDADD) - times_fail_DEPENDENCIES = libtests.a -+tkill_SOURCES = tkill.c -+tkill_OBJECTS = tkill.$(OBJEXT) -+tkill_LDADD = $(LDADD) -+tkill_DEPENDENCIES = libtests.a - tracer_ppid_pgid_sid_SOURCES = tracer_ppid_pgid_sid.c - tracer_ppid_pgid_sid_OBJECTS = tracer_ppid_pgid_sid.$(OBJEXT) - tracer_ppid_pgid_sid_LDADD = $(LDADD) -@@ -4184,7 +4189,7 @@ - ./$(DEPDIR)/threads-execve.Po ./$(DEPDIR)/time.Po \ - ./$(DEPDIR)/timer_create.Po ./$(DEPDIR)/timer_xettime.Po \ - ./$(DEPDIR)/timerfd_xettime.Po ./$(DEPDIR)/times-fail.Po \ -- ./$(DEPDIR)/times.Po ./$(DEPDIR)/tracer_ppid_pgid_sid.Po \ -+ ./$(DEPDIR)/times.Po ./$(DEPDIR)/tkill.Po ./$(DEPDIR)/tracer_ppid_pgid_sid.Po \ - ./$(DEPDIR)/truncate.Po ./$(DEPDIR)/truncate64-truncate64.Po \ - ./$(DEPDIR)/ugetrlimit.Po ./$(DEPDIR)/uio-uio.Po \ - ./$(DEPDIR)/umask.Po ./$(DEPDIR)/umount.Po \ -@@ -4441,7 +4446,7 @@ - syslog-success.c tee.c threads-execve.c \ - threads-execve--quiet-thread-execve.c threads-execve-q.c \ - threads-execve-qq.c threads-execve-qqq.c time.c timer_create.c \ -- timer_xettime.c timerfd_xettime.c times.c times-fail.c \ -+ timer_xettime.c timerfd_xettime.c times.c times-fail.c tkill.c \ - tracer_ppid_pgid_sid.c truncate.c truncate64.c ugetrlimit.c \ - uio.c umask.c umount.c umount2.c umoven-illptr.c umovestr.c \ - umovestr-illptr.c umovestr2.c umovestr3.c umovestr_cached.c \ -@@ -4667,7 +4672,7 @@ - syslog-success.c tee.c threads-execve.c \ - threads-execve--quiet-thread-execve.c threads-execve-q.c \ - threads-execve-qq.c threads-execve-qqq.c time.c timer_create.c \ -- timer_xettime.c timerfd_xettime.c times.c times-fail.c \ -+ timer_xettime.c timerfd_xettime.c times.c times-fail.c tkill.c \ - tracer_ppid_pgid_sid.c truncate.c truncate64.c ugetrlimit.c \ - uio.c umask.c umount.c umount2.c umoven-illptr.c umovestr.c \ - umovestr-illptr.c umovestr2.c umovestr3.c umovestr_cached.c \ -@@ -5725,6 +5730,7 @@ - timerfd_xettime \ - times \ - times-fail \ -+ tkill \ - truncate \ - truncate64 \ - ugetrlimit \ -@@ -6133,9 +6139,10 @@ - threads-execve-qqq.gen.test time.gen.test \ - timer_create.gen.test timer_xettime.gen.test \ - timerfd_xettime.gen.test times.gen.test times-fail.gen.test \ -- trace_clock.gen.test trace_creds.gen.test trace_fstat.gen.test \ -- trace_fstatfs.gen.test trace_lstat.gen.test \ -- trace_personality_32.gen.test trace_personality_64.gen.test \ -+ tkill.gen.test trace_clock.gen.test trace_creds.gen.test \ -+ trace_fstat.gen.test trace_fstatfs.gen.test \ -+ trace_lstat.gen.test trace_personality_32.gen.test \ -+ trace_personality_64.gen.test \ - trace_personality_regex_32.gen.test \ - trace_personality_regex_64.gen.test \ - trace_personality_regex_x32.gen.test \ -@@ -9392,6 +9399,10 @@ - @rm -f times-fail$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(times_fail_OBJECTS) $(times_fail_LDADD) $(LIBS) - -+tkill$(EXEEXT): $(tkill_OBJECTS) $(tkill_DEPENDENCIES) $(EXTRA_tkill_DEPENDENCIES) -+ @rm -f tkill$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(tkill_OBJECTS) $(tkill_LDADD) $(LIBS) -+ - tracer_ppid_pgid_sid$(EXEEXT): $(tracer_ppid_pgid_sid_OBJECTS) $(tracer_ppid_pgid_sid_DEPENDENCIES) $(EXTRA_tracer_ppid_pgid_sid_DEPENDENCIES) - @rm -f tracer_ppid_pgid_sid$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tracer_ppid_pgid_sid_OBJECTS) $(tracer_ppid_pgid_sid_LDADD) $(LIBS) -@@ -10349,6 +10360,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/timerfd_xettime.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/times-fail.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/times.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tkill.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tracer_ppid_pgid_sid.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/truncate.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/truncate64-truncate64.Po@am__quote@ # am--include-marker -@@ -12169,6 +12181,7 @@ - -rm -f ./$(DEPDIR)/timerfd_xettime.Po - -rm -f ./$(DEPDIR)/times-fail.Po - -rm -f ./$(DEPDIR)/times.Po -+ -rm -f ./$(DEPDIR)/tkill.Po - -rm -f ./$(DEPDIR)/tracer_ppid_pgid_sid.Po - -rm -f ./$(DEPDIR)/truncate.Po - -rm -f ./$(DEPDIR)/truncate64-truncate64.Po -@@ -13024,6 +13037,7 @@ - -rm -f ./$(DEPDIR)/timerfd_xettime.Po - -rm -f ./$(DEPDIR)/times-fail.Po - -rm -f ./$(DEPDIR)/times.Po -+ -rm -f ./$(DEPDIR)/tkill.Po - -rm -f ./$(DEPDIR)/tracer_ppid_pgid_sid.Po - -rm -f ./$(DEPDIR)/truncate.Po - -rm -f ./$(DEPDIR)/truncate64-truncate64.Po -@@ -15101,6 +15115,9 @@ - $(srcdir)/times-fail.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/tkill.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/trace_clock.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -Index: strace-5.7/tests/Makefile.in -=================================================================== ---- strace-5.7.orig/tests/Makefile.in 2020-09-09 15:47:07.671767616 +0200 -+++ strace-5.7/tests/Makefile.in 2020-09-09 19:30:36.780885588 +0200 -@@ -496,14 +496,15 @@ - sysinfo$(EXEEXT) syslog$(EXEEXT) tee$(EXEEXT) time$(EXEEXT) \ - timer_create$(EXEEXT) timer_xettime$(EXEEXT) \ - timerfd_xettime$(EXEEXT) times$(EXEEXT) times-fail$(EXEEXT) \ -- truncate$(EXEEXT) truncate64$(EXEEXT) ugetrlimit$(EXEEXT) \ -- uio$(EXEEXT) umask$(EXEEXT) umount$(EXEEXT) umount2$(EXEEXT) \ -- umoven-illptr$(EXEEXT) umovestr$(EXEEXT) \ -- umovestr-illptr$(EXEEXT) umovestr2$(EXEEXT) umovestr3$(EXEEXT) \ -- umovestr_cached$(EXEEXT) umovestr_cached_adjacent$(EXEEXT) \ -- uname$(EXEEXT) unlink$(EXEEXT) unlinkat$(EXEEXT) \ -- unshare$(EXEEXT) userfaultfd$(EXEEXT) ustat$(EXEEXT) \ -- utime$(EXEEXT) utimensat$(EXEEXT) utimensat-Xabbrev$(EXEEXT) \ -+ tkill$(EXEEXT) truncate$(EXEEXT) truncate64$(EXEEXT) \ -+ ugetrlimit$(EXEEXT) uio$(EXEEXT) umask$(EXEEXT) \ -+ umount$(EXEEXT) umount2$(EXEEXT) umoven-illptr$(EXEEXT) \ -+ umovestr$(EXEEXT) umovestr-illptr$(EXEEXT) umovestr2$(EXEEXT) \ -+ umovestr3$(EXEEXT) umovestr_cached$(EXEEXT) \ -+ umovestr_cached_adjacent$(EXEEXT) uname$(EXEEXT) \ -+ unlink$(EXEEXT) unlinkat$(EXEEXT) unshare$(EXEEXT) \ -+ userfaultfd$(EXEEXT) ustat$(EXEEXT) utime$(EXEEXT) \ -+ utimensat$(EXEEXT) utimensat-Xabbrev$(EXEEXT) \ - utimensat-Xraw$(EXEEXT) utimensat-Xverbose$(EXEEXT) \ - utimes$(EXEEXT) vhangup$(EXEEXT) vmsplice$(EXEEXT) \ - wait4$(EXEEXT) waitid$(EXEEXT) waitpid$(EXEEXT) xattr$(EXEEXT) \ -@@ -3484,6 +3485,10 @@ - times_fail_OBJECTS = times-fail.$(OBJEXT) - times_fail_LDADD = $(LDADD) - times_fail_DEPENDENCIES = libtests.a -+tkill_SOURCES = tkill.c -+tkill_OBJECTS = tkill.$(OBJEXT) -+tkill_LDADD = $(LDADD) -+tkill_DEPENDENCIES = libtests.a - tracer_ppid_pgid_sid_SOURCES = tracer_ppid_pgid_sid.c - tracer_ppid_pgid_sid_OBJECTS = tracer_ppid_pgid_sid.$(OBJEXT) - tracer_ppid_pgid_sid_LDADD = $(LDADD) -@@ -4184,7 +4189,7 @@ - ./$(DEPDIR)/threads-execve.Po ./$(DEPDIR)/time.Po \ - ./$(DEPDIR)/timer_create.Po ./$(DEPDIR)/timer_xettime.Po \ - ./$(DEPDIR)/timerfd_xettime.Po ./$(DEPDIR)/times-fail.Po \ -- ./$(DEPDIR)/times.Po ./$(DEPDIR)/tracer_ppid_pgid_sid.Po \ -+ ./$(DEPDIR)/times.Po ./$(DEPDIR)/tkill.Po ./$(DEPDIR)/tracer_ppid_pgid_sid.Po \ - ./$(DEPDIR)/truncate.Po ./$(DEPDIR)/truncate64-truncate64.Po \ - ./$(DEPDIR)/ugetrlimit.Po ./$(DEPDIR)/uio-uio.Po \ - ./$(DEPDIR)/umask.Po ./$(DEPDIR)/umount.Po \ -@@ -4441,7 +4446,7 @@ - syslog-success.c tee.c threads-execve.c \ - threads-execve--quiet-thread-execve.c threads-execve-q.c \ - threads-execve-qq.c threads-execve-qqq.c time.c timer_create.c \ -- timer_xettime.c timerfd_xettime.c times.c times-fail.c \ -+ timer_xettime.c timerfd_xettime.c times.c times-fail.c tkill.c \ - tracer_ppid_pgid_sid.c truncate.c truncate64.c ugetrlimit.c \ - uio.c umask.c umount.c umount2.c umoven-illptr.c umovestr.c \ - umovestr-illptr.c umovestr2.c umovestr3.c umovestr_cached.c \ -@@ -4667,7 +4672,7 @@ - syslog-success.c tee.c threads-execve.c \ - threads-execve--quiet-thread-execve.c threads-execve-q.c \ - threads-execve-qq.c threads-execve-qqq.c time.c timer_create.c \ -- timer_xettime.c timerfd_xettime.c times.c times-fail.c \ -+ timer_xettime.c timerfd_xettime.c times.c times-fail.c tkill.c \ - tracer_ppid_pgid_sid.c truncate.c truncate64.c ugetrlimit.c \ - uio.c umask.c umount.c umount2.c umoven-illptr.c umovestr.c \ - umovestr-illptr.c umovestr2.c umovestr3.c umovestr_cached.c \ -@@ -5725,6 +5730,7 @@ - timerfd_xettime \ - times \ - times-fail \ -+ tkill \ - truncate \ - truncate64 \ - ugetrlimit \ -@@ -6133,9 +6139,10 @@ - threads-execve-qqq.gen.test time.gen.test \ - timer_create.gen.test timer_xettime.gen.test \ - timerfd_xettime.gen.test times.gen.test times-fail.gen.test \ -- trace_clock.gen.test trace_creds.gen.test trace_fstat.gen.test \ -- trace_fstatfs.gen.test trace_lstat.gen.test \ -- trace_personality_32.gen.test trace_personality_64.gen.test \ -+ tkill.gen.test trace_clock.gen.test trace_creds.gen.test \ -+ trace_fstat.gen.test trace_fstatfs.gen.test \ -+ trace_lstat.gen.test trace_personality_32.gen.test \ -+ trace_personality_64.gen.test \ - trace_personality_regex_32.gen.test \ - trace_personality_regex_64.gen.test \ - trace_personality_regex_x32.gen.test \ -@@ -9392,6 +9399,10 @@ - @rm -f times-fail$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(times_fail_OBJECTS) $(times_fail_LDADD) $(LIBS) - -+tkill$(EXEEXT): $(tkill_OBJECTS) $(tkill_DEPENDENCIES) $(EXTRA_tkill_DEPENDENCIES) -+ @rm -f tkill$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(tkill_OBJECTS) $(tkill_LDADD) $(LIBS) -+ - tracer_ppid_pgid_sid$(EXEEXT): $(tracer_ppid_pgid_sid_OBJECTS) $(tracer_ppid_pgid_sid_DEPENDENCIES) $(EXTRA_tracer_ppid_pgid_sid_DEPENDENCIES) - @rm -f tracer_ppid_pgid_sid$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tracer_ppid_pgid_sid_OBJECTS) $(tracer_ppid_pgid_sid_LDADD) $(LIBS) -@@ -10349,6 +10360,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/timerfd_xettime.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/times-fail.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/times.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tkill.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tracer_ppid_pgid_sid.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/truncate.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/truncate64-truncate64.Po@am__quote@ # am--include-marker -@@ -12169,6 +12181,7 @@ - -rm -f ./$(DEPDIR)/timerfd_xettime.Po - -rm -f ./$(DEPDIR)/times-fail.Po - -rm -f ./$(DEPDIR)/times.Po -+ -rm -f ./$(DEPDIR)/tkill.Po - -rm -f ./$(DEPDIR)/tracer_ppid_pgid_sid.Po - -rm -f ./$(DEPDIR)/truncate.Po - -rm -f ./$(DEPDIR)/truncate64-truncate64.Po -@@ -13024,6 +13037,7 @@ - -rm -f ./$(DEPDIR)/timerfd_xettime.Po - -rm -f ./$(DEPDIR)/times-fail.Po - -rm -f ./$(DEPDIR)/times.Po -+ -rm -f ./$(DEPDIR)/tkill.Po - -rm -f ./$(DEPDIR)/tracer_ppid_pgid_sid.Po - -rm -f ./$(DEPDIR)/truncate.Po - -rm -f ./$(DEPDIR)/truncate64-truncate64.Po -@@ -15101,6 +15115,9 @@ - $(srcdir)/times-fail.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/tkill.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/trace_clock.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - diff --git a/SOURCES/0133-tests-check-decoding-of-tgkill-syscall.patch b/SOURCES/0133-tests-check-decoding-of-tgkill-syscall.patch deleted file mode 100644 index 70bae9e..0000000 --- a/SOURCES/0133-tests-check-decoding-of-tgkill-syscall.patch +++ /dev/null @@ -1,656 +0,0 @@ -From 9d4d64f6fdfcae908aec455888e92a69c9c81c64 Mon Sep 17 00:00:00 2001 -From: "Dmitry V. Levin" -Date: Sat, 1 Aug 2020 08:00:00 +0000 -Subject: [PATCH 133/138] tests: check decoding of tgkill syscall - -* tests/tgkill.c: New file. -* tests/gen_tests.in (tgkill): New entry. -* tests/pure_executables.list: Add tgkill. -* tests/.gitignore: Likewise. ---- - tests/.gitignore | 1 + - tests/gen_tests.in | 1 + - tests/pure_executables.list | 1 + - tests/tgkill.c | 69 +++++++++++++++++++++++++++++++++++++++++++++ - 4 files changed, 72 insertions(+) - create mode 100644 tests/tgkill.c - -Index: strace-5.7/tests/gen_tests.in -=================================================================== ---- strace-5.7.orig/tests/gen_tests.in 2020-09-09 19:30:36.780885588 +0200 -+++ strace-5.7/tests/gen_tests.in 2020-09-09 19:32:50.740965435 +0200 -@@ -658,6 +658,7 @@ - sysinfo -a14 - syslog -a35 - tee -+tgkill -a15 --signal='!cont' - threads-execve--quiet-thread-execve +threads-execve.test -s40 --quiet=personality,thread-execve - threads-execve-q +threads-execve.test -q - threads-execve-qq +threads-execve.test -qq -Index: strace-5.7/tests/pure_executables.list -=================================================================== ---- strace-5.7.orig/tests/pure_executables.list 2020-09-09 19:30:36.780885588 +0200 -+++ strace-5.7/tests/pure_executables.list 2020-09-09 19:32:45.308962197 +0200 -@@ -583,6 +583,7 @@ - sysinfo - syslog - tee -+tgkill - time - timer_create - timer_xettime -Index: strace-5.7/tests/tgkill.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/tgkill.c 2020-09-09 19:32:50.740965435 +0200 -@@ -0,0 +1,69 @@ -+/* -+ * Check decoding of tgkill syscall. -+ * -+ * Copyright (c) 2020 Dmitry V. Levin -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+#include "scno.h" -+ -+#ifdef __NR_tgkill -+ -+# include -+# include -+# include -+ -+static const char *errstr; -+ -+static long -+k_tgkill(const unsigned int tgid, -+ const unsigned int tid, -+ const unsigned int sig) -+{ -+ const kernel_ulong_t fill = (kernel_ulong_t) 0xdefaced00000000ULL; -+ const kernel_ulong_t bad = (kernel_ulong_t) 0xbadc0dedbadc0dedULL; -+ const kernel_ulong_t arg1 = fill | tgid; -+ const kernel_ulong_t arg2 = fill | tid; -+ const kernel_ulong_t arg3 = fill | sig; -+ const long rc = syscall(__NR_tgkill, arg1, arg2, arg3, bad, bad, bad); -+ errstr = sprintrc(rc); -+ return rc; -+} -+ -+int -+main(void) -+{ -+ const int pid = getpid(); -+ const int bad_pid = -1; -+ const int bad_sig = 0xface; -+ -+ k_tgkill(pid, pid, 0); -+ printf("tgkill(%d, %d, 0) = %s\n", pid, pid, errstr); -+ -+ k_tgkill(pid, bad_pid, 0); -+ printf("tgkill(%d, %d, 0) = %s\n", pid, bad_pid, errstr); -+ -+ k_tgkill(bad_pid, pid, 0); -+ printf("tgkill(%d, %d, 0) = %s\n", bad_pid, pid, errstr); -+ -+ k_tgkill(pid, pid, SIGCONT); -+ printf("tgkill(%d, %d, SIGCONT) = %s\n", pid, pid, errstr); -+ -+ k_tgkill(pid, pid, bad_sig); -+ printf("tgkill(%d, %d, %d) = %s\n", pid, pid, bad_sig, errstr); -+ -+ k_tgkill(pid, pid, -bad_sig); -+ printf("tgkill(%d, %d, %d) = %s\n", pid, pid, -bad_sig, errstr); -+ -+ puts("+++ exited with 0 +++"); -+ return 0; -+} -+ -+#else -+ -+SKIP_MAIN_UNDEFINED("__NR_tgkill") -+ -+#endif -Index: strace-5.7/tests-m32/gen_tests.in -=================================================================== ---- strace-5.7.orig/tests-m32/gen_tests.in 2020-09-09 19:30:36.780885588 +0200 -+++ strace-5.7/tests-m32/gen_tests.in 2020-09-09 19:32:50.740965435 +0200 -@@ -658,6 +658,7 @@ - sysinfo -a14 - syslog -a35 - tee -+tgkill -a15 --signal='!cont' - threads-execve--quiet-thread-execve +threads-execve.test -s40 --quiet=personality,thread-execve - threads-execve-q +threads-execve.test -q - threads-execve-qq +threads-execve.test -qq -Index: strace-5.7/tests-m32/pure_executables.list -=================================================================== ---- strace-5.7.orig/tests-m32/pure_executables.list 2020-09-09 19:30:36.780885588 +0200 -+++ strace-5.7/tests-m32/pure_executables.list 2020-09-09 19:32:45.309962197 +0200 -@@ -583,6 +583,7 @@ - sysinfo - syslog - tee -+tgkill - time - timer_create - timer_xettime -Index: strace-5.7/tests-m32/tgkill.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/tgkill.c 2020-09-09 19:32:50.740965435 +0200 -@@ -0,0 +1,69 @@ -+/* -+ * Check decoding of tgkill syscall. -+ * -+ * Copyright (c) 2020 Dmitry V. Levin -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+#include "scno.h" -+ -+#ifdef __NR_tgkill -+ -+# include -+# include -+# include -+ -+static const char *errstr; -+ -+static long -+k_tgkill(const unsigned int tgid, -+ const unsigned int tid, -+ const unsigned int sig) -+{ -+ const kernel_ulong_t fill = (kernel_ulong_t) 0xdefaced00000000ULL; -+ const kernel_ulong_t bad = (kernel_ulong_t) 0xbadc0dedbadc0dedULL; -+ const kernel_ulong_t arg1 = fill | tgid; -+ const kernel_ulong_t arg2 = fill | tid; -+ const kernel_ulong_t arg3 = fill | sig; -+ const long rc = syscall(__NR_tgkill, arg1, arg2, arg3, bad, bad, bad); -+ errstr = sprintrc(rc); -+ return rc; -+} -+ -+int -+main(void) -+{ -+ const int pid = getpid(); -+ const int bad_pid = -1; -+ const int bad_sig = 0xface; -+ -+ k_tgkill(pid, pid, 0); -+ printf("tgkill(%d, %d, 0) = %s\n", pid, pid, errstr); -+ -+ k_tgkill(pid, bad_pid, 0); -+ printf("tgkill(%d, %d, 0) = %s\n", pid, bad_pid, errstr); -+ -+ k_tgkill(bad_pid, pid, 0); -+ printf("tgkill(%d, %d, 0) = %s\n", bad_pid, pid, errstr); -+ -+ k_tgkill(pid, pid, SIGCONT); -+ printf("tgkill(%d, %d, SIGCONT) = %s\n", pid, pid, errstr); -+ -+ k_tgkill(pid, pid, bad_sig); -+ printf("tgkill(%d, %d, %d) = %s\n", pid, pid, bad_sig, errstr); -+ -+ k_tgkill(pid, pid, -bad_sig); -+ printf("tgkill(%d, %d, %d) = %s\n", pid, pid, -bad_sig, errstr); -+ -+ puts("+++ exited with 0 +++"); -+ return 0; -+} -+ -+#else -+ -+SKIP_MAIN_UNDEFINED("__NR_tgkill") -+ -+#endif -Index: strace-5.7/tests-mx32/gen_tests.in -=================================================================== ---- strace-5.7.orig/tests-mx32/gen_tests.in 2020-09-09 19:30:36.780885588 +0200 -+++ strace-5.7/tests-mx32/gen_tests.in 2020-09-09 19:32:50.740965435 +0200 -@@ -658,6 +658,7 @@ - sysinfo -a14 - syslog -a35 - tee -+tgkill -a15 --signal='!cont' - threads-execve--quiet-thread-execve +threads-execve.test -s40 --quiet=personality,thread-execve - threads-execve-q +threads-execve.test -q - threads-execve-qq +threads-execve.test -qq -Index: strace-5.7/tests-mx32/pure_executables.list -=================================================================== ---- strace-5.7.orig/tests-mx32/pure_executables.list 2020-09-09 19:30:36.780885588 +0200 -+++ strace-5.7/tests-mx32/pure_executables.list 2020-09-09 19:32:45.310962198 +0200 -@@ -583,6 +583,7 @@ - sysinfo - syslog - tee -+tgkill - time - timer_create - timer_xettime -Index: strace-5.7/tests-mx32/tgkill.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/tgkill.c 2020-09-09 19:32:50.740965435 +0200 -@@ -0,0 +1,69 @@ -+/* -+ * Check decoding of tgkill syscall. -+ * -+ * Copyright (c) 2020 Dmitry V. Levin -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+#include "scno.h" -+ -+#ifdef __NR_tgkill -+ -+# include -+# include -+# include -+ -+static const char *errstr; -+ -+static long -+k_tgkill(const unsigned int tgid, -+ const unsigned int tid, -+ const unsigned int sig) -+{ -+ const kernel_ulong_t fill = (kernel_ulong_t) 0xdefaced00000000ULL; -+ const kernel_ulong_t bad = (kernel_ulong_t) 0xbadc0dedbadc0dedULL; -+ const kernel_ulong_t arg1 = fill | tgid; -+ const kernel_ulong_t arg2 = fill | tid; -+ const kernel_ulong_t arg3 = fill | sig; -+ const long rc = syscall(__NR_tgkill, arg1, arg2, arg3, bad, bad, bad); -+ errstr = sprintrc(rc); -+ return rc; -+} -+ -+int -+main(void) -+{ -+ const int pid = getpid(); -+ const int bad_pid = -1; -+ const int bad_sig = 0xface; -+ -+ k_tgkill(pid, pid, 0); -+ printf("tgkill(%d, %d, 0) = %s\n", pid, pid, errstr); -+ -+ k_tgkill(pid, bad_pid, 0); -+ printf("tgkill(%d, %d, 0) = %s\n", pid, bad_pid, errstr); -+ -+ k_tgkill(bad_pid, pid, 0); -+ printf("tgkill(%d, %d, 0) = %s\n", bad_pid, pid, errstr); -+ -+ k_tgkill(pid, pid, SIGCONT); -+ printf("tgkill(%d, %d, SIGCONT) = %s\n", pid, pid, errstr); -+ -+ k_tgkill(pid, pid, bad_sig); -+ printf("tgkill(%d, %d, %d) = %s\n", pid, pid, bad_sig, errstr); -+ -+ k_tgkill(pid, pid, -bad_sig); -+ printf("tgkill(%d, %d, %d) = %s\n", pid, pid, -bad_sig, errstr); -+ -+ puts("+++ exited with 0 +++"); -+ return 0; -+} -+ -+#else -+ -+SKIP_MAIN_UNDEFINED("__NR_tgkill") -+ -+#endif -Index: strace-5.7/tests-m32/Makefile.in -=================================================================== ---- strace-5.7.orig/tests-m32/Makefile.in 2020-09-09 19:32:14.800944013 +0200 -+++ strace-5.7/tests-m32/Makefile.in 2020-09-09 19:49:34.530563739 +0200 -@@ -493,8 +493,8 @@ - strace-xx$(EXEEXT) swap$(EXEEXT) sxetmask$(EXEEXT) \ - symlink$(EXEEXT) symlinkat$(EXEEXT) sync$(EXEEXT) \ - sync_file_range$(EXEEXT) sync_file_range2$(EXEEXT) \ -- sysinfo$(EXEEXT) syslog$(EXEEXT) tee$(EXEEXT) time$(EXEEXT) \ -- timer_create$(EXEEXT) timer_xettime$(EXEEXT) \ -+ sysinfo$(EXEEXT) syslog$(EXEEXT) tee$(EXEEXT) tgkill$(EXEEXT) \ -+ time$(EXEEXT) timer_create$(EXEEXT) timer_xettime$(EXEEXT) \ - timerfd_xettime$(EXEEXT) times$(EXEEXT) times-fail$(EXEEXT) \ - tkill$(EXEEXT) truncate$(EXEEXT) truncate64$(EXEEXT) \ - ugetrlimit$(EXEEXT) uio$(EXEEXT) umask$(EXEEXT) \ -@@ -3444,6 +3444,10 @@ - tee_OBJECTS = tee.$(OBJEXT) - tee_LDADD = $(LDADD) - tee_DEPENDENCIES = libtests.a -+tgkill_SOURCES = tgkill.c -+tgkill_OBJECTS = tgkill.$(OBJEXT) -+tgkill_LDADD = $(LDADD) -+tgkill_DEPENDENCIES = libtests.a - threads_execve_SOURCES = threads-execve.c - threads_execve_OBJECTS = threads-execve.$(OBJEXT) - threads_execve_DEPENDENCIES = $(am__DEPENDENCIES_1) $(LDADD) -@@ -4181,7 +4185,7 @@ - ./$(DEPDIR)/symlinkat.Po ./$(DEPDIR)/sync.Po \ - ./$(DEPDIR)/sync_file_range.Po ./$(DEPDIR)/sync_file_range2.Po \ - ./$(DEPDIR)/sysinfo.Po ./$(DEPDIR)/syslog-success.Po \ -- ./$(DEPDIR)/syslog.Po ./$(DEPDIR)/tee.Po \ -+ ./$(DEPDIR)/syslog.Po ./$(DEPDIR)/tee.Po ./$(DEPDIR)/tgkill.Po \ - ./$(DEPDIR)/threads-execve--quiet-thread-execve.Po \ - ./$(DEPDIR)/threads-execve-q.Po \ - ./$(DEPDIR)/threads-execve-qq.Po \ -@@ -4443,7 +4447,7 @@ - strace--strings-in-hex-non-ascii.c strace-x.c strace-xx.c \ - swap.c sxetmask.c symlink.c symlinkat.c sync.c \ - sync_file_range.c sync_file_range2.c sysinfo.c syslog.c \ -- syslog-success.c tee.c threads-execve.c \ -+ syslog-success.c tee.c tgkill.c threads-execve.c \ - threads-execve--quiet-thread-execve.c threads-execve-q.c \ - threads-execve-qq.c threads-execve-qqq.c time.c timer_create.c \ - timer_xettime.c timerfd_xettime.c times.c times-fail.c tkill.c \ -@@ -4669,7 +4673,7 @@ - strace--strings-in-hex-non-ascii.c strace-x.c strace-xx.c \ - swap.c sxetmask.c symlink.c symlinkat.c sync.c \ - sync_file_range.c sync_file_range2.c sysinfo.c syslog.c \ -- syslog-success.c tee.c threads-execve.c \ -+ syslog-success.c tee.c tgkill.c threads-execve.c \ - threads-execve--quiet-thread-execve.c threads-execve-q.c \ - threads-execve-qq.c threads-execve-qqq.c time.c timer_create.c \ - timer_xettime.c timerfd_xettime.c times.c times-fail.c tkill.c \ -@@ -5724,6 +5728,7 @@ - sysinfo \ - syslog \ - tee \ -+ tgkill \ - time \ - timer_create \ - timer_xettime \ -@@ -6133,7 +6138,7 @@ - strace-xx.gen.test swap.gen.test sxetmask.gen.test \ - symlink.gen.test symlinkat.gen.test sync.gen.test \ - sync_file_range.gen.test sync_file_range2.gen.test \ -- sysinfo.gen.test syslog.gen.test tee.gen.test \ -+ sysinfo.gen.test syslog.gen.test tee.gen.test tgkill.gen.test \ - threads-execve--quiet-thread-execve.gen.test \ - threads-execve-q.gen.test threads-execve-qq.gen.test \ - threads-execve-qqq.gen.test time.gen.test \ -@@ -9355,6 +9360,10 @@ - @rm -f tee$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tee_OBJECTS) $(tee_LDADD) $(LIBS) - -+tgkill$(EXEEXT): $(tgkill_OBJECTS) $(tgkill_DEPENDENCIES) $(EXTRA_tgkill_DEPENDENCIES) -+ @rm -f tgkill$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(tgkill_OBJECTS) $(tgkill_LDADD) $(LIBS) -+ - threads-execve$(EXEEXT): $(threads_execve_OBJECTS) $(threads_execve_DEPENDENCIES) $(EXTRA_threads_execve_DEPENDENCIES) - @rm -f threads-execve$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(threads_execve_OBJECTS) $(threads_execve_LDADD) $(LIBS) -@@ -10349,6 +10358,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/syslog-success.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/syslog.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tee.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tgkill.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/threads-execve--quiet-thread-execve.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/threads-execve-q.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/threads-execve-qq.Po@am__quote@ # am--include-marker -@@ -12170,6 +12180,7 @@ - -rm -f ./$(DEPDIR)/syslog-success.Po - -rm -f ./$(DEPDIR)/syslog.Po - -rm -f ./$(DEPDIR)/tee.Po -+ -rm -f ./$(DEPDIR)/tgkill.Po - -rm -f ./$(DEPDIR)/threads-execve--quiet-thread-execve.Po - -rm -f ./$(DEPDIR)/threads-execve-q.Po - -rm -f ./$(DEPDIR)/threads-execve-qq.Po -@@ -13026,6 +13037,7 @@ - -rm -f ./$(DEPDIR)/syslog-success.Po - -rm -f ./$(DEPDIR)/syslog.Po - -rm -f ./$(DEPDIR)/tee.Po -+ -rm -f ./$(DEPDIR)/tgkill.Po - -rm -f ./$(DEPDIR)/threads-execve--quiet-thread-execve.Po - -rm -f ./$(DEPDIR)/threads-execve-q.Po - -rm -f ./$(DEPDIR)/threads-execve-qq.Po -@@ -15085,6 +15097,9 @@ - $(srcdir)/tee.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/tgkill.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/threads-execve--quiet-thread-execve.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -Index: strace-5.7/tests-mx32/Makefile.in -=================================================================== ---- strace-5.7.orig/tests-mx32/Makefile.in 2020-09-09 19:32:39.854958946 +0200 -+++ strace-5.7/tests-mx32/Makefile.in 2020-09-09 19:49:39.557566736 +0200 -@@ -493,8 +493,8 @@ - strace-xx$(EXEEXT) swap$(EXEEXT) sxetmask$(EXEEXT) \ - symlink$(EXEEXT) symlinkat$(EXEEXT) sync$(EXEEXT) \ - sync_file_range$(EXEEXT) sync_file_range2$(EXEEXT) \ -- sysinfo$(EXEEXT) syslog$(EXEEXT) tee$(EXEEXT) time$(EXEEXT) \ -- timer_create$(EXEEXT) timer_xettime$(EXEEXT) \ -+ sysinfo$(EXEEXT) syslog$(EXEEXT) tee$(EXEEXT) tgkill$(EXEEXT) \ -+ time$(EXEEXT) timer_create$(EXEEXT) timer_xettime$(EXEEXT) \ - timerfd_xettime$(EXEEXT) times$(EXEEXT) times-fail$(EXEEXT) \ - tkill$(EXEEXT) truncate$(EXEEXT) truncate64$(EXEEXT) \ - ugetrlimit$(EXEEXT) uio$(EXEEXT) umask$(EXEEXT) \ -@@ -3444,6 +3444,10 @@ - tee_OBJECTS = tee.$(OBJEXT) - tee_LDADD = $(LDADD) - tee_DEPENDENCIES = libtests.a -+tgkill_SOURCES = tgkill.c -+tgkill_OBJECTS = tgkill.$(OBJEXT) -+tgkill_LDADD = $(LDADD) -+tgkill_DEPENDENCIES = libtests.a - threads_execve_SOURCES = threads-execve.c - threads_execve_OBJECTS = threads-execve.$(OBJEXT) - threads_execve_DEPENDENCIES = $(am__DEPENDENCIES_1) $(LDADD) -@@ -4181,7 +4185,7 @@ - ./$(DEPDIR)/symlinkat.Po ./$(DEPDIR)/sync.Po \ - ./$(DEPDIR)/sync_file_range.Po ./$(DEPDIR)/sync_file_range2.Po \ - ./$(DEPDIR)/sysinfo.Po ./$(DEPDIR)/syslog-success.Po \ -- ./$(DEPDIR)/syslog.Po ./$(DEPDIR)/tee.Po \ -+ ./$(DEPDIR)/syslog.Po ./$(DEPDIR)/tee.Po ./$(DEPDIR)/tgkill.Po \ - ./$(DEPDIR)/threads-execve--quiet-thread-execve.Po \ - ./$(DEPDIR)/threads-execve-q.Po \ - ./$(DEPDIR)/threads-execve-qq.Po \ -@@ -4443,7 +4447,7 @@ - strace--strings-in-hex-non-ascii.c strace-x.c strace-xx.c \ - swap.c sxetmask.c symlink.c symlinkat.c sync.c \ - sync_file_range.c sync_file_range2.c sysinfo.c syslog.c \ -- syslog-success.c tee.c threads-execve.c \ -+ syslog-success.c tee.c tgkill.c threads-execve.c \ - threads-execve--quiet-thread-execve.c threads-execve-q.c \ - threads-execve-qq.c threads-execve-qqq.c time.c timer_create.c \ - timer_xettime.c timerfd_xettime.c times.c times-fail.c tkill.c \ -@@ -4669,7 +4673,7 @@ - strace--strings-in-hex-non-ascii.c strace-x.c strace-xx.c \ - swap.c sxetmask.c symlink.c symlinkat.c sync.c \ - sync_file_range.c sync_file_range2.c sysinfo.c syslog.c \ -- syslog-success.c tee.c threads-execve.c \ -+ syslog-success.c tee.c tgkill.c threads-execve.c \ - threads-execve--quiet-thread-execve.c threads-execve-q.c \ - threads-execve-qq.c threads-execve-qqq.c time.c timer_create.c \ - timer_xettime.c timerfd_xettime.c times.c times-fail.c tkill.c \ -@@ -5724,6 +5728,7 @@ - sysinfo \ - syslog \ - tee \ -+ tgkill \ - time \ - timer_create \ - timer_xettime \ -@@ -6133,7 +6138,7 @@ - strace-xx.gen.test swap.gen.test sxetmask.gen.test \ - symlink.gen.test symlinkat.gen.test sync.gen.test \ - sync_file_range.gen.test sync_file_range2.gen.test \ -- sysinfo.gen.test syslog.gen.test tee.gen.test \ -+ sysinfo.gen.test syslog.gen.test tee.gen.test tgkill.gen.test \ - threads-execve--quiet-thread-execve.gen.test \ - threads-execve-q.gen.test threads-execve-qq.gen.test \ - threads-execve-qqq.gen.test time.gen.test \ -@@ -9355,6 +9360,10 @@ - @rm -f tee$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tee_OBJECTS) $(tee_LDADD) $(LIBS) - -+tgkill$(EXEEXT): $(tgkill_OBJECTS) $(tgkill_DEPENDENCIES) $(EXTRA_tgkill_DEPENDENCIES) -+ @rm -f tgkill$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(tgkill_OBJECTS) $(tgkill_LDADD) $(LIBS) -+ - threads-execve$(EXEEXT): $(threads_execve_OBJECTS) $(threads_execve_DEPENDENCIES) $(EXTRA_threads_execve_DEPENDENCIES) - @rm -f threads-execve$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(threads_execve_OBJECTS) $(threads_execve_LDADD) $(LIBS) -@@ -10349,6 +10358,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/syslog-success.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/syslog.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tee.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tgkill.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/threads-execve--quiet-thread-execve.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/threads-execve-q.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/threads-execve-qq.Po@am__quote@ # am--include-marker -@@ -12170,6 +12180,7 @@ - -rm -f ./$(DEPDIR)/syslog-success.Po - -rm -f ./$(DEPDIR)/syslog.Po - -rm -f ./$(DEPDIR)/tee.Po -+ -rm -f ./$(DEPDIR)/tgkill.Po - -rm -f ./$(DEPDIR)/threads-execve--quiet-thread-execve.Po - -rm -f ./$(DEPDIR)/threads-execve-q.Po - -rm -f ./$(DEPDIR)/threads-execve-qq.Po -@@ -13026,6 +13037,7 @@ - -rm -f ./$(DEPDIR)/syslog-success.Po - -rm -f ./$(DEPDIR)/syslog.Po - -rm -f ./$(DEPDIR)/tee.Po -+ -rm -f ./$(DEPDIR)/tgkill.Po - -rm -f ./$(DEPDIR)/threads-execve--quiet-thread-execve.Po - -rm -f ./$(DEPDIR)/threads-execve-q.Po - -rm -f ./$(DEPDIR)/threads-execve-qq.Po -@@ -15085,6 +15097,9 @@ - $(srcdir)/tee.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/tgkill.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/threads-execve--quiet-thread-execve.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -Index: strace-5.7/tests/Makefile.in -=================================================================== ---- strace-5.7.orig/tests/Makefile.in 2020-09-09 19:30:36.780885588 +0200 -+++ strace-5.7/tests/Makefile.in 2020-09-09 19:46:24.904450714 +0200 -@@ -493,8 +493,8 @@ - strace-xx$(EXEEXT) swap$(EXEEXT) sxetmask$(EXEEXT) \ - symlink$(EXEEXT) symlinkat$(EXEEXT) sync$(EXEEXT) \ - sync_file_range$(EXEEXT) sync_file_range2$(EXEEXT) \ -- sysinfo$(EXEEXT) syslog$(EXEEXT) tee$(EXEEXT) time$(EXEEXT) \ -- timer_create$(EXEEXT) timer_xettime$(EXEEXT) \ -+ sysinfo$(EXEEXT) syslog$(EXEEXT) tee$(EXEEXT) tgkill$(EXEEXT) \ -+ time$(EXEEXT) timer_create$(EXEEXT) timer_xettime$(EXEEXT) \ - timerfd_xettime$(EXEEXT) times$(EXEEXT) times-fail$(EXEEXT) \ - tkill$(EXEEXT) truncate$(EXEEXT) truncate64$(EXEEXT) \ - ugetrlimit$(EXEEXT) uio$(EXEEXT) umask$(EXEEXT) \ -@@ -3444,6 +3444,10 @@ - tee_OBJECTS = tee.$(OBJEXT) - tee_LDADD = $(LDADD) - tee_DEPENDENCIES = libtests.a -+tgkill_SOURCES = tgkill.c -+tgkill_OBJECTS = tgkill.$(OBJEXT) -+tgkill_LDADD = $(LDADD) -+tgkill_DEPENDENCIES = libtests.a - threads_execve_SOURCES = threads-execve.c - threads_execve_OBJECTS = threads-execve.$(OBJEXT) - threads_execve_DEPENDENCIES = $(am__DEPENDENCIES_1) $(LDADD) -@@ -4181,7 +4185,7 @@ - ./$(DEPDIR)/symlinkat.Po ./$(DEPDIR)/sync.Po \ - ./$(DEPDIR)/sync_file_range.Po ./$(DEPDIR)/sync_file_range2.Po \ - ./$(DEPDIR)/sysinfo.Po ./$(DEPDIR)/syslog-success.Po \ -- ./$(DEPDIR)/syslog.Po ./$(DEPDIR)/tee.Po \ -+ ./$(DEPDIR)/syslog.Po ./$(DEPDIR)/tee.Po ./$(DEPDIR)/tgkill.Po \ - ./$(DEPDIR)/threads-execve--quiet-thread-execve.Po \ - ./$(DEPDIR)/threads-execve-q.Po \ - ./$(DEPDIR)/threads-execve-qq.Po \ -@@ -4443,7 +4447,7 @@ - strace--strings-in-hex-non-ascii.c strace-x.c strace-xx.c \ - swap.c sxetmask.c symlink.c symlinkat.c sync.c \ - sync_file_range.c sync_file_range2.c sysinfo.c syslog.c \ -- syslog-success.c tee.c threads-execve.c \ -+ syslog-success.c tee.c tgkill.c threads-execve.c \ - threads-execve--quiet-thread-execve.c threads-execve-q.c \ - threads-execve-qq.c threads-execve-qqq.c time.c timer_create.c \ - timer_xettime.c timerfd_xettime.c times.c times-fail.c tkill.c \ -@@ -4669,7 +4673,7 @@ - strace--strings-in-hex-non-ascii.c strace-x.c strace-xx.c \ - swap.c sxetmask.c symlink.c symlinkat.c sync.c \ - sync_file_range.c sync_file_range2.c sysinfo.c syslog.c \ -- syslog-success.c tee.c threads-execve.c \ -+ syslog-success.c tee.c tgkill.c threads-execve.c \ - threads-execve--quiet-thread-execve.c threads-execve-q.c \ - threads-execve-qq.c threads-execve-qqq.c time.c timer_create.c \ - timer_xettime.c timerfd_xettime.c times.c times-fail.c tkill.c \ -@@ -5724,6 +5728,7 @@ - sysinfo \ - syslog \ - tee \ -+ tgkill \ - time \ - timer_create \ - timer_xettime \ -@@ -6133,7 +6138,7 @@ - strace-xx.gen.test swap.gen.test sxetmask.gen.test \ - symlink.gen.test symlinkat.gen.test sync.gen.test \ - sync_file_range.gen.test sync_file_range2.gen.test \ -- sysinfo.gen.test syslog.gen.test tee.gen.test \ -+ sysinfo.gen.test syslog.gen.test tee.gen.test tgkill.gen.test \ - threads-execve--quiet-thread-execve.gen.test \ - threads-execve-q.gen.test threads-execve-qq.gen.test \ - threads-execve-qqq.gen.test time.gen.test \ -@@ -9355,6 +9360,10 @@ - @rm -f tee$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tee_OBJECTS) $(tee_LDADD) $(LIBS) - -+tgkill$(EXEEXT): $(tgkill_OBJECTS) $(tgkill_DEPENDENCIES) $(EXTRA_tgkill_DEPENDENCIES) -+ @rm -f tgkill$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(tgkill_OBJECTS) $(tgkill_LDADD) $(LIBS) -+ - threads-execve$(EXEEXT): $(threads_execve_OBJECTS) $(threads_execve_DEPENDENCIES) $(EXTRA_threads_execve_DEPENDENCIES) - @rm -f threads-execve$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(threads_execve_OBJECTS) $(threads_execve_LDADD) $(LIBS) -@@ -10349,6 +10358,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/syslog-success.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/syslog.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tee.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tgkill.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/threads-execve--quiet-thread-execve.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/threads-execve-q.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/threads-execve-qq.Po@am__quote@ # am--include-marker -@@ -12170,6 +12180,7 @@ - -rm -f ./$(DEPDIR)/syslog-success.Po - -rm -f ./$(DEPDIR)/syslog.Po - -rm -f ./$(DEPDIR)/tee.Po -+ -rm -f ./$(DEPDIR)/tgkill.Po - -rm -f ./$(DEPDIR)/threads-execve--quiet-thread-execve.Po - -rm -f ./$(DEPDIR)/threads-execve-q.Po - -rm -f ./$(DEPDIR)/threads-execve-qq.Po -@@ -13026,6 +13037,7 @@ - -rm -f ./$(DEPDIR)/syslog-success.Po - -rm -f ./$(DEPDIR)/syslog.Po - -rm -f ./$(DEPDIR)/tee.Po -+ -rm -f ./$(DEPDIR)/tgkill.Po - -rm -f ./$(DEPDIR)/threads-execve--quiet-thread-execve.Po - -rm -f ./$(DEPDIR)/threads-execve-q.Po - -rm -f ./$(DEPDIR)/threads-execve-qq.Po -@@ -15085,6 +15097,9 @@ - $(srcdir)/tee.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/tgkill.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/threads-execve--quiet-thread-execve.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - diff --git a/SOURCES/0134-PID-namespace-translation-support.patch b/SOURCES/0134-PID-namespace-translation-support.patch deleted file mode 100644 index 0938d16..0000000 --- a/SOURCES/0134-PID-namespace-translation-support.patch +++ /dev/null @@ -1,1478 +0,0 @@ -From bf533b84fd7200399c9b0e68fdf10c6aaf8b1a7a Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?=C3=81kos=20Uzonyi?= -Date: Mon, 8 Jun 2020 19:01:03 +0200 -Subject: [PATCH 134/138] PID namespace translation support - -* defs.h (pidns_translation): New variable. -(tcb): Add pid_ns field. -(RVAL_MASK): Change value from 013 to 017. -(RVAL_TID, RVAL_SID, RVAL_TGID, RVAL_PGID): New definitions. -(pid_type): New enum. -(pidns_init, translate_pid, get_proc_pid, printpid, printpid_tgid_pgid): -New function declarations. -* largefile_wrappers.h (fstat_fd): New macro. -* pidns.c: New file. -* trie.c: New file. -* trie.h: New file. -* Makefile.am (libstrace_a_SOURCES): Add trie.c, trie.h, pidns.c. -* strace.c (pidns_translation): New variable. -(init): Add --pidns-translation option. -* syscall.c (syscall_exiting_trace): Handle RVAL_* return values. -* NEWS: Mention this. -* strace.1.in: Add description for new option. - -Co-Authored-by: Eugene Syromyatnikov - -Conflicts: - NEWS ---- - Makefile.am | 3 + - defs.h | 56 ++++- - largefile_wrappers.h | 2 + - pidns.c | 608 +++++++++++++++++++++++++++++++++++++++++++++++++++ - strace.1.in | 4 + - strace.c | 9 + - syscall.c | 15 ++ - trie.c | 290 ++++++++++++++++++++++++ - trie.h | 92 ++++++++ - 9 files changed, 1078 insertions(+), 1 deletion(-) - create mode 100644 pidns.c - create mode 100644 trie.c - create mode 100644 trie.h - -Index: strace-5.7/Makefile.am -=================================================================== ---- strace-5.7.orig/Makefile.am 2020-09-09 15:50:13.471900510 +0200 -+++ strace-5.7/Makefile.am 2020-09-09 15:52:09.159983257 +0200 -@@ -233,6 +233,7 @@ - personality.c \ - pidfd_getfd.c \ - pidfd_open.c \ -+ pidns.c \ - pkeys.c \ - poll.c \ - prctl.c \ -@@ -344,6 +345,8 @@ - time.c \ - times.c \ - trace_event.h \ -+ trie.c \ -+ trie.h \ - truncate.c \ - ubi.c \ - ucopy.c \ -Index: strace-5.7/defs.h -=================================================================== ---- strace-5.7.orig/defs.h 2020-09-09 15:50:13.473900511 +0200 -+++ strace-5.7/defs.h 2020-09-09 15:52:09.159983257 +0200 -@@ -280,6 +280,13 @@ - struct timespec etime; /* Syscall entry time (CLOCK_MONOTONIC) */ - struct timespec delay_expiration_time; /* When does the delay end */ - -+ /* -+ * The ID of the PID namespace of this process -+ * (inode number of /proc//ns/pid) -+ * (0: not initialized) -+ */ -+ unsigned int pid_ns; -+ - struct mmap_cache_t *mmap_cache; - - /* -@@ -413,7 +420,11 @@ - # define RVAL_HEX 001 /* hex format */ - # define RVAL_OCTAL 002 /* octal format */ - # define RVAL_FD 010 /* file descriptor */ --# define RVAL_MASK 013 /* mask for these values */ -+# define RVAL_TID 011 /* task ID */ -+# define RVAL_SID 012 /* session ID */ -+# define RVAL_TGID 013 /* thread group ID */ -+# define RVAL_PGID 014 /* process group ID */ -+# define RVAL_MASK 017 /* mask for these values */ - - # define RVAL_STR 020 /* Print `auxstr' field after return val */ - # define RVAL_NONE 040 /* Print nothing */ -@@ -428,6 +439,16 @@ - - # define indirect_ipccall(tcp) (tcp_sysent(tcp)->sys_flags & TRACE_INDIRECT_SUBCALL) - -+enum pid_type { -+ PT_TID, -+ PT_TGID, -+ PT_PGID, -+ PT_SID, -+ -+ PT_COUNT, -+ PT_NONE = -1 -+}; -+ - enum sock_proto { - SOCK_PROTO_UNKNOWN, - SOCK_PROTO_UNIX, -@@ -469,6 +490,7 @@ - extern int Tflag_width; - extern bool iflag; - extern bool count_wallclock; -+extern unsigned int pidns_translation; - /* are we filtering traces based on paths? */ - extern struct path_set { - const char **paths_selected; -@@ -984,6 +1006,29 @@ - extern kernel_ulong_t * - fetch_indirect_syscall_args(struct tcb *, kernel_ulong_t addr, unsigned int n_args); - -+extern void pidns_init(void); -+ -+/** -+ * Returns the pid of the tracee as present in /proc of the tracer (can be -+ * different from tcp->pid if /proc and the tracer process are in different PID -+ * namespaces). -+ */ -+extern int get_proc_pid(struct tcb *); -+ -+/** -+ * Translates a pid from tracee's namespace to our namepace. -+ * -+ * @param tcp The tcb of the tracee -+ * (NULL: from_id is in strace's namespace. Useful for -+ * getting the proc PID of from_id) -+ * @param from_id The id to be translated -+ * @param type The PID type of from_id -+ * @param proc_pid_ptr If not NULL, writes the proc PID to this location -+ * @return The translated id, or 0 if translation fails. -+ */ -+extern int translate_pid(struct tcb *, int dest_id, enum pid_type type, -+ int *proc_pid_ptr); -+ - extern void - dumpiov_in_msghdr(struct tcb *, kernel_ulong_t addr, kernel_ulong_t data_size); - -@@ -1059,6 +1104,15 @@ - * of the tracee the descriptor tcp). This is a stub. - */ - extern void printfd_pid_tracee_ns(struct tcb *tcp, pid_t pid, int fd); -+ -+/** Prints a PID specified in the tracee's PID namespace */ -+extern void printpid(struct tcb *, int pid, enum pid_type type); -+ -+/** -+ * Prints pid as a TGID if positive, and PGID if negative -+ * (like the first argument of kill). -+ */ -+extern void printpid_tgid_pgid(struct tcb *, int pid); - extern void print_sockaddr(struct tcb *, const void *sa, int len); - extern bool - print_inet_addr(int af, const void *addr, unsigned int len, const char *var_name); -Index: strace-5.7/largefile_wrappers.h -=================================================================== ---- strace-5.7.orig/largefile_wrappers.h 2020-09-09 15:50:13.473900511 +0200 -+++ strace-5.7/largefile_wrappers.h 2020-09-09 15:50:18.017903762 +0200 -@@ -29,6 +29,7 @@ - # else - # define fcntl_fd fcntl - # endif -+# define fstat_fd fstat64 - # define strace_stat_t struct stat64 - # define stat_file stat64 - # define struct_dirent struct dirent64 -@@ -39,6 +40,7 @@ - # define open_file open - # define fopen_stream fopen - # define fcntl_fd fcntl -+# define fstat_fd fstat - # define strace_stat_t struct stat - # define stat_file stat - # define struct_dirent struct dirent -Index: strace-5.7/pidns.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/pidns.c 2020-09-09 15:50:18.018903762 +0200 -@@ -0,0 +1,608 @@ -+/* -+ * Copyright (c) 2020 Ákos Uzonyi -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: LGPL-2.1-or-later -+ */ -+ -+#include "defs.h" -+ -+ -+#include -+#include -+#include -+#include -+#include -+ -+#include -+ -+#include -+#include -+#include -+#include -+ -+#include "largefile_wrappers.h" -+#include "trie.h" -+#include "nsfs.h" -+#include "xmalloc.h" -+#include "xstring.h" -+ -+/** -+ * Key: PID NS ID -+ * Value: a btree: -+ * Key: a process PID in NS -+ * Value: the process's PID as present in /proc -+ */ -+static struct trie *ns_pid_to_proc_pid[PT_COUNT]; -+ -+/** -+ * Key: Proc PID -+ * Value: struct proc_data -+ */ -+static struct trie *proc_data_cache; -+ -+static bool ns_get_parent_enotty = false; -+ -+static const char tid_str[] = "NSpid:\t"; -+static const char tgid_str[] = "NStgid:\t"; -+static const char pgid_str[] = "NSpgid:\t"; -+static const char sid_str[] = "NSsid:\t"; -+ -+static const struct { -+ const char *str; -+ size_t size; -+} id_strs[PT_COUNT] = { -+ [PT_TID] = { tid_str, sizeof(tid_str) - 1 }, -+ [PT_TGID] = { tgid_str, sizeof(tgid_str) - 1 }, -+ [PT_PGID] = { pgid_str, sizeof(pgid_str) - 1 }, -+ [PT_SID] = { sid_str, sizeof(sid_str) - 1 }, -+}; -+ -+ -+/** -+ * Limit on PID NS hierarchy depth, imposed since Linux 3.7. NS traversal -+ * is not possible before Linux 4.9, so we consider this limit pretty universal. -+ */ -+#define MAX_NS_DEPTH 32 -+ -+static const size_t ns_id_size = sizeof(unsigned int) * 8; -+static const uint8_t ptr_sz_lg = (sizeof(void *) == 8 ? 6 : 5); -+ -+static int pid_max; -+static uint8_t pid_max_size, pid_max_size_lg; -+ -+struct proc_data { -+ int proc_pid; -+ int ns_count; -+ unsigned int ns_hierarchy[MAX_NS_DEPTH]; -+ int id_count[PT_COUNT]; -+ int id_hierarchy[PT_COUNT][MAX_NS_DEPTH]; -+}; -+ -+/** -+ * Helper function for creating a trie. -+ * -+ * For node_key_bits and data_block_key_bits 4 is used (so trie height is 32 / 4 -+ * = 8, and node sizes are 8 byte * 2^4 = 128 bytes), which seems to be a good -+ * tradeoff between memory usage and lookup time. It should not be too large, -+ * since there can be large holes between PIDs, and it would be just a waste of -+ * memory having large nodes with lot of NULL pointers in them. -+ */ -+static struct trie * -+create_trie_4(uint8_t key_size, uint8_t item_size_lg, uint64_t empty_value) -+{ -+ struct trie *t = trie_create(key_size, item_size_lg, 4, 4, empty_value); -+ if (!t) -+ error_msg_and_die("creating trie failed"); -+ -+ return t; -+} -+ -+void -+pidns_init(void) -+{ -+ if (proc_data_cache) -+ return; -+ -+ pid_max = INT_MAX; -+ if (read_int_from_file("/proc/sys/kernel/pid_max", &pid_max) < 0) -+ debug_func_perror_msg("reading /proc/sys/kernel/pid_max"); -+ pid_max_size = ilog2_32(pid_max - 1) + 1; -+ pid_max_size_lg = ilog2_32(pid_max_size - 1) + 1; -+ -+ for (int i = 0; i < PT_COUNT; i++) -+ ns_pid_to_proc_pid[i] = create_trie_4(ns_id_size, ptr_sz_lg, 0); -+ -+ proc_data_cache = create_trie_4(pid_max_size, ptr_sz_lg, 0); -+} -+ -+static void -+put_proc_pid(unsigned int ns, int ns_pid, enum pid_type type, int proc_pid) -+{ -+ struct trie *b = (struct trie *) (uintptr_t) trie_get(ns_pid_to_proc_pid[type], ns); -+ if (!b) { -+ b = create_trie_4(pid_max_size, pid_max_size_lg, 0); -+ trie_set(ns_pid_to_proc_pid[type], ns, (uint64_t) (uintptr_t) b); -+ } -+ trie_set(b, ns_pid, proc_pid); -+} -+ -+static int -+get_cached_proc_pid(unsigned int ns, int ns_pid, enum pid_type type) -+{ -+ struct trie *b = (struct trie *) (uintptr_t) -+ trie_get(ns_pid_to_proc_pid[type], ns); -+ if (!b) -+ return 0; -+ -+ return trie_get(b, ns_pid); -+} -+ -+/** -+ * Helper function, converts pid to string, or to "self" for pid == 0. -+ * Uses static buffer for operation. -+ */ -+static const char * -+pid_to_str(pid_t pid) -+{ -+ if (!pid) -+ return "self"; -+ -+ static char buf[sizeof("-2147483648")]; -+ xsprintf(buf, "%d", pid); -+ return buf; -+} -+ -+/** -+ * Returns a list of PID NS IDs for the specified PID. -+ * -+ * @param proc_pid PID (as present in /proc) to get information for. -+ * @param ns_buf Pointer to buffer that is able to contain at least -+ * ns_buf_size items. -+ * @return Amount of NS in list. 0 indicates error. -+ */ -+static size_t -+get_ns_hierarchy(int proc_pid, unsigned int *ns_buf, size_t ns_buf_size) -+{ -+ char path[PATH_MAX + 1]; -+ xsprintf(path, "/proc/%s/ns/pid", pid_to_str(proc_pid)); -+ -+ int fd = open_file(path, O_RDONLY); -+ if (fd < 0) -+ return 0; -+ -+ size_t n = 0; -+ while (n < ns_buf_size) { -+ strace_stat_t st; -+ if (fstat_fd(fd, &st)) -+ break; -+ -+ ns_buf[n++] = st.st_ino; -+ if (n >= ns_buf_size) -+ break; -+ -+ if (ns_get_parent_enotty) -+ break; -+ -+ int parent_fd = ioctl(fd, NS_GET_PARENT); -+ if (parent_fd < 0) { -+ switch (errno) { -+ case EPERM: -+ break; -+ -+ case ENOTTY: -+ ns_get_parent_enotty = true; -+ error_msg("NS_* ioctl commands are not " -+ "supported by the kernel"); -+ break; -+ -+ default: -+ perror_func_msg("ioctl(NS_GET_PARENT)"); -+ break; -+ } -+ -+ break; -+ } -+ -+ close(fd); -+ fd = parent_fd; -+ } -+ -+ close(fd); -+ -+ return n; -+} -+ -+/** -+ * Get list of IDs present in NS* proc status record. IDs are placed as they are -+ * stored in /proc (from top to bottom of NS hierarchy). -+ * -+ * @param proc_pid PID (as present in /proc) to get information for. -+ * @param id_buf Pointer to buffer that is able to contain at least -+ * MAX_NS_DEPTH items. Can be NULL. -+ * @param type Type of ID requested. -+ * @return Number of items stored in id_list. 0 indicates error. -+ */ -+static size_t -+get_id_list(int proc_pid, int *id_buf, enum pid_type type) -+{ -+ const char *ns_str = id_strs[type].str; -+ size_t ns_str_size = id_strs[type].size; -+ -+ size_t n = 0; -+ -+ char status_path[PATH_MAX + 1]; -+ xsprintf(status_path, "/proc/%s/status", pid_to_str(proc_pid)); -+ FILE *f = fopen_stream(status_path, "r"); -+ if (!f) -+ return 0; -+ -+ char *line = NULL; -+ size_t linesize = 0; -+ char *p = NULL; -+ -+ while (getline(&line, &linesize, f) > 0) { -+ if (strncmp(line, ns_str, ns_str_size) == 0) { -+ p = line + ns_str_size; -+ break; -+ } -+ } -+ -+ while (p) { -+ errno = 0; -+ long id = strtol(p, NULL, 10); -+ -+ if (id < 0 || id > INT_MAX || errno) { -+ perror_func_msg("converting pid (%ld) to int", id); -+ break; -+ } -+ -+ if (id_buf) -+ id_buf[n] = (int) id; -+ -+ n++; -+ strsep(&p, "\t"); -+ } -+ -+ free(line); -+ fclose(f); -+ -+ return n; -+} -+ -+/** -+ * Returns whether the /proc filesystem's PID namespace is the same as strace's. -+ */ -+static bool -+is_proc_ours(void) -+{ -+ static int cached_val = -1; -+ -+ if (cached_val < 0) -+ cached_val = get_id_list(0, NULL, PT_TID) <= 1; -+ -+ return cached_val; -+} -+ -+/** -+ * Returns the PID namespace of the tracee -+ */ -+static unsigned int -+get_ns(struct tcb *tcp) -+{ -+ if (!tcp->pid_ns) { -+ int proc_pid = 0; -+ translate_pid(NULL, tcp->pid, PT_TID, &proc_pid); -+ -+ if (proc_pid) -+ get_ns_hierarchy(proc_pid, &tcp->pid_ns, 1); -+ } -+ -+ return tcp->pid_ns; -+} -+ -+/** -+ * Returns the PID namespace of strace -+ */ -+static unsigned int -+get_our_ns(void) -+{ -+ static unsigned int our_ns = 0; -+ static bool our_ns_initialised = false; -+ -+ if (!our_ns_initialised) { -+ get_ns_hierarchy(0, &our_ns, 1); -+ our_ns_initialised = true; -+ } -+ -+ return our_ns; -+} -+ -+/** -+ * Returns the cached proc_data struct associated with proc_pid. -+ * If none found, allocates a new proc_data. -+ */ -+static struct proc_data * -+get_or_create_proc_data(int proc_pid) -+{ -+ struct proc_data *pd = (struct proc_data *) (uintptr_t) -+ trie_get(proc_data_cache, proc_pid); -+ -+ if (!pd) { -+ pd = calloc(1, sizeof(*pd)); -+ if (!pd) -+ return NULL; -+ -+ pd->proc_pid = proc_pid; -+ trie_set(proc_data_cache, proc_pid, (uint64_t) (uintptr_t) pd); -+ } -+ -+ return pd; -+} -+ -+/** -+ * Updates the proc_data from /proc -+ * If the process does not exists, returns false, and frees the proc_data -+ */ -+static bool -+update_proc_data(struct proc_data *pd, enum pid_type type) -+{ -+ pd->ns_count = get_ns_hierarchy(pd->proc_pid, -+ pd->ns_hierarchy, MAX_NS_DEPTH); -+ if (!pd->ns_count) -+ goto fail; -+ -+ pd->id_count[type] = get_id_list(pd->proc_pid, -+ pd->id_hierarchy[type], type); -+ if (!pd->id_count[type]) -+ goto fail; -+ -+ return true; -+ -+fail: -+ trie_set(proc_data_cache, pd->proc_pid, (uint64_t) (uintptr_t) NULL); -+ free(pd); -+ return false; -+} -+ -+/** -+ * Paramters for id translation -+ */ -+struct translate_id_params { -+ /* The result (output) */ -+ int result_id; -+ /* The proc data of the process (output) */ -+ struct proc_data *pd; -+ -+ /* The namespace to be translated from */ -+ unsigned int from_ns; -+ /* The id to be translated */ -+ int from_id; -+ /* The type of the id */ -+ enum pid_type type; -+}; -+ -+/** -+ * Translates an id to our namespace, given the proc_pid of the process, -+ * by reading files in /proc. -+ * -+ * @param tip The parameters -+ * @param proc_pid The proc pid of the process. -+ * If 0, use the cached values in tip->pd. -+ */ -+static void -+translate_id_proc_pid(struct translate_id_params *tip, int proc_pid) -+{ -+ struct proc_data *pd = proc_pid ? -+ get_or_create_proc_data(proc_pid) : -+ tip->pd; -+ -+ tip->result_id = 0; -+ tip->pd = NULL; -+ -+ if (!pd) -+ return; -+ -+ if (proc_pid && !update_proc_data(pd, tip->type)) -+ return; -+ -+ if (!pd->ns_count || pd->id_count[tip->type] < pd->ns_count) -+ return; -+ -+ int *id_hierarchy = pd->id_hierarchy[tip->type]; -+ int id_count = pd->id_count[tip->type]; -+ -+ for (int i = 0; i < pd->ns_count; i++) { -+ unsigned int ns = pd->ns_hierarchy[i]; -+ int ns_id = id_hierarchy[id_count - i - 1]; -+ int our_id = id_hierarchy[id_count - pd->ns_count]; -+ -+ if (ns != tip->from_ns) -+ continue; -+ -+ if (ns_id != tip->from_id) -+ return; -+ -+ tip->result_id = our_id; -+ tip->pd = pd; -+ return; -+ } -+} -+ -+/** -+ * Translates an id to our namespace by reading all proc entries in a directory. -+ * The directory is either /proc or /proc//task. -+ * -+ * -+ * @param tip The parameters -+ * @param path The path of the directory to be read. -+ * @param read_task_dir Whether recurse to "task" subdirectory. -+ */ -+static void -+translate_id_dir(struct translate_id_params *tip, const char *path, -+ bool read_task_dir) -+{ -+ DIR *dir = opendir(path); -+ if (!dir) { -+ debug_func_perror_msg("opening dir: %s", path); -+ return; -+ } -+ -+ while (!tip->result_id) { -+ errno = 0; -+ struct_dirent *entry = read_dir(dir); -+ if (!entry) { -+ if (errno) -+ perror_func_msg("readdir"); -+ -+ break; -+ } -+ -+ if (entry->d_type != DT_DIR) -+ continue; -+ -+ errno = 0; -+ long proc_pid = strtol(entry->d_name, NULL, 10); -+ if (proc_pid < 1 || proc_pid > INT_MAX || errno) -+ continue; -+ -+ if (read_task_dir) { -+ char task_dir_path[PATH_MAX + 1]; -+ xsprintf(task_dir_path, "/proc/%ld/task", proc_pid); -+ translate_id_dir(tip, task_dir_path, false); -+ } -+ -+ if (tip->result_id) -+ break; -+ -+ translate_id_proc_pid(tip, proc_pid); -+ } -+ -+ closedir(dir); -+} -+ -+/** -+ * Iterator function of the proc_data_cache for id translation. -+ * If the cache contains the id we are looking for, reads the corresponding -+ * directory in /proc, and if cache is valid, saves the result. -+ */ -+static void -+proc_data_cache_iterator_fn(void* fn_data, uint64_t key, uint64_t val) -+{ -+ struct translate_id_params *tip = (struct translate_id_params *)fn_data; -+ struct proc_data *pd = (struct proc_data *) (uintptr_t) val; -+ -+ if (!pd) -+ return; -+ -+ /* Result already found in an earlier iteration */ -+ if (tip->result_id) -+ return; -+ -+ /* Translate from cache */ -+ tip->pd = pd; -+ translate_id_proc_pid(tip, 0); -+ if (!tip->result_id) -+ return; -+ -+ /* Now translate from actual data in /proc, to check cache validity */ -+ translate_id_proc_pid(tip, pd->proc_pid); -+} -+ -+int -+translate_pid(struct tcb *tcp, int from_id, enum pid_type type, -+ int *proc_pid_ptr) -+{ -+ if (from_id <= 0 || type < 0 || type >= PT_COUNT) -+ return 0; -+ -+ /* If translation is trivial */ -+ if ((!tcp || get_ns(tcp) == get_our_ns()) && -+ (!proc_pid_ptr || is_proc_ours())) { -+ if (proc_pid_ptr) -+ *proc_pid_ptr = from_id; -+ -+ return from_id; -+ } -+ -+ struct translate_id_params tip = { -+ .result_id = 0, -+ .pd = NULL, -+ .from_ns = tcp ? get_ns(tcp) : get_our_ns(), -+ .from_id = from_id, -+ .type = type, -+ }; -+ -+ if (!tip.from_ns) -+ return 0; -+ -+ if (ns_get_parent_enotty) -+ return 0; -+ -+ /* Look for a cached proc_pid for this (from_ns, from_id) pair */ -+ int cached_proc_pid = get_cached_proc_pid(tip.from_ns, tip.from_id, -+ tip.type); -+ if (cached_proc_pid) { -+ translate_id_proc_pid(&tip, cached_proc_pid); -+ if (tip.result_id) -+ goto exit; -+ } -+ -+ /* Iterate through the cache, find potential proc_data */ -+ trie_iterate_keys(proc_data_cache, 0, pid_max - 1, -+ proc_data_cache_iterator_fn, &tip); -+ /* (proc_data_cache_iterator_fn takes care about updating proc_data) */ -+ if (tip.result_id) -+ goto exit; -+ -+ /* No cache helped, read all entries in /proc */ -+ translate_id_dir(&tip, "/proc", true); -+ -+exit: -+ if (tip.pd) { -+ if (tip.pd->proc_pid) -+ put_proc_pid(tip.from_ns, tip.from_id, tip.type, -+ tip.pd->proc_pid); -+ -+ if (proc_pid_ptr) -+ *proc_pid_ptr = tip.pd->proc_pid; -+ } -+ -+ return tip.result_id; -+} -+ -+int -+get_proc_pid(struct tcb *tcp) -+{ -+ int proc_pid = 0; -+ translate_pid(NULL, tcp->pid, PT_TID, &proc_pid); -+ return proc_pid; -+} -+ -+static void -+printpid_translation(struct tcb *tcp, int pid, enum pid_type type) -+{ -+ if (!pidns_translation) -+ return; -+ -+ int strace_pid = translate_pid(tcp, pid, type, NULL); -+ if (strace_pid && strace_pid != pid) -+ tprintf_comment("%d in strace's PID NS", strace_pid); -+} -+ -+void -+printpid(struct tcb *tcp, int pid, enum pid_type type) -+{ -+ tprintf("%d", pid); -+ printpid_translation(tcp, pid, type); -+} -+ -+void -+printpid_tgid_pgid(struct tcb *tcp, int pid) -+{ -+ tprintf("%d", pid); -+ if (pid > 0) -+ printpid_translation(tcp, pid, PT_TGID); -+ else if (pid < -1) -+ printpid_translation(tcp, -pid, PT_PGID); -+} -Index: strace-5.7/strace.1.in -=================================================================== ---- strace-5.7.orig/strace.1.in 2020-09-09 15:50:13.475900513 +0200 -+++ strace-5.7/strace.1.in 2020-09-09 15:50:18.018903762 +0200 -@@ -1075,6 +1075,10 @@ - protocol-specific information associated with socket file descriptors, - block/character device number associated with device file descriptors, - and PIDs asociated with pidfd file descriptors. -+.TP -+.B \-\-pidns\-translation -+If strace and tracee are in different PID namespaces, print PIDs in -+strace's namespace, too. - .SS Statistics - .TP 12 - .B \-c -Index: strace-5.7/strace.c -=================================================================== ---- strace-5.7.orig/strace.c 2020-09-09 15:50:13.476900514 +0200 -+++ strace-5.7/strace.c 2020-09-09 15:52:08.646982890 +0200 -@@ -133,6 +133,8 @@ - static int post_attach_sigstop = TCB_IGNORE_ONE_SIGSTOP; - #define use_seize (post_attach_sigstop == 0) - -+unsigned int pidns_translation; -+ - static bool detach_on_execve; - - static int exit_code; -@@ -1998,6 +2000,8 @@ - - os_release = get_os_release(); - -+ pidns_init(); -+ - shared_log = stderr; - set_sortby(DEFAULT_SORTBY); - set_personality(DEFAULT_PERSONALITY); -@@ -2022,6 +2026,7 @@ - GETOPT_FOLLOWFORKS, - GETOPT_OUTPUT_SEPARATELY, - GETOPT_TS, -+ GETOPT_PIDNS_TRANSLATION, - - GETOPT_QUAL_TRACE, - GETOPT_QUAL_ABBREV, -@@ -2072,6 +2077,7 @@ - { "summary-wall-clock", no_argument, 0, 'w' }, - { "strings-in-hex", optional_argument, 0, GETOPT_HEX_STR }, - { "const-print-style", required_argument, 0, 'X' }, -+ { "pidns-translation", no_argument , 0, GETOPT_PIDNS_TRANSLATION }, - { "successful-only", no_argument, 0, 'z' }, - { "failed-only", no_argument, 0, 'Z' }, - { "failing-only", no_argument, 0, 'Z' }, -@@ -2285,6 +2291,9 @@ - case 'y': - yflag_short++; - break; -+ case GETOPT_PIDNS_TRANSLATION: -+ pidns_translation++; -+ break; - case 'z': - clear_number_set_array(status_set, 1); - add_number_to_set(STATUS_SUCCESSFUL, status_set); -Index: strace-5.7/syscall.c -=================================================================== ---- strace-5.7.orig/syscall.c 2020-09-09 15:50:13.477900514 +0200 -+++ strace-5.7/syscall.c 2020-09-09 15:50:18.019903763 +0200 -@@ -930,6 +930,21 @@ - tprintf("= %" PRI_kld, tcp->u_rval); - } - break; -+ case RVAL_TID: -+ case RVAL_SID: -+ case RVAL_TGID: -+ case RVAL_PGID: { -+ #define _(_t) [RVAL_##_t - RVAL_TID] = PT_##_t -+ static const enum pid_type types[] = { -+ _(TID), _(SID), _(TGID), _(PGID), -+ }; -+ #undef _ -+ -+ tprints("= "); -+ printpid(tcp, tcp->u_rval, -+ types[(sys_res & RVAL_MASK) - RVAL_TID]); -+ break; -+ } - default: - error_msg("invalid rval format"); - break; -Index: strace-5.7/trie.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/trie.c 2020-09-09 15:50:18.019903763 +0200 -@@ -0,0 +1,290 @@ -+/* -+ * Simple trie implementation for key-value mapping storage -+ * -+ * Copyright (c) 2020 Ákos Uzonyi -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: LGPL-2.1-or-later -+ */ -+ -+#ifdef HAVE_CONFIG_H -+# include "config.h" -+#endif -+ -+#include -+#include -+ -+#include "trie.h" -+#include "xmalloc.h" -+ -+static const uint8_t ptr_sz_lg = (sizeof(void *) == 8 ? 6 : 5); -+ -+/** -+ * Returns lg2 of node size in bits for the specific level of the trie. -+ */ -+static uint8_t -+trie_get_node_size(struct trie *t, uint8_t depth) -+{ -+ /* Last level contains data and we allow it having a different size */ -+ if (depth == t->max_depth) -+ return t->data_block_key_bits + t->item_size_lg; -+ /* Last level of the tree can be smaller */ -+ if (depth == t->max_depth - 1) -+ return (t->key_size - t->data_block_key_bits - 1) % -+ t->node_key_bits + 1 + ptr_sz_lg; -+ -+ return t->node_key_bits + ptr_sz_lg; -+} -+ -+/** -+ * Provides starting offset of bits in key corresponding to the node index -+ * at the specific level. -+ */ -+static uint8_t -+trie_get_node_bit_offs(struct trie *t, uint8_t depth) -+{ -+ uint8_t offs; -+ -+ if (depth == t->max_depth) -+ return 0; -+ -+ offs = t->data_block_key_bits; -+ -+ if (depth == t->max_depth - 1) -+ return offs; -+ -+ /* data_block_size + remainder */ -+ offs += trie_get_node_size(t, t->max_depth - 1) - ptr_sz_lg; -+ offs += (t->max_depth - depth - 2) * t->node_key_bits; -+ -+ return offs; -+} -+ -+struct trie * -+trie_create(uint8_t key_size, uint8_t item_size_lg, uint8_t node_key_bits, -+ uint8_t data_block_key_bits, uint64_t empty_value) -+{ -+ if (item_size_lg > 6) -+ return NULL; -+ if (key_size > 64) -+ return NULL; -+ if (node_key_bits < 1) -+ return NULL; -+ if (data_block_key_bits < 1 || data_block_key_bits > key_size) -+ return NULL; -+ -+ struct trie *t = malloc(sizeof(*t)); -+ if (!t) -+ return NULL; -+ -+ t->empty_value = empty_value; -+ t->data = NULL; -+ t->item_size_lg = item_size_lg; -+ t->node_key_bits = node_key_bits; -+ t->data_block_key_bits = data_block_key_bits; -+ t->key_size = key_size; -+ t->max_depth = (key_size - data_block_key_bits + node_key_bits - 1) -+ / t->node_key_bits; -+ -+ if (item_size_lg != 6) -+ t->empty_value &= (((uint64_t) 1 << (1 << t->item_size_lg)) - 1); -+ -+ return t; -+} -+ -+static void * -+trie_create_data_block(struct trie *t) -+{ -+ uint64_t fill_value = t->empty_value; -+ for (int i = 1; i < 1 << (6 - t->item_size_lg); i++) { -+ fill_value <<= (1 << t->item_size_lg); -+ fill_value |= t->empty_value; -+ } -+ -+ uint8_t sz = t->data_block_key_bits + t->item_size_lg; -+ if (sz < 6) -+ sz = 6; -+ -+ size_t count = 1 << (sz - 6); -+ uint64_t *data_block = xcalloc(count, 8); -+ -+ for (size_t i = 0; i < count; i++) -+ data_block[i] = fill_value; -+ -+ return data_block; -+} -+ -+static uint64_t * -+trie_get_node(struct trie *t, uint64_t key, bool auto_create) -+{ -+ void **cur_node = &(t->data); -+ -+ if (t->key_size < 64 && key > (uint64_t) 1 << t->key_size) -+ return NULL; -+ -+ for (uint8_t cur_depth = 0; cur_depth <= t->max_depth; cur_depth++) { -+ uint8_t offs = trie_get_node_bit_offs(t, cur_depth); -+ uint8_t sz = trie_get_node_size(t, cur_depth); -+ -+ if (!*cur_node) { -+ if (!auto_create) -+ return NULL; -+ -+ if (cur_depth == t->max_depth) -+ *cur_node = trie_create_data_block(t); -+ else -+ *cur_node = xcalloc(1 << sz, 1); -+ } -+ -+ if (cur_depth == t->max_depth) -+ break; -+ -+ size_t pos = (key >> offs) & ((1 << (sz - ptr_sz_lg)) - 1); -+ cur_node = (((void **) (*cur_node)) + pos); -+ } -+ -+ return (uint64_t *) (*cur_node); -+} -+ -+static void -+trie_data_block_calc_pos(struct trie *t, uint64_t key, -+ uint64_t *pos, uint64_t *mask, uint64_t *offs) -+{ -+ uint64_t key_mask; -+ -+ key_mask = (1 << t->data_block_key_bits) - 1; -+ *pos = (key & key_mask) >> (6 - t->item_size_lg); -+ -+ if (t->item_size_lg == 6) { -+ *offs = 0; -+ *mask = -1; -+ return; -+ } -+ -+ key_mask = (1 << (6 - t->item_size_lg)) - 1; -+ *offs = (key & key_mask) * (1 << t->item_size_lg); -+ -+ *mask = (((uint64_t) 1 << (1 << t->item_size_lg)) - 1) << *offs; -+} -+ -+bool -+trie_set(struct trie *t, uint64_t key, uint64_t val) -+{ -+ uint64_t *data = trie_get_node(t, key, true); -+ if (!data) -+ return false; -+ -+ uint64_t pos, mask, offs; -+ trie_data_block_calc_pos(t, key, &pos, &mask, &offs); -+ -+ data[pos] &= ~mask; -+ data[pos] |= (val << offs) & mask; -+ -+ return true; -+} -+ -+static uint64_t -+trie_data_block_get(struct trie *t, uint64_t *data, uint64_t key) -+{ -+ if (!data) -+ return t->empty_value; -+ -+ uint64_t pos, mask, offs; -+ trie_data_block_calc_pos(t, key, &pos, &mask, &offs); -+ -+ return (data[pos] & mask) >> offs; -+} -+ -+uint64_t -+trie_get(struct trie *b, uint64_t key) -+{ -+ return trie_data_block_get(b, trie_get_node(b, key, false), key); -+} -+ -+static uint64_t -+trie_iterate_keys_node(struct trie *t, -+ trie_iterate_fn fn, void *fn_data, -+ void *node, uint64_t start, uint64_t end, -+ uint8_t depth) -+{ -+ if (start > end || !node) -+ return 0; -+ -+ if (t->key_size < 64) { -+ uint64_t key_max = ((uint64_t) 1 << t->key_size) - 1; -+ if (end > key_max) -+ end = key_max; -+ } -+ -+ if (depth == t->max_depth) { -+ for (uint64_t i = start; i <= end; i++) -+ fn(fn_data, i, trie_data_block_get(t, -+ (uint64_t *) node, i)); -+ -+ return end - start + 1; -+ } -+ -+ uint8_t parent_node_bit_off = depth == 0 ? -+ t->key_size : -+ trie_get_node_bit_offs(t, depth - 1); -+ -+ uint64_t first_key_in_node = start & -+ (uint64_t) -1 << parent_node_bit_off; -+ -+ uint8_t node_bit_off = trie_get_node_bit_offs(t, depth); -+ uint8_t node_key_bits = parent_node_bit_off - node_bit_off; -+ uint64_t mask = ((uint64_t) 1 << (node_key_bits)) - 1; -+ uint64_t start_index = (start >> node_bit_off) & mask; -+ uint64_t end_index = (end >> node_bit_off) & mask; -+ uint64_t child_key_count = (uint64_t) 1 << node_bit_off; -+ -+ uint64_t count = 0; -+ -+ for (uint64_t i = start_index; i <= end_index; i++) { -+ uint64_t child_start = first_key_in_node + i * child_key_count; -+ uint64_t child_end = first_key_in_node + -+ (i + 1) * child_key_count - 1; -+ -+ if (child_start < start) -+ child_start = start; -+ if (child_end > end) -+ child_end = end; -+ -+ count += trie_iterate_keys_node(t, fn, fn_data, -+ ((void **) node)[i], child_start, child_end, -+ depth + 1); -+ } -+ -+ return count; -+} -+ -+uint64_t trie_iterate_keys(struct trie *t, uint64_t start, uint64_t end, -+ trie_iterate_fn fn, void *fn_data) -+{ -+ return trie_iterate_keys_node(t, fn, fn_data, t->data, -+ start, end, 0); -+} -+ -+static void -+trie_free_node(struct trie *t, void *node, uint8_t depth) -+{ -+ if (!node) -+ return; -+ -+ if (depth >= t->max_depth) -+ goto free_node; -+ -+ size_t sz = 1 << (trie_get_node_size(t, depth) - ptr_sz_lg); -+ for (size_t i = 0; i < sz; i++) -+ trie_free_node(t, ((void **) node)[i], depth + 1); -+ -+free_node: -+ free(node); -+} -+ -+void -+trie_free(struct trie *t) -+{ -+ trie_free_node(t, t->data, 0); -+ free(t); -+} -Index: strace-5.7/trie.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/trie.h 2020-09-09 15:50:18.019903763 +0200 -@@ -0,0 +1,92 @@ -+/* -+ * Simple trie interface -+ * -+ * Copyright (c) 2020 Ákos Uzonyi -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: LGPL-2.1-or-later -+ */ -+ -+#ifndef STRACE_TRIE_H -+#define STRACE_TRIE_H -+ -+#include -+#include -+ -+/** -+ * Trie control structure. -+ * Trie implemented here has the following properties: -+ * * It allows storing values of the same size, the size can vary from 1 bit to -+ * 64 bit values (only power of 2 sizes are allowed). -+ * * The key can be up to 64 bits in size. -+ * * It has separate configuration for node size and data block size. -+ * -+ * How bits of key are used for different node levels: -+ * -+ * highest bits lowest bits -+ * | node_key_bits | node_key_bits | ... | | data_block_key_bits | -+ * \_________________________________________________________________________/ -+ * key_size -+ * -+ * So, the remainder is used on the lowest non-data node level. -+ * -+ * As of now, it doesn't implement any mechanisms for resizing/changing key -+ * size. De-fragmentation is also unsupported currently. -+ */ -+struct trie { -+ /** Return value of trie_get if key is not found */ -+ uint64_t empty_value; -+ -+ /** Pointer to root node */ -+ void *data; -+ -+ /** Key size in bits (0..64). */ -+ uint8_t key_size; -+ -+ /** -+ * Size of the stored values in log2 bits (0..6). -+ * (6: 64 bit values, 5: 32 bit values, ...) -+ */ -+ uint8_t item_size_lg; -+ -+ /** -+ * Number of bits in the key that make a symbol for a node. -+ * (equals to log2 of the child count of the node) -+ */ -+ uint8_t node_key_bits; -+ -+ /** -+ * Number of bits in the key that make a symbol for the data block (leaf). -+ * (equals to log2 of the value count stored in a data block) -+ */ -+ uint8_t data_block_key_bits; -+ -+ /** The depth of the data block. Calculated from the values above */ -+ uint8_t max_depth; -+}; -+ -+struct trie* trie_create(uint8_t key_size, uint8_t item_size_lg, -+ uint8_t node_key_bits, uint8_t data_block_key_bits, -+ uint64_t empty_value); -+ -+bool trie_set(struct trie *t, uint64_t key, uint64_t val); -+uint64_t trie_get(struct trie *t, uint64_t key); -+ -+typedef void (*trie_iterate_fn)(void *data, uint64_t key, uint64_t val); -+ -+/** -+ * Calls trie_iterate_fn for each key-value pair where -+ * key is inside the [start, end] interval (inclusive). -+ * -+ * @param t The trie. -+ * @param start The start of the key interval (inclusive). -+ * @param end The end of the key interval (inclusive). -+ * @param fn The function to be called. -+ * @param fn_data The value to be passed to fn. -+ */ -+uint64_t trie_iterate_keys(struct trie *t, uint64_t start, uint64_t end, -+ trie_iterate_fn fn, void *fn_data); -+ -+void trie_free(struct trie *t); -+ -+#endif /* !STRACE_TRIE_H */ -Index: strace-5.7/Makefile.in -=================================================================== ---- strace-5.7.orig/Makefile.in 2020-09-09 15:50:13.484900519 +0200 -+++ strace-5.7/Makefile.in 2020-09-09 15:54:59.569105143 +0200 -@@ -344,8 +344,8 @@ - nlattr.c nlattr.h nsfs.c nsfs.h nsig.h numa.c number_set.c \ - number_set.h oldstat.c open.c open_tree.c or1k_atomic.c \ - pathtrace.c perf.c perf_event_struct.h perf_ioctl.c \ -- personality.c pidfd_getfd.c pidfd_open.c pkeys.c poll.c \ -- prctl.c print_aio_sigset.c print_dev_t.c print_fields.h \ -+ personality.c pidfd_getfd.c pidfd_open.c pidns.c pkeys.c \ -+ poll.c prctl.c print_aio_sigset.c print_dev_t.c print_fields.h \ - print_group_req.c print_ifindex.c print_instruction_pointer.c \ - print_kernel_version.c print_mac.c print_mq_attr.c \ - print_msgbuf.c print_sg_req_info.c print_sigevent.c \ -@@ -369,10 +369,10 @@ - string_to_uint.h swapon.c sync_file_range.c sync_file_range2.c \ - syscall.c sysctl.c sysent.h sysent_shorthand_defs.h \ - sysent_shorthand_undefs.h sysinfo.c syslog.c sysmips.c term.c \ -- time.c times.c trace_event.h truncate.c ubi.c ucopy.c uid.c \ -- uid16.c umask.c umount.c uname.c upeek.c upoke.c userfaultfd.c \ -- ustat.c util.c utime.c utimes.c v4l2.c wait.c wait.h \ -- watchdog_ioctl.c xattr.c xfs_quota_stat.h xgetdents.c \ -+ time.c times.c trace_event.h trie.c trie.h truncate.c ubi.c \ -+ ucopy.c uid.c uid16.c umask.c umount.c uname.c upeek.c upoke.c \ -+ userfaultfd.c ustat.c util.c utime.c utimes.c v4l2.c wait.c \ -+ wait.h watchdog_ioctl.c xattr.c xfs_quota_stat.h xgetdents.c \ - xgetdents.h xlat.c xlat.h xmalloc.c xmalloc.h xstring.h \ - types/cryptouser.h types/evdev.h types/io_uring.h \ - types/openat2.h types/rtnl_link.h types/rtnl_mdb.h \ -@@ -487,8 +487,9 @@ - libstrace_a-perf_ioctl.$(OBJEXT) \ - libstrace_a-personality.$(OBJEXT) \ - libstrace_a-pidfd_getfd.$(OBJEXT) \ -- libstrace_a-pidfd_open.$(OBJEXT) libstrace_a-pkeys.$(OBJEXT) \ -- libstrace_a-poll.$(OBJEXT) libstrace_a-prctl.$(OBJEXT) \ -+ libstrace_a-pidfd_open.$(OBJEXT) libstrace_a-pidns.$(OBJEXT) \ -+ libstrace_a-pkeys.$(OBJEXT) libstrace_a-poll.$(OBJEXT) \ -+ libstrace_a-prctl.$(OBJEXT) \ - libstrace_a-print_aio_sigset.$(OBJEXT) \ - libstrace_a-print_dev_t.$(OBJEXT) \ - libstrace_a-print_group_req.$(OBJEXT) \ -@@ -553,15 +554,15 @@ - libstrace_a-sysinfo.$(OBJEXT) libstrace_a-syslog.$(OBJEXT) \ - libstrace_a-sysmips.$(OBJEXT) libstrace_a-term.$(OBJEXT) \ - libstrace_a-time.$(OBJEXT) libstrace_a-times.$(OBJEXT) \ -- libstrace_a-truncate.$(OBJEXT) libstrace_a-ubi.$(OBJEXT) \ -- libstrace_a-ucopy.$(OBJEXT) libstrace_a-uid.$(OBJEXT) \ -- libstrace_a-uid16.$(OBJEXT) libstrace_a-umask.$(OBJEXT) \ -- libstrace_a-umount.$(OBJEXT) libstrace_a-uname.$(OBJEXT) \ -- libstrace_a-upeek.$(OBJEXT) libstrace_a-upoke.$(OBJEXT) \ -- libstrace_a-userfaultfd.$(OBJEXT) libstrace_a-ustat.$(OBJEXT) \ -- libstrace_a-util.$(OBJEXT) libstrace_a-utime.$(OBJEXT) \ -- libstrace_a-utimes.$(OBJEXT) libstrace_a-v4l2.$(OBJEXT) \ -- libstrace_a-wait.$(OBJEXT) \ -+ libstrace_a-trie.$(OBJEXT) libstrace_a-truncate.$(OBJEXT) \ -+ libstrace_a-ubi.$(OBJEXT) libstrace_a-ucopy.$(OBJEXT) \ -+ libstrace_a-uid.$(OBJEXT) libstrace_a-uid16.$(OBJEXT) \ -+ libstrace_a-umask.$(OBJEXT) libstrace_a-umount.$(OBJEXT) \ -+ libstrace_a-uname.$(OBJEXT) libstrace_a-upeek.$(OBJEXT) \ -+ libstrace_a-upoke.$(OBJEXT) libstrace_a-userfaultfd.$(OBJEXT) \ -+ libstrace_a-ustat.$(OBJEXT) libstrace_a-util.$(OBJEXT) \ -+ libstrace_a-utime.$(OBJEXT) libstrace_a-utimes.$(OBJEXT) \ -+ libstrace_a-v4l2.$(OBJEXT) libstrace_a-wait.$(OBJEXT) \ - libstrace_a-watchdog_ioctl.$(OBJEXT) \ - libstrace_a-xattr.$(OBJEXT) libstrace_a-xgetdents.$(OBJEXT) \ - libstrace_a-xlat.$(OBJEXT) libstrace_a-xmalloc.$(OBJEXT) \ -@@ -834,6 +835,7 @@ - ./$(DEPDIR)/libstrace_a-personality.Po \ - ./$(DEPDIR)/libstrace_a-pidfd_getfd.Po \ - ./$(DEPDIR)/libstrace_a-pidfd_open.Po \ -+ ./$(DEPDIR)/libstrace_a-pidns.Po \ - ./$(DEPDIR)/libstrace_a-pkeys.Po \ - ./$(DEPDIR)/libstrace_a-poll.Po \ - ./$(DEPDIR)/libstrace_a-prctl.Po \ -@@ -924,6 +926,7 @@ - ./$(DEPDIR)/libstrace_a-term.Po \ - ./$(DEPDIR)/libstrace_a-time.Po \ - ./$(DEPDIR)/libstrace_a-times.Po \ -+ ./$(DEPDIR)/libstrace_a-trie.Po \ - ./$(DEPDIR)/libstrace_a-truncate.Po \ - ./$(DEPDIR)/libstrace_a-ubi.Po \ - ./$(DEPDIR)/libstrace_a-ucopy.Po \ -@@ -1829,8 +1832,8 @@ - nlattr.c nlattr.h nsfs.c nsfs.h nsig.h numa.c number_set.c \ - number_set.h oldstat.c open.c open_tree.c or1k_atomic.c \ - pathtrace.c perf.c perf_event_struct.h perf_ioctl.c \ -- personality.c pidfd_getfd.c pidfd_open.c pkeys.c poll.c \ -- prctl.c print_aio_sigset.c print_dev_t.c print_fields.h \ -+ personality.c pidfd_getfd.c pidfd_open.c pidns.c pkeys.c \ -+ poll.c prctl.c print_aio_sigset.c print_dev_t.c print_fields.h \ - print_group_req.c print_ifindex.c print_instruction_pointer.c \ - print_kernel_version.c print_mac.c print_mq_attr.c \ - print_msgbuf.c print_sg_req_info.c print_sigevent.c \ -@@ -1854,10 +1857,10 @@ - string_to_uint.h swapon.c sync_file_range.c sync_file_range2.c \ - syscall.c sysctl.c sysent.h sysent_shorthand_defs.h \ - sysent_shorthand_undefs.h sysinfo.c syslog.c sysmips.c term.c \ -- time.c times.c trace_event.h truncate.c ubi.c ucopy.c uid.c \ -- uid16.c umask.c umount.c uname.c upeek.c upoke.c userfaultfd.c \ -- ustat.c util.c utime.c utimes.c v4l2.c wait.c wait.h \ -- watchdog_ioctl.c xattr.c xfs_quota_stat.h xgetdents.c \ -+ time.c times.c trace_event.h trie.c trie.h truncate.c ubi.c \ -+ ucopy.c uid.c uid16.c umask.c umount.c uname.c upeek.c upoke.c \ -+ userfaultfd.c ustat.c util.c utime.c utimes.c v4l2.c wait.c \ -+ wait.h watchdog_ioctl.c xattr.c xfs_quota_stat.h xgetdents.c \ - xgetdents.h xlat.c xlat.h xmalloc.c xmalloc.h xstring.h \ - $(TYPES_HEADER_FILES) $(strace_SOURCES_check) $(am__append_1) \ - $(am__append_2) $(am__append_7) -@@ -2899,6 +2902,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-personality.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-pidfd_getfd.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-pidfd_open.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-pidns.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-pkeys.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-poll.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-prctl.Po@am__quote@ # am--include-marker -@@ -2989,6 +2993,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-term.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-time.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-times.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-trie.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-truncate.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-ubi.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-ucopy.Po@am__quote@ # am--include-marker -@@ -6015,6 +6020,20 @@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -c -o libstrace_a-pidfd_open.obj `if test -f 'pidfd_open.c'; then $(CYGPATH_W) 'pidfd_open.c'; else $(CYGPATH_W) '$(srcdir)/pidfd_open.c'; fi` - -+libstrace_a-pidns.o: pidns.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -MT libstrace_a-pidns.o -MD -MP -MF $(DEPDIR)/libstrace_a-pidns.Tpo -c -o libstrace_a-pidns.o `test -f 'pidns.c' || echo '$(srcdir)/'`pidns.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libstrace_a-pidns.Tpo $(DEPDIR)/libstrace_a-pidns.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='pidns.c' object='libstrace_a-pidns.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -c -o libstrace_a-pidns.o `test -f 'pidns.c' || echo '$(srcdir)/'`pidns.c -+ -+libstrace_a-pidns.obj: pidns.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -MT libstrace_a-pidns.obj -MD -MP -MF $(DEPDIR)/libstrace_a-pidns.Tpo -c -o libstrace_a-pidns.obj `if test -f 'pidns.c'; then $(CYGPATH_W) 'pidns.c'; else $(CYGPATH_W) '$(srcdir)/pidns.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libstrace_a-pidns.Tpo $(DEPDIR)/libstrace_a-pidns.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='pidns.c' object='libstrace_a-pidns.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -c -o libstrace_a-pidns.obj `if test -f 'pidns.c'; then $(CYGPATH_W) 'pidns.c'; else $(CYGPATH_W) '$(srcdir)/pidns.c'; fi` -+ - libstrace_a-pkeys.o: pkeys.c - @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -MT libstrace_a-pkeys.o -MD -MP -MF $(DEPDIR)/libstrace_a-pkeys.Tpo -c -o libstrace_a-pkeys.o `test -f 'pkeys.c' || echo '$(srcdir)/'`pkeys.c - @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libstrace_a-pkeys.Tpo $(DEPDIR)/libstrace_a-pkeys.Po -@@ -7275,6 +7294,20 @@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -c -o libstrace_a-times.obj `if test -f 'times.c'; then $(CYGPATH_W) 'times.c'; else $(CYGPATH_W) '$(srcdir)/times.c'; fi` - -+libstrace_a-trie.o: trie.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -MT libstrace_a-trie.o -MD -MP -MF $(DEPDIR)/libstrace_a-trie.Tpo -c -o libstrace_a-trie.o `test -f 'trie.c' || echo '$(srcdir)/'`trie.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libstrace_a-trie.Tpo $(DEPDIR)/libstrace_a-trie.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='trie.c' object='libstrace_a-trie.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -c -o libstrace_a-trie.o `test -f 'trie.c' || echo '$(srcdir)/'`trie.c -+ -+libstrace_a-trie.obj: trie.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -MT libstrace_a-trie.obj -MD -MP -MF $(DEPDIR)/libstrace_a-trie.Tpo -c -o libstrace_a-trie.obj `if test -f 'trie.c'; then $(CYGPATH_W) 'trie.c'; else $(CYGPATH_W) '$(srcdir)/trie.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libstrace_a-trie.Tpo $(DEPDIR)/libstrace_a-trie.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='trie.c' object='libstrace_a-trie.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -c -o libstrace_a-trie.obj `if test -f 'trie.c'; then $(CYGPATH_W) 'trie.c'; else $(CYGPATH_W) '$(srcdir)/trie.c'; fi` -+ - libstrace_a-truncate.o: truncate.c - @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -MT libstrace_a-truncate.o -MD -MP -MF $(DEPDIR)/libstrace_a-truncate.Tpo -c -o libstrace_a-truncate.o `test -f 'truncate.c' || echo '$(srcdir)/'`truncate.c - @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libstrace_a-truncate.Tpo $(DEPDIR)/libstrace_a-truncate.Po -@@ -8411,6 +8444,7 @@ - -rm -f ./$(DEPDIR)/libstrace_a-personality.Po - -rm -f ./$(DEPDIR)/libstrace_a-pidfd_getfd.Po - -rm -f ./$(DEPDIR)/libstrace_a-pidfd_open.Po -+ -rm -f ./$(DEPDIR)/libstrace_a-pidns.Po - -rm -f ./$(DEPDIR)/libstrace_a-pkeys.Po - -rm -f ./$(DEPDIR)/libstrace_a-poll.Po - -rm -f ./$(DEPDIR)/libstrace_a-prctl.Po -@@ -8501,6 +8535,7 @@ - -rm -f ./$(DEPDIR)/libstrace_a-term.Po - -rm -f ./$(DEPDIR)/libstrace_a-time.Po - -rm -f ./$(DEPDIR)/libstrace_a-times.Po -+ -rm -f ./$(DEPDIR)/libstrace_a-trie.Po - -rm -f ./$(DEPDIR)/libstrace_a-truncate.Po - -rm -f ./$(DEPDIR)/libstrace_a-ubi.Po - -rm -f ./$(DEPDIR)/libstrace_a-ucopy.Po -@@ -8796,6 +8831,7 @@ - -rm -f ./$(DEPDIR)/libstrace_a-personality.Po - -rm -f ./$(DEPDIR)/libstrace_a-pidfd_getfd.Po - -rm -f ./$(DEPDIR)/libstrace_a-pidfd_open.Po -+ -rm -f ./$(DEPDIR)/libstrace_a-pidns.Po - -rm -f ./$(DEPDIR)/libstrace_a-pkeys.Po - -rm -f ./$(DEPDIR)/libstrace_a-poll.Po - -rm -f ./$(DEPDIR)/libstrace_a-prctl.Po -@@ -8886,6 +8922,7 @@ - -rm -f ./$(DEPDIR)/libstrace_a-term.Po - -rm -f ./$(DEPDIR)/libstrace_a-time.Po - -rm -f ./$(DEPDIR)/libstrace_a-times.Po -+ -rm -f ./$(DEPDIR)/libstrace_a-trie.Po - -rm -f ./$(DEPDIR)/libstrace_a-truncate.Po - -rm -f ./$(DEPDIR)/libstrace_a-ubi.Po - -rm -f ./$(DEPDIR)/libstrace_a-ucopy.Po diff --git a/SOURCES/0135-Use-printpid-in-decoders.patch b/SOURCES/0135-Use-printpid-in-decoders.patch deleted file mode 100644 index dd4291b..0000000 --- a/SOURCES/0135-Use-printpid-in-decoders.patch +++ /dev/null @@ -1,1212 +0,0 @@ -From 4d1964761ad04028a0e6288821ee0feef5ca8fc1 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?=C3=81kos=20Uzonyi?= -Date: Wed, 10 Jun 2020 13:18:50 +0200 -Subject: [PATCH 135/138] Use printpid in decoders - -* getpid.c: New file. -* Makefile.am (libstrace_a_SOURCES): Add it. -* linux/dummy.h (sys_getpid, sys_getppid, sys_gettid, -sys_setpgid, sys_setpgrp): Remove. -* util.c (printfd_pid_tracee_ns): Implement using translate_pid. -* defs.h (printnum_pid): New function definition. -(printfd_pid_tracee_ns): Update documentation -* util.c: (printnum_pid): New function. -* print_fields.h (PRINT_FIELD_TID): New macro. -(PRINT_FIELD_TGID): Likewise. -(PRINT_FIELD_PGID): Likewise. -(PRINT_FIELD_SID): Likewise. -* affinity.c: Print PIDs with printpid. -* block.c: Likewise. -* bpf.c: Likewise. -* capability.c: Likewise. -* clone.c: Likewise. -* fcntl.c: Likewise. -* get_robust_list.c: Likewise. -* ioprio.c: Likewise. -* kcmp.c: Likewise. -* msghdr.c: Likewise. -* net.c: Likewise. -* netlink.c: Likewise. -* numa.c: Likewise. -* pidfd_open.c: Likewise. -* printsiginfo.c: Likewise. -* process.c: Likewise. -* process_vm.c: Likewise. -* resource.c: Likewise. -* sched.c: Likewise. -* signal.c: Likewise. -* sockaddr.c: Likewise. -* wait.c: Likewise. -* kcmp.c (SYS_FUNC(kcmp)): Fix KCMP_FILE pid arguments. -* tests/kcmp.c (printpidfd): Print path if VERBOSE_FD. -(main): Use our real pid if real fds are used. ---- - Makefile.am | 1 + - affinity.c | 6 ++++-- - block.c | 2 +- - bpf.c | 2 +- - capability.c | 4 +++- - clone.c | 14 +++++++------- - defs.h | 5 ++++- - fcntl.c | 24 ++++++++++++++++++++++-- - get_robust_list.c | 3 ++- - getpid.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++ - ioprio.c | 26 ++++++++++++++++++++++---- - ipc_shmctl.c | 4 ++-- - kcmp.c | 5 ++++- - linux/dummy.h | 8 +------- - msghdr.c | 2 +- - net.c | 2 +- - netlink.c | 5 +++-- - numa.c | 6 ++++-- - pidfd_open.c | 2 +- - print_fields.h | 24 ++++++++++++++++++++++++ - printsiginfo.c | 2 +- - process.c | 3 ++- - process_vm.c | 6 ++++-- - resource.c | 27 ++++++++++++++++++++++++--- - sched.c | 25 ++++++++++++++++--------- - signal.c | 21 +++++++++++++++------ - sockaddr.c | 2 +- - tests/kcmp.c | 25 ++++++++++++++++++++++--- - util.c | 22 +++++++++++++++------- - wait.c | 36 ++++++++++++++++++++++++------------ - 30 files changed, 278 insertions(+), 82 deletions(-) - create mode 100644 getpid.c - -Index: strace-5.7/Makefile.am -=================================================================== ---- strace-5.7.orig/Makefile.am 2020-09-09 15:52:09.159983257 +0200 -+++ strace-5.7/Makefile.am 2020-09-09 18:49:06.780401433 +0200 -@@ -135,6 +135,7 @@ - getcpu.c \ - getcwd.c \ - getpagesize.c \ -+ getpid.c \ - getrandom.c \ - hdio.c \ - hostname.c \ -Index: strace-5.7/affinity.c -=================================================================== ---- strace-5.7.orig/affinity.c 2020-09-09 15:52:09.159983257 +0200 -+++ strace-5.7/affinity.c 2020-09-09 15:55:03.979108297 +0200 -@@ -82,7 +82,8 @@ - const int pid = tcp->u_arg[0]; - const unsigned int len = tcp->u_arg[1]; - -- tprintf("%d, %u, ", pid, len); -+ printpid(tcp, pid, PT_TGID); -+ tprintf(", %u, ", len); - print_affinitylist(tcp, tcp->u_arg[2], len); - - return RVAL_DECODED; -@@ -94,7 +95,8 @@ - const unsigned int len = tcp->u_arg[1]; - - if (entering(tcp)) { -- tprintf("%d, %u, ", pid, len); -+ printpid(tcp, pid, PT_TGID); -+ tprintf(", %u, ", len); - } else { - print_affinitylist(tcp, tcp->u_arg[2], tcp->u_rval); - } -Index: strace-5.7/block.c -=================================================================== ---- strace-5.7.orig/block.c 2020-09-09 15:52:09.159983257 +0200 -+++ strace-5.7/block.c 2020-09-09 15:55:03.979108297 +0200 -@@ -179,7 +179,7 @@ - PRINT_FIELD_U(", ", buts, buf_nr); - PRINT_FIELD_U(", ", buts, start_lba); - PRINT_FIELD_U(", ", buts, end_lba); -- PRINT_FIELD_D(", ", buts, pid); -+ PRINT_FIELD_TGID(", ", buts, pid, tcp); - return 0; - } else { - struct_blk_user_trace_setup buts; -Index: strace-5.7/bpf.c -=================================================================== ---- strace-5.7.orig/bpf.c 2020-09-09 15:52:09.159983257 +0200 -+++ strace-5.7/bpf.c 2020-09-09 15:55:03.980108298 +0200 -@@ -927,7 +927,7 @@ - if (entering(tcp)) { - set_tcb_priv_ulong(tcp, attr.buf_len); - -- PRINT_FIELD_D("{task_fd_query={", attr, pid); -+ PRINT_FIELD_TGID("{task_fd_query={", attr, pid, tcp); - PRINT_FIELD_FD(", ", attr, fd, tcp); - PRINT_FIELD_U(", ", attr, flags); - PRINT_FIELD_U(", ", attr, buf_len); -Index: strace-5.7/capability.c -=================================================================== ---- strace-5.7.orig/capability.c 2020-09-09 15:52:09.159983257 +0200 -+++ strace-5.7/capability.c 2020-09-09 15:55:03.980108298 +0200 -@@ -70,7 +70,9 @@ - tprints("{version="); - printxval(cap_version, h->version, - "_LINUX_CAPABILITY_VERSION_???"); -- tprintf(", pid=%d}", h->pid); -+ tprints(", pid="); -+ printpid(tcp, h->pid, PT_TGID); -+ tprints("}"); - } - - static void -Index: strace-5.7/clone.c -=================================================================== ---- strace-5.7.orig/clone.c 2020-09-09 15:52:09.159983257 +0200 -+++ strace-5.7/clone.c 2020-09-09 15:55:03.980108298 +0200 -@@ -114,14 +114,14 @@ - */ - if ((flags & (CLONE_PARENT_SETTID|CLONE_PIDFD|CLONE_CHILD_SETTID - |CLONE_CHILD_CLEARTID|CLONE_SETTLS)) == 0) -- return RVAL_DECODED; -+ return RVAL_DECODED | RVAL_TID; - } else { - if (flags & (CLONE_PARENT_SETTID|CLONE_PIDFD)) { - kernel_ulong_t addr = tcp->u_arg[ARG_PTID]; - - tprints(", parent_tid="); - if (flags & CLONE_PARENT_SETTID) -- printnum_int(tcp, addr, "%u"); -+ printnum_pid(tcp, addr, PT_TID); - else - printnum_fd(tcp, addr); - } -@@ -134,7 +134,7 @@ - printaddr(tcp->u_arg[ARG_CTID]); - } - } -- return 0; -+ return RVAL_TID; - } - - -@@ -229,7 +229,7 @@ - - if ((arg.flags & (CLONE_PIDFD | CLONE_PARENT_SETTID)) || - (size > fetch_size)) -- return 0; -+ return RVAL_TID; - - goto out; - } -@@ -256,7 +256,7 @@ - - if (arg.flags & CLONE_PARENT_SETTID) { - tprintf("%sparent_tid=", pfx); -- printnum_int(tcp, arg.parent_tid, "%d"); /* TID */ -+ printnum_pid(tcp, arg.parent_tid, PT_TID); - pfx = ", "; - } - -@@ -279,7 +279,7 @@ - out: - tprintf(", %" PRI_klu, size); - -- return RVAL_DECODED; -+ return RVAL_DECODED | RVAL_TID; - } - - -@@ -300,5 +300,5 @@ - - SYS_FUNC(fork) - { -- return RVAL_DECODED; -+ return RVAL_DECODED | RVAL_TGID; - } -Index: strace-5.7/defs.h -=================================================================== ---- strace-5.7.orig/defs.h 2020-09-09 15:52:09.159983257 +0200 -+++ strace-5.7/defs.h 2020-09-09 15:55:03.980108298 +0200 -@@ -1101,7 +1101,7 @@ - - /** - * Print file descriptor fd owned by process with ID pid (from the PID NS -- * of the tracee the descriptor tcp). This is a stub. -+ * of the tracee). - */ - extern void printfd_pid_tracee_ns(struct tcb *tcp, pid_t pid, int fd); - -@@ -1562,6 +1562,9 @@ - extern bool - printnum_fd(struct tcb *, kernel_ulong_t addr); - -+extern bool -+printnum_pid(struct tcb *const tcp, const kernel_ulong_t addr, enum pid_type type); -+ - static inline bool - printnum_slong(struct tcb *tcp, kernel_ulong_t addr) - { -Index: strace-5.7/fcntl.c -=================================================================== ---- strace-5.7.orig/fcntl.c 2020-09-09 15:52:09.159983257 +0200 -+++ strace-5.7/fcntl.c 2020-09-09 15:55:03.981108298 +0200 -@@ -28,7 +28,7 @@ - PRINT_FIELD_D(", ", *fl, l_start); - PRINT_FIELD_D(", ", *fl, l_len); - if (getlk) -- PRINT_FIELD_D(", ", *fl, l_pid); -+ PRINT_FIELD_TGID(", ", *fl, l_pid, tcp); - tprints("}"); - } - -@@ -59,7 +59,22 @@ - return; - - PRINT_FIELD_XVAL("{", owner, type, f_owner_types, "F_OWNER_???"); -- PRINT_FIELD_D(", ", owner, pid); -+ -+ enum pid_type pid_type = PT_NONE; -+ switch (owner.type) -+ { -+ case F_OWNER_TID: -+ pid_type = PT_TID; -+ break; -+ case F_OWNER_PID: -+ pid_type = PT_TGID; -+ break; -+ case F_OWNER_PGRP: -+ pid_type = PT_PGID; -+ break; -+ } -+ tprints(", pid="); -+ printpid(tcp, owner.pid, pid_type); - tprints("}"); - } - -@@ -74,6 +89,9 @@ - printflags(fdflags, tcp->u_arg[2], "FD_???"); - break; - case F_SETOWN: -+ tprints(", "); -+ printpid_tgid_pgid(tcp, tcp->u_arg[2]); -+ break; - case F_SETPIPE_SZ: - tprintf(", %" PRI_kld, tcp->u_arg[2]); - break; -@@ -116,6 +134,8 @@ - printsignal(tcp->u_arg[2]); - break; - case F_GETOWN: -+ return RVAL_DECODED | -+ ((int) tcp->u_rval < 0 ? RVAL_PGID : RVAL_TGID); - case F_GETPIPE_SZ: - break; - case F_GETFD: -Index: strace-5.7/get_robust_list.c -=================================================================== ---- strace-5.7.orig/get_robust_list.c 2020-09-09 15:52:09.159983257 +0200 -+++ strace-5.7/get_robust_list.c 2020-09-09 15:55:03.981108298 +0200 -@@ -10,7 +10,8 @@ - SYS_FUNC(get_robust_list) - { - if (entering(tcp)) { -- tprintf("%d, ", (int) tcp->u_arg[0]); -+ printpid(tcp, tcp->u_arg[0], PT_TID); -+ tprints(", "); - } else { - printnum_ptr(tcp, tcp->u_arg[1]); - tprints(", "); -Index: strace-5.7/getpid.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/getpid.c 2020-09-09 15:55:03.981108298 +0200 -@@ -0,0 +1,46 @@ -+/* -+ * Copyright (c) 2020 Ákos Uzonyi -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: LGPL-2.1-or-later -+ */ -+ -+#include "defs.h" -+ -+SYS_FUNC(getpid) -+{ -+ return RVAL_DECODED | RVAL_TGID; -+} -+ -+SYS_FUNC(gettid) -+{ -+ return RVAL_DECODED | RVAL_TID; -+} -+ -+SYS_FUNC(getpgrp) -+{ -+ return RVAL_DECODED | RVAL_PGID; -+} -+ -+SYS_FUNC(getpgid) -+{ -+ printpid(tcp, tcp->u_arg[0], PT_TGID); -+ -+ return RVAL_DECODED | RVAL_PGID; -+} -+ -+SYS_FUNC(getsid) -+{ -+ printpid(tcp, tcp->u_arg[0], PT_TGID); -+ -+ return RVAL_DECODED | RVAL_SID; -+} -+ -+SYS_FUNC(setpgid) -+{ -+ printpid(tcp, tcp->u_arg[0], PT_TGID); -+ tprints(", "); -+ printpid(tcp, tcp->u_arg[1], PT_PGID); -+ -+ return RVAL_DECODED; -+} -Index: strace-5.7/ioprio.c -=================================================================== ---- strace-5.7.orig/ioprio.c 2020-09-09 15:52:09.159983257 +0200 -+++ strace-5.7/ioprio.c 2020-09-09 15:55:03.981108298 +0200 -@@ -49,13 +49,30 @@ - ? tprints_comment : tprints)(str); - } - -+static void -+ioprio_print_who(struct tcb *tcp, int which, int who) -+{ -+ switch (which) -+ { -+ case IOPRIO_WHO_PROCESS: -+ printpid(tcp, who, PT_TGID); -+ break; -+ case IOPRIO_WHO_PGRP: -+ printpid(tcp, who, PT_PGID); -+ break; -+ default: -+ tprintf("%d", who); -+ break; -+ } -+} -+ - SYS_FUNC(ioprio_get) - { - if (entering(tcp)) { - /* int which */ - printxval(ioprio_who, tcp->u_arg[0], "IOPRIO_WHO_???"); -- /* int who */ -- tprintf(", %d", (int) tcp->u_arg[1]); -+ tprints(", "); -+ ioprio_print_who(tcp, tcp->u_arg[0], tcp->u_arg[1]); - return 0; - } else { - if (syserror(tcp)) -@@ -72,8 +89,9 @@ - { - /* int which */ - printxval(ioprio_who, tcp->u_arg[0], "IOPRIO_WHO_???"); -- /* int who */ -- tprintf(", %d, ", (int) tcp->u_arg[1]); -+ tprints(", "); -+ ioprio_print_who(tcp, tcp->u_arg[0], tcp->u_arg[1]); -+ tprints(", "); - /* int ioprio */ - if (xlat_verbose(xlat_verbosity) != XLAT_STYLE_ABBREV) - tprintf("%d", (int) tcp->u_arg[2]); -Index: strace-5.7/ipc_shmctl.c -=================================================================== ---- strace-5.7.orig/ipc_shmctl.c 2020-09-09 15:52:09.159983257 +0200 -+++ strace-5.7/ipc_shmctl.c 2020-09-09 15:55:03.981108298 +0200 -@@ -54,8 +54,8 @@ - PRINT_FIELD_UID(", ", shmid_ds.shm_perm, cgid); - tprints("}"); - tprintf(", shm_segsz=%u", (unsigned) shmid_ds.shm_segsz); -- PRINT_FIELD_D(", ", shmid_ds, shm_cpid); -- PRINT_FIELD_D(", ", shmid_ds, shm_lpid); -+ PRINT_FIELD_TGID(", ", shmid_ds, shm_cpid, tcp); -+ PRINT_FIELD_TGID(", ", shmid_ds, shm_lpid, tcp); - tprintf(", shm_nattch=%u", (unsigned) shmid_ds.shm_nattch); - tprintf(", shm_atime=%u", (unsigned) shmid_ds.shm_atime); - tprintf(", shm_dtime=%u", (unsigned) shmid_ds.shm_dtime); -Index: strace-5.7/kcmp.c -=================================================================== ---- strace-5.7.orig/kcmp.c 2020-09-09 15:52:09.159983257 +0200 -+++ strace-5.7/kcmp.c 2020-09-09 15:55:03.981108298 +0200 -@@ -30,7 +30,10 @@ - kernel_ulong_t idx1 = tcp->u_arg[3]; - kernel_ulong_t idx2 = tcp->u_arg[4]; - -- tprintf("%d, %d, ", pid1, pid2); -+ printpid(tcp, pid1, PT_TGID); -+ tprints(", "); -+ printpid(tcp, pid2, PT_TGID); -+ tprints(", "); - printxval(kcmp_types, type, "KCMP_???"); - - switch (type) { -Index: strace-5.7/linux/dummy.h -=================================================================== ---- strace-5.7.orig/linux/dummy.h 2020-09-09 15:52:09.159983257 +0200 -+++ strace-5.7/linux/dummy.h 2020-09-09 15:55:03.982108299 +0200 -@@ -53,6 +53,7 @@ - # define sys_getgid sys_getuid - # define sys_getgid16 sys_getuid16 - # define sys_getpeername sys_getsockname -+# define sys_getppid sys_getpid - # define sys_getresgid sys_getresuid - # define sys_getresgid16 sys_getresuid16 - # define sys_lstat sys_stat -@@ -87,10 +88,6 @@ - # define sys_vfork sys_fork - - /* printargs does the right thing */ --# define sys_getpgrp printargs --# define sys_getpid printargs --# define sys_getppid printargs --# define sys_gettid printargs - # define sys_idle printargs - # define sys_munlockall printargs - # define sys_pause printargs -@@ -108,10 +105,7 @@ - - /* printargs_d does the right thing */ - # define sys_exit printargs_d --# define sys_getpgid printargs_d --# define sys_getsid printargs_d - # define sys_nice printargs_d --# define sys_setpgid printargs_d - # define sys_setpgrp printargs_d - # define sys_timer_delete printargs_d - # define sys_timer_getoverrun printargs_d -Index: strace-5.7/msghdr.c -=================================================================== ---- strace-5.7.orig/msghdr.c 2020-09-09 15:52:09.159983257 +0200 -+++ strace-5.7/msghdr.c 2020-09-09 15:55:03.982108299 +0200 -@@ -69,7 +69,7 @@ - { - const struct ucred *uc = cmsg_data; - -- PRINT_FIELD_D("{", *uc, pid); -+ PRINT_FIELD_TGID("{", *uc, pid, tcp); - PRINT_FIELD_UID(", ", *uc, uid); - PRINT_FIELD_UID(", ", *uc, gid); - tprints("}"); -Index: strace-5.7/net.c -=================================================================== ---- strace-5.7.orig/net.c 2020-09-09 15:52:09.159983257 +0200 -+++ strace-5.7/net.c 2020-09-09 15:55:03.982108299 +0200 -@@ -601,7 +601,7 @@ - if (umoven_or_printaddr(tcp, addr, len, &uc)) - return; - -- PRINT_FIELD_LEN("{", uc, pid, len, PRINT_FIELD_D); -+ PRINT_FIELD_LEN("{", uc, pid, len, PRINT_FIELD_TGID, tcp); - PRINT_FIELD_LEN(", ", uc, uid, len, PRINT_FIELD_UID); - PRINT_FIELD_LEN(", ", uc, gid, len, PRINT_FIELD_UID); - tprints("}"); -Index: strace-5.7/netlink.c -=================================================================== ---- strace-5.7.orig/netlink.c 2020-09-09 15:52:09.159983257 +0200 -+++ strace-5.7/netlink.c 2020-09-09 15:55:03.982108299 +0200 -@@ -446,8 +446,9 @@ - decode_nlmsg_flags(nlmsghdr->nlmsg_flags, - nlmsghdr->nlmsg_type, family); - -- tprintf(", seq=%u, pid=%d}", nlmsghdr->nlmsg_seq, -- nlmsghdr->nlmsg_pid); -+ tprintf(", seq=%u, pid=", nlmsghdr->nlmsg_seq); -+ printpid(tcp, nlmsghdr->nlmsg_pid, PT_TGID); -+ tprints("}"); - } - - static bool -Index: strace-5.7/numa.c -=================================================================== ---- strace-5.7.orig/numa.c 2020-09-09 15:52:09.159983257 +0200 -+++ strace-5.7/numa.c 2020-09-09 15:55:03.982108299 +0200 -@@ -44,7 +44,8 @@ - - SYS_FUNC(migrate_pages) - { -- tprintf("%d, %" PRI_klu ", ", (int) tcp->u_arg[0], tcp->u_arg[1]); -+ printpid(tcp, tcp->u_arg[0], PT_TGID); -+ tprintf(", %" PRI_klu ", ", tcp->u_arg[1]); - print_nodemask(tcp, tcp->u_arg[2], tcp->u_arg[1]); - tprints(", "); - print_nodemask(tcp, tcp->u_arg[3], tcp->u_arg[1]); -@@ -170,7 +171,8 @@ - kernel_ulong_t buf; - - if (entering(tcp)) { -- tprintf("%d, %" PRI_klu ", ", (int) tcp->u_arg[0], npages); -+ printpid(tcp, tcp->u_arg[0], PT_TGID); -+ tprintf(", %" PRI_klu ", ", npages); - print_array(tcp, tcp->u_arg[2], npages, &buf, current_wordsize, - tfetch_mem, print_addr, 0); - tprints(", "); -Index: strace-5.7/pidfd_open.c -=================================================================== ---- strace-5.7.orig/pidfd_open.c 2020-09-09 15:52:09.159983257 +0200 -+++ strace-5.7/pidfd_open.c 2020-09-09 15:55:03.983108300 +0200 -@@ -10,7 +10,7 @@ - SYS_FUNC(pidfd_open) - { - /* pid_t pid */ -- tprintf("%d", (int) tcp->u_arg[0]); -+ printpid(tcp, tcp->u_arg[0], PT_TGID); - - /* unsigned int flags */ - tprintf(", %#x", (unsigned int) tcp->u_arg[1]); -Index: strace-5.7/print_fields.h -=================================================================== ---- strace-5.7.orig/print_fields.h 2020-09-09 15:52:09.159983257 +0200 -+++ strace-5.7/print_fields.h 2020-09-09 15:55:03.983108300 +0200 -@@ -236,6 +236,30 @@ - printfd((tcp_), (where_).field_); \ - } while (0) - -+# define PRINT_FIELD_TID(prefix_, where_, field_, tcp_) \ -+ do { \ -+ STRACE_PRINTF("%s%s=", (prefix_), #field_); \ -+ printpid((tcp_), (where_).field_, PT_TID); \ -+ } while (0) -+ -+# define PRINT_FIELD_TGID(prefix_, where_, field_, tcp_) \ -+ do { \ -+ STRACE_PRINTF("%s%s=", (prefix_), #field_); \ -+ printpid((tcp_), (where_).field_, PT_TGID); \ -+ } while (0) -+ -+# define PRINT_FIELD_PGID(prefix_, where_, field_, tcp_) \ -+ do { \ -+ STRACE_PRINTF("%s%s=", (prefix_), #field_); \ -+ printpid((tcp_), (where_).field_, PT_PGID); \ -+ } while (0) -+ -+# define PRINT_FIELD_SID(prefix_, where_, field_, tcp_) \ -+ do { \ -+ STRACE_PRINTF("%s%s=", (prefix_), #field_); \ -+ printpid((tcp_), (where_).field_, PT_SID); \ -+ } while (0) -+ - # define PRINT_FIELD_STRN(prefix_, where_, field_, len_, tcp_) \ - do { \ - STRACE_PRINTF("%s%s=", (prefix_), #field_); \ -Index: strace-5.7/printsiginfo.c -=================================================================== ---- strace-5.7.orig/printsiginfo.c 2020-09-09 15:52:09.159983257 +0200 -+++ strace-5.7/printsiginfo.c 2020-09-09 15:55:03.983108300 +0200 -@@ -58,7 +58,7 @@ - static void - printsigsource(struct tcb *tcp, const siginfo_t *sip) - { -- PRINT_FIELD_D(", ", *sip, si_pid); -+ PRINT_FIELD_TGID(", ", *sip, si_pid, tcp); - PRINT_FIELD_UID(", ", *sip, si_uid); - } - -Index: strace-5.7/process.c -=================================================================== ---- strace-5.7.orig/process.c 2020-09-09 15:52:09.159983257 +0200 -+++ strace-5.7/process.c 2020-09-09 15:55:03.983108300 +0200 -@@ -92,7 +92,8 @@ - } - - /* pid */ -- tprintf(", %d", pid); -+ tprints(", "); -+ printpid(tcp, pid, PT_TGID); - - /* addr */ - switch (request) { -Index: strace-5.7/process_vm.c -=================================================================== ---- strace-5.7.orig/process_vm.c 2020-09-09 15:52:09.159983257 +0200 -+++ strace-5.7/process_vm.c 2020-09-09 15:55:03.983108300 +0200 -@@ -13,7 +13,8 @@ - { - if (entering(tcp)) { - /* arg 1: pid */ -- tprintf("%d, ", (int) tcp->u_arg[0]); -+ printpid(tcp, tcp->u_arg[0], PT_TGID); -+ tprints(", "); - } else { - kernel_ulong_t local_iovcnt = tcp->u_arg[2]; - kernel_ulong_t remote_iovcnt = tcp->u_arg[4]; -@@ -42,7 +43,8 @@ - kernel_ulong_t flags = tcp->u_arg[5]; - - /* arg 1: pid */ -- tprintf("%d, ", (int) tcp->u_arg[0]); -+ printpid(tcp, tcp->u_arg[0], PT_TGID); -+ tprints(", "); - /* arg 2: local iov */ - tprint_iov(tcp, local_iovcnt, tcp->u_arg[1], IOV_DECODE_STR); - /* arg 3: local iovcnt */ -Index: strace-5.7/resource.c -=================================================================== ---- strace-5.7.orig/resource.c 2020-09-09 15:52:09.159983257 +0200 -+++ strace-5.7/resource.c 2020-09-09 15:55:03.984108300 +0200 -@@ -142,7 +142,8 @@ - SYS_FUNC(prlimit64) - { - if (entering(tcp)) { -- tprintf("%d, ", (int) tcp->u_arg[0]); -+ printpid(tcp, tcp->u_arg[0], PT_TGID); -+ tprints(", "); - printxval(resources, tcp->u_arg[1], "RLIMIT_???"); - tprints(", "); - print_rlimit64(tcp, tcp->u_arg[2]); -@@ -179,10 +180,28 @@ - - #include "xlat/priorities.h" - -+static void -+priority_print_who(struct tcb *tcp, int which, int who) -+{ -+ switch (which) -+ { -+ case PRIO_PROCESS: -+ printpid(tcp, who, PT_TGID); -+ break; -+ case PRIO_PGRP: -+ printpid(tcp, who, PT_PGID); -+ break; -+ default: -+ tprintf("%d", who); -+ break; -+ } -+} -+ - SYS_FUNC(getpriority) - { - printxval(priorities, tcp->u_arg[0], "PRIO_???"); -- tprintf(", %d", (int) tcp->u_arg[1]); -+ tprints(", "); -+ priority_print_who(tcp, tcp->u_arg[0], tcp->u_arg[1]); - - return RVAL_DECODED; - } -@@ -190,7 +209,9 @@ - SYS_FUNC(setpriority) - { - printxval(priorities, tcp->u_arg[0], "PRIO_???"); -- tprintf(", %d, %d", (int) tcp->u_arg[1], (int) tcp->u_arg[2]); -+ tprints(", "); -+ priority_print_who(tcp, tcp->u_arg[0], tcp->u_arg[1]); -+ tprintf(", %d", (int) tcp->u_arg[2]); - - return RVAL_DECODED; - } -Index: strace-5.7/sched.c -=================================================================== ---- strace-5.7.orig/sched.c 2020-09-09 15:52:09.159983257 +0200 -+++ strace-5.7/sched.c 2020-09-09 15:55:03.984108300 +0200 -@@ -21,7 +21,7 @@ - SYS_FUNC(sched_getscheduler) - { - if (entering(tcp)) { -- tprintf("%d", (int) tcp->u_arg[0]); -+ printpid(tcp, tcp->u_arg[0], PT_TGID); - } else if (!syserror(tcp)) { - tcp->auxstr = xlookup(schedulers, (kernel_ulong_t) tcp->u_rval); - return RVAL_STR; -@@ -31,7 +31,8 @@ - - SYS_FUNC(sched_setscheduler) - { -- tprintf("%d, ", (int) tcp->u_arg[0]); -+ printpid(tcp, tcp->u_arg[0], PT_TGID); -+ tprints(", "); - printxval(schedulers, tcp->u_arg[1], "SCHED_???"); - tprints(", "); - printnum_int(tcp, tcp->u_arg[2], "%d"); -@@ -41,16 +42,19 @@ - - SYS_FUNC(sched_getparam) - { -- if (entering(tcp)) -- tprintf("%d, ", (int) tcp->u_arg[0]); -- else -+ if (entering(tcp)) { -+ printpid(tcp, tcp->u_arg[0], PT_TGID); -+ tprints(", "); -+ } else { - printnum_int(tcp, tcp->u_arg[1], "%d"); -+ } - return 0; - } - - SYS_FUNC(sched_setparam) - { -- tprintf("%d, ", (int) tcp->u_arg[0]); -+ printpid(tcp, tcp->u_arg[0], PT_TGID); -+ tprints(", "); - printnum_int(tcp, tcp->u_arg[1], "%d"); - - return RVAL_DECODED; -@@ -68,7 +72,8 @@ - const print_obj_by_addr_fn print_ts) - { - if (entering(tcp)) { -- tprintf("%d, ", (int) tcp->u_arg[0]); -+ printpid(tcp, tcp->u_arg[0], PT_TGID); -+ tprints(", "); - } else { - if (syserror(tcp)) - printaddr(tcp->u_arg[1]); -@@ -160,7 +165,8 @@ - SYS_FUNC(sched_setattr) - { - if (entering(tcp)) { -- tprintf("%d, ", (int) tcp->u_arg[0]); -+ printpid(tcp, tcp->u_arg[0], PT_TGID); -+ tprints(", "); - print_sched_attr(tcp, tcp->u_arg[1], 0); - } else { - struct sched_attr attr; -@@ -179,7 +185,8 @@ - SYS_FUNC(sched_getattr) - { - if (entering(tcp)) { -- tprintf("%d, ", (int) tcp->u_arg[0]); -+ printpid(tcp, tcp->u_arg[0], PT_TGID); -+ tprints(", "); - } else { - const unsigned int size = tcp->u_arg[2]; - -Index: strace-5.7/signal.c -=================================================================== ---- strace-5.7.orig/signal.c 2020-09-09 15:52:09.159983257 +0200 -+++ strace-5.7/signal.c 2020-09-09 15:55:03.984108300 +0200 -@@ -439,7 +439,8 @@ - SYS_FUNC(kill) - { - /* pid */ -- tprintf("%d, ", (int) tcp->u_arg[0]); -+ printpid_tgid_pgid(tcp, tcp->u_arg[0]); -+ tprints(", "); - /* signal */ - printsignal(tcp->u_arg[1]); - -@@ -448,7 +449,7 @@ - - SYS_FUNC(tkill) - { -- tprintf("%d", (int) tcp->u_arg[0]); -+ printpid(tcp, tcp->u_arg[0], PT_TID); - tprints(", "); - printsignal(tcp->u_arg[1]); - -@@ -457,8 +458,12 @@ - - SYS_FUNC(tgkill) - { -- /* tgid, tid */ -- tprintf("%d, %d, ", (int) tcp->u_arg[0], (int) tcp->u_arg[1]); -+ /* tgid */ -+ printpid(tcp, tcp->u_arg[0], PT_TGID); -+ tprints(", "); -+ /* tid */ -+ printpid(tcp, tcp->u_arg[1], PT_TID); -+ tprints(", "); - /* signal */ - printsignal(tcp->u_arg[2]); - -@@ -624,7 +629,8 @@ - - SYS_FUNC(rt_sigqueueinfo) - { -- tprintf("%d, ", (int) tcp->u_arg[0]); -+ printpid(tcp, tcp->u_arg[0], PT_TGID); -+ tprints(", "); - print_sigqueueinfo(tcp, tcp->u_arg[1], tcp->u_arg[2]); - - return RVAL_DECODED; -@@ -632,7 +638,10 @@ - - SYS_FUNC(rt_tgsigqueueinfo) - { -- tprintf("%d, %d, ", (int) tcp->u_arg[0], (int) tcp->u_arg[1]); -+ printpid(tcp, tcp->u_arg[0], PT_TGID); -+ tprints(", "); -+ printpid(tcp, tcp->u_arg[1], PT_TID); -+ tprints(", "); - print_sigqueueinfo(tcp, tcp->u_arg[2], tcp->u_arg[3]); - - return RVAL_DECODED; -Index: strace-5.7/sockaddr.c -=================================================================== ---- strace-5.7.orig/sockaddr.c 2020-09-09 15:52:09.159983257 +0200 -+++ strace-5.7/sockaddr.c 2020-09-09 15:55:03.984108300 +0200 -@@ -416,7 +416,7 @@ - { - const struct sockaddr_nl *const sa_nl = buf; - -- PRINT_FIELD_D("", *sa_nl, nl_pid); -+ PRINT_FIELD_TGID("", *sa_nl, nl_pid, tcp); - PRINT_FIELD_0X(", ", *sa_nl, nl_groups); - } - -Index: strace-5.7/tests/kcmp.c -=================================================================== ---- strace-5.7.orig/tests/kcmp.c 2020-09-09 15:52:09.159983257 +0200 -+++ strace-5.7/tests/kcmp.c 2020-09-09 18:49:06.780401433 +0200 -@@ -64,7 +64,26 @@ - static void - printpidfd(const char *prefix, pid_t pid, unsigned fd) - { -- printf("%s%d", prefix, fd); -+ const char *path = NULL; -+ -+# if VERBOSE_FD -+ if (pid == getpid()) { -+ switch (fd) -+ { -+ case NULL_FD: -+ path = null_path; -+ break; -+ case ZERO_FD: -+ path = zero_path; -+ break; -+ } -+ } -+# endif -+ -+ if (path) -+ printf("%s%d<%s>", prefix, fd, path); -+ else -+ printf("%s%d", prefix, fd); - } - - /* -@@ -179,7 +198,7 @@ - /* KCMP_FILE is the only type which has additional args */ - do_kcmp(3141592653U, 2718281828U, ARG_STR(KCMP_FILE), bogus_idx1, - bogus_idx2); -- do_kcmp(-1, -1, ARG_STR(KCMP_FILE), NULL_FD, ZERO_FD); -+ do_kcmp(getpid(), getpid(), ARG_STR(KCMP_FILE), NULL_FD, ZERO_FD); - - /* Types without additional args */ - do_kcmp(-1, -1, ARG_STR(KCMP_VM), bogus_idx1, bogus_idx2); -@@ -198,7 +217,7 @@ - for (i = 0; i < ARRAY_SIZE(slot_data); i++) { - memcpy(slot, slot_data + i, sizeof(*slot)); - -- do_kcmp(getpid(), getppid(), ARG_STR(KCMP_EPOLL_TFD), NULL_FD, -+ do_kcmp(getpid(), -1, ARG_STR(KCMP_EPOLL_TFD), NULL_FD, - (uintptr_t) slot, 1); - } - -Index: strace-5.7/util.c -=================================================================== ---- strace-5.7.orig/util.c 2020-09-09 15:52:09.159983257 +0200 -+++ strace-5.7/util.c 2020-09-09 18:49:07.951402131 +0200 -@@ -392,6 +392,18 @@ - return true; - } - -+bool -+printnum_pid(struct tcb *const tcp, const kernel_ulong_t addr, enum pid_type type) -+{ -+ int pid; -+ if (umove_or_printaddr(tcp, addr, &pid)) -+ return false; -+ tprints("["); -+ printpid(tcp, pid, type); -+ tprints("]"); -+ return true; -+} -+ - /** - * Prints time to a (static internal) buffer and returns pointer to it. - * Returns NULL if the provided time specification is not correct. -@@ -616,7 +628,7 @@ - printfd_pid(struct tcb *tcp, pid_t pid, int fd) - { - char path[PATH_MAX + 1]; -- if (!number_set_array_is_empty(decode_fd_set, 0) -+ if (pid > 0 && !number_set_array_is_empty(decode_fd_set, 0) - && getfdpath_pid(pid, fd, path, sizeof(path)) >= 0) { - tprintf("%d<", (int) fd); - if (is_number_in_set(DECODE_FD_SOCKET, decode_fd_set) && -@@ -641,12 +653,8 @@ - void - printfd_pid_tracee_ns(struct tcb *tcp, pid_t pid, int fd) - { -- /* -- * TODO: We want to have the same formatting as printfd here, -- * but we should figure out first which process in strace's -- * PID NS is referred to by pid in tracee's PID NS. -- */ -- tprintf("%d", fd); -+ int strace_pid = translate_pid(tcp, pid, PT_TGID, NULL); -+ printfd_pid(tcp, strace_pid, fd); - } - - /* -Index: strace-5.7/wait.c -=================================================================== ---- strace-5.7.orig/wait.c 2020-09-09 15:52:09.159983257 +0200 -+++ strace-5.7/wait.c 2020-09-09 15:55:03.985108301 +0200 -@@ -80,14 +80,8 @@ - void (*const print_rusage)(struct tcb *, kernel_ulong_t)) - { - if (entering(tcp)) { -- /* On Linux, kernel-side pid_t is typedef'ed to int -- * on all arches. Also, glibc-2.8 truncates wait3 and wait4 -- * pid argument to int on 64bit arches, producing, -- * for example, wait4(4294967295, ...) instead of -1 -- * in strace. We have to use int here, not long. -- */ -- int pid = tcp->u_arg[0]; -- tprintf("%d, ", pid); -+ printpid_tgid_pgid(tcp, tcp->u_arg[0]); -+ tprintf(", "); - } else { - int status; - -@@ -108,7 +102,7 @@ - printaddr(tcp->u_arg[3]); - } - } -- return 0; -+ return RVAL_TGID; - } - - SYS_FUNC(waitpid) -@@ -134,10 +128,28 @@ - - SYS_FUNC(waitid) - { -+ unsigned int idtype = (unsigned int) tcp->u_arg[0]; -+ int id = tcp->u_arg[1]; -+ - if (entering(tcp)) { -- printxval(waitid_types, tcp->u_arg[0], "P_???"); -- int pid = tcp->u_arg[1]; -- tprintf(", %d, ", pid); -+ printxval(waitid_types, idtype, "P_???"); -+ tprints(", "); -+ switch (idtype) -+ { -+ case P_PID: -+ printpid(tcp, id, PT_TGID); -+ break; -+ case P_PIDFD: -+ printfd(tcp, id); -+ break; -+ case P_PGID: -+ printpid(tcp, id, PT_PGID); -+ break; -+ default: -+ tprintf("%d", id); -+ break; -+ } -+ tprints(", "); - } else { - /* siginfo */ - printsiginfo_at(tcp, tcp->u_arg[2]); -Index: strace-5.7/tests-m32/kcmp.c -=================================================================== ---- strace-5.7.orig/tests-m32/kcmp.c 2020-09-09 15:52:09.159983257 +0200 -+++ strace-5.7/tests-m32/kcmp.c 2020-09-09 18:49:06.780401433 +0200 -@@ -64,7 +64,26 @@ - static void - printpidfd(const char *prefix, pid_t pid, unsigned fd) - { -- printf("%s%d", prefix, fd); -+ const char *path = NULL; -+ -+# if VERBOSE_FD -+ if (pid == getpid()) { -+ switch (fd) -+ { -+ case NULL_FD: -+ path = null_path; -+ break; -+ case ZERO_FD: -+ path = zero_path; -+ break; -+ } -+ } -+# endif -+ -+ if (path) -+ printf("%s%d<%s>", prefix, fd, path); -+ else -+ printf("%s%d", prefix, fd); - } - - /* -@@ -179,7 +198,7 @@ - /* KCMP_FILE is the only type which has additional args */ - do_kcmp(3141592653U, 2718281828U, ARG_STR(KCMP_FILE), bogus_idx1, - bogus_idx2); -- do_kcmp(-1, -1, ARG_STR(KCMP_FILE), NULL_FD, ZERO_FD); -+ do_kcmp(getpid(), getpid(), ARG_STR(KCMP_FILE), NULL_FD, ZERO_FD); - - /* Types without additional args */ - do_kcmp(-1, -1, ARG_STR(KCMP_VM), bogus_idx1, bogus_idx2); -@@ -198,7 +217,7 @@ - for (i = 0; i < ARRAY_SIZE(slot_data); i++) { - memcpy(slot, slot_data + i, sizeof(*slot)); - -- do_kcmp(getpid(), getppid(), ARG_STR(KCMP_EPOLL_TFD), NULL_FD, -+ do_kcmp(getpid(), -1, ARG_STR(KCMP_EPOLL_TFD), NULL_FD, - (uintptr_t) slot, 1); - } - -Index: strace-5.7/tests-mx32/kcmp.c -=================================================================== ---- strace-5.7.orig/tests-mx32/kcmp.c 2020-09-09 15:52:09.159983257 +0200 -+++ strace-5.7/tests-mx32/kcmp.c 2020-09-09 18:49:06.780401433 +0200 -@@ -64,7 +64,26 @@ - static void - printpidfd(const char *prefix, pid_t pid, unsigned fd) - { -- printf("%s%d", prefix, fd); -+ const char *path = NULL; -+ -+# if VERBOSE_FD -+ if (pid == getpid()) { -+ switch (fd) -+ { -+ case NULL_FD: -+ path = null_path; -+ break; -+ case ZERO_FD: -+ path = zero_path; -+ break; -+ } -+ } -+# endif -+ -+ if (path) -+ printf("%s%d<%s>", prefix, fd, path); -+ else -+ printf("%s%d", prefix, fd); - } - - /* -@@ -179,7 +198,7 @@ - /* KCMP_FILE is the only type which has additional args */ - do_kcmp(3141592653U, 2718281828U, ARG_STR(KCMP_FILE), bogus_idx1, - bogus_idx2); -- do_kcmp(-1, -1, ARG_STR(KCMP_FILE), NULL_FD, ZERO_FD); -+ do_kcmp(getpid(), getpid(), ARG_STR(KCMP_FILE), NULL_FD, ZERO_FD); - - /* Types without additional args */ - do_kcmp(-1, -1, ARG_STR(KCMP_VM), bogus_idx1, bogus_idx2); -@@ -198,7 +217,7 @@ - for (i = 0; i < ARRAY_SIZE(slot_data); i++) { - memcpy(slot, slot_data + i, sizeof(*slot)); - -- do_kcmp(getpid(), getppid(), ARG_STR(KCMP_EPOLL_TFD), NULL_FD, -+ do_kcmp(getpid(), -1, ARG_STR(KCMP_EPOLL_TFD), NULL_FD, - (uintptr_t) slot, 1); - } - -Index: strace-5.7/Makefile.in -=================================================================== ---- strace-5.7.orig/Makefile.in 2020-09-09 15:54:59.569105143 +0200 -+++ strace-5.7/Makefile.in 2020-09-09 19:06:15.159014394 +0200 -@@ -322,13 +322,13 @@ - flock.c flock.h fs_x_ioctl.c fsconfig.c fsmount.c fsopen.c \ - fspick.c fstatfs.c fstatfs64.c futex.c gcc_compat.h \ - get_personality.c get_personality.h get_robust_list.c getcpu.c \ -- getcwd.c getpagesize.c getrandom.c hdio.c hostname.c inotify.c \ -- inotify_ioctl.c io.c io_uring.c ioctl.c ioperm.c iopl.c \ -- ioprio.c ipc.c ipc_defs.h ipc_msg.c ipc_msgctl.c ipc_sem.c \ -- ipc_shm.c ipc_shmctl.c kcmp.c kernel_dirent.h kernel_rusage.h \ -- kernel_timespec.h kernel_timeval.h kernel_timex.h \ -- kernel_types.h kernel_v4l2_types.h kexec.c keyctl.c \ -- keyctl_kdf_params.h kill_save_errno.h kvm.c \ -+ getcwd.c getpagesize.c getpid.c getrandom.c hdio.c hostname.c \ -+ inotify.c inotify_ioctl.c io.c io_uring.c ioctl.c ioperm.c \ -+ iopl.c ioprio.c ipc.c ipc_defs.h ipc_msg.c ipc_msgctl.c \ -+ ipc_sem.c ipc_shm.c ipc_shmctl.c kcmp.c kernel_dirent.h \ -+ kernel_rusage.h kernel_timespec.h kernel_timeval.h \ -+ kernel_timex.h kernel_types.h kernel_v4l2_types.h kexec.c \ -+ keyctl.c keyctl_kdf_params.h kill_save_errno.h kvm.c \ - largefile_wrappers.h ldt.c link.c linux/asm_stat.h \ - linux/x32/asm_stat.h linux/x86_64/asm_stat.h list.h listen.c \ - lookup_dcookie.c loop.c lseek.c macros.h mem.c membarrier.c \ -@@ -443,7 +443,7 @@ - libstrace_a-get_personality.$(OBJEXT) \ - libstrace_a-get_robust_list.$(OBJEXT) \ - libstrace_a-getcpu.$(OBJEXT) libstrace_a-getcwd.$(OBJEXT) \ -- libstrace_a-getpagesize.$(OBJEXT) \ -+ libstrace_a-getpagesize.$(OBJEXT) libstrace_a-getpid.$(OBJEXT) \ - libstrace_a-getrandom.$(OBJEXT) libstrace_a-hdio.$(OBJEXT) \ - libstrace_a-hostname.$(OBJEXT) libstrace_a-inotify.$(OBJEXT) \ - libstrace_a-inotify_ioctl.$(OBJEXT) libstrace_a-io.$(OBJEXT) \ -@@ -769,6 +769,7 @@ - ./$(DEPDIR)/libstrace_a-getcpu.Po \ - ./$(DEPDIR)/libstrace_a-getcwd.Po \ - ./$(DEPDIR)/libstrace_a-getpagesize.Po \ -+ ./$(DEPDIR)/libstrace_a-getpid.Po \ - ./$(DEPDIR)/libstrace_a-getrandom.Po \ - ./$(DEPDIR)/libstrace_a-hdio.Po \ - ./$(DEPDIR)/libstrace_a-hostname.Po \ -@@ -1810,13 +1811,13 @@ - flock.c flock.h fs_x_ioctl.c fsconfig.c fsmount.c fsopen.c \ - fspick.c fstatfs.c fstatfs64.c futex.c gcc_compat.h \ - get_personality.c get_personality.h get_robust_list.c getcpu.c \ -- getcwd.c getpagesize.c getrandom.c hdio.c hostname.c inotify.c \ -- inotify_ioctl.c io.c io_uring.c ioctl.c ioperm.c iopl.c \ -- ioprio.c ipc.c ipc_defs.h ipc_msg.c ipc_msgctl.c ipc_sem.c \ -- ipc_shm.c ipc_shmctl.c kcmp.c kernel_dirent.h kernel_rusage.h \ -- kernel_timespec.h kernel_timeval.h kernel_timex.h \ -- kernel_types.h kernel_v4l2_types.h kexec.c keyctl.c \ -- keyctl_kdf_params.h kill_save_errno.h kvm.c \ -+ getcwd.c getpagesize.c getpid.c getrandom.c hdio.c hostname.c \ -+ inotify.c inotify_ioctl.c io.c io_uring.c ioctl.c ioperm.c \ -+ iopl.c ioprio.c ipc.c ipc_defs.h ipc_msg.c ipc_msgctl.c \ -+ ipc_sem.c ipc_shm.c ipc_shmctl.c kcmp.c kernel_dirent.h \ -+ kernel_rusage.h kernel_timespec.h kernel_timeval.h \ -+ kernel_timex.h kernel_types.h kernel_v4l2_types.h kexec.c \ -+ keyctl.c keyctl_kdf_params.h kill_save_errno.h kvm.c \ - largefile_wrappers.h ldt.c link.c linux/asm_stat.h \ - linux/x32/asm_stat.h linux/x86_64/asm_stat.h list.h listen.c \ - lookup_dcookie.c loop.c lseek.c macros.h mem.c membarrier.c \ -@@ -2835,6 +2836,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-getcpu.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-getcwd.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-getpagesize.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-getpid.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-getrandom.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-hdio.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-hostname.Po@am__quote@ # am--include-marker -@@ -5082,6 +5084,20 @@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -c -o libstrace_a-getpagesize.obj `if test -f 'getpagesize.c'; then $(CYGPATH_W) 'getpagesize.c'; else $(CYGPATH_W) '$(srcdir)/getpagesize.c'; fi` - -+libstrace_a-getpid.o: getpid.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -MT libstrace_a-getpid.o -MD -MP -MF $(DEPDIR)/libstrace_a-getpid.Tpo -c -o libstrace_a-getpid.o `test -f 'getpid.c' || echo '$(srcdir)/'`getpid.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libstrace_a-getpid.Tpo $(DEPDIR)/libstrace_a-getpid.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='getpid.c' object='libstrace_a-getpid.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -c -o libstrace_a-getpid.o `test -f 'getpid.c' || echo '$(srcdir)/'`getpid.c -+ -+libstrace_a-getpid.obj: getpid.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -MT libstrace_a-getpid.obj -MD -MP -MF $(DEPDIR)/libstrace_a-getpid.Tpo -c -o libstrace_a-getpid.obj `if test -f 'getpid.c'; then $(CYGPATH_W) 'getpid.c'; else $(CYGPATH_W) '$(srcdir)/getpid.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libstrace_a-getpid.Tpo $(DEPDIR)/libstrace_a-getpid.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='getpid.c' object='libstrace_a-getpid.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -c -o libstrace_a-getpid.obj `if test -f 'getpid.c'; then $(CYGPATH_W) 'getpid.c'; else $(CYGPATH_W) '$(srcdir)/getpid.c'; fi` -+ - libstrace_a-getrandom.o: getrandom.c - @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -MT libstrace_a-getrandom.o -MD -MP -MF $(DEPDIR)/libstrace_a-getrandom.Tpo -c -o libstrace_a-getrandom.o `test -f 'getrandom.c' || echo '$(srcdir)/'`getrandom.c - @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libstrace_a-getrandom.Tpo $(DEPDIR)/libstrace_a-getrandom.Po -@@ -8377,6 +8393,7 @@ - -rm -f ./$(DEPDIR)/libstrace_a-getcpu.Po - -rm -f ./$(DEPDIR)/libstrace_a-getcwd.Po - -rm -f ./$(DEPDIR)/libstrace_a-getpagesize.Po -+ -rm -f ./$(DEPDIR)/libstrace_a-getpid.Po - -rm -f ./$(DEPDIR)/libstrace_a-getrandom.Po - -rm -f ./$(DEPDIR)/libstrace_a-hdio.Po - -rm -f ./$(DEPDIR)/libstrace_a-hostname.Po -@@ -8764,6 +8781,7 @@ - -rm -f ./$(DEPDIR)/libstrace_a-getcpu.Po - -rm -f ./$(DEPDIR)/libstrace_a-getcwd.Po - -rm -f ./$(DEPDIR)/libstrace_a-getpagesize.Po -+ -rm -f ./$(DEPDIR)/libstrace_a-getpid.Po - -rm -f ./$(DEPDIR)/libstrace_a-getrandom.Po - -rm -f ./$(DEPDIR)/libstrace_a-hdio.Po - -rm -f ./$(DEPDIR)/libstrace_a-hostname.Po diff --git a/SOURCES/0136-Use-get_proc_pid-for-proc-paths.patch b/SOURCES/0136-Use-get_proc_pid-for-proc-paths.patch deleted file mode 100644 index de978f1..0000000 --- a/SOURCES/0136-Use-get_proc_pid-for-proc-paths.patch +++ /dev/null @@ -1,93 +0,0 @@ -From bba566504901b2c07885ecf325829875a96381a7 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?=C3=81kos=20Uzonyi?= -Date: Tue, 30 Jun 2020 17:20:12 +0200 -Subject: [PATCH 136/138] Use get_proc_pid for /proc paths - -* mmap_cache.c (mmap_cache_rebuild_if_invalid): Use proc pid instead of -tcp->pid for /proc path. -* util.c (getfdproto): Likewise. -(pidfd_get_pid): Likewise. -* pathtrace.c (getfdpath_pid): Likewise. -* strace.c (attach_tcb): Likewise. ---- - mmap_cache.c | 2 +- - pathtrace.c | 7 ++++++- - strace.c | 2 +- - util.c | 9 +++++++-- - 4 files changed, 15 insertions(+), 5 deletions(-) - -diff --git a/mmap_cache.c b/mmap_cache.c -index 89c6225..9825df2 100644 ---- a/mmap_cache.c -+++ b/mmap_cache.c -@@ -84,7 +84,7 @@ mmap_cache_rebuild_if_invalid(struct tcb *tcp, const char *caller) - return MMAP_CACHE_REBUILD_READY; - - char filename[sizeof("/proc/4294967296/maps")]; -- xsprintf(filename, "/proc/%u/maps", tcp->pid); -+ xsprintf(filename, "/proc/%u/maps", get_proc_pid(tcp)); - - FILE *fp = fopen_stream(filename, "r"); - if (!fp) { -diff --git a/pathtrace.c b/pathtrace.c -index f85cf14..87dc64b 100644 ---- a/pathtrace.c -+++ b/pathtrace.c -@@ -87,7 +87,12 @@ getfdpath_pid(pid_t pid, int fd, char *buf, unsigned bufsize) - if (fd < 0) - return -1; - -- xsprintf(linkpath, "/proc/%u/fd/%u", pid, fd); -+ int proc_pid = 0; -+ translate_pid(NULL, pid, PT_TID, &proc_pid); -+ if (!proc_pid) -+ return -1; -+ -+ xsprintf(linkpath, "/proc/%u/fd/%u", proc_pid, fd); - n = readlink(linkpath, buf, bufsize - 1); - /* - * NB: if buf is too small, readlink doesn't fail, -diff --git a/strace.c b/strace.c -index 249533e..ef23f08 100644 ---- a/strace.c -+++ b/strace.c -@@ -1196,7 +1196,7 @@ attach_tcb(struct tcb *const tcp) - unsigned int ntid = 0, nerr = 0; - - if (followfork && tcp->pid != strace_child && -- xsprintf(procdir, task_path, tcp->pid) > 0 && -+ xsprintf(procdir, task_path, get_proc_pid(tcp)) > 0 && - (dir = opendir(procdir)) != NULL) { - struct_dirent *de; - -diff --git a/util.c b/util.c -index 2568021..481144b 100644 ---- a/util.c -+++ b/util.c -@@ -501,7 +501,7 @@ getfdproto(struct tcb *tcp, int fd) - if (fd < 0) - return SOCK_PROTO_UNKNOWN; - -- xsprintf(path, "/proc/%u/fd/%u", tcp->pid, fd); -+ xsprintf(path, "/proc/%u/fd/%u", get_proc_pid(tcp), fd); - r = getxattr(path, "system.sockprotoname", buf, bufsize - 1); - if (r <= 0) - return SOCK_PROTO_UNKNOWN; -@@ -582,8 +582,13 @@ printdev(struct tcb *tcp, int fd, const char *path) - pid_t - pidfd_get_pid(pid_t pid_of_fd, int fd) - { -+ int proc_pid = 0; -+ translate_pid(NULL, pid_of_fd, PT_TID, &proc_pid); -+ if (!proc_pid) -+ return -1; -+ - char fdi_path[sizeof("/proc/%u/fdinfo/%u") + 2 * sizeof(int) * 3]; -- xsprintf(fdi_path, "/proc/%u/fdinfo/%u", pid_of_fd, fd); -+ xsprintf(fdi_path, "/proc/%u/fdinfo/%u", proc_pid, fd); - - FILE *f = fopen_stream(fdi_path, "r"); - if (!f) --- -2.1.4 - diff --git a/SOURCES/0137-Implement-testing-framework-for-pidns.patch b/SOURCES/0137-Implement-testing-framework-for-pidns.patch deleted file mode 100644 index b9b1317..0000000 --- a/SOURCES/0137-Implement-testing-framework-for-pidns.patch +++ /dev/null @@ -1,1360 +0,0 @@ -From 4362ddaba8634a5ac6b4add0eaf25eec5f7315f5 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?=C3=81kos=20Uzonyi?= -Date: Fri, 26 Jun 2020 20:13:28 +0200 -Subject: [PATCH 137/138] Implement testing framework for pidns - -* tests/pidns.c: New file. -* tests/pidns.h: New file. -* tests/Makefile.am (libtests_a_SOURCES): Add pidns.c, pidns.h. -* tests/init.sh (test_pidns, test_pidns_run_strace): New functions. ---- - tests/Makefile.am | 2 + - tests/init.sh | 30 +++++++ - tests/pidns.c | 237 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ - tests/pidns.h | 56 +++++++++++++ - 4 files changed, 325 insertions(+) - create mode 100644 tests/pidns.c - create mode 100644 tests/pidns.h - -Index: strace-5.7/tests/Makefile.am -=================================================================== ---- strace-5.7.orig/tests/Makefile.am 2020-09-09 19:32:50.846965498 +0200 -+++ strace-5.7/tests/Makefile.am 2020-09-09 19:49:54.008575349 +0200 -@@ -44,6 +44,8 @@ - libsocketcall.c \ - lock_file.c \ - overflowuid.c \ -+ pidns.c \ -+ pidns.h \ - pipe_maxfd.c \ - print_quoted_string.c \ - print_time.c \ -Index: strace-5.7/tests/init.sh -=================================================================== ---- strace-5.7.orig/tests/init.sh 2020-09-09 19:32:50.846965498 +0200 -+++ strace-5.7/tests/init.sh 2020-09-09 19:49:54.008575349 +0200 -@@ -387,6 +387,36 @@ - test_pure_prog_set "$@" < "$srcdir/$NAME.in" - } - -+test_pidns_run_strace() -+{ -+ local parent_pid init_pid -+ -+ check_prog tail -+ check_prog cut -+ check_prog grep -+ -+ run_prog > /dev/null -+ run_strace --pidns-translation -f $@ $args > "$EXP" -+ -+ # filter out logs made by the parent or init process of the pidns test -+ parent_pid="$(tail -n 2 $LOG | head -n 1 | cut -d' ' -f1)" -+ init_pid="$(tail -n 1 $LOG | cut -d' ' -f1)" -+ grep -E -v "^($parent_pid|$init_pid) " "$LOG" > "$OUT" -+ match_diff "$OUT" "$EXP" -+} -+ -+test_pidns() -+{ -+ check_prog unshare -+ unshare -Urpf true || framework_skip_ "unshare -Urpf true failed" -+ -+ test_pidns_run_strace "$@" -+ -+ # test PID translation when /proc is mounted from an other namespace -+ STRACE="unshare -Urpf $STRACE" -+ test_pidns_run_strace "$@" -+} -+ - check_prog cat - check_prog rm - -Index: strace-5.7/tests/pidns.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/pidns.c 2020-09-09 19:49:54.009575350 +0200 -@@ -0,0 +1,237 @@ -+/* -+ * Testing framework for PID namespace translation -+ * -+ * Copyright (c) 2020 Ákos Uzonyi -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: LGPL-2.1-or-later -+ */ -+#include "tests.h" -+#include "pidns.h" -+#include "nsfs.h" -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#ifndef CLONE_NEWUSER -+# define CLONE_NEWUSER 0x10000000 -+#endif -+ -+#ifndef CLONE_NEWPID -+# define CLONE_NEWPID 0x20000000 -+#endif -+ -+static bool pidns_translation = false; -+static bool pidns_unshared = false; -+ -+/* Our PIDs in strace's namespace */ -+static pid_t pidns_strace_ids[PT_COUNT]; -+ -+void -+pidns_print_leader(void) -+{ -+ if (pidns_translation) -+ printf("%-5d ", pidns_strace_ids[PT_TID]); -+} -+ -+const char * -+pidns_pid2str(enum pid_type type) -+{ -+ static const char format[] = " /* %d in strace's PID NS */"; -+ static char buf[PT_COUNT][sizeof(format) + sizeof(int) * 3]; -+ -+ if (type < 0 || type >= PT_COUNT) -+ return ""; -+ -+ if (!pidns_unshared || !pidns_strace_ids[type]) -+ return ""; -+ -+ snprintf(buf[type], sizeof(buf[type]), format, pidns_strace_ids[type]); -+ return buf[type]; -+} -+ -+/** -+ * This function is like fork, but does a few more things. It sets up the -+ * child's PGID and SID according to the parameters. Also it fills the -+ * pidns_strace_ids array in the child's memory with the PIDs of the child in -+ * parent's PID namespace. In the parent it waits for the child to terminate -+ * (but leaves the zombie to use it later as a process group). If the child -+ * terminates with nonzero exit status, the test is failed. -+ * -+ * @param pgid The process group the child should be moved to. It's expected -+ * to be a PID of a zombie process (will be reaped). If -+ * negative, leave the child in the process group of the parent. -+ * If 0, move the process to its own process group. -+ * @param new_sid Wheather child should be moved to a new session. -+ */ -+static pid_t -+pidns_fork(pid_t pgid, bool new_sid) -+{ -+ int strace_ids_pipe[2]; -+ if (pipe(strace_ids_pipe) < 0) -+ perror_msg_and_fail("pipe"); -+ -+ fflush(stdout); -+ pid_t pid = fork(); -+ if (pid < 0) -+ perror_msg_and_fail("fork"); -+ -+ if (!pid) { -+ close(strace_ids_pipe[1]); -+ -+ ssize_t len = read(strace_ids_pipe[0], pidns_strace_ids, -+ sizeof(pidns_strace_ids)); -+ if (len < 0) -+ perror_msg_and_fail("read"); -+ if (len != sizeof(pidns_strace_ids)) -+ error_msg_and_fail("read returned < sizeof(pidns_strace_ids)"); -+ -+ close(strace_ids_pipe[0]); -+ -+ if (pidns_strace_ids[PT_SID]) -+ setsid(); -+ -+ return 0; -+ } -+ -+ pidns_strace_ids[PT_TID] = pid; -+ pidns_strace_ids[PT_TGID] = pid; -+ pidns_strace_ids[PT_PGID] = 0; -+ pidns_strace_ids[PT_SID] = 0; -+ -+ if (!pgid) -+ pgid = pid; -+ -+ if (pgid > 0) { -+ if (setpgid(pid, pgid) < 0) -+ perror_msg_and_fail("setpgid"); -+ -+ pidns_strace_ids[PT_PGID] = pgid; -+ } -+ -+ /* Reap group leader to test PGID decoding */ -+ if (pgid > 0 && pgid != pid) { -+ int ret = waitpid(pgid, NULL, WNOHANG); -+ if (ret < 0) -+ perror_msg_and_fail("wait"); -+ if (!ret) -+ error_msg_and_fail("could not reap group leader"); -+ } -+ -+ if (new_sid) { -+ pidns_strace_ids[PT_SID] = pid; -+ pidns_strace_ids[PT_PGID] = pid; -+ } -+ -+ ssize_t len = write(strace_ids_pipe[1], pidns_strace_ids, -+ sizeof(pidns_strace_ids)); -+ if (len < 0) -+ perror_msg_and_fail("write"); -+ if (len != sizeof(pidns_strace_ids)) -+ error_msg_and_fail("write returned < sizeof(pidns_strace_ids)"); -+ -+ close(strace_ids_pipe[0]); -+ close(strace_ids_pipe[1]); -+ -+ /* WNOWAIT: leave the zombie, to be able to use it as a process group */ -+ siginfo_t siginfo; -+ if (waitid(P_PID, pid, &siginfo, WEXITED | WNOWAIT) < 0) -+ perror_msg_and_fail("wait"); -+ if (siginfo.si_code != CLD_EXITED || siginfo.si_status) -+ error_msg_and_fail("child terminated with nonzero exit status"); -+ -+ return pid; -+} -+ -+static void -+create_init_process(void) -+{ -+ int child_pipe[2]; -+ if (pipe(child_pipe) < 0) -+ perror_msg_and_fail("pipe"); -+ -+ pid_t pid = fork(); -+ if (pid < 0) -+ perror_msg_and_fail("fork"); -+ -+ if (!pid) { -+ close(child_pipe[1]); -+ if (read(child_pipe[0], &child_pipe[1], sizeof(int)) != 0) -+ _exit(1); -+ _exit(0); -+ } -+ -+ close(child_pipe[0]); -+} -+ -+void -+check_ns_ioctl(void) -+{ -+ int fd = open("/proc/self/ns/pid", O_RDONLY); -+ if (fd < 0) { -+ if (errno == ENOENT) -+ perror_msg_and_skip("opening /proc/self/ns/pid"); -+ else -+ perror_msg_and_fail("opening /proc/self/ns/pid"); -+ } -+ -+ int userns_fd = ioctl(fd, NS_GET_USERNS); -+ if (userns_fd < 0) { -+ if (errno == ENOTTY) -+ error_msg_and_skip("NS_* ioctl commands are not " -+ "supported by the kernel"); -+ else -+ perror_msg_and_fail("ioctl(NS_GET_USERNS)"); -+ } -+ -+ close(userns_fd); -+ close(fd); -+} -+ -+void -+pidns_test_init(void) -+{ -+ pidns_translation = true; -+ -+ check_ns_ioctl(); -+ -+ if (!pidns_fork(-1, false)) -+ return; -+ -+ /* Unshare user namespace too, so we do not need to be root */ -+ if (unshare(CLONE_NEWUSER | CLONE_NEWPID) < 0) { -+ if (errno == EPERM) -+ perror_msg_and_skip("unshare"); -+ -+ perror_msg_and_fail("unshare"); -+ } -+ -+ pidns_unshared = true; -+ -+ create_init_process(); -+ -+ if (!pidns_fork(-1, false)) -+ return; -+ -+ if (!pidns_fork(-1, true)) -+ return; -+ -+ pid_t pgid; -+ if (!(pgid = pidns_fork(0, false))) -+ return; -+ -+ if (!pidns_fork(pgid, false)) -+ return; -+ -+ exit(0); -+} -Index: strace-5.7/tests/pidns.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/pidns.h 2020-09-09 19:49:54.009575350 +0200 -@@ -0,0 +1,56 @@ -+/* -+ * Test PID namespace translation -+ * -+ * Copyright (c) 2020 Ákos Uzonyi -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: LGPL-2.1-or-later -+ */ -+#ifndef STRACE_PIDNS_H -+#define STRACE_PIDNS_H -+ -+#ifdef PIDNS_TRANSLATION -+# define PIDNS_TEST_INIT pidns_test_init() -+#else -+# define PIDNS_TEST_INIT -+#endif -+ -+#include -+ -+enum pid_type { -+ PT_TID, -+ PT_TGID, -+ PT_PGID, -+ PT_SID, -+ -+ PT_COUNT, -+ PT_NONE = -1 -+}; -+ -+/* Prints leader (process tid) if pidns_test_init was called */ -+void pidns_print_leader(void); -+ -+/* -+ * Returns a static buffer containing the translation string of our PID. -+ */ -+const char *pidns_pid2str(enum pid_type type); -+ -+/** -+ * Skips the test if NS_* ioctl commands are not supported by the kernel. -+ */ -+void check_ns_ioctl(void); -+ -+/** -+ * Init pidns testing. -+ * -+ * Should be called at the beginning of the test's main function -+ * -+ * This function calls fork a couple of times, and returns in the child -+ * processes. These child processes are in a new PID namespace with different -+ * PID configurations (group leader, session leader, ...). If any child -+ * terminates with nonzero exit status the test is failed. Otherwise the test is -+ * succesful, and the parent process exits with 0. -+ */ -+void pidns_test_init(void); -+ -+#endif -\ No newline at end of file -Index: strace-5.7/tests-m32/Makefile.am -=================================================================== ---- strace-5.7.orig/tests-m32/Makefile.am 2020-09-09 19:32:50.846965498 +0200 -+++ strace-5.7/tests-m32/Makefile.am 2020-09-09 19:49:54.009575350 +0200 -@@ -7,14 +7,14 @@ - # SPDX-License-Identifier: GPL-2.0-or-later - - OS = linux --CC = @CC_FOR_M32@ --ARCH = @arch_m32@ -+CC = @CC@ -+ARCH = @arch@ - NATIVE_ARCH = @arch_native@ --SIZEOF_KERNEL_LONG_T = 4 --SIZEOF_LONG = 4 --MPERS_NAME = m32 --MPERS_CC_FLAGS = @CFLAGS_FOR_M32@ @cc_flags_m32@ --ARCH_MFLAGS = -DMPERS_IS_$(MPERS_NAME) $(MPERS_CC_FLAGS) -+SIZEOF_KERNEL_LONG_T = @SIZEOF_KERNEL_LONG_T@ -+SIZEOF_LONG = @SIZEOF_LONG@ -+MPERS_NAME = -+MPERS_CC_FLAGS = -+ARCH_MFLAGS = - AM_CFLAGS = $(WARN_CFLAGS) - AM_CPPFLAGS = $(ARCH_MFLAGS) \ - -I$(builddir) \ -@@ -44,6 +44,8 @@ - libsocketcall.c \ - lock_file.c \ - overflowuid.c \ -+ pidns.c \ -+ pidns.h \ - pipe_maxfd.c \ - print_quoted_string.c \ - print_time.c \ -Index: strace-5.7/tests-m32/init.sh -=================================================================== ---- strace-5.7.orig/tests-m32/init.sh 2020-09-09 19:32:50.846965498 +0200 -+++ strace-5.7/tests-m32/init.sh 2020-09-09 19:49:54.009575350 +0200 -@@ -387,6 +387,36 @@ - test_pure_prog_set "$@" < "$srcdir/$NAME.in" - } - -+test_pidns_run_strace() -+{ -+ local parent_pid init_pid -+ -+ check_prog tail -+ check_prog cut -+ check_prog grep -+ -+ run_prog > /dev/null -+ run_strace --pidns-translation -f $@ $args > "$EXP" -+ -+ # filter out logs made by the parent or init process of the pidns test -+ parent_pid="$(tail -n 2 $LOG | head -n 1 | cut -d' ' -f1)" -+ init_pid="$(tail -n 1 $LOG | cut -d' ' -f1)" -+ grep -E -v "^($parent_pid|$init_pid) " "$LOG" > "$OUT" -+ match_diff "$OUT" "$EXP" -+} -+ -+test_pidns() -+{ -+ check_prog unshare -+ unshare -Urpf true || framework_skip_ "unshare -Urpf true failed" -+ -+ test_pidns_run_strace "$@" -+ -+ # test PID translation when /proc is mounted from an other namespace -+ STRACE="unshare -Urpf $STRACE" -+ test_pidns_run_strace "$@" -+} -+ - check_prog cat - check_prog rm - -Index: strace-5.7/tests-m32/pidns.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/pidns.c 2020-09-09 19:49:54.009575350 +0200 -@@ -0,0 +1,237 @@ -+/* -+ * Testing framework for PID namespace translation -+ * -+ * Copyright (c) 2020 Ákos Uzonyi -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: LGPL-2.1-or-later -+ */ -+#include "tests.h" -+#include "pidns.h" -+#include "nsfs.h" -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#ifndef CLONE_NEWUSER -+# define CLONE_NEWUSER 0x10000000 -+#endif -+ -+#ifndef CLONE_NEWPID -+# define CLONE_NEWPID 0x20000000 -+#endif -+ -+static bool pidns_translation = false; -+static bool pidns_unshared = false; -+ -+/* Our PIDs in strace's namespace */ -+static pid_t pidns_strace_ids[PT_COUNT]; -+ -+void -+pidns_print_leader(void) -+{ -+ if (pidns_translation) -+ printf("%-5d ", pidns_strace_ids[PT_TID]); -+} -+ -+const char * -+pidns_pid2str(enum pid_type type) -+{ -+ static const char format[] = " /* %d in strace's PID NS */"; -+ static char buf[PT_COUNT][sizeof(format) + sizeof(int) * 3]; -+ -+ if (type < 0 || type >= PT_COUNT) -+ return ""; -+ -+ if (!pidns_unshared || !pidns_strace_ids[type]) -+ return ""; -+ -+ snprintf(buf[type], sizeof(buf[type]), format, pidns_strace_ids[type]); -+ return buf[type]; -+} -+ -+/** -+ * This function is like fork, but does a few more things. It sets up the -+ * child's PGID and SID according to the parameters. Also it fills the -+ * pidns_strace_ids array in the child's memory with the PIDs of the child in -+ * parent's PID namespace. In the parent it waits for the child to terminate -+ * (but leaves the zombie to use it later as a process group). If the child -+ * terminates with nonzero exit status, the test is failed. -+ * -+ * @param pgid The process group the child should be moved to. It's expected -+ * to be a PID of a zombie process (will be reaped). If -+ * negative, leave the child in the process group of the parent. -+ * If 0, move the process to its own process group. -+ * @param new_sid Wheather child should be moved to a new session. -+ */ -+static pid_t -+pidns_fork(pid_t pgid, bool new_sid) -+{ -+ int strace_ids_pipe[2]; -+ if (pipe(strace_ids_pipe) < 0) -+ perror_msg_and_fail("pipe"); -+ -+ fflush(stdout); -+ pid_t pid = fork(); -+ if (pid < 0) -+ perror_msg_and_fail("fork"); -+ -+ if (!pid) { -+ close(strace_ids_pipe[1]); -+ -+ ssize_t len = read(strace_ids_pipe[0], pidns_strace_ids, -+ sizeof(pidns_strace_ids)); -+ if (len < 0) -+ perror_msg_and_fail("read"); -+ if (len != sizeof(pidns_strace_ids)) -+ error_msg_and_fail("read returned < sizeof(pidns_strace_ids)"); -+ -+ close(strace_ids_pipe[0]); -+ -+ if (pidns_strace_ids[PT_SID]) -+ setsid(); -+ -+ return 0; -+ } -+ -+ pidns_strace_ids[PT_TID] = pid; -+ pidns_strace_ids[PT_TGID] = pid; -+ pidns_strace_ids[PT_PGID] = 0; -+ pidns_strace_ids[PT_SID] = 0; -+ -+ if (!pgid) -+ pgid = pid; -+ -+ if (pgid > 0) { -+ if (setpgid(pid, pgid) < 0) -+ perror_msg_and_fail("setpgid"); -+ -+ pidns_strace_ids[PT_PGID] = pgid; -+ } -+ -+ /* Reap group leader to test PGID decoding */ -+ if (pgid > 0 && pgid != pid) { -+ int ret = waitpid(pgid, NULL, WNOHANG); -+ if (ret < 0) -+ perror_msg_and_fail("wait"); -+ if (!ret) -+ error_msg_and_fail("could not reap group leader"); -+ } -+ -+ if (new_sid) { -+ pidns_strace_ids[PT_SID] = pid; -+ pidns_strace_ids[PT_PGID] = pid; -+ } -+ -+ ssize_t len = write(strace_ids_pipe[1], pidns_strace_ids, -+ sizeof(pidns_strace_ids)); -+ if (len < 0) -+ perror_msg_and_fail("write"); -+ if (len != sizeof(pidns_strace_ids)) -+ error_msg_and_fail("write returned < sizeof(pidns_strace_ids)"); -+ -+ close(strace_ids_pipe[0]); -+ close(strace_ids_pipe[1]); -+ -+ /* WNOWAIT: leave the zombie, to be able to use it as a process group */ -+ siginfo_t siginfo; -+ if (waitid(P_PID, pid, &siginfo, WEXITED | WNOWAIT) < 0) -+ perror_msg_and_fail("wait"); -+ if (siginfo.si_code != CLD_EXITED || siginfo.si_status) -+ error_msg_and_fail("child terminated with nonzero exit status"); -+ -+ return pid; -+} -+ -+static void -+create_init_process(void) -+{ -+ int child_pipe[2]; -+ if (pipe(child_pipe) < 0) -+ perror_msg_and_fail("pipe"); -+ -+ pid_t pid = fork(); -+ if (pid < 0) -+ perror_msg_and_fail("fork"); -+ -+ if (!pid) { -+ close(child_pipe[1]); -+ if (read(child_pipe[0], &child_pipe[1], sizeof(int)) != 0) -+ _exit(1); -+ _exit(0); -+ } -+ -+ close(child_pipe[0]); -+} -+ -+void -+check_ns_ioctl(void) -+{ -+ int fd = open("/proc/self/ns/pid", O_RDONLY); -+ if (fd < 0) { -+ if (errno == ENOENT) -+ perror_msg_and_skip("opening /proc/self/ns/pid"); -+ else -+ perror_msg_and_fail("opening /proc/self/ns/pid"); -+ } -+ -+ int userns_fd = ioctl(fd, NS_GET_USERNS); -+ if (userns_fd < 0) { -+ if (errno == ENOTTY) -+ error_msg_and_skip("NS_* ioctl commands are not " -+ "supported by the kernel"); -+ else -+ perror_msg_and_fail("ioctl(NS_GET_USERNS)"); -+ } -+ -+ close(userns_fd); -+ close(fd); -+} -+ -+void -+pidns_test_init(void) -+{ -+ pidns_translation = true; -+ -+ check_ns_ioctl(); -+ -+ if (!pidns_fork(-1, false)) -+ return; -+ -+ /* Unshare user namespace too, so we do not need to be root */ -+ if (unshare(CLONE_NEWUSER | CLONE_NEWPID) < 0) { -+ if (errno == EPERM) -+ perror_msg_and_skip("unshare"); -+ -+ perror_msg_and_fail("unshare"); -+ } -+ -+ pidns_unshared = true; -+ -+ create_init_process(); -+ -+ if (!pidns_fork(-1, false)) -+ return; -+ -+ if (!pidns_fork(-1, true)) -+ return; -+ -+ pid_t pgid; -+ if (!(pgid = pidns_fork(0, false))) -+ return; -+ -+ if (!pidns_fork(pgid, false)) -+ return; -+ -+ exit(0); -+} -Index: strace-5.7/tests-m32/pidns.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/pidns.h 2020-09-09 19:49:54.010575350 +0200 -@@ -0,0 +1,56 @@ -+/* -+ * Test PID namespace translation -+ * -+ * Copyright (c) 2020 Ákos Uzonyi -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: LGPL-2.1-or-later -+ */ -+#ifndef STRACE_PIDNS_H -+#define STRACE_PIDNS_H -+ -+#ifdef PIDNS_TRANSLATION -+# define PIDNS_TEST_INIT pidns_test_init() -+#else -+# define PIDNS_TEST_INIT -+#endif -+ -+#include -+ -+enum pid_type { -+ PT_TID, -+ PT_TGID, -+ PT_PGID, -+ PT_SID, -+ -+ PT_COUNT, -+ PT_NONE = -1 -+}; -+ -+/* Prints leader (process tid) if pidns_test_init was called */ -+void pidns_print_leader(void); -+ -+/* -+ * Returns a static buffer containing the translation string of our PID. -+ */ -+const char *pidns_pid2str(enum pid_type type); -+ -+/** -+ * Skips the test if NS_* ioctl commands are not supported by the kernel. -+ */ -+void check_ns_ioctl(void); -+ -+/** -+ * Init pidns testing. -+ * -+ * Should be called at the beginning of the test's main function -+ * -+ * This function calls fork a couple of times, and returns in the child -+ * processes. These child processes are in a new PID namespace with different -+ * PID configurations (group leader, session leader, ...). If any child -+ * terminates with nonzero exit status the test is failed. Otherwise the test is -+ * succesful, and the parent process exits with 0. -+ */ -+void pidns_test_init(void); -+ -+#endif -\ No newline at end of file -Index: strace-5.7/tests-mx32/Makefile.am -=================================================================== ---- strace-5.7.orig/tests-mx32/Makefile.am 2020-09-09 19:32:50.846965498 +0200 -+++ strace-5.7/tests-mx32/Makefile.am 2020-09-09 19:49:54.010575350 +0200 -@@ -7,14 +7,14 @@ - # SPDX-License-Identifier: GPL-2.0-or-later - - OS = linux --CC = @CC_FOR_MX32@ --ARCH = @arch_mx32@ -+CC = @CC@ -+ARCH = @arch@ - NATIVE_ARCH = @arch_native@ - SIZEOF_KERNEL_LONG_T = @SIZEOF_KERNEL_LONG_T@ --SIZEOF_LONG = 4 --MPERS_NAME = mx32 --MPERS_CC_FLAGS = @CFLAGS_FOR_MX32@ @cc_flags_mx32@ --ARCH_MFLAGS = -DMPERS_IS_$(MPERS_NAME) $(MPERS_CC_FLAGS) -+SIZEOF_LONG = @SIZEOF_LONG@ -+MPERS_NAME = -+MPERS_CC_FLAGS = -+ARCH_MFLAGS = - AM_CFLAGS = $(WARN_CFLAGS) - AM_CPPFLAGS = $(ARCH_MFLAGS) \ - -I$(builddir) \ -@@ -44,6 +44,8 @@ - libsocketcall.c \ - lock_file.c \ - overflowuid.c \ -+ pidns.c \ -+ pidns.h \ - pipe_maxfd.c \ - print_quoted_string.c \ - print_time.c \ -Index: strace-5.7/tests-mx32/init.sh -=================================================================== ---- strace-5.7.orig/tests-mx32/init.sh 2020-09-09 19:32:50.846965498 +0200 -+++ strace-5.7/tests-mx32/init.sh 2020-09-09 19:49:54.010575350 +0200 -@@ -387,6 +387,36 @@ - test_pure_prog_set "$@" < "$srcdir/$NAME.in" - } - -+test_pidns_run_strace() -+{ -+ local parent_pid init_pid -+ -+ check_prog tail -+ check_prog cut -+ check_prog grep -+ -+ run_prog > /dev/null -+ run_strace --pidns-translation -f $@ $args > "$EXP" -+ -+ # filter out logs made by the parent or init process of the pidns test -+ parent_pid="$(tail -n 2 $LOG | head -n 1 | cut -d' ' -f1)" -+ init_pid="$(tail -n 1 $LOG | cut -d' ' -f1)" -+ grep -E -v "^($parent_pid|$init_pid) " "$LOG" > "$OUT" -+ match_diff "$OUT" "$EXP" -+} -+ -+test_pidns() -+{ -+ check_prog unshare -+ unshare -Urpf true || framework_skip_ "unshare -Urpf true failed" -+ -+ test_pidns_run_strace "$@" -+ -+ # test PID translation when /proc is mounted from an other namespace -+ STRACE="unshare -Urpf $STRACE" -+ test_pidns_run_strace "$@" -+} -+ - check_prog cat - check_prog rm - -Index: strace-5.7/tests-mx32/pidns.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/pidns.c 2020-09-09 19:49:54.010575350 +0200 -@@ -0,0 +1,237 @@ -+/* -+ * Testing framework for PID namespace translation -+ * -+ * Copyright (c) 2020 Ákos Uzonyi -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: LGPL-2.1-or-later -+ */ -+#include "tests.h" -+#include "pidns.h" -+#include "nsfs.h" -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#ifndef CLONE_NEWUSER -+# define CLONE_NEWUSER 0x10000000 -+#endif -+ -+#ifndef CLONE_NEWPID -+# define CLONE_NEWPID 0x20000000 -+#endif -+ -+static bool pidns_translation = false; -+static bool pidns_unshared = false; -+ -+/* Our PIDs in strace's namespace */ -+static pid_t pidns_strace_ids[PT_COUNT]; -+ -+void -+pidns_print_leader(void) -+{ -+ if (pidns_translation) -+ printf("%-5d ", pidns_strace_ids[PT_TID]); -+} -+ -+const char * -+pidns_pid2str(enum pid_type type) -+{ -+ static const char format[] = " /* %d in strace's PID NS */"; -+ static char buf[PT_COUNT][sizeof(format) + sizeof(int) * 3]; -+ -+ if (type < 0 || type >= PT_COUNT) -+ return ""; -+ -+ if (!pidns_unshared || !pidns_strace_ids[type]) -+ return ""; -+ -+ snprintf(buf[type], sizeof(buf[type]), format, pidns_strace_ids[type]); -+ return buf[type]; -+} -+ -+/** -+ * This function is like fork, but does a few more things. It sets up the -+ * child's PGID and SID according to the parameters. Also it fills the -+ * pidns_strace_ids array in the child's memory with the PIDs of the child in -+ * parent's PID namespace. In the parent it waits for the child to terminate -+ * (but leaves the zombie to use it later as a process group). If the child -+ * terminates with nonzero exit status, the test is failed. -+ * -+ * @param pgid The process group the child should be moved to. It's expected -+ * to be a PID of a zombie process (will be reaped). If -+ * negative, leave the child in the process group of the parent. -+ * If 0, move the process to its own process group. -+ * @param new_sid Wheather child should be moved to a new session. -+ */ -+static pid_t -+pidns_fork(pid_t pgid, bool new_sid) -+{ -+ int strace_ids_pipe[2]; -+ if (pipe(strace_ids_pipe) < 0) -+ perror_msg_and_fail("pipe"); -+ -+ fflush(stdout); -+ pid_t pid = fork(); -+ if (pid < 0) -+ perror_msg_and_fail("fork"); -+ -+ if (!pid) { -+ close(strace_ids_pipe[1]); -+ -+ ssize_t len = read(strace_ids_pipe[0], pidns_strace_ids, -+ sizeof(pidns_strace_ids)); -+ if (len < 0) -+ perror_msg_and_fail("read"); -+ if (len != sizeof(pidns_strace_ids)) -+ error_msg_and_fail("read returned < sizeof(pidns_strace_ids)"); -+ -+ close(strace_ids_pipe[0]); -+ -+ if (pidns_strace_ids[PT_SID]) -+ setsid(); -+ -+ return 0; -+ } -+ -+ pidns_strace_ids[PT_TID] = pid; -+ pidns_strace_ids[PT_TGID] = pid; -+ pidns_strace_ids[PT_PGID] = 0; -+ pidns_strace_ids[PT_SID] = 0; -+ -+ if (!pgid) -+ pgid = pid; -+ -+ if (pgid > 0) { -+ if (setpgid(pid, pgid) < 0) -+ perror_msg_and_fail("setpgid"); -+ -+ pidns_strace_ids[PT_PGID] = pgid; -+ } -+ -+ /* Reap group leader to test PGID decoding */ -+ if (pgid > 0 && pgid != pid) { -+ int ret = waitpid(pgid, NULL, WNOHANG); -+ if (ret < 0) -+ perror_msg_and_fail("wait"); -+ if (!ret) -+ error_msg_and_fail("could not reap group leader"); -+ } -+ -+ if (new_sid) { -+ pidns_strace_ids[PT_SID] = pid; -+ pidns_strace_ids[PT_PGID] = pid; -+ } -+ -+ ssize_t len = write(strace_ids_pipe[1], pidns_strace_ids, -+ sizeof(pidns_strace_ids)); -+ if (len < 0) -+ perror_msg_and_fail("write"); -+ if (len != sizeof(pidns_strace_ids)) -+ error_msg_and_fail("write returned < sizeof(pidns_strace_ids)"); -+ -+ close(strace_ids_pipe[0]); -+ close(strace_ids_pipe[1]); -+ -+ /* WNOWAIT: leave the zombie, to be able to use it as a process group */ -+ siginfo_t siginfo; -+ if (waitid(P_PID, pid, &siginfo, WEXITED | WNOWAIT) < 0) -+ perror_msg_and_fail("wait"); -+ if (siginfo.si_code != CLD_EXITED || siginfo.si_status) -+ error_msg_and_fail("child terminated with nonzero exit status"); -+ -+ return pid; -+} -+ -+static void -+create_init_process(void) -+{ -+ int child_pipe[2]; -+ if (pipe(child_pipe) < 0) -+ perror_msg_and_fail("pipe"); -+ -+ pid_t pid = fork(); -+ if (pid < 0) -+ perror_msg_and_fail("fork"); -+ -+ if (!pid) { -+ close(child_pipe[1]); -+ if (read(child_pipe[0], &child_pipe[1], sizeof(int)) != 0) -+ _exit(1); -+ _exit(0); -+ } -+ -+ close(child_pipe[0]); -+} -+ -+void -+check_ns_ioctl(void) -+{ -+ int fd = open("/proc/self/ns/pid", O_RDONLY); -+ if (fd < 0) { -+ if (errno == ENOENT) -+ perror_msg_and_skip("opening /proc/self/ns/pid"); -+ else -+ perror_msg_and_fail("opening /proc/self/ns/pid"); -+ } -+ -+ int userns_fd = ioctl(fd, NS_GET_USERNS); -+ if (userns_fd < 0) { -+ if (errno == ENOTTY) -+ error_msg_and_skip("NS_* ioctl commands are not " -+ "supported by the kernel"); -+ else -+ perror_msg_and_fail("ioctl(NS_GET_USERNS)"); -+ } -+ -+ close(userns_fd); -+ close(fd); -+} -+ -+void -+pidns_test_init(void) -+{ -+ pidns_translation = true; -+ -+ check_ns_ioctl(); -+ -+ if (!pidns_fork(-1, false)) -+ return; -+ -+ /* Unshare user namespace too, so we do not need to be root */ -+ if (unshare(CLONE_NEWUSER | CLONE_NEWPID) < 0) { -+ if (errno == EPERM) -+ perror_msg_and_skip("unshare"); -+ -+ perror_msg_and_fail("unshare"); -+ } -+ -+ pidns_unshared = true; -+ -+ create_init_process(); -+ -+ if (!pidns_fork(-1, false)) -+ return; -+ -+ if (!pidns_fork(-1, true)) -+ return; -+ -+ pid_t pgid; -+ if (!(pgid = pidns_fork(0, false))) -+ return; -+ -+ if (!pidns_fork(pgid, false)) -+ return; -+ -+ exit(0); -+} -Index: strace-5.7/tests-mx32/pidns.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/pidns.h 2020-09-09 19:49:54.010575350 +0200 -@@ -0,0 +1,56 @@ -+/* -+ * Test PID namespace translation -+ * -+ * Copyright (c) 2020 Ákos Uzonyi -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: LGPL-2.1-or-later -+ */ -+#ifndef STRACE_PIDNS_H -+#define STRACE_PIDNS_H -+ -+#ifdef PIDNS_TRANSLATION -+# define PIDNS_TEST_INIT pidns_test_init() -+#else -+# define PIDNS_TEST_INIT -+#endif -+ -+#include -+ -+enum pid_type { -+ PT_TID, -+ PT_TGID, -+ PT_PGID, -+ PT_SID, -+ -+ PT_COUNT, -+ PT_NONE = -1 -+}; -+ -+/* Prints leader (process tid) if pidns_test_init was called */ -+void pidns_print_leader(void); -+ -+/* -+ * Returns a static buffer containing the translation string of our PID. -+ */ -+const char *pidns_pid2str(enum pid_type type); -+ -+/** -+ * Skips the test if NS_* ioctl commands are not supported by the kernel. -+ */ -+void check_ns_ioctl(void); -+ -+/** -+ * Init pidns testing. -+ * -+ * Should be called at the beginning of the test's main function -+ * -+ * This function calls fork a couple of times, and returns in the child -+ * processes. These child processes are in a new PID namespace with different -+ * PID configurations (group leader, session leader, ...). If any child -+ * terminates with nonzero exit status the test is failed. Otherwise the test is -+ * succesful, and the parent process exits with 0. -+ */ -+void pidns_test_init(void); -+ -+#endif -\ No newline at end of file -Index: strace-5.7/tests/Makefile.in -=================================================================== ---- strace-5.7.orig/tests/Makefile.in 2020-09-09 19:46:24.904450714 +0200 -+++ strace-5.7/tests/Makefile.in 2020-09-09 19:51:23.607628754 +0200 -@@ -531,7 +531,7 @@ - libtests_a-libmmsg.$(OBJEXT) \ - libtests_a-libsocketcall.$(OBJEXT) \ - libtests_a-lock_file.$(OBJEXT) \ -- libtests_a-overflowuid.$(OBJEXT) \ -+ libtests_a-overflowuid.$(OBJEXT) libtests_a-pidns.$(OBJEXT) \ - libtests_a-pipe_maxfd.$(OBJEXT) \ - libtests_a-print_quoted_string.$(OBJEXT) \ - libtests_a-print_time.$(OBJEXT) \ -@@ -3899,6 +3899,7 @@ - ./$(DEPDIR)/libtests_a-libsocketcall.Po \ - ./$(DEPDIR)/libtests_a-lock_file.Po \ - ./$(DEPDIR)/libtests_a-overflowuid.Po \ -+ ./$(DEPDIR)/libtests_a-pidns.Po \ - ./$(DEPDIR)/libtests_a-pipe_maxfd.Po \ - ./$(DEPDIR)/libtests_a-print_quoted_string.Po \ - ./$(DEPDIR)/libtests_a-print_time.Po \ -@@ -5122,6 +5123,8 @@ - libsocketcall.c \ - lock_file.c \ - overflowuid.c \ -+ pidns.c \ -+ pidns.h \ - pipe_maxfd.c \ - print_quoted_string.c \ - print_time.c \ -@@ -9926,6 +9929,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-libsocketcall.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-lock_file.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-overflowuid.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-pidns.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-pipe_maxfd.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-print_quoted_string.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-print_time.Po@am__quote@ # am--include-marker -@@ -10651,6 +10655,20 @@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-overflowuid.obj `if test -f 'overflowuid.c'; then $(CYGPATH_W) 'overflowuid.c'; else $(CYGPATH_W) '$(srcdir)/overflowuid.c'; fi` - -+libtests_a-pidns.o: pidns.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-pidns.o -MD -MP -MF $(DEPDIR)/libtests_a-pidns.Tpo -c -o libtests_a-pidns.o `test -f 'pidns.c' || echo '$(srcdir)/'`pidns.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-pidns.Tpo $(DEPDIR)/libtests_a-pidns.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='pidns.c' object='libtests_a-pidns.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-pidns.o `test -f 'pidns.c' || echo '$(srcdir)/'`pidns.c -+ -+libtests_a-pidns.obj: pidns.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-pidns.obj -MD -MP -MF $(DEPDIR)/libtests_a-pidns.Tpo -c -o libtests_a-pidns.obj `if test -f 'pidns.c'; then $(CYGPATH_W) 'pidns.c'; else $(CYGPATH_W) '$(srcdir)/pidns.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-pidns.Tpo $(DEPDIR)/libtests_a-pidns.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='pidns.c' object='libtests_a-pidns.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-pidns.obj `if test -f 'pidns.c'; then $(CYGPATH_W) 'pidns.c'; else $(CYGPATH_W) '$(srcdir)/pidns.c'; fi` -+ - libtests_a-pipe_maxfd.o: pipe_maxfd.c - @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-pipe_maxfd.o -MD -MP -MF $(DEPDIR)/libtests_a-pipe_maxfd.Tpo -c -o libtests_a-pipe_maxfd.o `test -f 'pipe_maxfd.c' || echo '$(srcdir)/'`pipe_maxfd.c - @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-pipe_maxfd.Tpo $(DEPDIR)/libtests_a-pipe_maxfd.Po -@@ -11748,6 +11766,7 @@ - -rm -f ./$(DEPDIR)/libtests_a-libsocketcall.Po - -rm -f ./$(DEPDIR)/libtests_a-lock_file.Po - -rm -f ./$(DEPDIR)/libtests_a-overflowuid.Po -+ -rm -f ./$(DEPDIR)/libtests_a-pidns.Po - -rm -f ./$(DEPDIR)/libtests_a-pipe_maxfd.Po - -rm -f ./$(DEPDIR)/libtests_a-print_quoted_string.Po - -rm -f ./$(DEPDIR)/libtests_a-print_time.Po -@@ -12605,6 +12624,7 @@ - -rm -f ./$(DEPDIR)/libtests_a-libsocketcall.Po - -rm -f ./$(DEPDIR)/libtests_a-lock_file.Po - -rm -f ./$(DEPDIR)/libtests_a-overflowuid.Po -+ -rm -f ./$(DEPDIR)/libtests_a-pidns.Po - -rm -f ./$(DEPDIR)/libtests_a-pipe_maxfd.Po - -rm -f ./$(DEPDIR)/libtests_a-print_quoted_string.Po - -rm -f ./$(DEPDIR)/libtests_a-print_time.Po -Index: strace-5.7/tests-m32/Makefile.in -=================================================================== ---- strace-5.7.orig/tests-m32/Makefile.in 2020-09-09 19:49:34.530563739 +0200 -+++ strace-5.7/tests-m32/Makefile.in 2020-09-09 19:52:01.333651241 +0200 -@@ -531,7 +531,7 @@ - libtests_a-libmmsg.$(OBJEXT) \ - libtests_a-libsocketcall.$(OBJEXT) \ - libtests_a-lock_file.$(OBJEXT) \ -- libtests_a-overflowuid.$(OBJEXT) \ -+ libtests_a-overflowuid.$(OBJEXT) libtests_a-pidns.$(OBJEXT) \ - libtests_a-pipe_maxfd.$(OBJEXT) \ - libtests_a-print_quoted_string.$(OBJEXT) \ - libtests_a-print_time.$(OBJEXT) \ -@@ -3899,6 +3899,7 @@ - ./$(DEPDIR)/libtests_a-libsocketcall.Po \ - ./$(DEPDIR)/libtests_a-lock_file.Po \ - ./$(DEPDIR)/libtests_a-overflowuid.Po \ -+ ./$(DEPDIR)/libtests_a-pidns.Po \ - ./$(DEPDIR)/libtests_a-pipe_maxfd.Po \ - ./$(DEPDIR)/libtests_a-print_quoted_string.Po \ - ./$(DEPDIR)/libtests_a-print_time.Po \ -@@ -5122,6 +5123,8 @@ - libsocketcall.c \ - lock_file.c \ - overflowuid.c \ -+ pidns.c \ -+ pidns.h \ - pipe_maxfd.c \ - print_quoted_string.c \ - print_time.c \ -@@ -9926,6 +9929,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-libsocketcall.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-lock_file.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-overflowuid.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-pidns.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-pipe_maxfd.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-print_quoted_string.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-print_time.Po@am__quote@ # am--include-marker -@@ -10651,6 +10655,20 @@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-overflowuid.obj `if test -f 'overflowuid.c'; then $(CYGPATH_W) 'overflowuid.c'; else $(CYGPATH_W) '$(srcdir)/overflowuid.c'; fi` - -+libtests_a-pidns.o: pidns.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-pidns.o -MD -MP -MF $(DEPDIR)/libtests_a-pidns.Tpo -c -o libtests_a-pidns.o `test -f 'pidns.c' || echo '$(srcdir)/'`pidns.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-pidns.Tpo $(DEPDIR)/libtests_a-pidns.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='pidns.c' object='libtests_a-pidns.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-pidns.o `test -f 'pidns.c' || echo '$(srcdir)/'`pidns.c -+ -+libtests_a-pidns.obj: pidns.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-pidns.obj -MD -MP -MF $(DEPDIR)/libtests_a-pidns.Tpo -c -o libtests_a-pidns.obj `if test -f 'pidns.c'; then $(CYGPATH_W) 'pidns.c'; else $(CYGPATH_W) '$(srcdir)/pidns.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-pidns.Tpo $(DEPDIR)/libtests_a-pidns.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='pidns.c' object='libtests_a-pidns.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-pidns.obj `if test -f 'pidns.c'; then $(CYGPATH_W) 'pidns.c'; else $(CYGPATH_W) '$(srcdir)/pidns.c'; fi` -+ - libtests_a-pipe_maxfd.o: pipe_maxfd.c - @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-pipe_maxfd.o -MD -MP -MF $(DEPDIR)/libtests_a-pipe_maxfd.Tpo -c -o libtests_a-pipe_maxfd.o `test -f 'pipe_maxfd.c' || echo '$(srcdir)/'`pipe_maxfd.c - @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-pipe_maxfd.Tpo $(DEPDIR)/libtests_a-pipe_maxfd.Po -@@ -11748,6 +11766,7 @@ - -rm -f ./$(DEPDIR)/libtests_a-libsocketcall.Po - -rm -f ./$(DEPDIR)/libtests_a-lock_file.Po - -rm -f ./$(DEPDIR)/libtests_a-overflowuid.Po -+ -rm -f ./$(DEPDIR)/libtests_a-pidns.Po - -rm -f ./$(DEPDIR)/libtests_a-pipe_maxfd.Po - -rm -f ./$(DEPDIR)/libtests_a-print_quoted_string.Po - -rm -f ./$(DEPDIR)/libtests_a-print_time.Po -@@ -12605,6 +12624,7 @@ - -rm -f ./$(DEPDIR)/libtests_a-libsocketcall.Po - -rm -f ./$(DEPDIR)/libtests_a-lock_file.Po - -rm -f ./$(DEPDIR)/libtests_a-overflowuid.Po -+ -rm -f ./$(DEPDIR)/libtests_a-pidns.Po - -rm -f ./$(DEPDIR)/libtests_a-pipe_maxfd.Po - -rm -f ./$(DEPDIR)/libtests_a-print_quoted_string.Po - -rm -f ./$(DEPDIR)/libtests_a-print_time.Po -Index: strace-5.7/tests-mx32/Makefile.in -=================================================================== ---- strace-5.7.orig/tests-mx32/Makefile.in 2020-09-09 19:49:39.557566736 +0200 -+++ strace-5.7/tests-mx32/Makefile.in 2020-09-09 19:52:26.062665980 +0200 -@@ -531,7 +531,7 @@ - libtests_a-libmmsg.$(OBJEXT) \ - libtests_a-libsocketcall.$(OBJEXT) \ - libtests_a-lock_file.$(OBJEXT) \ -- libtests_a-overflowuid.$(OBJEXT) \ -+ libtests_a-overflowuid.$(OBJEXT) libtests_a-pidns.$(OBJEXT) \ - libtests_a-pipe_maxfd.$(OBJEXT) \ - libtests_a-print_quoted_string.$(OBJEXT) \ - libtests_a-print_time.$(OBJEXT) \ -@@ -3899,6 +3899,7 @@ - ./$(DEPDIR)/libtests_a-libsocketcall.Po \ - ./$(DEPDIR)/libtests_a-lock_file.Po \ - ./$(DEPDIR)/libtests_a-overflowuid.Po \ -+ ./$(DEPDIR)/libtests_a-pidns.Po \ - ./$(DEPDIR)/libtests_a-pipe_maxfd.Po \ - ./$(DEPDIR)/libtests_a-print_quoted_string.Po \ - ./$(DEPDIR)/libtests_a-print_time.Po \ -@@ -5122,6 +5123,8 @@ - libsocketcall.c \ - lock_file.c \ - overflowuid.c \ -+ pidns.c \ -+ pidns.h \ - pipe_maxfd.c \ - print_quoted_string.c \ - print_time.c \ -@@ -9926,6 +9929,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-libsocketcall.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-lock_file.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-overflowuid.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-pidns.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-pipe_maxfd.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-print_quoted_string.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-print_time.Po@am__quote@ # am--include-marker -@@ -10651,6 +10655,20 @@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-overflowuid.obj `if test -f 'overflowuid.c'; then $(CYGPATH_W) 'overflowuid.c'; else $(CYGPATH_W) '$(srcdir)/overflowuid.c'; fi` - -+libtests_a-pidns.o: pidns.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-pidns.o -MD -MP -MF $(DEPDIR)/libtests_a-pidns.Tpo -c -o libtests_a-pidns.o `test -f 'pidns.c' || echo '$(srcdir)/'`pidns.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-pidns.Tpo $(DEPDIR)/libtests_a-pidns.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='pidns.c' object='libtests_a-pidns.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-pidns.o `test -f 'pidns.c' || echo '$(srcdir)/'`pidns.c -+ -+libtests_a-pidns.obj: pidns.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-pidns.obj -MD -MP -MF $(DEPDIR)/libtests_a-pidns.Tpo -c -o libtests_a-pidns.obj `if test -f 'pidns.c'; then $(CYGPATH_W) 'pidns.c'; else $(CYGPATH_W) '$(srcdir)/pidns.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-pidns.Tpo $(DEPDIR)/libtests_a-pidns.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='pidns.c' object='libtests_a-pidns.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-pidns.obj `if test -f 'pidns.c'; then $(CYGPATH_W) 'pidns.c'; else $(CYGPATH_W) '$(srcdir)/pidns.c'; fi` -+ - libtests_a-pipe_maxfd.o: pipe_maxfd.c - @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-pipe_maxfd.o -MD -MP -MF $(DEPDIR)/libtests_a-pipe_maxfd.Tpo -c -o libtests_a-pipe_maxfd.o `test -f 'pipe_maxfd.c' || echo '$(srcdir)/'`pipe_maxfd.c - @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-pipe_maxfd.Tpo $(DEPDIR)/libtests_a-pipe_maxfd.Po -@@ -11748,6 +11766,7 @@ - -rm -f ./$(DEPDIR)/libtests_a-libsocketcall.Po - -rm -f ./$(DEPDIR)/libtests_a-lock_file.Po - -rm -f ./$(DEPDIR)/libtests_a-overflowuid.Po -+ -rm -f ./$(DEPDIR)/libtests_a-pidns.Po - -rm -f ./$(DEPDIR)/libtests_a-pipe_maxfd.Po - -rm -f ./$(DEPDIR)/libtests_a-print_quoted_string.Po - -rm -f ./$(DEPDIR)/libtests_a-print_time.Po -@@ -12605,6 +12624,7 @@ - -rm -f ./$(DEPDIR)/libtests_a-libsocketcall.Po - -rm -f ./$(DEPDIR)/libtests_a-lock_file.Po - -rm -f ./$(DEPDIR)/libtests_a-overflowuid.Po -+ -rm -f ./$(DEPDIR)/libtests_a-pidns.Po - -rm -f ./$(DEPDIR)/libtests_a-pipe_maxfd.Po - -rm -f ./$(DEPDIR)/libtests_a-print_quoted_string.Po - -rm -f ./$(DEPDIR)/libtests_a-print_time.Po diff --git a/SOURCES/0138-Add-tests-for-PID-namespace-translation.patch b/SOURCES/0138-Add-tests-for-PID-namespace-translation.patch deleted file mode 100644 index 45ed9b0..0000000 --- a/SOURCES/0138-Add-tests-for-PID-namespace-translation.patch +++ /dev/null @@ -1,20054 +0,0 @@ -From 83e40ec53c3d32ee605930127fa376b1d257c934 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?=C3=81kos=20Uzonyi?= -Date: Sat, 11 Jul 2020 17:29:58 +0200 -Subject: [PATCH 138/138] Add tests for PID namespace translation - -* Makefile.am (CODE_COVERAGE_IGNORE_PATTERN): Add test directories. -* tests/.gitignore: Add new test executables. -* tests/Makefile.am (check_PROGRAMS): Add new test executables. -(DECODER_TESTS) Add new test files. -(libtests_a_SOURCES): Add trie_for_tests.c, xmalloc_for_tests.c. -* tests/gen_tests.in: Add new tests. -* tests/trie_test.c: New file. -* tests/trie_for_tests.c: New file. -* tests/xmalloc_for_tests.c: New file. -* tests/pidns-cache.c: New file. -* tests/pidns-cache.test: New file. -* tests/fcntl--pidns-translation.c: New file. -* tests/fcntl64--pidns-translation.c: New file. -* tests/fork--pidns-translation.awk: New file. -* tests/fork--pidns-translation.c: New file. -* tests/fork--pidns-translation.test: New file. -* tests/getpgrp--pidns-translation.c: New file. -* tests/getpid--pidns-translation.c: New file. -* tests/getsid--pidns-translation.c: New file. -* tests/gettid--pidns-translation.c: New file. -* tests/gettid--pidns-translation.test: New file. -* tests/ioctl_block--pidns-translation.c: New file. -* tests/ioctl_block--pidns-translation.test: New file. -* tests/ioprio--pidns-translation.c: New file. -* tests/kill--pidns-translation.c: New file. -* tests/migrate_pages--pidns-translation.c: New file. -* tests/move_pages--pidns-translation.c: New file. -* tests/net-sockaddr--pidns-translation.c: New file. -* tests/netlink_audit--pidns-translation.c: New file. -* tests/netlink_audit--pidns-translation.test: New file. -* tests/pidfd_open--pidns-translation.c: New file. -* tests/pidfd_send_signal--pidns-translation.c: New file. -* tests/prlimit64--pidns-translation.c: New file. -* tests/process_vm_readv--pidns-translation.c: New file. -* tests/process_vm_writev--pidns-translation.c: New file. -* tests/rt_sigqueueinfo--pidns-translation.c: New file. -* tests/rt_tgsigqueueinfo--pidns-translation.c: New file. -* tests/sched_xetaffinity--pidns-translation.c: New file. -* tests/sched_xetattr--pidns-translation.c: New file. -* tests/sched_xetparam--pidns-translation.c: New file. -* tests/sched_xetscheduler--pidns-translation.c: New file. -* tests/signal_receive--pidns-translation.c: New file. -* tests/so_peercred--pidns-translation.c: New file. -* tests/tkill--pidns-translation.c: New file. -* tests/tgkill--pidns-translation.c: New file. -* tests/xet_robust_list--pidns-translation.c: New file. -* tests/xetpgid--pidns-translation.c: New file. -* tests/xetpriority--pidns-translation.c: New file. -* tests/fcntl-common.c: Print PID translation string after PIDs. -* tests/fcntl.c: Likewise. -* tests/fcntl64.c: Likewise. -* tests/getpgrp.c: Likewise. -* tests/getpid.c: Likewise. -* tests/getsid.c: Likewise. -* tests/gettid.c: Likewise. -* tests/ioctl_block.c: Likewise. -* tests/ioprio.c: Likewise. -* tests/kcmp.c: Likewise. -* tests/kill.c: Likewise. -* tests/migrate_pages.c: Likewise. -* tests/move_pages.c: Likewise. -* tests/net-sockaddr.c: Likewise. -* tests/netlink_audit.c: Likewise. -* tests/pidfd_open.c: Likewise. -* tests/pidfd_send_signal.c: Likewise. -* tests/prlimit64.c: Likewise. -* tests/process_vm_readv_writev.c: Likewise. -* tests/rt_sigqueueinfo.c: Likewise. -* tests/rt_tgsigqueueinfo.c: Likewise. -* tests/sched_xetaffinity.c: Likewise. -* tests/sched_xetattr.c: Likewise. -* tests/sched_xetparam.c: Likewise. -* tests/sched_xetscheduler.c: Likewise. -* tests/signal_receive.c: Likewise. -* tests/so_peercred.c: Likewise. -* tests/tgkill.c: Likewise. -* tests/tkill.c: Likewise. -* tests/xet_robust_list.c: Likewise. -* tests/xetpgid.c: Likewise. -* tests/xetpriority.c: Likewise. ---- - Makefile.am | 2 +- - tests/.gitignore | 35 ++++++++ - tests/Makefile.am | 47 ++++++++++ - tests/fcntl--pidns-translation.c | 2 + - tests/fcntl-common.c | 78 ++++++++++++----- - tests/fcntl.c | 1 + - tests/fcntl64--pidns-translation.c | 2 + - tests/fcntl64.c | 3 + - tests/fork--pidns-translation.awk | 15 ++++ - tests/fork--pidns-translation.c | 78 +++++++++++++++++ - tests/fork--pidns-translation.test | 14 +++ - tests/gen_tests.in | 32 ++++++- - tests/getpgrp--pidns-translation.c | 2 + - tests/getpgrp.c | 8 +- - tests/getpid--pidns-translation.c | 2 + - tests/getpid.c | 8 +- - tests/getsid--pidns-translation.c | 2 + - tests/getsid.c | 9 +- - tests/gettid--pidns-translation.c | 2 + - tests/gettid--pidns-translation.test | 18 ++++ - tests/gettid.c | 8 +- - tests/ioctl_block--pidns-translation.c | 2 + - tests/ioctl_block--pidns-translation.test | 22 +++++ - tests/ioctl_block.c | 24 ++++- - tests/ioprio--pidns-translation.c | 2 + - tests/ioprio.c | 54 ++++++++---- - tests/kcmp-y--pidns-translation.c | 2 + - tests/kcmp.c | 11 ++- - tests/kill--pidns-translation.c | 2 + - tests/kill.c | 12 ++- - tests/migrate_pages--pidns-translation.c | 2 + - tests/migrate_pages.c | 17 +++- - tests/move_pages--pidns-translation.c | 2 + - tests/move_pages.c | 51 +++++++---- - tests/net-sockaddr--pidns-translation.c | 2 + - tests/net-sockaddr.c | 60 ++++++++++++- - tests/netlink_audit--pidns-translation.c | 2 + - tests/netlink_audit--pidns-translation.test | 13 +++ - tests/netlink_audit.c | 11 ++- - tests/pidfd_open--pidns-translation.c | 2 + - tests/pidfd_open.c | 21 +++-- - tests/pidfd_send_signal--pidns-translation.c | 2 + - tests/pidfd_send_signal.c | 13 ++- - tests/pidns-cache.c | 62 +++++++++++++ - tests/pidns-cache.test | 15 ++++ - tests/prlimit64--pidns-translation.c | 2 + - tests/prlimit64.c | 17 +++- - tests/process_vm_readv--pidns-translation.c | 2 + - tests/process_vm_readv_writev.c | 27 +++--- - tests/process_vm_writev--pidns-translation.c | 2 + - tests/rt_sigqueueinfo--pidns-translation.c | 2 + - tests/rt_sigqueueinfo.c | 15 +++- - tests/rt_tgsigqueueinfo--pidns-translation.c | 2 + - tests/rt_tgsigqueueinfo.c | 26 ++++-- - tests/sched_xetaffinity--pidns-translation.c | 2 + - tests/sched_xetaffinity.c | 31 ++++--- - tests/sched_xetattr--pidns-translation.c | 2 + - tests/sched_xetattr.c | 47 +++++++++- - tests/sched_xetparam--pidns-translation.c | 2 + - tests/sched_xetparam.c | 20 +++-- - tests/sched_xetscheduler--pidns-translation.c | 2 + - tests/sched_xetscheduler.c | 44 +++++++--- - tests/signal_receive--pidns-translation.c | 2 + - tests/signal_receive.c | 22 +++-- - tests/so_peercred--pidns-translation.c | 2 + - tests/so_peercred.c | 22 +++++ - tests/tgkill--pidns-translation.c | 2 + - tests/tgkill.c | 51 +++++++---- - tests/tkill--pidns-translation.c | 2 + - tests/tkill.c | 19 ++-- - tests/trie_for_tests.c | 1 + - tests/trie_test.c | 121 ++++++++++++++++++++++++++ - tests/xet_robust_list--pidns-translation.c | 2 + - tests/xet_robust_list.c | 18 +++- - tests/xetpgid--pidns-translation.c | 2 + - tests/xetpgid.c | 21 +++-- - tests/xetpriority--pidns-translation.c | 2 + - tests/xetpriority.c | 20 ++++- - tests/xmalloc_for_tests.c | 2 + - 79 files changed, 1143 insertions(+), 187 deletions(-) - create mode 100644 tests/fcntl--pidns-translation.c - create mode 100644 tests/fcntl64--pidns-translation.c - create mode 100644 tests/fork--pidns-translation.awk - create mode 100644 tests/fork--pidns-translation.c - create mode 100755 tests/fork--pidns-translation.test - create mode 100644 tests/getpgrp--pidns-translation.c - create mode 100644 tests/getpid--pidns-translation.c - create mode 100644 tests/getsid--pidns-translation.c - create mode 100644 tests/gettid--pidns-translation.c - create mode 100755 tests/gettid--pidns-translation.test - create mode 100644 tests/ioctl_block--pidns-translation.c - create mode 100755 tests/ioctl_block--pidns-translation.test - create mode 100644 tests/ioprio--pidns-translation.c - create mode 100644 tests/kcmp-y--pidns-translation.c - create mode 100644 tests/kill--pidns-translation.c - create mode 100644 tests/migrate_pages--pidns-translation.c - create mode 100644 tests/move_pages--pidns-translation.c - create mode 100644 tests/net-sockaddr--pidns-translation.c - create mode 100644 tests/netlink_audit--pidns-translation.c - create mode 100755 tests/netlink_audit--pidns-translation.test - create mode 100644 tests/pidfd_open--pidns-translation.c - create mode 100644 tests/pidfd_send_signal--pidns-translation.c - create mode 100644 tests/pidns-cache.c - create mode 100755 tests/pidns-cache.test - create mode 100644 tests/prlimit64--pidns-translation.c - create mode 100644 tests/process_vm_readv--pidns-translation.c - create mode 100644 tests/process_vm_writev--pidns-translation.c - create mode 100644 tests/rt_sigqueueinfo--pidns-translation.c - create mode 100644 tests/rt_tgsigqueueinfo--pidns-translation.c - create mode 100644 tests/sched_xetaffinity--pidns-translation.c - create mode 100644 tests/sched_xetattr--pidns-translation.c - create mode 100644 tests/sched_xetparam--pidns-translation.c - create mode 100644 tests/sched_xetscheduler--pidns-translation.c - create mode 100644 tests/signal_receive--pidns-translation.c - create mode 100644 tests/so_peercred--pidns-translation.c - create mode 100644 tests/tgkill--pidns-translation.c - create mode 100644 tests/tkill--pidns-translation.c - create mode 100644 tests/trie_for_tests.c - create mode 100644 tests/trie_test.c - create mode 100644 tests/xet_robust_list--pidns-translation.c - create mode 100644 tests/xetpgid--pidns-translation.c - create mode 100644 tests/xetpriority--pidns-translation.c - create mode 100644 tests/xmalloc_for_tests.c - -Index: strace-5.7/Makefile.am -=================================================================== ---- strace-5.7.orig/Makefile.am 2020-09-09 19:52:30.590668679 +0200 -+++ strace-5.7/Makefile.am 2020-09-09 19:52:38.872673616 +0200 -@@ -408,7 +408,7 @@ - CODE_COVERAGE_BRANCH_COVERAGE = 1 - CODE_COVERAGE_GENHTML_OPTIONS = $(CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT) \ - --prefix $(shell cd $(abs_top_srcdir)/.. && pwd || echo .) --CODE_COVERAGE_IGNORE_PATTERN = '/usr/include/*' -+CODE_COVERAGE_IGNORE_PATTERN = '/usr/include/*' '*/tests/*' '*/tests-m32/*' '*/tests-mx32/*' - strace_CPPFLAGS += $(CODE_COVERAGE_CPPFLAGS) - strace_CFLAGS += $(CODE_COVERAGE_CFLAGS) - strace_LDADD += $(CODE_COVERAGE_LIBS) -Index: strace-5.7/tests/Makefile.am -=================================================================== ---- strace-5.7.orig/tests/Makefile.am 2020-09-09 19:52:30.590668679 +0200 -+++ strace-5.7/tests/Makefile.am 2020-09-09 19:52:38.872673616 +0200 -@@ -66,6 +66,7 @@ - test_ucopy.h \ - tests.h \ - tprintf.c \ -+ xmalloc_for_tests.c \ - # end of libtests_a_SOURCES - libtests_a_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64 - check_LIBRARIES = libtests.a -@@ -109,17 +110,25 @@ - delay \ - execve-v \ - execveat-v \ -+ fcntl--pidns-translation \ -+ fcntl64--pidns-translation \ - filter_seccomp-flag \ - filter_seccomp-perf \ - filter-unavailable \ - fork-f \ -+ fork--pidns-translation \ - fsync-y \ - get_process_reaper \ -+ getpgrp--pidns-translation \ - getpid \ -+ getpid--pidns-translation \ - getppid \ -+ getsid--pidns-translation \ - gettid \ -+ gettid--pidns-translation \ - inject-nf \ - int_0x80 \ -+ ioctl_block--pidns-translation \ - ioctl_dm-v \ - ioctl_evdev-success \ - ioctl_evdev-success-Xabbrev \ -@@ -150,18 +159,25 @@ - ioctl_v4l2-success-v-Xabbrev \ - ioctl_v4l2-success-v-Xraw \ - ioctl_v4l2-success-v-Xverbose \ -+ ioprio--pidns-translation \ - is_linux_mips_n64 \ -+ kcmp-y--pidns-translation \ - kill_child \ -+ kill--pidns-translation \ - ksysent \ - list_sigaction_signum \ - localtime \ - looping_threads \ -+ migrate_pages--pidns-translation \ - mmsg-silent \ - mmsg_name-v \ -+ move_pages--pidns-translation \ - msg_control-v \ - net-accept-connect \ -+ net-sockaddr--pidns-translation \ - net-tpacket_stats-success \ - nlattr_ifla_xdp-y \ -+ netlink_audit--pidns-translation \ - netlink_inet_diag \ - netlink_netlink_diag \ - netlink_unix_diag \ -@@ -173,14 +189,20 @@ - pc \ - perf_event_open_nonverbose \ - perf_event_open_unabbrev \ -+ pidfd_open--pidns-translation \ -+ pidfd_send_signal--pidns-translation \ -+ pidns-cache \ - poll-P \ - ppoll-P \ - ppoll-v \ -+ prlimit64--pidns-translation \ - prctl-seccomp-filter-v \ - prctl-seccomp-strict \ - prctl-spec-inject \ - print_maxfd \ - print_ppid_tracerpid \ -+ process_vm_readv--pidns-translation \ -+ process_vm_writev--pidns-translation \ - qual_fault \ - qual_inject-error-signal \ - qual_inject-retval \ -@@ -194,7 +216,13 @@ - quotactl-xfs-v \ - redirect-fds \ - restart_syscall \ -+ rt_sigqueueinfo--pidns-translation \ -+ rt_tgsigqueueinfo--pidns-translation \ - run_expect_termsig \ -+ sched_xetaffinity--pidns-translation \ -+ sched_xetattr--pidns-translation \ -+ sched_xetparam--pidns-translation \ -+ sched_xetscheduler--pidns-translation \ - scm_rights \ - seccomp-filter-v \ - seccomp-strict \ -@@ -204,25 +232,33 @@ - set_sigign \ - setpgrp-exec \ - signal_receive \ -+ signal_receive--pidns-translation \ - sleep \ - stack-fcall \ - stack-fcall-attach \ - stack-fcall-mangled \ - status-none-threads \ - status-unfinished-threads \ -+ so_peercred--pidns-translation \ - syslog-success \ -+ tgkill--pidns-translation \ - threads-execve \ - threads-execve--quiet-thread-execve \ - threads-execve-q \ - threads-execve-qq \ - threads-execve-qqq \ -+ tkill--pidns-translation \ - tracer_ppid_pgid_sid \ -+ trie_test \ - unblock_reset_raise \ - unix-pair-send-recv \ - unix-pair-sendto-recvfrom \ - vfork-f \ - wait4-v \ - waitid-v \ -+ xetpgid--pidns-translation \ -+ xetpriority--pidns-translation \ -+ xet_robust_list--pidns-translation \ - zeroargc \ - # end of check_PROGRAMS - -@@ -272,6 +308,11 @@ - stack-fcall-mangled-0.c stack-fcall-mangled-1.c \ - stack-fcall-mangled-2.c stack-fcall-mangled-3.c - -+trie_test_SOURCES = trie_test.c trie_for_tests.c -+trie_test_CPPFLAGS = $(AM_CPPFLAGS) $(CODE_COVERAGE_CPPFLAGS) -+trie_test_CFLAGS = $(AM_CFLAGS) $(CODE_COVERAGE_CFLAGS) -+trie_test_LDADD = $(LDADD) $(CODE_COVERAGE_LIBS) -+ - include gen_tests.am - - if ENABLE_STACKTRACE -@@ -308,6 +349,7 @@ - int_0x80.test \ - inotify_init-y.test \ - ioctl.test \ -+ ioctl_block--pidns-translation.test \ - ioctl_evdev-success.test \ - ipc_msgbuf.test \ - kern_features-fault.test \ -@@ -379,15 +421,19 @@ - filtering_fd-syntax.test \ - filtering_syscall-syntax.test \ - first_exec_failure.test \ -+ fork--pidns-translation.test \ - get_regs.test \ -+ gettid--pidns-translation.test \ - inject-nf.test \ - interactive_block.test \ - kill_child.test \ - localtime.test \ - looping_threads.test \ -+ netlink_audit--pidns-translation.test \ - opipe.test \ - options-syntax.test \ - pc.test \ -+ pidns-cache.test \ - printpath-umovestr-legacy.test \ - printstrn-umoven-legacy.test \ - qual_fault-syntax.test \ -@@ -465,6 +511,7 @@ - filter_seccomp.in \ - filter_seccomp.sh \ - filter-unavailable.expected \ -+ fork--pidns-translation.awk \ - fstatat.c \ - fstatx.c \ - gen_pure_executables.sh \ -Index: strace-5.7/tests/fcntl--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/fcntl--pidns-translation.c 2020-09-09 19:52:38.872673616 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "fcntl.c" -Index: strace-5.7/tests/fcntl-common.c -=================================================================== ---- strace-5.7.orig/tests/fcntl-common.c 2020-09-09 19:52:30.591668680 +0200 -+++ strace-5.7/tests/fcntl-common.c 2020-09-09 19:52:38.873673616 +0200 -@@ -13,6 +13,8 @@ - #include - #include - #include "flock.h" -+#include "pidns.h" -+#include "scno.h" - - #define FILE_LEN 4096 - -@@ -48,12 +50,14 @@ - fl->l_len = (TYPEOF_FLOCK_OFF_T) 0xdefaced2cafef00dULL; - - invoke_test_syscall(0, cmd, fl); -+ pidns_print_leader(); - printf("%s(0, %s, {l_type=F_RDLCK, l_whence=SEEK_SET" - ", l_start=%jd, l_len=%jd}) = %s\n", TEST_SYSCALL_STR, name, - (intmax_t) fl->l_start, (intmax_t) fl->l_len, errstr); - - void *const bad_addr = (void *) fl + 1; - invoke_test_syscall(0, cmd, bad_addr); -+ pidns_print_leader(); - printf("%s(0, %s, %p) = %s\n", - TEST_SYSCALL_STR, name, bad_addr, errstr); - } -@@ -72,12 +76,14 @@ - fl->l_len = (TYPEOF_FLOCK_OFF_T) 0xdefaced2cafef00dULL; - - invoke_test_syscall(0, cmd, fl); -+ pidns_print_leader(); - printf("%s(0, %s, {l_type=F_RDLCK, l_whence=SEEK_SET" - ", l_start=%jd, l_len=%jd}) = %s\n", TEST_SYSCALL_STR, name, - (intmax_t) fl->l_start, (intmax_t) fl->l_len, errstr); - - void *const bad_addr = (void *) fl + 1; - invoke_test_syscall(0, cmd, bad_addr); -+ pidns_print_leader(); - printf("%s(0, %s, %p) = %s\n", - TEST_SYSCALL_STR, name, bad_addr, errstr); - } -@@ -94,6 +100,7 @@ - fl->l_len = FILE_LEN; - - long rc = invoke_test_syscall(0, F_SETLK, fl); -+ pidns_print_leader(); - printf("%s(0, F_SETLK, {l_type=F_RDLCK, l_whence=SEEK_SET" - ", l_start=0, l_len=%d}) = %s\n", - TEST_SYSCALL_STR, FILE_LEN, errstr); -@@ -101,11 +108,13 @@ - return; - - invoke_test_syscall(0, F_GETLK, fl); -+ pidns_print_leader(); - printf("%s(0, F_GETLK, {l_type=F_UNLCK, l_whence=SEEK_SET" - ", l_start=0, l_len=%d, l_pid=0}) = 0\n", - TEST_SYSCALL_STR, FILE_LEN); - - invoke_test_syscall(0, F_SETLKW, fl); -+ pidns_print_leader(); - printf("%s(0, F_SETLKW, {l_type=F_UNLCK, l_whence=SEEK_SET" - ", l_start=0, l_len=%d}) = 0\n", - TEST_SYSCALL_STR, FILE_LEN); -@@ -124,6 +133,7 @@ - fl->l_len = FILE_LEN; - - long rc = invoke_test_syscall(0, F_OFD_SETLK, fl); -+ pidns_print_leader(); - printf("%s(0, F_OFD_SETLK, {l_type=F_RDLCK, l_whence=SEEK_SET" - ", l_start=0, l_len=%d}) = %s\n", - TEST_SYSCALL_STR, FILE_LEN, errstr); -@@ -131,11 +141,13 @@ - return; - - invoke_test_syscall(0, F_OFD_GETLK, fl); -+ pidns_print_leader(); - printf("%s(0, F_OFD_GETLK, {l_type=F_UNLCK, l_whence=SEEK_SET" - ", l_start=0, l_len=%d, l_pid=0}) = 0\n", - TEST_SYSCALL_STR, FILE_LEN); - - invoke_test_syscall(0, F_OFD_SETLKW, fl); -+ pidns_print_leader(); - printf("%s(0, F_OFD_SETLKW, {l_type=F_UNLCK, l_whence=SEEK_SET" - ", l_start=0, l_len=%d}) = 0\n", - TEST_SYSCALL_STR, FILE_LEN); -@@ -167,18 +179,21 @@ - static long - test_f_owner_ex_type_pid(const int cmd, const char *const cmd_name, - const int type, const char *const type_name, -- pid_t pid) -+ enum pid_type pid_type, pid_t pid) - { - TAIL_ALLOC_OBJECT_CONST_PTR(struct_kernel_f_owner_ex, fo); - - fo->type = type; - fo->pid = pid; - long rc = invoke_test_syscall(0, cmd, fo); -- printf("%s(0, %s, {type=%s, pid=%d}) = %s\n", -- TEST_SYSCALL_STR, cmd_name, type_name, fo->pid, errstr); -+ pidns_print_leader(); -+ printf("%s(0, %s, {type=%s, pid=%d%s}) = %s\n", -+ TEST_SYSCALL_STR, cmd_name, type_name, -+ fo->pid, pidns_pid2str(pid_type), errstr); - - void *bad_addr = (void *) fo + 1; - invoke_test_syscall(0, cmd, bad_addr); -+ pidns_print_leader(); - printf("%s(0, %s, %p) = %s\n", - TEST_SYSCALL_STR, cmd_name, bad_addr, errstr); - -@@ -187,35 +202,35 @@ - - static void - test_f_owner_ex_umove_or_printaddr(const int type, const char *const type_name, -- pid_t pid) -+ enum pid_type pid_type, pid_t pid) - { - long rc = test_f_owner_ex_type_pid(ARG_STR(F_SETOWN_EX), -- type, type_name, pid); -+ type, type_name, pid_type, pid); - if (!rc) - test_f_owner_ex_type_pid(ARG_STR(F_GETOWN_EX), -- type, type_name, pid); -+ type, type_name, pid_type, pid); - } - - static void - test_f_owner_ex(void) - { -- static const struct { -+ struct { - int type; - const char *type_name; -- pid_t pid[2]; -+ enum pid_type pid_type; -+ pid_t pid; - } a[] = { -- { ARG_STR(F_OWNER_TID), { 1234567890, 20 } }, -- { ARG_STR(F_OWNER_PID), { 1298126790, 30 } }, -- { ARG_STR(F_OWNER_PGRP), { 1294567890, 40 } } -+ { ARG_STR(F_OWNER_TID), PT_NONE, 1234567890 }, -+ { ARG_STR(F_OWNER_PID), PT_NONE, 1234567890 }, -+ { ARG_STR(F_OWNER_PGRP), PT_NONE, 1234567890 }, -+ { ARG_STR(F_OWNER_TID), PT_TID, syscall(__NR_gettid) }, -+ { ARG_STR(F_OWNER_PID), PT_TGID, getpid() }, -+ { ARG_STR(F_OWNER_PGRP), PT_PGID, getpgid(0) }, - }; - -- for (unsigned int i = 0; i < ARRAY_SIZE(a); i++) { -- for (unsigned int j = 0; j < ARRAY_SIZE(a[0].pid); j++) { -- test_f_owner_ex_umove_or_printaddr(a[i].type, -- a[i].type_name, -- a[i].pid[j]); -- } -- } -+ for (unsigned int i = 0; i < ARRAY_SIZE(a); i++) -+ test_f_owner_ex_umove_or_printaddr(a[i].type, a[i].type_name, -+ a[i].pid_type, a[i].pid); - } - #endif /* TEST_F_OWNER_EX */ - -@@ -229,6 +244,23 @@ - }; - - static void -+test_xetown(void) -+{ -+ const int pid = getpid(); -+ const char *pid_str = pidns_pid2str(PT_TGID); -+ -+ invoke_test_syscall(0, F_SETOWN, (void *) (intptr_t) pid); -+ pidns_print_leader(); -+ printf("%s(0, F_SETOWN, %d%s) = %s\n", -+ TEST_SYSCALL_STR, pid, pid_str, errstr); -+ -+ invoke_test_syscall(0, F_GETOWN, NULL); -+ pidns_print_leader(); -+ printf("%s(0, F_GETOWN) = %d%s\n", -+ TEST_SYSCALL_STR, pid, pid_str); -+} -+ -+static void - print_retval_flags(const struct fcntl_cmd_check *check, long rc) - { - if (check->print_flags) { -@@ -243,12 +275,14 @@ - test_other_set_cmd(const struct fcntl_cmd_check *check) - { - invoke_test_syscall(check->fd, check->cmd, (void *) check->arg); -+ pidns_print_leader(); - printf("%s(%d, %s, %s) = %s\n", - TEST_SYSCALL_STR, check->fd, - check->cmd_str, check->arg_str, errstr); - - /* bad file fd */ - invoke_test_syscall(-1, check->cmd, (void *) check->arg); -+ pidns_print_leader(); - printf("%s(-1, %s, %s) = %s\n", - TEST_SYSCALL_STR, check->cmd_str, - check->arg_str, errstr); -@@ -258,12 +292,14 @@ - test_other_get_cmd(const struct fcntl_cmd_check *check) - { - long rc = invoke_test_syscall(check->fd, check->cmd, NULL); -+ pidns_print_leader(); - printf("%s(%d, %s) = ", - TEST_SYSCALL_STR, check->fd, check->cmd_str); - print_retval_flags(check, rc); - - /* bad file fd */ - invoke_test_syscall(-1, check->cmd, NULL); -+ pidns_print_leader(); - printf("%s(-1, %s) = %s\n", - TEST_SYSCALL_STR, check->cmd_str, errstr); - } -@@ -315,7 +351,6 @@ - { - static const struct fcntl_cmd_check set_checks[] = { - { 0, ARG_STR(F_SETFD), ARG_STR(FD_CLOEXEC) }, -- { 0, ARG_STR(F_SETOWN), ARG_STR(20) }, - #ifdef F_SETPIPE_SZ - { 0, ARG_STR(F_SETPIPE_SZ), ARG_STR(4097) }, - #endif -@@ -336,7 +371,6 @@ - static const struct fcntl_cmd_check get_checks[] = { - { 0, ARG_STR(F_GETFD), .print_flags = print_flags_getfd }, - { 1, ARG_STR(F_GETFD), .print_flags = print_flags_getfd }, -- { 0, ARG_STR(F_GETOWN) }, - #ifdef F_GETPIPE_SZ - { 0, ARG_STR(F_GETPIPE_SZ) }, - #endif -@@ -360,6 +394,8 @@ - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - create_sample(); - test_flock(); - test_flock64(); -@@ -367,7 +403,9 @@ - test_f_owner_ex(); - #endif - test_fcntl_others(); -+ test_xetown(); - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests/fcntl.c -=================================================================== ---- strace-5.7.orig/tests/fcntl.c 2020-09-09 19:52:30.591668680 +0200 -+++ strace-5.7/tests/fcntl.c 2020-09-09 19:52:38.873673616 +0200 -@@ -24,6 +24,7 @@ - .l_len = 0xdefaced2cafef00dULL - }; - invoke_test_syscall(0, cmd, &fl); -+ pidns_print_leader(); - printf("%s(0, %s, %p) = %s\n", - TEST_SYSCALL_STR, name, &fl, errstr); - } -Index: strace-5.7/tests/fcntl64--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/fcntl64--pidns-translation.c 2020-09-09 19:52:38.873673616 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "fcntl64.c" -Index: strace-5.7/tests/fcntl64.c -=================================================================== ---- strace-5.7.orig/tests/fcntl64.c 2020-09-09 19:52:30.592668681 +0200 -+++ strace-5.7/tests/fcntl64.c 2020-09-09 19:52:38.873673616 +0200 -@@ -27,6 +27,7 @@ - fl->l_len = FILE_LEN; - - long rc = invoke_test_syscall(0, F_SETLK64, fl); -+ pidns_print_leader(); - printf("%s(0, F_SETLK64, {l_type=F_RDLCK, l_whence=SEEK_SET" - ", l_start=0, l_len=%d}) = %s\n", - TEST_SYSCALL_STR, FILE_LEN, errstr); -@@ -35,11 +36,13 @@ - return; - - invoke_test_syscall(0, F_GETLK64, fl); -+ pidns_print_leader(); - printf("%s(0, F_GETLK64, {l_type=F_UNLCK, l_whence=SEEK_SET" - ", l_start=0, l_len=%d, l_pid=0}) = 0\n", - TEST_SYSCALL_STR, FILE_LEN); - - invoke_test_syscall(0, F_SETLKW64, fl); -+ pidns_print_leader(); - printf("%s(0, F_SETLKW64, {l_type=F_UNLCK, l_whence=SEEK_SET" - ", l_start=0, l_len=%d}) = 0\n", - TEST_SYSCALL_STR, FILE_LEN); -Index: strace-5.7/tests/fork--pidns-translation.awk -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/fork--pidns-translation.awk 2020-09-09 19:52:38.873673616 +0200 -@@ -0,0 +1,15 @@ -+/fork/ { -+ match($0, "([0-9]+) in strace\x27s PID NS", a); -+ if (a[1]) -+ fork_pid = a[1] -+} -+ -+/exited with 0/ { -+ if (!exit_pid) -+ exit_pid = $1 -+} -+ -+END { -+ if (!fork_pid || !exit_pid || fork_pid != exit_pid) -+ exit 1 -+} -Index: strace-5.7/tests/fork--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/fork--pidns-translation.c 2020-09-09 19:52:38.874673617 +0200 -@@ -0,0 +1,78 @@ -+/* -+ * Test PID namespace translation -+ * -+ * Copyright (c) 2020 Ákos Uzonyi -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: LGPL-2.1-or-later -+ */ -+ -+#include "tests.h" -+#include "scno.h" -+#include "pidns.h" -+ -+#ifdef __NR_fork -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include "nsfs.h" -+ -+#ifndef CLONE_NEWUSER -+# define CLONE_NEWUSER 0x10000000 -+#endif -+ -+#ifndef CLONE_NEWPID -+# define CLONE_NEWPID 0x20000000 -+#endif -+ -+static int -+fork_chain(int depth) -+{ -+ if (!depth) -+ return 0; -+ -+ int pid = syscall(__NR_fork); -+ if (pid < 0) -+ return errno; -+ -+ if (!pid) -+ _exit(fork_chain(depth - 1)); -+ -+ int status; -+ if (wait(&status) < 0) -+ return errno; -+ -+ if (!WIFEXITED(status)) -+ return -1; -+ -+ return WEXITSTATUS(status); -+} -+ -+int main(void) -+{ -+ check_ns_ioctl(); -+ -+ if (unshare(CLONE_NEWPID | CLONE_NEWUSER) < 0) { -+ if (errno == EPERM) -+ perror_msg_and_skip("unshare"); -+ -+ perror_msg_and_fail("unshare"); -+ } -+ -+ errno = fork_chain(2); -+ if (errno) -+ perror("fork_chain"); -+} -+ -+#else -+ -+SKIP_MAIN_UNDEFINED("__NR_fork") -+ -+#endif -Index: strace-5.7/tests/fork--pidns-translation.test -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/fork--pidns-translation.test 2020-09-09 19:52:38.874673617 +0200 -@@ -0,0 +1,14 @@ -+#!/bin/sh -+# -+# Check pidns translation of fork's return value. -+# -+# Copyright (c) 2020 The strace developers. -+# All rights reserved. -+# -+# SPDX-License-Identifier: LGPL-2.1-or-later -+ -+. "${srcdir=.}/init.sh" -+ -+run_prog -+run_strace -a6 --pidns-translation -f -e trace=fork $args -+match_awk -Index: strace-5.7/tests/gen_tests.in -=================================================================== ---- strace-5.7.orig/tests/gen_tests.in 2020-09-09 19:52:30.593668681 +0200 -+++ strace-5.7/tests/gen_tests.in 2020-09-09 19:52:38.874673617 +0200 -@@ -88,7 +88,9 @@ - fchown32 -a18 - fchownat - fcntl -a8 -+fcntl--pidns-translation test_pidns -a8 -e trace=fcntl - fcntl64 -a8 -+fcntl64--pidns-translation test_pidns -a8 -e trace=fcntl64 - fdatasync -a14 - file_handle -e trace=name_to_handle_at,open_by_handle_at - file_ioctl +ioctl.test -@@ -142,7 +144,9 @@ - getgroups32 -a19 - getpeername -a27 - getpgrp -a10 -+getpgrp--pidns-translation test_pidns -e trace=getpgrp -a10 - getpid -a9 -+getpid--pidns-translation test_pidns -e trace=getpid -a9 - getppid -a10 - getrandom -a32 -s3 - getresgid -a25 -@@ -152,6 +156,7 @@ - getrlimit -a27 - getrusage -v - getsid -a10 -+getsid--pidns-translation test_pidns -e trace=getsid -a10 - getsockname -a27 - gettid -a9 - getuid-creds +getuid.test -@@ -245,6 +250,7 @@ - ioperm -a27 - iopl -a8 - ioprio -a18 -e trace=ioprio_get,ioprio_set -+ioprio--pidns-translation test_pidns -a18 -e trace=ioprio_get,ioprio_set - ioprio-Xabbrev -a18 -e trace=ioprio_get,ioprio_set -Xabbrev - ioprio-Xraw -a18 -e trace=ioprio_get,ioprio_set -Xraw - ioprio-Xverbose -a18 -e trace=ioprio_get,ioprio_set -Xverbose -@@ -267,6 +273,7 @@ - ipc_shm-Xverbose +ipc.sh -Xverbose -a34 - kcmp -a22 - kcmp-y -a22 -y -e trace=kcmp -+kcmp-y--pidns-translation test_pidns -a22 -y -e trace=kcmp - kern_features -a16 - kernel_version -a16 -v -e trace=bpf - kernel_version-Xabbrev -a16 -Xabbrev -v -e trace=bpf -@@ -279,6 +286,7 @@ - keyctl-Xraw -a13 -s10 -e trace=keyctl -Xraw - keyctl-Xverbose -a41 -s10 -e trace=keyctl -Xverbose - kill -a12 -esignal=none -+kill--pidns-translation test_pidns -a12 -e trace=kill -esignal=none - ksysent ../$NAME - lchown -a30 - lchown32 -a32 -@@ -300,6 +308,7 @@ - memfd_create-Xraw -a30 -Xraw -e trace=memfd_create - memfd_create-Xverbose -Xverbose -e trace=memfd_create - migrate_pages -a33 -+migrate_pages--pidns-translation test_pidns -a33 -e trace=migrate_pages - mincore -a22 - mkdir -a20 - mkdirat -a28 -@@ -330,6 +339,7 @@ - move_pages-Xabbrev -s3 -e trace=move_pages -Xabbrev - move_pages-Xraw -s3 -a36 -e trace=move_pages -Xraw - move_pages-Xverbose -s3 -e trace=move_pages -Xverbose -+move_pages--pidns-translation test_pidns -s3 -e trace=move_pages - mq -a32 -e trace=mq_getsetattr,mq_open,mq_unlink - mq_sendrecv -a14 -e trace=mq_open,mq_notify,mq_timedsend,mq_timedreceive,mq_unlink - mq_sendrecv-read -eread=0 -a14 -e trace=mq_open,mq_notify,mq_timedsend,mq_timedreceive,mq_unlink -@@ -349,6 +359,7 @@ - net-packet_mreq-Xraw -e trace=setsockopt -Xraw - net-packet_mreq-Xverbose -e trace=setsockopt -Xverbose - net-sockaddr -a24 -e trace=connect -+net-sockaddr--pidns-translation test_pidns -a24 -e trace=connect - net-tpacket_req -e trace=setsockopt - net-tpacket_stats -e trace=getsockopt - net-yy-inet6 +net-yy-inet.test -@@ -452,7 +463,9 @@ - pidfd_open-P -a17 -P /dev/full -e trace=pidfd_open - pidfd_open-y -a17 -y -e trace=pidfd_open - pidfd_open-yy -a17 -yy -e trace=pidfd_open -+pidfd_open--pidns-translation test_pidns -a17 -e trace=pidfd_open - pidfd_send_signal -+pidfd_send_signal--pidns-translation test_pidns -e trace=pidfd_send_signal - pipe2 -a15 - pkey_alloc -a17 - pkey_free -a13 -@@ -475,8 +488,11 @@ - printstrn-umoven-peekdata -e signal=none -e trace=add_key - printstrn-umoven-undumpable -e signal=none -e trace=add_key - prlimit64 -+prlimit64--pidns-translation test_pidns -e trace=prlimit64 - process_vm_readv -s5 -a37 -+process_vm_readv--pidns-translation test_pidns -s5 -a37 -e trace=process_vm_readv - process_vm_writev -s5 -a38 -+process_vm_writev--pidns-translation test_pidns -s5 -a38 -e trace=process_vm_writev - pselect6 - ptrace -a23 -e signal=none - ptrace_syscall_info -a35 -e signal=none -e trace=ptrace -@@ -513,10 +529,12 @@ - rt_sigpending -a20 - rt_sigprocmask - rt_sigqueueinfo -esignal=none -+rt_sigqueueinfo--pidns-translation test_pidns -esignal=none -e trace=rt_sigqueueinfo - rt_sigreturn -esignal='!USR1' - rt_sigsuspend -a20 -esignal=none - rt_sigtimedwait -a38 - rt_tgsigqueueinfo -esignal=none -+rt_tgsigqueueinfo--pidns-translation test_pidns -esignal=none -e trace=rt_tgsigqueueinfo - s390_guarded_storage -a32 - s390_guarded_storage-v -e trace=s390_guarded_storage -a32 -v - s390_pci_mmio_read_write -e trace=s390_pci_mmio_read,s390_pci_mmio_write -a30 -@@ -527,9 +545,13 @@ - sched_get_priority_mxx -a33 -e trace=sched_get_priority_min,sched_get_priority_max - sched_rr_get_interval -a31 - sched_xetaffinity -a28 -e trace=sched_getaffinity,sched_setaffinity -+sched_xetaffinity--pidns-translation test_pidns -a28 -e trace=sched_getaffinity,sched_setaffinity - sched_xetattr -a29 -e trace=sched_getattr,sched_setattr -+sched_xetattr--pidns-translation test_pidns -a29 -e trace=sched_getattr,sched_setattr - sched_xetparam -a23 -e trace=sched_getparam,sched_setparam -+sched_xetparam--pidns-translation test_pidns -a23 -e trace=sched_getparam,sched_setparam - sched_xetscheduler -a22 -e trace=sched_getscheduler,sched_setscheduler -+sched_xetscheduler--pidns-translation test_pidns -a22 -e trace=sched_getscheduler,sched_setscheduler - sched_yield -a14 - seccomp-filter -e trace=seccomp - seccomp-filter-v -v -e trace=seccomp -@@ -576,6 +598,7 @@ - siginfo -e trace=none - signal -a25 -e signal=none -e trace='/^signal$' - signal_receive -a16 -e trace=kill -+signal_receive--pidns-translation test_pidns -a16 -e trace=kill - signalfd4 - sigpending -a15 - sigprocmask -a34 -@@ -587,6 +610,7 @@ - so_peercred-Xabbrev -e trace=getsockopt -Xabbrev - so_peercred-Xraw -e trace=getsockopt -Xraw -a39 - so_peercred-Xverbose -e trace=getsockopt -Xverbose -+so_peercred--pidns-translation test_pidns -e trace=getsockopt - sock_filter-v -v -e trace=getsockopt,setsockopt - sock_filter-v-Xabbrev -v -e trace=getsockopt,setsockopt -X abbrev - sock_filter-v-Xraw -a 37 -v -e trace=getsockopt,setsockopt -X raw -@@ -659,6 +683,7 @@ - syslog -a35 - tee - tgkill -a15 --signal='!cont' -+tgkill--pidns-translation test_pidns -a15 --signal='!cont' -e trace=tgkill - threads-execve--quiet-thread-execve +threads-execve.test -s40 --quiet=personality,thread-execve - threads-execve-q +threads-execve.test -q - threads-execve-qq +threads-execve.test -qq -@@ -670,6 +695,7 @@ - times -esignal=none - times-fail -a12 -e trace=times - tkill -a12 --signal='!cont' -+tkill--pidns-translation test_pidns --signal='!cont' -a12 -e trace=tkill - trace_clock test_trace_expr 'clock_nanosleep|times' -e%clock - trace_creds test_trace_expr '([gs]et[^p]*([gu]id|groups)|caps|prctl|[fl]?chown|print(path-umovestr|strn-umoven)-undumpable|ptrace|quotactl|rt_sigtimedwait|rt_(tg)?sigqueueinfo).*' -e%creds - trace_fstat test_trace_expr '' -e%fstat -v -P stat.sample -P /dev/full -@@ -686,6 +712,7 @@ - trace_stat_like test_trace_expr '' -e%%stat -v -P stat.sample -P /dev/full - trace_statfs test_trace_expr '' -e%statfs - trace_statfs_like test_trace_expr '' -e%%statfs -+trie_test run_prog - truncate - truncate64 - ugetrlimit -a28 -@@ -716,7 +743,10 @@ - xattr -a22 -e trace=getxattr,fgetxattr,lgetxattr,setxattr,fsetxattr,lsetxattr,listxattr,flistxattr,llistxattr,removexattr,fremovexattr,lremovexattr - xattr-strings -a22 -s 4 -e trace=fsetxattr - xet_robust_list -a24 -e trace=get_robust_list,set_robust_list -+xet_robust_list--pidns-translation test_pidns -a24 -e trace=get_robust_list,set_robust_list - xetitimer -a29 -e trace=setitimer,getitimer - xetpgid -a11 -e trace=getpgid,setpgid --xetpriority -a29 -e trace=getpriority,setpriority -+xetpgid--pidns-translation test_pidns -a11 -e trace=getpgid,setpgid -+xetpriority -a27 -e trace=getpriority,setpriority -+xetpriority--pidns-translation test_pidns -a27 -e trace=getpriority,setpriority - xettimeofday -a20 -e trace=gettimeofday,settimeofday -Index: strace-5.7/tests/getpgrp--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/getpgrp--pidns-translation.c 2020-09-09 19:52:38.875673618 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "getpgrp.c" -Index: strace-5.7/tests/getpgrp.c -=================================================================== ---- strace-5.7.orig/tests/getpgrp.c 2020-09-09 19:52:30.593668681 +0200 -+++ strace-5.7/tests/getpgrp.c 2020-09-09 19:52:38.875673618 +0200 -@@ -7,6 +7,7 @@ - - #include "tests.h" - #include "scno.h" -+#include "pidns.h" - - #ifdef __NR_getpgrp - -@@ -16,8 +17,13 @@ - int - main(void) - { -- printf("getpgrp() = %ld\n", syscall(__NR_getpgrp)); -+ PIDNS_TEST_INIT; - -+ pidns_print_leader(); -+ printf("getpgrp() = %d%s\n", (int) syscall(__NR_getpgrp), -+ pidns_pid2str(PT_PGID)); -+ -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests/getpid--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/getpid--pidns-translation.c 2020-09-09 19:52:38.875673618 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "getpid.c" -Index: strace-5.7/tests/getpid.c -=================================================================== ---- strace-5.7.orig/tests/getpid.c 2020-09-09 19:52:30.593668681 +0200 -+++ strace-5.7/tests/getpid.c 2020-09-09 19:52:38.875673618 +0200 -@@ -7,6 +7,7 @@ - - #include "tests.h" - #include "scno.h" -+#include "pidns.h" - - #if defined __NR_getpid && (!defined __NR_getxpid || __NR_getxpid != __NR_getpid) - -@@ -16,7 +17,12 @@ - int - main(void) - { -- printf("getpid() = %ld\n", syscall(__NR_getpid)); -+ PIDNS_TEST_INIT; -+ -+ pidns_print_leader(); -+ printf("getpid() = %d%s\n", (int) syscall(__NR_getpid), -+ pidns_pid2str(PT_TGID)); -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests/getsid--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/getsid--pidns-translation.c 2020-09-09 19:52:38.875673618 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "getsid.c" -Index: strace-5.7/tests/getsid.c -=================================================================== ---- strace-5.7.orig/tests/getsid.c 2020-09-09 19:52:30.594668682 +0200 -+++ strace-5.7/tests/getsid.c 2020-09-09 19:52:38.876673618 +0200 -@@ -6,15 +6,22 @@ - */ - - #include "tests.h" -+#include "pidns.h" -+ - #include - #include - - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - pid_t pid = getpid(); -- printf("getsid(%d) = %d\n", pid, getsid(pid)); -+ pidns_print_leader(); -+ printf("getsid(%d%s) = %d%s\n", pid, pidns_pid2str(PT_TGID), -+ getsid(pid), pidns_pid2str(PT_SID)); - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests/gettid--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/gettid--pidns-translation.c 2020-09-09 19:52:38.876673618 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "gettid.c" -Index: strace-5.7/tests/gettid--pidns-translation.test -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/gettid--pidns-translation.test 2020-09-09 19:52:38.876673618 +0200 -@@ -0,0 +1,18 @@ -+#!/bin/sh -+# -+# Check pidns translation of gettid's return value. -+# -+# Copyright (c) 2020 The strace developers. -+# All rights reserved. -+# -+# SPDX-License-Identifier: LGPL-2.1-or-later -+ -+. "${srcdir=.}/init.sh" -+ -+run_prog > /dev/null -+run_strace -a9 --pidns-translation -f -e trace=gettid $args > "$EXP" -+parent_pid="$(tail -n 2 $LOG | head -n 1 | cut -d' ' -f1)" -+init_pid="$(tail -n 1 $LOG | cut -d' ' -f1)" -+# uniq: filter out extra gettid calls made by musl libc -+grep -E -v "^($parent_pid|$init_pid) |unfinished|resumed" "$LOG" | uniq > "$OUT" -+match_diff "$OUT" "$EXP" -Index: strace-5.7/tests/gettid.c -=================================================================== ---- strace-5.7.orig/tests/gettid.c 2020-09-09 19:52:30.594668682 +0200 -+++ strace-5.7/tests/gettid.c 2020-09-09 19:52:38.876673618 +0200 -@@ -9,11 +9,17 @@ - #include - #include - #include "scno.h" -+#include "pidns.h" - - int - main(void) - { -- printf("gettid() = %ld\n", syscall(__NR_gettid)); -+ PIDNS_TEST_INIT; -+ -+ pidns_print_leader(); -+ printf("gettid() = %d%s\n", (int) syscall(__NR_gettid), -+ pidns_pid2str(PT_TID)); -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests/ioctl_block--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/ioctl_block--pidns-translation.c 2020-09-09 19:52:38.876673618 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "ioctl_block.c" -Index: strace-5.7/tests/ioctl_block--pidns-translation.test -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/ioctl_block--pidns-translation.test 2020-09-09 19:52:38.877673619 +0200 -@@ -0,0 +1,22 @@ -+#!/bin/sh -+# -+# Check pidns translation of ioctl(BLK*) syscall decoding. -+# -+# Copyright (c) 2020 The strace developers. -+# All rights reserved. -+# -+# SPDX-License-Identifier: LGPL-2.1-or-later -+ -+. "${srcdir=.}/init.sh" -+ -+check_prog head -+check_prog tail -+check_prog cut -+check_prog grep -+ -+run_prog > /dev/null -+run_strace --pidns-translation -f -a16 -e trace=ioctl $@ $args > "$EXP" -+parent_pid="$(tail -n 2 $LOG | head -n 1 | cut -d' ' -f1)" -+init_pid="$(tail -n 1 $LOG | cut -d' ' -f1)" -+grep -E -v "^($parent_pid|$init_pid) |ioctl\([0123][,<]" "$LOG" > "$OUT" -+match_diff "$OUT" "$EXP" -Index: strace-5.7/tests/ioctl_block.c -=================================================================== ---- strace-5.7.orig/tests/ioctl_block.c 2020-09-09 19:52:30.595668682 +0200 -+++ strace-5.7/tests/ioctl_block.c 2020-09-09 19:52:38.877673619 +0200 -@@ -9,7 +9,9 @@ - */ - - #include "tests.h" -+#include "pidns.h" - #include -+#include - #include - #include - #include -@@ -41,12 +43,15 @@ - #define TEST_NULL_ARG(cmd) \ - do { \ - ioctl(-1, cmd, 0); \ -+ pidns_print_leader(); \ - printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", #cmd); \ - } while (0) - - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - TEST_NULL_ARG(BLKBSZGET); - TEST_NULL_ARG(BLKBSZSET); - TEST_NULL_ARG(BLKFRAGET); -@@ -91,18 +96,22 @@ - #endif - - ioctl(-1, BLKRASET, lmagic); -+ pidns_print_leader(); - printf("ioctl(-1, BLKRASET, %lu) = -1 EBADF (%m)\n", lmagic); - - ioctl(-1, BLKFRASET, lmagic); -+ pidns_print_leader(); - printf("ioctl(-1, BLKFRASET, %lu) = -1 EBADF (%m)\n", lmagic); - - TAIL_ALLOC_OBJECT_CONST_PTR(int, val_int); - *val_int = magic; - - ioctl(-1, BLKROSET, val_int); -+ pidns_print_leader(); - printf("ioctl(-1, BLKROSET, [%d]) = -1 EBADF (%m)\n", *val_int); - - ioctl(-1, BLKBSZSET, val_int); -+ pidns_print_leader(); - printf("ioctl(-1, BLKBSZSET, [%d]) = -1 EBADF (%m)\n", *val_int); - - uint64_t *pair_int64 = tail_alloc(sizeof(*pair_int64) * 2); -@@ -111,18 +120,21 @@ - - #ifdef BLKDISCARD - ioctl(-1, BLKDISCARD, pair_int64); -+ pidns_print_leader(); - printf("ioctl(-1, BLKDISCARD, [%" PRIu64 ", %" PRIu64 "])" - " = -1 EBADF (%m)\n", pair_int64[0], pair_int64[1]); - #endif - - #ifdef BLKSECDISCARD - ioctl(-1, BLKSECDISCARD, pair_int64); -+ pidns_print_leader(); - printf("ioctl(-1, BLKSECDISCARD, [%" PRIu64 ", %" PRIu64 "])" - " = -1 EBADF (%m)\n", pair_int64[0], pair_int64[1]); - #endif - - #ifdef BLKZEROOUT - ioctl(-1, BLKZEROOUT, pair_int64); -+ pidns_print_leader(); - printf("ioctl(-1, BLKZEROOUT, [%" PRIu64 ", %" PRIu64 "])" - " = -1 EBADF (%m)\n", pair_int64[0], pair_int64[1]); - #endif -@@ -134,6 +146,7 @@ - blkpg->data = (void *) (unsigned long) 0xcafef00dfffffeedULL; - - ioctl(-1, BLKPG, blkpg); -+ pidns_print_leader(); - printf("ioctl(-1, BLKPG, {op=%s, flags=%d, datalen=%d" - ", data=%#lx}) = -1 EBADF (%m)\n", - "BLKPG_RESIZE_PARTITION", blkpg->flags, blkpg->datalen, -@@ -149,6 +162,7 @@ - blkpg->data = bp; - - ioctl(-1, BLKPG, blkpg); -+ pidns_print_leader(); - printf("ioctl(-1, BLKPG, {op=%s, flags=%d, datalen=%d" - ", data={start=%lld, length=%lld, pno=%d" - ", devname=\"%.*s\"..., volname=\"%.*s\"...}})" -@@ -162,25 +176,31 @@ - #if defined BLKTRACESETUP && defined HAVE_STRUCT_BLK_USER_TRACE_SETUP - TAIL_ALLOC_OBJECT_CONST_PTR(struct blk_user_trace_setup, buts); - fill_memory(buts, sizeof(*buts)); -+ buts->pid = getpid(); - - ioctl(-1, BLKTRACESETUP, buts); -+ pidns_print_leader(); - printf("ioctl(-1, BLKTRACESETUP, {act_mask=%hu, buf_size=%u, buf_nr=%u" -- ", start_lba=%" PRI__u64 ", end_lba=%" PRI__u64 ", pid=%d})" -+ ", start_lba=%" PRI__u64 ", end_lba=%" PRI__u64 ", pid=%d%s})" - " = -1 EBADF (%m)\n", - buts->act_mask, buts->buf_size, buts->buf_nr, -- buts->start_lba, buts->end_lba, buts->pid); -+ buts->start_lba, buts->end_lba, buts->pid, -+ pidns_pid2str(PT_TGID)); - #endif - - unsigned int i; - for (i = 0; i < ARRAY_SIZE(block_argless); ++i) { - ioctl(-1, (unsigned long) block_argless[i].val, lmagic); -+ pidns_print_leader(); - printf("ioctl(-1, %s) = -1 EBADF (%m)\n", block_argless[i].str); - } - - ioctl(-1, _IOC(_IOC_READ, 0x12, 0xfe, 0xff), lmagic); -+ pidns_print_leader(); - printf("ioctl(-1, %s, %#lx) = -1 EBADF (%m)\n", - "_IOC(_IOC_READ, 0x12, 0xfe, 0xff)", lmagic); - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests/ioprio--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/ioprio--pidns-translation.c 2020-09-09 19:52:38.877673619 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "ioprio.c" -Index: strace-5.7/tests/ioprio.c -=================================================================== ---- strace-5.7.orig/tests/ioprio.c 2020-09-09 19:52:30.595668682 +0200 -+++ strace-5.7/tests/ioprio.c 2020-09-09 19:52:38.878673619 +0200 -@@ -9,8 +9,8 @@ - */ - - #include "tests.h" -- - #include "scno.h" -+#include "pidns.h" - - #if defined(__NR_ioprio_get) && defined(__NR_ioprio_set) - -@@ -30,12 +30,18 @@ - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - static const kernel_ulong_t bogus_which = - (kernel_ulong_t) 0xdeadfacefa57beefULL; - static const kernel_ulong_t bogus_who = - (kernel_ulong_t) 0xbadc0dedda7a1057ULL; - static const kernel_ulong_t bogus_ioprio = - (kernel_ulong_t) 0xdec0ded1facefeedULL; -+ -+ const int pid = getpid(); -+ const int pgid = getpgid(0); -+ - # if !XLAT_RAW - static const char * const bogus_ioprio_str = - "IOPRIO_PRIO_VALUE(0x7d677 /* IOPRIO_CLASS_??? */, 7917)"; -@@ -46,6 +52,7 @@ - - rc = syscall(__NR_ioprio_get, bogus_which, bogus_who); - errstr = sprintrc(rc); -+ pidns_print_leader(); - # if XLAT_RAW - printf("ioprio_get(%#x, %d) = %s\n", - (int) bogus_which, (int) bogus_who, errstr); -@@ -54,42 +61,52 @@ - (int) bogus_which, (int) bogus_who, errstr); - # endif - -- rc = syscall(__NR_ioprio_get, 1, 0); -+ rc = syscall(__NR_ioprio_get, 1, pid); - errstr = sprintrc(rc); -+ pidns_print_leader(); -+ printf("ioprio_get("); - # if XLAT_RAW -- printf("ioprio_get(0x1, 0) = %s\n", errstr); -+ printf("0x1, "); -+# elif XLAT_VERBOSE -+ printf("0x1 /* IOPRIO_WHO_PROCESS */, "); - # else /* XLAT_ABBREV */ --# if XLAT_VERBOSE -- printf("ioprio_get(0x1 /* IOPRIO_WHO_PROCESS */, 0) = %s", errstr); --# else -- printf("ioprio_get(IOPRIO_WHO_PROCESS, 0) = %s", errstr); --# endif -+ printf("IOPRIO_WHO_PROCESS, "); -+# endif -+ printf("%d%s) = %s", pid, pidns_pid2str(PT_TGID), errstr); -+# if !XLAT_RAW - if (rc >= 0) { - printf(" (IOPRIO_PRIO_VALUE("); - printxval(ioprio_class, (unsigned int) rc >> 13, - "IOPRIO_CLASS_???"); - printf(", %u))", (unsigned int) rc & 0x1fff); - } -- puts(""); - # endif -+ puts(""); - -- rc = syscall(__NR_ioprio_set, 2, 0, 8191); -+ rc = syscall(__NR_ioprio_set, 2, pgid, 8191); - errstr = sprintrc(rc); -+ pidns_print_leader(); -+ printf("ioprio_set("); - # if XLAT_RAW -- printf("ioprio_set(%#x, 0, 8191) = %s\n", 2, errstr); -+ printf("%#x", 2); - # elif XLAT_VERBOSE -- printf("ioprio_set(%#x /* IOPRIO_WHO_PGRP */, 0, 8191" -- " /* IOPRIO_PRIO_VALUE(0 /* IOPRIO_CLASS_NONE */, 8191) */)" -- " = %s\n", -- 2, errstr); -+ printf("%#x /* IOPRIO_WHO_PGRP */", 2); - # else /* XLAT_ABBREV */ -- printf("ioprio_set(IOPRIO_WHO_PGRP, 0" -- ", IOPRIO_PRIO_VALUE(IOPRIO_CLASS_NONE, 8191)) = %s\n", -- errstr); -+ printf("IOPRIO_WHO_PGRP"); -+# endif -+ printf(", %d%s", pgid, pidns_pid2str(PT_PGID)); -+# if XLAT_RAW -+ printf(", 8191)"); -+# elif XLAT_VERBOSE -+ printf(", 8191 /* IOPRIO_PRIO_VALUE(0 /* IOPRIO_CLASS_NONE */, 8191) */)"); -+# else /* XLAT_ABBREV */ -+ printf(", IOPRIO_PRIO_VALUE(IOPRIO_CLASS_NONE, 8191))"); - # endif -+ printf(" = %s\n", errstr); - - rc = syscall(__NR_ioprio_set, bogus_which, bogus_who, bogus_ioprio); - errstr = sprintrc(rc); -+ pidns_print_leader(); - # if XLAT_RAW - printf("ioprio_set(%#x, %d, %d) = %s\n", - (int) bogus_which, (int) bogus_who, (int) bogus_ioprio, -@@ -104,6 +121,7 @@ - errstr); - # endif - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - - return 0; -Index: strace-5.7/tests/kcmp-y--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/kcmp-y--pidns-translation.c 2020-09-09 19:52:38.878673619 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "kcmp-y.c" -Index: strace-5.7/tests/kcmp.c -=================================================================== ---- strace-5.7.orig/tests/kcmp.c 2020-09-09 19:52:30.596668683 +0200 -+++ strace-5.7/tests/kcmp.c 2020-09-09 19:52:38.878673619 +0200 -@@ -9,8 +9,8 @@ - */ - - #include "tests.h" -- - #include "scno.h" -+#include "pidns.h" - - #ifdef __NR_kcmp - -@@ -101,7 +101,11 @@ - rc = syscall(__NR_kcmp, pid1, pid2, type, idx1, idx2); - errstr = sprintrc(rc); - -- printf("kcmp(%d, %d, ", (int) pid1, (int) pid2); -+ const char *pid_str = pidns_pid2str(PT_TGID); -+ pidns_print_leader(); -+ printf("kcmp(%d%s, %d%s, ", -+ (int) pid1, (int) pid1 == getpid() ? pid_str : "", -+ (int) pid2, (int) pid2 == getpid() ? pid_str : ""); - - if (type_str) - printf("%s", type_str); -@@ -146,6 +150,8 @@ - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - static const kernel_ulong_t bogus_pid1 = - (kernel_ulong_t) 0xdeadca75face1057ULL; - static const kernel_ulong_t bogus_pid2 = -@@ -221,6 +227,7 @@ - (uintptr_t) slot, 1); - } - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - - return 0; -Index: strace-5.7/tests/kill--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/kill--pidns-translation.c 2020-09-09 19:52:38.878673619 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "kill.c" -Index: strace-5.7/tests/kill.c -=================================================================== ---- strace-5.7.orig/tests/kill.c 2020-09-09 19:52:30.596668683 +0200 -+++ strace-5.7/tests/kill.c 2020-09-09 19:52:38.878673619 +0200 -@@ -11,6 +11,7 @@ - - #include "tests.h" - #include "scno.h" -+#include "pidns.h" - - #ifdef __NR_kill - -@@ -26,6 +27,8 @@ - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - const struct sigaction act = { .sa_handler = handler }; - if (sigaction(SIGALRM, &act, NULL)) - perror_msg_and_fail("sigaction"); -@@ -37,18 +40,23 @@ - perror_msg_and_fail("sigprocmask"); - - const int pid = getpid(); -+ const char *pid_str = pidns_pid2str(PT_TGID); - long rc = syscall(__NR_kill, pid, (long) 0xdefaced00000000ULL | SIGALRM); -- printf("kill(%d, SIGALRM) = %ld\n", pid, rc); -+ pidns_print_leader(); -+ printf("kill(%d%s, SIGALRM) = %ld\n", pid, pid_str, rc); - - const long big_pid = (long) 0xfacefeedbadc0dedULL; - const long big_sig = (long) 0xdeadbeefcafef00dULL; - rc = syscall(__NR_kill, big_pid, big_sig); -+ pidns_print_leader(); - printf("kill(%d, %d) = %ld %s (%m)\n", - (int) big_pid, (int) big_sig, rc, errno2name()); - - rc = syscall(__NR_kill, (long) 0xdefaced00000000ULL | pid, 0); -- printf("kill(%d, 0) = %ld\n", pid, rc); -+ pidns_print_leader(); -+ printf("kill(%d%s, 0) = %ld\n", pid, pid_str, rc); - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests/migrate_pages--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/migrate_pages--pidns-translation.c 2020-09-09 19:52:38.879673620 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "migrate_pages.c" -Index: strace-5.7/tests/migrate_pages.c -=================================================================== ---- strace-5.7.orig/tests/migrate_pages.c 2020-09-09 19:52:30.596668683 +0200 -+++ strace-5.7/tests/migrate_pages.c 2020-09-09 19:52:38.879673620 +0200 -@@ -10,6 +10,7 @@ - - #include "tests.h" - #include "scno.h" -+#include "pidns.h" - - #ifdef __NR_migrate_pages - -@@ -19,11 +20,21 @@ - int - main(void) - { -- const long pid = (long) 0xfacefeedffffffffULL; -+ PIDNS_TEST_INIT; -+ -+ const long pid = (long) 0xfacefeed00000000ULL | getpid(); - long rc = syscall(__NR_migrate_pages, pid, 0, 0, 0); -- printf("migrate_pages(%d, 0, NULL, NULL) = %ld %s (%m)\n", -- (int) pid, rc, errno2name()); - -+ pidns_print_leader(); -+ printf("migrate_pages(%d%s, 0, NULL, NULL) = %ld", -+ (int) pid, pidns_pid2str(PT_TGID), rc); -+ -+ if (rc < 0) -+ printf(" %s (%m)\n", errno2name()); -+ else -+ printf("\n"); -+ -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests/move_pages--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/move_pages--pidns-translation.c 2020-09-09 19:52:38.879673620 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "move_pages.c" -Index: strace-5.7/tests/move_pages.c -=================================================================== ---- strace-5.7.orig/tests/move_pages.c 2020-09-09 19:52:30.597668684 +0200 -+++ strace-5.7/tests/move_pages.c 2020-09-09 19:52:38.879673620 +0200 -@@ -10,6 +10,7 @@ - - #include "tests.h" - #include "scno.h" -+#include "pidns.h" - - #ifdef __NR_move_pages - -@@ -122,15 +123,20 @@ - } - - static void --print_stat_pages(const unsigned long pid, const unsigned long count, -- const void **const pages, int *const status) -+print_stat_pages(const unsigned long pid, -+ const char *pid_str, -+ const unsigned long count, -+ const void **const pages, -+ int *const status) - { - const unsigned long flags = (unsigned long) 0xfacefeed00000002ULL; - - long rc = syscall(__NR_move_pages, - pid, count, pages, NULL, status, flags); - const char *errstr = sprintrc(rc); -- printf("move_pages(%d, %lu, ", (int) pid, count); -+ pidns_print_leader(); -+ printf("move_pages(%d%s, %lu, ", (int) pid, pid_str, -+ count); - print_page_array(pages, count, 0); - printf(", NULL, "); - if (rc) { -@@ -152,6 +158,7 @@ - - static void - print_move_pages(const unsigned long pid, -+ const char *pid_str, - unsigned long count, - const unsigned int offset, - const void **const pages, -@@ -164,7 +171,9 @@ - long rc = syscall(__NR_move_pages, - pid, count, pages, nodes, status, flags); - const char *errstr = sprintrc(rc); -- printf("move_pages(%d, %lu, ", (int) pid, count); -+ pidns_print_leader(); -+ printf("move_pages(%d%s, %lu, ", (int) pid, pid_str, -+ count); - print_page_array(pages, count, offset); - printf(", "); - print_node_array(nodes, count, offset); -@@ -185,8 +194,11 @@ - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - const unsigned long pid = - (unsigned long) 0xfacefeed00000000ULL | getpid(); -+ const char *pid_str = pidns_pid2str(PT_TGID); - unsigned long count = 1; - const unsigned page_size = get_page_size(); - const void *const page = tail_alloc(page_size); -@@ -195,40 +207,41 @@ - TAIL_ALLOC_OBJECT_VAR_PTR(int, nodes); - TAIL_ALLOC_OBJECT_VAR_PTR(int, status); - -- print_stat_pages(pid, 0, pages, status); -- print_move_pages(pid, 0, 0, pages, nodes, status); -- print_move_pages(pid, 0, 1, pages + 1, nodes + 1, status + 1); -+ print_stat_pages(pid, pid_str, 0, pages, status); -+ print_move_pages(pid, pid_str, 0, 0, pages, nodes, status); -+ print_move_pages(pid, pid_str, 0, 1, pages + 1, nodes + 1, status + 1); - - *pages = page; -- print_stat_pages(pid, count, pages, status); -+ print_stat_pages(pid, pid_str, count, pages, status); - *nodes = 0xdeadbee1; -- print_move_pages(pid, count, 0, pages, nodes, status); -- print_move_pages(pid, count, 1, pages, nodes, status); -+ print_move_pages(pid, pid_str, count, 0, pages, nodes, status); -+ print_move_pages(pid, pid_str, count, 1, pages, nodes, status); - - ++count; - --status; - *(--pages) = efault; -- print_stat_pages(pid, count, pages, status); -+ print_stat_pages(pid, pid_str, count, pages, status); - *(--nodes) = 0xdeadbee2; -- print_move_pages(pid, count, 0, pages, nodes, status); -- print_move_pages(pid, count, 1, pages, nodes, status); -+ print_move_pages(pid, pid_str, count, 0, pages, nodes, status); -+ print_move_pages(pid, pid_str, count, 1, pages, nodes, status); - - ++count; - --status; - *(--pages) = nodes; -- print_stat_pages(pid, count, pages, status); -+ print_stat_pages(pid, pid_str, count, pages, status); - *(--nodes) = 0xdeadbee3; -- print_move_pages(pid, count, 0, pages, nodes, status); -- print_move_pages(pid, count, 1, pages, nodes, status); -+ print_move_pages(pid, pid_str, count, 0, pages, nodes, status); -+ print_move_pages(pid, pid_str, count, 1, pages, nodes, status); - - ++count; - --status; - *(--pages) = status; -- print_stat_pages(pid, count, pages, status); -+ print_stat_pages(pid, pid_str, count, pages, status); - *(--nodes) = 0xdeadbee4; -- print_move_pages(pid, count, 0, pages, nodes, status); -- print_move_pages(pid, count, 1, pages, nodes, status); -+ print_move_pages(pid, pid_str, count, 0, pages, nodes, status); -+ print_move_pages(pid, pid_str, count, 1, pages, nodes, status); - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests/net-sockaddr--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/net-sockaddr--pidns-translation.c 2020-09-09 19:52:38.879673620 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "net-sockaddr.c" -Index: strace-5.7/tests/net-sockaddr.c -=================================================================== ---- strace-5.7.orig/tests/net-sockaddr.c 2020-09-09 19:52:30.598668684 +0200 -+++ strace-5.7/tests/net-sockaddr.c 2020-09-09 19:52:38.880673621 +0200 -@@ -9,6 +9,7 @@ - */ - - #include "tests.h" -+#include "pidns.h" - #include - #include - #include -@@ -40,18 +41,21 @@ - memset(un->sun_path, '0', sizeof(un->sun_path)); - unsigned int len = sizeof(*un); - int ret = connect(-1, (void *) un, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_UNIX, sun_path=\"%.*u\"}" - ", %u) = %d EBADF (%m)\n", - (int) sizeof(un->sun_path), 0, len, ret); - - un->sun_path[1] = 0; - ret = connect(-1, (void *) un, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_UNIX, sun_path=\"%u\"}, %u)" - " = %d EBADF (%m)\n", 0, len, ret); - - un->sun_path[0] = 0; - un->sun_path[2] = 1; - ret = connect(-1, (void *) un, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_UNIX, sun_path=@\"\\0\\001%.*u\"}" - ", %u) = %d EBADF (%m)\n", - (int) sizeof(un->sun_path) - 3, 0, len, ret); -@@ -61,12 +65,14 @@ - memset(un->sun_path, '0', sizeof(un->sun_path)); - len = sizeof(*un) + 2; - ret = connect(-1, (void *) un, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_UNIX, sun_path=\"%.*u\"}" - ", %u) = %d EBADF (%m)\n", - (int) sizeof(un->sun_path), 0, len, ret); - - un->sun_path[0] = 0; - ret = connect(-1, (void *) un, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_UNIX, sun_path=@\"%.*u\"}" - ", %u) = %d EBADF (%m)\n", - (int) sizeof(un->sun_path) - 1, 0, len, ret); -@@ -75,18 +81,21 @@ - un->sun_family = AF_UNIX; - len = sizeof(*un) - 2; - ret = connect(-1, (void *) un, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_UNIX, sun_path=\"%.*u\"}" - ", %u) = %d EBADF (%m)\n", - (int) sizeof(un->sun_path) - 2, 0, len, ret); - - un->sun_path[0] = 0; - ret = connect(-1, (void *) un, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_UNIX, sun_path=@\"%.*u\"}" - ", %u) = %d EBADF (%m)\n", - (int) sizeof(un->sun_path) - 3, 0, len, ret); - - len = sizeof(*un); - ret = connect(-1, (void *) un, len); -+ pidns_print_leader(); - printf("connect(-1, %p, %u) = %d EBADF (%m)\n", un, len, ret); - - un = tail_alloc(sizeof(struct sockaddr_storage)); -@@ -94,12 +103,14 @@ - memset(un->sun_path, '0', sizeof(un->sun_path)); - len = sizeof(struct sockaddr_storage) + 1; - ret = connect(-1, (void *) un, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_UNIX, sun_path=\"%.*u\"}" - ", %u) = %d EBADF (%m)\n", - (int) sizeof(un->sun_path), 0, len, ret); - - un->sun_path[0] = 0; - ret = connect(-1, (void *) un, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_UNIX, sun_path=@\"%.*u\"}" - ", %u) = %d EBADF (%m)\n", - (int) sizeof(un->sun_path) - 1, 0, len, ret); -@@ -117,6 +128,7 @@ - in->sin_addr.s_addr = inet_addr(h_addr); - unsigned int len = sizeof(*in); - int ret = connect(-1, (void *) in, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_INET, sin_port=htons(%hu)" - ", sin_addr=inet_addr(\"%s\")}, %u) = %d EBADF (%m)\n", - h_port, h_addr, len, ret); -@@ -127,6 +139,7 @@ - in->sin_addr.s_addr = inet_addr(h_addr); - len = sizeof(*in) + 4; - ret = connect(-1, (void *) in, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_INET, sin_port=htons(%hu)" - ", sin_addr=inet_addr(\"%s\")}, %u) = %d EBADF (%m)\n", - h_port, h_addr, len, ret); -@@ -137,6 +150,7 @@ - in->sin_addr.s_addr = 0; - len = sizeof(*in) - 4; - ret = connect(-1, (void *) in, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_INET, sa_data=\"%s\"}, %u)" - " = %d EBADF (%m)\n", - "\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377", -@@ -144,6 +158,7 @@ - - len = sizeof(*in); - ret = connect(-1, (void *) in, len); -+ pidns_print_leader(); - printf("connect(-1, %p, %u) = %d EBADF (%m)\n", in, len, ret); - } - -@@ -155,6 +170,7 @@ - in6->sin6_scope_id = 0xfacefeed; - unsigned int len = sizeof(*in6); - int ret = connect(-1, (void *) in6, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_INET6, sin6_port=htons(%hu)" - ", sin6_flowinfo=htonl(%u)" - ", inet_pton(AF_INET6, \"%s\", &sin6_addr)" -@@ -166,7 +182,8 @@ - in6->sin6_scope_id = ifindex_lo(); - if (in6->sin6_scope_id) { - ret = connect(-1, (void *) in6, len); -- printf("connect(-1, {sa_family=AF_INET6, sin6_port=htons(%hu)" -+ pidns_print_leader(); -+ printf("connect(-1, {sa_family=AF_INET6, sin6_port=htons(%hu)" - ", sin6_flowinfo=htonl(%u)" - ", inet_pton(AF_INET6, \"%s\", &sin6_addr)" - ", sin6_scope_id=%s}, %u)" -@@ -191,6 +208,7 @@ - in6->sin6_scope_id = 0xfacefeed; - unsigned int len = sizeof(*in6); - int ret = connect(-1, (void *) in6, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_INET6, sin6_port=htons(%hu)" - ", sin6_flowinfo=htonl(%u)" - ", inet_pton(AF_INET6, \"%s\", &sin6_addr)" -@@ -209,6 +227,7 @@ - in6->sin6_scope_id = 0xfacefeed; - len = sizeof(*in6) + 4; - ret = connect(-1, (void *) in6, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_INET6, sin6_port=htons(%hu)" - ", sin6_flowinfo=htonl(%u)" - ", inet_pton(AF_INET6, \"%s\", &sin6_addr)" -@@ -223,6 +242,7 @@ - inet_pton(AF_INET6, h_addr, &in6->sin6_addr); - len = sizeof(*in6) - sizeof(in6->sin6_scope_id); - ret = connect(-1, (void *) in6, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_INET6, sin6_port=htons(%hu)" - ", sin6_flowinfo=htonl(%u)" - ", inet_pton(AF_INET6, \"%s\", &sin6_addr)}, %u)" -@@ -236,6 +256,7 @@ - memset(&in6->sin6_addr, '0', sizeof(in6->sin6_addr) - 4); - len = sizeof(*in6) - sizeof(in6->sin6_scope_id) - 4; - ret = connect(-1, (void *) in6, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_INET6" - ", sa_data=\"\\0\\0\\0\\0\\0\\000%.*u\"}, %u)" - " = %d EBADF (%m)\n", -@@ -244,6 +265,7 @@ - - len = sizeof(*in6) - sizeof(in6->sin6_scope_id); - ret = connect(-1, (void *) in6, len); -+ pidns_print_leader(); - printf("connect(-1, %p, %u) = %d EBADF (%m)\n", in6, len, ret); - } - -@@ -262,6 +284,7 @@ - void *ipx = tail_memdup(&c_ipx, sizeof(c_ipx)); - unsigned int len = sizeof(c_ipx); - int ret = connect(-1, ipx, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_IPX, sipx_port=htons(%u)" - ", sipx_network=htonl(%#x)" - ", sipx_node=[%#02x, %#02x, %#02x, %#02x, %#02x, %#02x]" -@@ -316,18 +339,21 @@ - fill_memory(sax, size); - sax->fsa_ax25.sax25_family = AF_AX25; - rc = connect(-1, sax_void, sizeof(struct sockaddr_ax25) - 1); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_AX25, sa_data=\"\\202\\203\\204\\205" - "\\206\\207\\210\\211\\212\\213\\214\\215\\216\"}, %zu) = %s\n", - sizeof(struct sockaddr_ax25) - 1, sprintrc(rc)); - - memcpy(sax, &ax25, sizeof(ax25)); - rc = connect(-1, sax_void, sizeof(struct sockaddr_ax25)); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_AX25, fsa_ax25={sax25_call=VALID-13" - ", sax25_ndigis=8}, fsa_digipeater=[/* ??? */]}, %zu) = %s\n", - sizeof(struct sockaddr_ax25), sprintrc(rc)); - - sax->fsa_ax25.sax25_ndigis = 0; - rc = connect(-1, sax_void, sizeof(struct sockaddr_ax25)); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_AX25, sax25_call=VALID-13" - ", sax25_ndigis=0}, %zu) = %s\n", - sizeof(struct sockaddr_ax25), sprintrc(rc)); -@@ -335,6 +361,7 @@ - sax->fsa_ax25.sax25_ndigis = 8; - size = sizeof(struct sockaddr_ax25) + sizeof(ax25_address) * 3 + 1; - rc = connect(-1, sax_void, size); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_AX25, fsa_ax25={sax25_call=VALID-13" - ", sax25_ndigis=8}, fsa_digipeater" - "=[{ax25_call=\"\\xa6\\xa0\\x82\\x40\\x86\\x8a\\x00\"" -@@ -348,6 +375,7 @@ - sax->fsa_digipeater[2].ax25_call[6] = 0x4; - size = sizeof(struct sockaddr_ax25) + sizeof(ax25_address) * 4; - rc = connect(-1, sax_void, size); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_AX25, fsa_ax25={sax25_call=VALID-13" - ", sax25_ndigis=8}, fsa_digipeater" - "=[{ax25_call=\"\\xa6\\xa0\\x82\\x40\\x86\\x8a\\x00\"" -@@ -365,6 +393,7 @@ - for (size_t i = 0; i < 3; i++) { - size = sizeof(ax25) + sizeof(ax25_address) * (i / 2); - rc = connect(-1, sax_void, size); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_AX25" - ", fsa_ax25={sax25_call=VALID-13, sax25_ndigis=%d}" - ", fsa_digipeater=[VALID2-7, OK-15, %s /* FINE-2 */" -@@ -427,12 +456,14 @@ - long rc; - - rc = connect(-1, x25_void, sizeof(c_x25) - 1); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_X25" - ", sa_data=\"0123456789abcde\"}, %zu) = %s\n", - sizeof(c_x25) - 1, sprintrc(rc)); - - for (size_t i = 0; i < 2; i++) { - rc = connect(-1, x25_void, sizeof(c_x25) + i); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_X25" - ", sx25_addr={x25_addr=\"0123456789abcde\"...}" - "}, %zu) = %s\n", -@@ -442,6 +473,7 @@ - struct sockaddr_x25 *const x25 = x25_void; - x25->sx25_addr.x25_addr[10] = '\0'; - rc = connect(-1, x25_void, sizeof(c_x25)); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_X25" - ", sx25_addr={x25_addr=\"0123456789\"}" - "}, %zu) = %s\n", -@@ -457,19 +489,21 @@ - nl->nl_groups = 0xfacefeed; - unsigned int len = sizeof(*nl); - int ret = connect(-1, (void *) nl, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_NETLINK, nl_pid=%d" - ", nl_groups=%#08x}, %u) = %d EBADF (%m)\n", - nl->nl_pid, nl->nl_groups, len, ret); - - nl = ((void *) nl) - 4; - nl->nl_family = AF_NETLINK; -- nl->nl_pid = 1234567890; -+ nl->nl_pid = getpid(); - nl->nl_groups = 0xfacefeed; - len = sizeof(*nl) + 4; - ret = connect(-1, (void *) nl, len); -- printf("connect(-1, {sa_family=AF_NETLINK, nl_pid=%d" -+ pidns_print_leader(); -+ printf("connect(-1, {sa_family=AF_NETLINK, nl_pid=%d%s" - ", nl_groups=%#08x}, %u) = %d EBADF (%m)\n", -- nl->nl_pid, nl->nl_groups, len, ret); -+ nl->nl_pid, pidns_pid2str(PT_TGID), nl->nl_groups, len, ret); - } - - static void -@@ -487,6 +521,7 @@ - void *ll = tail_memdup(&c_ll, sizeof(c_ll)); - unsigned int len = sizeof(c_ll); - int ret = connect(-1, ll, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_PACKET" - ", sll_protocol=htons(ETH_P_ALL)" - ", sll_ifindex=%u, sll_hatype=ARPHRD_ETHER" -@@ -502,6 +537,7 @@ - - ((struct sockaddr_ll *) ll)->sll_halen++; - ret = connect(-1, ll, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_PACKET" - ", sll_protocol=htons(ETH_P_ALL)" - ", sll_ifindex=%u, sll_hatype=ARPHRD_ETHER" -@@ -517,6 +553,7 @@ - - ((struct sockaddr_ll *) ll)->sll_halen = 0; - ret = connect(-1, ll, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_PACKET" - ", sll_protocol=htons(ETH_P_ALL)" - ", sll_ifindex=%u, sll_hatype=ARPHRD_ETHER" -@@ -526,6 +563,7 @@ - ((struct sockaddr_ll *) ll)->sll_ifindex = ifindex_lo(); - if (((struct sockaddr_ll *) ll)->sll_ifindex) { - ret = connect(-1, ll, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_PACKET" - ", sll_protocol=htons(ETH_P_ALL)" - ", sll_ifindex=%s" -@@ -549,11 +587,13 @@ - unsigned int len = sizeof(*hci); - - int ret = connect(-1, (void *) hci, 4); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_BLUETOOTH, hci_dev=htobs(%hu)" - "}, 4) = %d EBADF (%m)\n", - h_port, ret); - - ret = connect(-1, (void *) hci, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_BLUETOOTH, hci_dev=htobs(%hu)" - # ifdef HAVE_STRUCT_SOCKADDR_HCI_HCI_CHANNEL - ", hci_channel=HCI_CHANNEL_RAW" -@@ -572,6 +612,7 @@ - void *sco = tail_memdup(&c_sco, sizeof(c_sco)); - unsigned int len = sizeof(c_sco); - int ret = connect(-1, sco, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_BLUETOOTH" - ", sco_bdaddr=%02x:%02x:%02x:%02x:%02x:%02x" - "}, %u) = %d EBADF (%m)\n", -@@ -592,6 +633,7 @@ - void *rc = tail_memdup(&c_rc, sizeof(c_rc)); - unsigned int len = sizeof(c_rc); - int ret = connect(-1, rc, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_BLUETOOTH" - ", rc_bdaddr=%02x:%02x:%02x:%02x:%02x:%02x" - ", rc_channel=%u}, %u) = %d EBADF (%m)\n", -@@ -619,6 +661,7 @@ - unsigned int len = sizeof(c_l2); - - int ret = connect(-1, l2, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_BLUETOOTH" - ", l2_psm=htobs(L2CAP_PSM_DYN_START + %hu)" - ", l2_bdaddr=%02x:%02x:%02x:%02x:%02x:%02x" -@@ -640,6 +683,7 @@ - # endif - memcpy(l2, &c_l2, sizeof(c_l2)); - ret = connect(-1, l2, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_BLUETOOTH" - ", l2_psm=htobs(L2CAP_PSM_SDP)" - ", l2_bdaddr=%02x:%02x:%02x:%02x:%02x:%02x" -@@ -660,6 +704,7 @@ - # endif - memcpy(l2, &c_l2, sizeof(c_l2)); - ret = connect(-1, l2, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_BLUETOOTH" - ", l2_psm=htobs(0xbad /* L2CAP_PSM_??? */)" - ", l2_bdaddr=%02x:%02x:%02x:%02x:%02x:%02x" -@@ -677,6 +722,7 @@ - c_l2.l2_cid = htobs(0xffff); - memcpy(l2, &c_l2, 12); - ret = connect(-1, l2, 12); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_BLUETOOTH" - ", l2_psm=htobs(L2CAP_PSM_AUTO_END)" - ", l2_bdaddr=%02x:%02x:%02x:%02x:%02x:%02x" -@@ -700,6 +746,7 @@ - u.sa->sa_family = 0xff; - unsigned int len = sizeof(*u.st) + 8; - int ret = connect(-1, (void *) u.st, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=%#x /* AF_??? */, sa_data=\"%.*u\"}" - ", %u) = %d EBADF (%m)\n", u.sa->sa_family, - (int) (sizeof(*u.st) - sizeof(u.sa->sa_family)), 0, len, ret); -@@ -707,11 +754,13 @@ - u.sa->sa_family = 0; - len = sizeof(u.sa->sa_family) + 1; - ret = connect(-1, (void *) u.st, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_UNSPEC, sa_data=\"0\"}, %u)" - " = %d EBADF (%m)\n", len, ret); - - u.sa->sa_family = AF_BLUETOOTH; - ret = connect(-1, (void *) u.st, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_BLUETOOTH, sa_data=\"0\"}, %u)" - " = %d EBADF (%m)\n", len, ret); - } -@@ -719,6 +768,8 @@ - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - check_un(); - check_in(); - check_in6(); -@@ -735,6 +786,7 @@ - #endif - check_raw(); - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests/netlink_audit--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/netlink_audit--pidns-translation.c 2020-09-09 19:52:38.880673621 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "netlink_audit.c" -Index: strace-5.7/tests/netlink_audit--pidns-translation.test -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/netlink_audit--pidns-translation.test 2020-09-09 19:52:38.880673621 +0200 -@@ -0,0 +1,13 @@ -+#!/bin/sh -+# -+# Check pidns translation of NETLINK_SOCK_DIAG protocol decoding -+# -+# Copyright (c) 2020 The strace developers. -+# All rights reserved. -+# -+# SPDX-License-Identifier: LGPL-2.1-or-later -+ -+. "${srcdir=.}/init.sh" -+ -+run_prog ../netlink_netlink_diag -+test_pidns -e trace=sendto "$@" -Index: strace-5.7/tests/netlink_audit.c -=================================================================== ---- strace-5.7.orig/tests/netlink_audit.c 2020-09-09 19:52:30.599668685 +0200 -+++ strace-5.7/tests/netlink_audit.c 2020-09-09 19:52:38.881673621 +0200 -@@ -7,6 +7,7 @@ - */ - - #include "tests.h" -+#include "pidns.h" - #include - #include - #include -@@ -17,18 +18,23 @@ - static void - test_nlmsg_type(const int fd) - { -+ PIDNS_TEST_INIT; -+ - long rc; - struct nlmsghdr nlh = { - .nlmsg_len = sizeof(nlh), - .nlmsg_type = AUDIT_GET, - .nlmsg_flags = NLM_F_REQUEST, -+ .nlmsg_pid = getpid(), - }; - - rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0); -+ pidns_print_leader(); - printf("sendto(%d, {len=%u, type=AUDIT_GET" -- ", flags=NLM_F_REQUEST, seq=0, pid=0}" -+ ", flags=NLM_F_REQUEST, seq=0, pid=%d%s}" - ", %u, MSG_DONTWAIT, NULL, 0) = %s\n", -- fd, nlh.nlmsg_len, (unsigned) sizeof(nlh), sprintrc(rc)); -+ fd, nlh.nlmsg_len, nlh.nlmsg_pid, pidns_pid2str(PT_TGID), -+ (unsigned) sizeof(nlh), sprintrc(rc)); - } - - int main(void) -@@ -39,6 +45,7 @@ - - test_nlmsg_type(fd); - -+ pidns_print_leader(); - printf("+++ exited with 0 +++\n"); - - return 0; -Index: strace-5.7/tests/pidfd_open--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/pidfd_open--pidns-translation.c 2020-09-09 19:52:38.881673621 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "pidfd_open.c" -Index: strace-5.7/tests/pidfd_open.c -=================================================================== ---- strace-5.7.orig/tests/pidfd_open.c 2020-09-09 19:52:30.599668685 +0200 -+++ strace-5.7/tests/pidfd_open.c 2020-09-09 19:52:38.881673621 +0200 -@@ -10,6 +10,7 @@ - - #include "tests.h" - #include "scno.h" -+#include "pidns.h" - - #ifdef __NR_pidfd_open - -@@ -37,6 +38,8 @@ - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - # if defined PATH_TRACING || defined PRINT_PATHS - skip_if_unavailable("/proc/self/fd/"); - # endif -@@ -50,16 +53,19 @@ - - k_pidfd_open(0, 0); - # ifndef PATH_TRACING -+ pidns_print_leader(); - printf("pidfd_open(0, 0) = %s\n", errstr); - # endif - - k_pidfd_open(-1U, 0); - # ifndef PATH_TRACING -+ pidns_print_leader(); - printf("pidfd_open(-1, 0) = %s\n", errstr); - # endif - - k_pidfd_open(0, -1U); - # ifndef PATH_TRACING -+ pidns_print_leader(); - printf("pidfd_open(0, %#x) = %s\n", -1U, errstr); - # endif - -@@ -68,7 +74,10 @@ - - k_pidfd_open(pid, flags); - # ifndef PATH_TRACING -- printf("pidfd_open(%d, %#x) = %s\n", pid, flags, errstr); -+ const char *pid_str = pidns_pid2str(PT_TGID); -+ pidns_print_leader(); -+ printf("pidfd_open(%d%s, %#x) = %s\n", -+ pid, pid_str, flags, errstr); - # endif - - # ifdef PRINT_PATHS -@@ -80,17 +89,19 @@ - # endif - - # ifndef PATH_TRACING -- printf("pidfd_open(%d, 0) = " -+ pidns_print_leader(); -+ printf("pidfd_open(%d%s, 0) = " - # if defined PRINT_PIDFD -- "%ld\n", pid, rc, pid -+ "%ld\n", pid, pid_str, rc, pid - # elif defined PRINT_PATHS -- "%ld\n", pid, rc -+ "%ld\n", pid, pid_str, rc - # else -- "%s\n", pid, errstr -+ "%s\n", pid, pid_str, errstr - # endif - ); - # endif - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests/pidfd_send_signal--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/pidfd_send_signal--pidns-translation.c 2020-09-09 19:52:38.881673621 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "pidfd_send_signal.c" -Index: strace-5.7/tests/pidfd_send_signal.c -=================================================================== ---- strace-5.7.orig/tests/pidfd_send_signal.c 2020-09-09 19:52:30.600668685 +0200 -+++ strace-5.7/tests/pidfd_send_signal.c 2020-09-09 19:52:38.881673621 +0200 -@@ -10,6 +10,7 @@ - #include "tests.h" - #include - #include "scno.h" -+#include "pidns.h" - - #ifdef __NR_pidfd_send_signal - -@@ -36,6 +37,8 @@ - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - static const char null_path[] = "/dev/null"; - - int fd = open(null_path, O_RDONLY); -@@ -46,19 +49,23 @@ - const void *esi = (const void *) si + 1; - - sys_pidfd_send_signal(fd, SIGUSR1, esi, 0); -+ pidns_print_leader(); - printf("pidfd_send_signal(%d, SIGUSR1, %p, 0) = %s\n", - fd, esi, errstr); - - si->si_signo = SIGUSR1; - si->si_code = SI_QUEUE; -+ si->si_pid = getpid(); - - sys_pidfd_send_signal(fd, SIGUSR2, si, -1); -+ pidns_print_leader(); - printf("pidfd_send_signal(%d, SIGUSR2, {si_signo=SIGUSR1" -- ", si_code=SI_QUEUE, si_errno=%u, si_pid=%d, si_uid=%d" -+ ", si_code=SI_QUEUE, si_errno=%u, si_pid=%d%s, si_uid=%d" - ", si_value={int=%d, ptr=%p}}, %#x) = %s\n", -- fd, si->si_errno, si->si_pid, si->si_uid, si->si_int, si->si_ptr, -- -1U, errstr); -+ fd, si->si_errno, si->si_pid, pidns_pid2str(PT_TGID), si->si_uid, -+ si->si_int, si->si_ptr, -1U, errstr); - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests/pidns-cache.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/pidns-cache.c 2020-09-09 19:52:38.882673622 +0200 -@@ -0,0 +1,62 @@ -+/* -+ * Copyright (c) 2020 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+#include "scno.h" -+#include "pidns.h" -+ -+#if defined __NR_getpid && (!defined __NR_getxpid || __NR_getxpid != __NR_getpid) -+ -+# include -+# include -+# include -+ -+# define SYSCALL_COUNT 1000 -+ -+/** -+ * Max ratio of the execution time with and without pidns translation. -+ */ -+# define MAX_TIME_RATIO 20 -+ -+static long -+execute_syscalls(void) -+{ -+ /* Load our PID in the cache */ -+ syscall(__NR_getpid); -+ -+ struct timeval stop, start; -+ gettimeofday(&start, NULL); -+ -+ for (int i = 0; i < SYSCALL_COUNT; i++) -+ syscall(__NR_getpid); -+ -+ gettimeofday(&stop, NULL); -+ -+ return (stop.tv_usec - start.tv_usec) + -+ (stop.tv_sec - start.tv_sec) * 1000000; -+} -+ -+int -+main(void) -+{ -+ long max_us = execute_syscalls() * MAX_TIME_RATIO; -+ -+ pidns_test_init(); -+ -+ long us = execute_syscalls(); -+ if (us > max_us) -+ error_msg_and_fail("pidns translation took too long: %ld us " -+ "(max: %ld us)", us, max_us); -+ -+ return 0; -+} -+ -+#else -+ -+SKIP_MAIN_UNDEFINED("__NR_getpid") -+ -+#endif -Index: strace-5.7/tests/pidns-cache.test -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/pidns-cache.test 2020-09-09 19:52:38.882673622 +0200 -@@ -0,0 +1,15 @@ -+#!/bin/sh -+# -+# Test pidns translation cache. -+# -+# Copyright (c) 2020 The strace developers. -+# All rights reserved. -+# -+# SPDX-License-Identifier: GPL-2.0-or-later -+ -+. "${srcdir=.}/init.sh" -+ -+check_prog timeout -+ -+run_prog > /dev/null -+run_strace --pidns-translation -f -e trace=getpid $args -Index: strace-5.7/tests/prlimit64--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/prlimit64--pidns-translation.c 2020-09-09 19:52:38.882673622 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "prlimit64.c" -Index: strace-5.7/tests/prlimit64.c -=================================================================== ---- strace-5.7.orig/tests/prlimit64.c 2020-09-09 19:52:30.600668685 +0200 -+++ strace-5.7/tests/prlimit64.c 2020-09-09 19:52:38.882673622 +0200 -@@ -19,6 +19,7 @@ - # include - # include - -+# include "pidns.h" - # include "xlat.h" - # include "xlat/resources.h" - -@@ -42,8 +43,11 @@ - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - unsigned long pid = - (unsigned long) 0xdefaced00000000ULL | (unsigned) getpid(); -+ const char *pid_str = pidns_pid2str(PT_TGID); - uint64_t *const rlimit = tail_alloc(sizeof(*rlimit) * 2); - const struct xlat_data *xlat; - size_t i = 0; -@@ -54,18 +58,23 @@ - - unsigned long res = 0xfacefeed00000000ULL | xlat->val; - long rc = syscall(__NR_prlimit64, pid, res, 0, rlimit); -+ pidns_print_leader(); - if (rc) -- printf("prlimit64(%d, %s, NULL, %p) = %ld %s (%m)\n", -- (unsigned) pid, xlat->str, rlimit, -+ printf("prlimit64(%d%s, %s, NULL, %p) =" -+ " %ld %s (%m)\n", -+ (unsigned) pid, pid_str, -+ xlat->str, rlimit, - rc, errno2name()); - else -- printf("prlimit64(%d, %s, NULL" -+ printf("prlimit64(%d%s, %s, NULL" - ", {rlim_cur=%s, rlim_max=%s}) = 0\n", -- (unsigned) pid, xlat->str, -+ (unsigned) pid, pid_str, -+ xlat->str, - sprint_rlim(rlimit[0]), - sprint_rlim(rlimit[1])); - } - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests/process_vm_readv--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/process_vm_readv--pidns-translation.c 2020-09-09 19:52:38.882673622 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "process_vm_readv.c" -Index: strace-5.7/tests/process_vm_readv_writev.c -=================================================================== ---- strace-5.7.orig/tests/process_vm_readv_writev.c 2020-09-09 19:52:30.601668686 +0200 -+++ strace-5.7/tests/process_vm_readv_writev.c 2020-09-09 19:52:38.883673622 +0200 -@@ -12,6 +12,7 @@ - #include - #include - #include -+#include "pidns.h" - - #if OP_WR - # define in_iovec rmt_iovec -@@ -121,7 +122,7 @@ - } - - static void --do_call(kernel_ulong_t pid, -+do_call(kernel_ulong_t pid, enum pid_type pid_type, - kernel_ulong_t local_iov, const char *local_arg, - kernel_ulong_t liovcnt, - kernel_ulong_t remote_iov, const char *remote_arg, -@@ -135,7 +136,8 @@ - flags); - errstr = sprintrc(rc); - -- printf("%s(%d, ", OP_STR, (int) pid); -+ pidns_print_leader(); -+ printf("%s(%d%s, ", OP_STR, (int) pid, pidns_pid2str(pid_type)); - - if (pr_iov) - pr_iov((const struct iovec *) (uintptr_t) local_iov, local_arg, -@@ -164,6 +166,8 @@ - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - enum { - SIZE_11 = 2, - SIZE_12 = 3, -@@ -243,18 +247,18 @@ - fill_memory_ex(data2_out, SIZE_2, SEGM2_BASE, SIZE_2); - - -- do_call(bogus_pid, (kernel_ulong_t) (uintptr_t) ARG_STR(NULL), -+ do_call(bogus_pid, PT_NONE, (kernel_ulong_t) (uintptr_t) ARG_STR(NULL), - bogus_iovcnt1, (kernel_ulong_t) (uintptr_t) ARG_STR(NULL), - bogus_iovcnt2, bogus_flags, NULL); - -- do_call(my_pid, ptr_cast(bogus_iov + ARRAY_SIZE(bogus_iovec)), -+ do_call(my_pid, PT_TGID, ptr_cast(bogus_iov + ARRAY_SIZE(bogus_iovec)), - "[]", 0, ptr_cast(in_iov + ARRAY_SIZE(in_iovec)), "[]", - 0, 0, NULL); -- do_call(my_pid, ptr_cast(bogus_iov + ARRAY_SIZE(bogus_iovec)), NULL, -- bogus_iovcnt1, ptr_cast(in_iov + ARRAY_SIZE(in_iovec)), NULL, -- bogus_iovcnt2, 0, print_iov); -+ do_call(my_pid, PT_TGID, ptr_cast(bogus_iov + ARRAY_SIZE(bogus_iovec)), -+ NULL, bogus_iovcnt1, ptr_cast(in_iov + ARRAY_SIZE(in_iovec)), -+ NULL, bogus_iovcnt2, 0, print_iov); - -- do_call(my_pid, ptr_cast(bogus_iov), (char *) &bogus_arg, -+ do_call(my_pid, PT_TGID, ptr_cast(bogus_iov), (char *) &bogus_arg, - ARRAY_SIZE(bogus_iovec), ptr_cast(rmt_iov + 2), - (char *) &rmt_arg_cut, ARRAY_SIZE(rmt_iovec) - 2, 0, print_iov); - -@@ -263,7 +267,7 @@ - lcl_arg_cut.check_rc = 1; - #endif - -- do_call(my_pid, ptr_cast(lcl_iov + 2), (char *) &lcl_arg_cut, -+ do_call(my_pid, PT_TGID, ptr_cast(lcl_iov + 2), (char *) &lcl_arg_cut, - ARRAY_SIZE(lcl_iovec) - 1, ptr_cast(bogus_iov + 2), - (char *) &bogus_arg_cut, ARRAY_SIZE(bogus_iovec) - 1, 0, - print_iov); -@@ -273,15 +277,16 @@ - rmt_arg_cut.addr_term = 1; - rmt_arg_cut.count = 5; - -- do_call(my_pid, ptr_cast(lcl_iov + 2), (char *) &lcl_arg_cut, -+ do_call(my_pid, PT_TGID, ptr_cast(lcl_iov + 2), (char *) &lcl_arg_cut, - ARRAY_SIZE(lcl_iovec) - 2, ptr_cast(rmt_iov + 1), - (char *) &rmt_arg_cut, ARRAY_SIZE(rmt_iovec), 0, print_iov); - - /* Correct call */ -- do_call(my_pid, ptr_cast(lcl_iov), (char *) &lcl_arg, -+ do_call(my_pid, PT_TGID, ptr_cast(lcl_iov), (char *) &lcl_arg, - ARRAY_SIZE(lcl_iovec), ptr_cast(rmt_iov), (char *) &rmt_arg, - ARRAY_SIZE(rmt_iovec), 0, print_iov); - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - - return 0; -Index: strace-5.7/tests/process_vm_writev--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/process_vm_writev--pidns-translation.c 2020-09-09 19:52:38.883673622 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "process_vm_writev.c" -Index: strace-5.7/tests/rt_sigqueueinfo--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/rt_sigqueueinfo--pidns-translation.c 2020-09-09 19:52:38.883673622 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "rt_sigqueueinfo.c" -Index: strace-5.7/tests/rt_sigqueueinfo.c -=================================================================== ---- strace-5.7.orig/tests/rt_sigqueueinfo.c 2020-09-09 19:52:30.601668686 +0200 -+++ strace-5.7/tests/rt_sigqueueinfo.c 2020-09-09 19:52:38.883673622 +0200 -@@ -7,6 +7,7 @@ - */ - - #include "tests.h" -+#include "pidns.h" - #include - #include - #include -@@ -15,6 +16,8 @@ - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - struct sigaction sa = { - .sa_handler = SIG_IGN - }; -@@ -22,15 +25,19 @@ - .sival_ptr = (void *) (unsigned long) 0xdeadbeefbadc0dedULL - }; - pid_t pid = getpid(); -+ const char *pid_str = pidns_pid2str(PT_TGID); - - assert(sigaction(SIGUSR1, &sa, NULL) == 0); - if (sigqueue(pid, SIGUSR1, value)) - perror_msg_and_skip("sigqueue"); -- printf("rt_sigqueueinfo(%u, SIGUSR1, {si_signo=SIGUSR1, " -- "si_code=SI_QUEUE, si_pid=%d, si_uid=%d, " -+ pidns_print_leader(); -+ printf("rt_sigqueueinfo(%d%s, SIGUSR1, {si_signo=SIGUSR1, " -+ "si_code=SI_QUEUE, si_pid=%d%s, si_uid=%u, " - "si_value={int=%d, ptr=%p}}) = 0\n", -- pid, pid, getuid(), value.sival_int, value.sival_ptr); -- printf("+++ exited with 0 +++\n"); -+ pid, pid_str, pid, pid_str, -+ getuid(), value.sival_int, value.sival_ptr); -+ pidns_print_leader(); -+ puts("+++ exited with 0 +++"); - - return 0; - } -Index: strace-5.7/tests/rt_tgsigqueueinfo--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/rt_tgsigqueueinfo--pidns-translation.c 2020-09-09 19:52:38.883673622 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "rt_tgsigqueueinfo.c" -Index: strace-5.7/tests/rt_tgsigqueueinfo.c -=================================================================== ---- strace-5.7.orig/tests/rt_tgsigqueueinfo.c 2020-09-09 19:52:30.601668686 +0200 -+++ strace-5.7/tests/rt_tgsigqueueinfo.c 2020-09-09 19:52:38.884673623 +0200 -@@ -10,8 +10,9 @@ - - #include "tests.h" - #include "scno.h" -+#include "pidns.h" - --#ifdef __NR_rt_tgsigqueueinfo -+#if defined __NR_rt_tgsigqueueinfo && defined __NR_gettid - - # include - # include -@@ -20,11 +21,11 @@ - # include - - static long --k_tgsigqueueinfo(const pid_t pid, const int sig, const void *const info) -+k_tgsigqueueinfo(const pid_t tgid, const int tid, const int sig, const void *const info) - { - return syscall(__NR_rt_tgsigqueueinfo, -- F8ILL_KULONG_MASK | pid, -- F8ILL_KULONG_MASK | pid, -+ F8ILL_KULONG_MASK | tgid, -+ F8ILL_KULONG_MASK | tid, - F8ILL_KULONG_MASK | sig, - info); - } -@@ -32,6 +33,8 @@ - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - const struct sigaction sa = { - .sa_handler = SIG_IGN - }; -@@ -48,17 +51,22 @@ - info->si_value.sival_ptr = - (void *) (unsigned long) 0xdeadbeeffacefeedULL; - -- if (k_tgsigqueueinfo(info->si_pid, SIGUSR1, info)) -+ if (k_tgsigqueueinfo(getpid(), syscall(__NR_gettid), SIGUSR1, info)) - (errno == ENOSYS ? perror_msg_and_skip : perror_msg_and_fail)( - "rt_tgsigqueueinfo"); - -- printf("rt_tgsigqueueinfo(%u, %u, %s, {si_signo=%s" -- ", si_code=SI_QUEUE, si_errno=ENOENT, si_pid=%d" -+ pidns_print_leader(); -+ printf("rt_tgsigqueueinfo(%d%s, %d%s, %s, {si_signo=%s" -+ ", si_code=SI_QUEUE, si_errno=ENOENT, si_pid=%d%s" - ", si_uid=%d, si_value={int=%d, ptr=%p}}) = 0\n", -- info->si_pid, info->si_pid, "SIGUSR1", "SIGUSR1", -- info->si_pid, info->si_uid, info->si_value.sival_int, -+ info->si_pid, pidns_pid2str(PT_TGID), -+ info->si_pid, pidns_pid2str(PT_TID), -+ "SIGUSR1", "SIGUSR1", -+ info->si_pid, pidns_pid2str(PT_TGID), -+ info->si_uid, info->si_value.sival_int, - info->si_value.sival_ptr); - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests/sched_xetaffinity--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/sched_xetaffinity--pidns-translation.c 2020-09-09 19:52:38.884673623 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "sched_xetaffinity.c" -Index: strace-5.7/tests/sched_xetaffinity.c -=================================================================== ---- strace-5.7.orig/tests/sched_xetaffinity.c 2020-09-09 19:52:30.602668687 +0200 -+++ strace-5.7/tests/sched_xetaffinity.c 2020-09-09 19:52:38.884673623 +0200 -@@ -10,6 +10,7 @@ - - #include "tests.h" - #include "scno.h" -+#include "pidns.h" - #include - - #if defined __NR_sched_getaffinity && defined __NR_sched_setaffinity \ -@@ -41,8 +42,11 @@ - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - unsigned int cpuset_size = 1; - const pid_t pid = getpid(); -+ const char *pid_str = pidns_pid2str(PT_TGID); - - while (cpuset_size) { - assert(getaffinity(pid, cpuset_size, NULL) == -1); -@@ -50,18 +54,21 @@ - break; - if (EINVAL != errno) - perror_msg_and_skip("sched_getaffinity"); -- printf("sched_getaffinity(%d, %u, NULL) = %s\n", -- pid, cpuset_size, errstr); -+ pidns_print_leader(); -+ printf("sched_getaffinity(%d%s, %u, NULL) = %s\n", -+ pid, pid_str, cpuset_size, errstr); - cpuset_size <<= 1; - } - assert(cpuset_size); -- printf("sched_getaffinity(%d, %u, NULL) = %s\n", -- pid, cpuset_size, errstr); -+ pidns_print_leader(); -+ printf("sched_getaffinity(%d%s, %u, NULL) = %s\n", -+ pid, pid_str, cpuset_size, errstr); - - cpu_set_t *cpuset = tail_alloc(cpuset_size); - getaffinity(pid, cpuset_size, cpuset + 1); -- printf("sched_getaffinity(%d, %u, %p) = %s\n", -- pid, cpuset_size, cpuset + 1, errstr); -+ pidns_print_leader(); -+ printf("sched_getaffinity(%d%s, %u, %p) = %s\n", -+ pid, pid_str, cpuset_size, cpuset + 1, errstr); - - int ret_size = getaffinity(pid, cpuset_size, cpuset); - if (ret_size < 0) -@@ -69,7 +76,8 @@ - pid, (unsigned) cpuset_size, cpuset, errstr); - assert(ret_size <= (int) cpuset_size); - -- printf("sched_getaffinity(%d, %u, [", pid, cpuset_size); -+ pidns_print_leader(); -+ printf("sched_getaffinity(%d%s, %u, [", pid, pid_str, cpuset_size); - const char *sep; - unsigned int i, cpu; - for (i = 0, cpu = 0, sep = ""; i < (unsigned) ret_size * 8; ++i) { -@@ -85,8 +93,9 @@ - CPU_SET_S(cpu, cpuset_size, cpuset); - if (setaffinity(pid, cpuset_size, cpuset)) - perror_msg_and_skip("sched_setaffinity"); -- printf("sched_setaffinity(%d, %u, [%u]) = 0\n", -- pid, cpuset_size, cpu); -+ pidns_print_leader(); -+ printf("sched_setaffinity(%d%s, %u, [%u]) = 0\n", -+ pid, pid_str, cpuset_size, cpu); - - const unsigned int big_size = cpuset_size < 128 ? 128 : cpuset_size * 2; - cpuset = tail_alloc(big_size); -@@ -95,7 +104,8 @@ - perror_msg_and_fail("sched_getaffinity(%d, %u, %p) = %s\n", - pid, big_size, cpuset, errstr); - assert(ret_size <= (int) big_size); -- printf("sched_getaffinity(%d, %u, [", pid, big_size); -+ pidns_print_leader(); -+ printf("sched_getaffinity(%d%s, %u, [", pid, pid_str, big_size); - for (i = 0, sep = ""; i < (unsigned) ret_size * 8; ++i) { - if (CPU_ISSET_S(i, (unsigned) ret_size, cpuset)) { - printf("%s%u", sep, i); -@@ -104,6 +114,7 @@ - } - printf("]) = %s\n", errstr); - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests/sched_xetattr--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/sched_xetattr--pidns-translation.c 2020-09-09 19:52:38.884673623 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "sched_xetattr.c" -Index: strace-5.7/tests/sched_xetattr.c -=================================================================== ---- strace-5.7.orig/tests/sched_xetattr.c 2020-09-09 19:52:30.603668687 +0200 -+++ strace-5.7/tests/sched_xetattr.c 2020-09-09 19:52:38.885673624 +0200 -@@ -15,6 +15,7 @@ - # include - # include - # include -+# include "pidns.h" - # include "sched_attr.h" - # include "xlat.h" - # include "xlat/schedulers.h" -@@ -41,6 +42,8 @@ - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - static const kernel_ulong_t bogus_pid = - (kernel_ulong_t) 0xdefacedfacefeedULL; - static const kernel_ulong_t bogus_size = -@@ -48,20 +51,28 @@ - static const kernel_ulong_t bogus_flags = - (kernel_ulong_t) 0xdefaceddeadc0deULL; - -+ const int pid = getpid(); -+ const char *pid_str = pidns_pid2str(PT_TGID); -+ - TAIL_ALLOC_OBJECT_CONST_PTR(struct sched_attr, attr); - TAIL_ALLOC_OBJECT_CONST_PTR(unsigned int, psize); - void *const efault = attr + 1; - -- sys_sched_getattr(0, 0, 0, 0); -- printf("sched_getattr(0, NULL, 0, 0) = %s\n", errstr); -+ sys_sched_getattr(pid, 0, 0, 0); -+ pidns_print_leader(); -+ printf("sched_getattr(%d%s, NULL, 0, 0) = %s\n", -+ pid, pid_str, errstr); - - sys_sched_getattr(0, (unsigned long) attr, 0, 0); -+ pidns_print_leader(); - printf("sched_getattr(0, %p, 0, 0) = %s\n", attr, errstr); - - sys_sched_getattr(bogus_pid, 0, 0, 0); -+ pidns_print_leader(); - printf("sched_getattr(%d, NULL, 0, 0) = %s\n", (int) bogus_pid, errstr); - - sys_sched_getattr(-1U, (unsigned long) attr, bogus_size, bogus_flags); -+ pidns_print_leader(); - printf("sched_getattr(-1, %p, %s%u, %u) = %s\n", - attr, - # if defined __arm64__ || defined __aarch64__ -@@ -72,11 +83,13 @@ - (unsigned) bogus_size, (unsigned) bogus_flags, errstr); - - sys_sched_getattr(0, (unsigned long) efault, SCHED_ATTR_MIN_SIZE, 0); -+ pidns_print_leader(); - printf("sched_getattr(0, %p, %u, 0) = %s\n", - efault, (unsigned) SCHED_ATTR_MIN_SIZE, errstr); - - if (sys_sched_getattr(0, (unsigned long) attr, SCHED_ATTR_MIN_SIZE, 0)) - perror_msg_and_skip("sched_getattr"); -+ pidns_print_leader(); - printf("sched_getattr(0, {size=%u, sched_policy=", attr->size); - printxval(schedulers, attr->sched_policy, NULL); - printf(", sched_flags=%s, sched_nice=%d, sched_priority=%u" -@@ -91,11 +104,13 @@ - (unsigned) SCHED_ATTR_MIN_SIZE); - - sys_sched_getattr(0, (unsigned long) efault, sizeof(*attr), 0); -+ pidns_print_leader(); - printf("sched_getattr(0, %p, %u, 0) = %s\n", - efault, (unsigned) sizeof(*attr), errstr); - - if (sys_sched_getattr(0, (unsigned long) attr, sizeof(*attr), 0)) - perror_msg_and_skip("sched_getattr"); -+ pidns_print_leader(); - printf("sched_getattr(0, {size=%u, sched_policy=", attr->size); - printxval(schedulers, attr->sched_policy, NULL); - printf(", sched_flags=%s, sched_nice=%d, sched_priority=%u" -@@ -121,11 +136,13 @@ - F8ILL_KULONG_MASK | sizeof(*attr), F8ILL_KULONG_MASK); - # if defined __arm64__ || defined __aarch64__ - if (rc) { -+ pidns_print_leader(); - printf("sched_getattr(0, %p, 0xffffffff<<32|%u, 0) = %s\n", - attr, (unsigned) sizeof(*attr), errstr); - } else - # endif - { -+ pidns_print_leader(); - printf("sched_getattr(0, {size=%u, sched_policy=", attr->size); - printxval(schedulers, attr->sched_policy, NULL); - printf(", sched_flags=%s, sched_nice=%d, sched_priority=%u" -@@ -146,13 +163,16 @@ - } - - sys_sched_setattr(bogus_pid, 0, 0); -+ pidns_print_leader(); - printf("sched_setattr(%d, NULL, 0) = %s\n", (int) bogus_pid, errstr); - - attr->sched_flags |= 1; - -- if (sys_sched_setattr(0, (unsigned long) attr, 0)) -+ if (sys_sched_setattr(pid, (unsigned long) attr, 0)) - perror_msg_and_skip("sched_setattr"); -- printf("sched_setattr(0, {size=%u, sched_policy=", attr->size); -+ pidns_print_leader(); -+ printf("sched_setattr(%d%s, {size=%u, sched_policy=", -+ pid, pid_str, attr->size); - printxval(schedulers, attr->sched_policy, NULL); - printf(", sched_flags=%s, sched_nice=%d, sched_priority=%u" - ", sched_runtime=%" PRIu64 ", sched_deadline=%" PRIu64 -@@ -172,6 +192,7 @@ - - sys_sched_setattr(F8ILL_KULONG_MASK, (unsigned long) attr, - F8ILL_KULONG_MASK); -+ pidns_print_leader(); - printf("sched_setattr(0, {size=%u, sched_policy=", attr->size); - printxval(schedulers, attr->sched_policy, NULL); - printf(", sched_flags=%s, sched_nice=%d, sched_priority=%u" -@@ -193,11 +214,13 @@ - *psize = attr->size; - - sys_sched_setattr(0, (unsigned long) psize, 0); -+ pidns_print_leader(); - printf("sched_setattr(0, %p, 0) = %s\n", psize, errstr); - - attr->size = 0; - - sys_sched_setattr(0, (unsigned long) attr, 0); -+ pidns_print_leader(); - printf("sched_setattr(0, {size=%u, sched_policy=", attr->size); - printxval(schedulers, attr->sched_policy, NULL); - printf(", sched_flags=%s, sched_nice=%d, sched_priority=%u" -@@ -213,12 +236,14 @@ - attr->size = 1; - - sys_sched_setattr(0, (unsigned long) attr, 0); -+ pidns_print_leader(); - printf("sched_setattr(0, {size=%u} => {size=%u}, 0) = %s\n", - 1, attr->size, errstr); - - attr->size = SCHED_ATTR_MIN_SIZE - 1; - - sys_sched_setattr(0, (unsigned long) attr, 0); -+ pidns_print_leader(); - printf("sched_setattr(0, {size=%u} => {size=%u}, 0) = %s\n", - SCHED_ATTR_MIN_SIZE - 1, attr->size, errstr); - -@@ -232,6 +257,7 @@ - attr->sched_period = 0xded1ca7edda7aca7ULL; - - sys_sched_setattr(bogus_pid, (unsigned long) attr, bogus_flags); -+ pidns_print_leader(); - printf("sched_setattr(%d, {size=%u, sched_policy=%#x /* SCHED_??? */, " - "sched_flags=%#" PRIx64 " /* SCHED_FLAG_??? */, " - "sched_nice=%d, sched_priority=%u, sched_runtime=%" PRIu64 ", " -@@ -274,6 +300,7 @@ - attr->sched_period = 0xded1ca7edda7aca7ULL; - - sys_sched_setattr(bogus_pid, (unsigned long) attr, bogus_flags); -+ pidns_print_leader(); - printf("sched_setattr(%d, {size=%u, sched_policy=%#x /* SCHED_??? */, " - "sched_flags=SCHED_FLAG_RESET_ON_FORK|SCHED_FLAG_RECLAIM|" - "SCHED_FLAG_DL_OVERRUN|0x80, " -@@ -296,11 +323,13 @@ - const kernel_ulong_t ill = f8ill_ptr_to_kulong(attr); - - sys_sched_getattr(0, ill, sizeof(*attr), 0); -+ pidns_print_leader(); - printf("sched_getattr(0, %#llx, %u, 0) = %s\n", - (unsigned long long) ill, (unsigned) sizeof(*attr), - errstr); - - sys_sched_setattr(0, ill, 0); -+ pidns_print_leader(); - printf("sched_setattr(0, %#llx, 0) = %s\n", - (unsigned long long) ill, errstr); - } -@@ -310,6 +339,7 @@ - attr->sched_flags = 0x8fULL; - - sys_sched_setattr(bogus_pid, (unsigned long) attr, bogus_flags); -+ pidns_print_leader(); - printf("sched_setattr(%d, {size=%u, " - "sched_flags=SCHED_FLAG_RESET_ON_FORK|SCHED_FLAG_RECLAIM|" - "SCHED_FLAG_DL_OVERRUN|SCHED_FLAG_KEEP_POLICY|0x80, " -@@ -329,11 +359,13 @@ - const kernel_ulong_t ill = f8ill_ptr_to_kulong(attr); - - sys_sched_getattr(0, ill, sizeof(*attr), 0); -+ pidns_print_leader(); - printf("sched_getattr(0, %#llx, %u, 0) = %s\n", - (unsigned long long) ill, (unsigned) sizeof(*attr), - errstr); - - sys_sched_setattr(0, ill, 0); -+ pidns_print_leader(); - printf("sched_setattr(0, %#llx, 0) = %s\n", - (unsigned long long) ill, errstr); - } -@@ -342,6 +374,7 @@ - attr->sched_flags = 0xe7ULL; - - sys_sched_setattr(bogus_pid, (unsigned long) attr, bogus_flags); -+ pidns_print_leader(); - printf("sched_setattr(%d, {size=%u, sched_policy=%#x /* SCHED_??? */, " - "sched_flags=SCHED_FLAG_RESET_ON_FORK|SCHED_FLAG_RECLAIM|" - "SCHED_FLAG_DL_OVERRUN|SCHED_FLAG_UTIL_CLAMP_MIN" -@@ -365,11 +398,13 @@ - const kernel_ulong_t ill = f8ill_ptr_to_kulong(attr); - - sys_sched_getattr(0, ill, sizeof(*attr), 0); -+ pidns_print_leader(); - printf("sched_getattr(0, %#llx, %u, 0) = %s\n", - (unsigned long long) ill, (unsigned) sizeof(*attr), - errstr); - - sys_sched_setattr(0, ill, 0); -+ pidns_print_leader(); - printf("sched_setattr(0, %#llx, 0) = %s\n", - (unsigned long long) ill, errstr); - } -@@ -377,6 +412,7 @@ - attr->sched_flags = 0xcaffee90LL; - - sys_sched_setattr(bogus_pid, (unsigned long) attr, bogus_flags); -+ pidns_print_leader(); - printf("sched_setattr(%d, {size=%u, sched_flags=SCHED_FLAG_KEEP_PARAMS" - "|0xcaffee80, sched_util_min=%u, sched_util_max=%u}, %u) = %s\n", - (int) bogus_pid, -@@ -389,15 +425,18 @@ - const kernel_ulong_t ill = f8ill_ptr_to_kulong(attr); - - sys_sched_getattr(0, ill, sizeof(*attr), 0); -+ pidns_print_leader(); - printf("sched_getattr(0, %#llx, %u, 0) = %s\n", - (unsigned long long) ill, (unsigned) sizeof(*attr), - errstr); - - sys_sched_setattr(0, ill, 0); -+ pidns_print_leader(); - printf("sched_setattr(0, %#llx, 0) = %s\n", - (unsigned long long) ill, errstr); - } - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests/sched_xetparam--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/sched_xetparam--pidns-translation.c 2020-09-09 19:52:38.885673624 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "sched_xetparam.c" -Index: strace-5.7/tests/sched_xetparam.c -=================================================================== ---- strace-5.7.orig/tests/sched_xetparam.c 2020-09-09 19:52:30.603668687 +0200 -+++ strace-5.7/tests/sched_xetparam.c 2020-09-09 19:52:38.885673624 +0200 -@@ -7,6 +7,7 @@ - - #include "tests.h" - #include "scno.h" -+# include "pidns.h" - - #if defined __NR_sched_getparam && defined __NR_sched_setparam - -@@ -17,18 +18,27 @@ - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - struct sched_param *const param = - tail_alloc(sizeof(struct sched_param)); - -- long rc = syscall(__NR_sched_getparam, 0, param); -- printf("sched_getparam(0, [%d]) = %ld\n", -- param->sched_priority, rc); -+ const int pid = getpid(); -+ const char *pid_str = pidns_pid2str(PT_TGID); -+ -+ long rc = syscall(__NR_sched_getparam, pid, param); -+ pidns_print_leader(); -+ printf("sched_getparam(%d%s, [%d]) = %ld\n", -+ pid, pid_str, param->sched_priority, rc); - - param->sched_priority = -1; -- rc = syscall(__NR_sched_setparam, 0, param); -- printf("sched_setparam(0, [%d]) = %ld %s (%m)\n", -+ rc = syscall(__NR_sched_setparam, pid, param); -+ pidns_print_leader(); -+ printf("sched_setparam(%d%s, [%d]) = %ld %s (%m)\n", -+ pid, pid_str, - param->sched_priority, rc, errno2name()); - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests/sched_xetscheduler--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/sched_xetscheduler--pidns-translation.c 2020-09-09 19:52:38.885673624 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "sched_xetscheduler.c" -Index: strace-5.7/tests/sched_xetscheduler.c -=================================================================== ---- strace-5.7.orig/tests/sched_xetscheduler.c 2020-09-09 19:52:30.603668687 +0200 -+++ strace-5.7/tests/sched_xetscheduler.c 2020-09-09 19:52:38.886673624 +0200 -@@ -7,6 +7,7 @@ - - #include "tests.h" - #include "scno.h" -+#include "pidns.h" - - #if defined __NR_sched_getscheduler && defined __NR_sched_setscheduler - -@@ -17,8 +18,13 @@ - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - TAIL_ALLOC_OBJECT_CONST_PTR(struct sched_param, param); -- long rc = syscall(__NR_sched_getscheduler, 0); -+ const int pid = getpid(); -+ const char *pid_str = pidns_pid2str(PT_TGID); -+ -+ long rc = syscall(__NR_sched_getscheduler, pid); - const char *scheduler; - switch (rc) { - case SCHED_FIFO: -@@ -50,33 +56,43 @@ - default: - scheduler = "SCHED_OTHER"; - } -- printf("sched_getscheduler(0) = %ld (%s)\n", -- rc, scheduler); -+ pidns_print_leader(); -+ printf("sched_getscheduler(%d%s) = %ld (%s)\n", -+ pid, pid_str, rc, scheduler); - - rc = syscall(__NR_sched_getscheduler, -1); -+ pidns_print_leader(); - printf("sched_getscheduler(-1) = %s\n", sprintrc(rc)); - - param->sched_priority = -1; - -- rc = syscall(__NR_sched_setscheduler, 0, SCHED_FIFO, NULL); -- printf("sched_setscheduler(0, SCHED_FIFO, NULL) = %s\n", sprintrc(rc)); -- -- rc = syscall(__NR_sched_setscheduler, 0, SCHED_FIFO, param + 1); -- printf("sched_setscheduler(0, SCHED_FIFO, %p) = %s\n", param + 1, -- sprintrc(rc)); -- -- rc = syscall(__NR_sched_setscheduler, 0, 0xfaceda7a, param); -- printf("sched_setscheduler(0, %#x /* SCHED_??? */, [%d]) = %s\n", -- 0xfaceda7a, param->sched_priority, sprintrc(rc)); -+ rc = syscall(__NR_sched_setscheduler, pid, SCHED_FIFO, NULL); -+ pidns_print_leader(); -+ printf("sched_setscheduler(%d%s, SCHED_FIFO, NULL) = %s\n", -+ pid, pid_str, sprintrc(rc)); -+ -+ rc = syscall(__NR_sched_setscheduler, pid, SCHED_FIFO, param + 1); -+ pidns_print_leader(); -+ printf("sched_setscheduler(%d%s, SCHED_FIFO, %p) = %s\n", -+ pid, pid_str, param + 1, sprintrc(rc)); -+ -+ rc = syscall(__NR_sched_setscheduler, pid, 0xfaceda7a, param); -+ pidns_print_leader(); -+ printf("sched_setscheduler(%d%s, %#x /* SCHED_??? */, [%d]) = %s\n", -+ pid, pid_str, 0xfaceda7a, -+ param->sched_priority, sprintrc(rc)); - - rc = syscall(__NR_sched_setscheduler, -1, SCHED_FIFO, param); -+ pidns_print_leader(); - printf("sched_setscheduler(-1, SCHED_FIFO, [%d]) = %s\n", - param->sched_priority, sprintrc(rc)); - -- rc = syscall(__NR_sched_setscheduler, 0, SCHED_FIFO, param); -- printf("sched_setscheduler(0, SCHED_FIFO, [%d]) = %s\n", -- param->sched_priority, sprintrc(rc)); -+ rc = syscall(__NR_sched_setscheduler, pid, SCHED_FIFO, param); -+ pidns_print_leader(); -+ printf("sched_setscheduler(%d%s, SCHED_FIFO, [%d]) = %s\n", -+ pid, pid_str, param->sched_priority, sprintrc(rc)); - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests/signal_receive--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/signal_receive--pidns-translation.c 2020-09-09 19:52:38.886673624 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "signal_receive.c" -Index: strace-5.7/tests/signal_receive.c -=================================================================== ---- strace-5.7.orig/tests/signal_receive.c 2020-09-09 19:52:30.604668688 +0200 -+++ strace-5.7/tests/signal_receive.c 2020-09-09 19:52:38.886673624 +0200 -@@ -8,6 +8,7 @@ - */ - - #include "tests.h" -+#include "pidns.h" - #include - #include - #include -@@ -26,10 +27,13 @@ - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - static const char prefix[] = "KERNEL BUG"; - int printed = 0; - - const int pid = getpid(); -+ const char *pid_str = pidns_pid2str(PT_TGID); - const int uid = geteuid(); - - for (int sig = 1; sig <= 31; ++sig) { -@@ -73,10 +77,13 @@ - const int e_pid = s_pid; - const int e_uid = s_uid; - #endif -- printf("kill(%d, %s) = 0\n", pid, signal2name(sig)); -- printf("--- %s {si_signo=%s, si_code=SI_USER, si_pid=%d" -+ pidns_print_leader(); -+ printf("kill(%d%s, %s) = 0\n", pid, pid_str, signal2name(sig)); -+ pidns_print_leader(); -+ printf("--- %s {si_signo=%s, si_code=SI_USER, si_pid=%d%s" - ", si_uid=%d} ---\n", -- signal2name(sig), signal2name(e_sig), e_pid, e_uid); -+ signal2name(sig), signal2name(e_sig), -+ e_pid, pid_str, e_uid); - - if (s_code || sig != s_sig || pid != s_pid || uid != s_uid) { - /* -@@ -91,11 +98,11 @@ - } - fprintf(stderr, - "%s: expected: si_signo=%d, si_code=%d" -- ", si_pid=%d, si_uid=%d\n" -+ ", si_pid=%d%s, si_uid=%d\n" - "%s: received: si_signo=%d, si_code=%d" -- ", si_pid=%d, si_uid=%d\n", -- prefix, sig, SI_USER, pid, uid, -- prefix, sig, s_code, s_pid, s_uid); -+ ", si_pid=%d%s, si_uid=%d\n", -+ prefix, sig, SI_USER, pid, pid_str, uid, -+ prefix, sig, s_code, s_pid, pid_str, s_uid); - } - } - -@@ -104,6 +111,7 @@ - "*** PLEASE FIX THE KERNEL ***\n", prefix); - } - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests/so_peercred--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/so_peercred--pidns-translation.c 2020-09-09 19:52:38.886673624 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "so_peercred.c" -Index: strace-5.7/tests/so_peercred.c -=================================================================== ---- strace-5.7.orig/tests/so_peercred.c 2020-09-09 19:52:30.604668688 +0200 -+++ strace-5.7/tests/so_peercred.c 2020-09-09 19:52:38.886673624 +0200 -@@ -9,6 +9,7 @@ - */ - - #include "tests.h" -+#include "pidns.h" - - #include - #include -@@ -53,6 +54,8 @@ - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - TAIL_ALLOC_OBJECT_CONST_PTR(struct ucred, peercred); - TAIL_ALLOC_OBJECT_CONST_PTR(socklen_t, len); - -@@ -75,6 +78,8 @@ - struct ucred *const gid_truncated = - tail_alloc(sizeof_gid_truncated); - -+ const char *pid_str = pidns_pid2str(PT_TGID); -+ - int sv[2]; - if (socketpair(AF_UNIX, SOCK_STREAM, 0, sv)) - perror_msg_and_skip("socketpair AF_UNIX SOCK_STREAM"); -@@ -82,8 +87,10 @@ - /* classic getsockopt */ - *len = sizeof(*peercred); - get_peercred(sv[0], peercred, len); -+ pidns_print_leader(); - printf("getsockopt(%d, %s", sv[0], so_str()); - PRINT_FIELD_D(", {", *peercred, pid); -+ printf("%s", pid_str); - PRINT_FIELD_UID(", ", *peercred, uid); - PRINT_FIELD_UID(", ", *peercred, gid); - printf("}, [%d]) = %s\n", *len, errstr); -@@ -91,14 +98,17 @@ - /* getsockopt with zero optlen */ - *len = 0; - get_peercred(sv[0], peercred, len); -+ pidns_print_leader(); - printf("getsockopt(%d, %s, %p, [0]) = %s\n", - sv[0], so_str(), peercred, errstr); - - /* getsockopt with optlen larger than necessary - shortened */ - *len = sizeof(*peercred) + 1; - get_peercred(sv[0], peercred, len); -+ pidns_print_leader(); - printf("getsockopt(%d, %s", sv[0], so_str()); - PRINT_FIELD_D(", {", *peercred, pid); -+ printf("%s", pid_str); - PRINT_FIELD_UID(", ", *peercred, uid); - PRINT_FIELD_UID(", ", *peercred, gid); - printf("}, [%u->%d]) = %s\n", -@@ -110,6 +120,7 @@ - */ - *len = sizeof_pid_truncated; - get_peercred(sv[0], pid_truncated, len); -+ pidns_print_leader(); - printf("getsockopt(%d, %s, {pid=", sv[0], so_str()); - print_quoted_hex(pid_truncated, *len); - printf("}, [%d]) = %s\n", *len, errstr); -@@ -120,8 +131,10 @@ - */ - *len = sizeof_pid; - get_peercred(sv[0], pid, len); -+ pidns_print_leader(); - printf("getsockopt(%d, %s", sv[0], so_str()); - PRINT_FIELD_D(", {", *pid, pid); -+ printf("%s", pid_str); - printf("}, [%d]) = %s\n", *len, errstr); - - /* -@@ -136,8 +149,10 @@ - * to struct ucred.pid field. - */ - memcpy(uid, uid_truncated, sizeof_uid_truncated); -+ pidns_print_leader(); - printf("getsockopt(%d, %s", sv[0], so_str()); - PRINT_FIELD_D(", {", *uid, pid); -+ printf("%s", pid_str); - printf(", uid="); - print_quoted_hex(&uid->uid, sizeof_uid_truncated - - offsetof(struct ucred, uid)); -@@ -149,8 +164,10 @@ - */ - *len = sizeof_uid; - get_peercred(sv[0], uid, len); -+ pidns_print_leader(); - printf("getsockopt(%d, %s", sv[0], so_str()); - PRINT_FIELD_D(", {", *uid, pid); -+ printf("%s", pid_str); - PRINT_FIELD_UID(", ", *uid, uid); - printf("}, [%d]) = %s\n", *len, errstr); - -@@ -166,8 +183,10 @@ - * to struct ucred.pid and struct ucred.uid fields. - */ - memcpy(peercred, gid_truncated, sizeof_gid_truncated); -+ pidns_print_leader(); - printf("getsockopt(%d, %s", sv[0], so_str()); - PRINT_FIELD_D(", {", *peercred, pid); -+ printf("%s", pid_str); - PRINT_FIELD_UID(", ", *peercred, uid); - printf(", gid="); - print_quoted_hex(&peercred->gid, sizeof_gid_truncated - -@@ -177,14 +196,17 @@ - /* getsockopt optval EFAULT */ - *len = sizeof(*peercred); - get_peercred(sv[0], &peercred->uid, len); -+ pidns_print_leader(); - printf("getsockopt(%d, %s, %p, [%d]) = %s\n", - sv[0], so_str(), &peercred->uid, *len, errstr); - - /* getsockopt optlen EFAULT */ - get_peercred(sv[0], peercred, len + 1); -+ pidns_print_leader(); - printf("getsockopt(%d, %s, %p, %p) = %s\n", - sv[0], so_str(), peercred, len + 1, errstr); - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests/tgkill--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/tgkill--pidns-translation.c 2020-09-09 19:52:38.887673625 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "tgkill.c" -Index: strace-5.7/tests/tgkill.c -=================================================================== ---- strace-5.7.orig/tests/tgkill.c 2020-09-09 19:52:30.604668688 +0200 -+++ strace-5.7/tests/tgkill.c 2020-09-09 19:52:38.887673625 +0200 -@@ -9,6 +9,7 @@ - - #include "tests.h" - #include "scno.h" -+#include "pidns.h" - - #ifdef __NR_tgkill - -@@ -36,28 +37,46 @@ - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - const int pid = getpid(); -+ const char *pid_str = pidns_pid2str(PT_TGID); -+ const int tid = syscall(__NR_gettid); -+ const char *tid_str = pidns_pid2str(PT_TID); - const int bad_pid = -1; - const int bad_sig = 0xface; - -- k_tgkill(pid, pid, 0); -- printf("tgkill(%d, %d, 0) = %s\n", pid, pid, errstr); -+ k_tgkill(pid, tid, 0); -+ pidns_print_leader(); -+ printf("tgkill(%d%s, %d%s, 0) = %s\n", -+ pid, pid_str, tid, tid_str, errstr); - - k_tgkill(pid, bad_pid, 0); -- printf("tgkill(%d, %d, 0) = %s\n", pid, bad_pid, errstr); -- -- k_tgkill(bad_pid, pid, 0); -- printf("tgkill(%d, %d, 0) = %s\n", bad_pid, pid, errstr); -- -- k_tgkill(pid, pid, SIGCONT); -- printf("tgkill(%d, %d, SIGCONT) = %s\n", pid, pid, errstr); -- -- k_tgkill(pid, pid, bad_sig); -- printf("tgkill(%d, %d, %d) = %s\n", pid, pid, bad_sig, errstr); -- -- k_tgkill(pid, pid, -bad_sig); -- printf("tgkill(%d, %d, %d) = %s\n", pid, pid, -bad_sig, errstr); -+ pidns_print_leader(); -+ printf("tgkill(%d%s, %d, 0) = %s\n", -+ pid, pid_str, bad_pid, errstr); -+ -+ k_tgkill(bad_pid, tid, 0); -+ pidns_print_leader(); -+ printf("tgkill(%d, %d%s, 0) = %s\n", -+ bad_pid, tid, tid_str, errstr); -+ -+ k_tgkill(pid, tid, SIGCONT); -+ pidns_print_leader(); -+ printf("tgkill(%d%s, %d%s, SIGCONT) = %s\n", -+ pid, pid_str, tid, tid_str, errstr); -+ -+ k_tgkill(pid, tid, bad_sig); -+ pidns_print_leader(); -+ printf("tgkill(%d%s, %d%s, %d) = %s\n", -+ pid, pid_str, tid, tid_str, bad_sig, errstr); -+ -+ k_tgkill(pid, tid, -bad_sig); -+ pidns_print_leader(); -+ printf("tgkill(%d%s, %d%s, %d) = %s\n", -+ pid, pid_str, tid, tid_str, -bad_sig, errstr); - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests/tkill--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/tkill--pidns-translation.c 2020-09-09 19:52:38.887673625 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "tkill.c" -Index: strace-5.7/tests/tkill.c -=================================================================== ---- strace-5.7.orig/tests/tkill.c 2020-09-09 19:52:30.605668688 +0200 -+++ strace-5.7/tests/tkill.c 2020-09-09 19:52:38.887673625 +0200 -@@ -9,6 +9,7 @@ - - #include "tests.h" - #include "scno.h" -+#include "pidns.h" - - #ifdef __NR_tkill - -@@ -33,22 +34,30 @@ - int - main(void) - { -- const int pid = getpid(); -+ PIDNS_TEST_INIT; -+ -+ const int tid = syscall(__NR_gettid); -+ const char *tid_str = pidns_pid2str(PT_TID); - const int bad_pid = -1; - const int bad_sig = 0xface; - -- k_tkill(pid, 0); -- printf("tkill(%d, 0) = %s\n", pid, errstr); -- -- k_tkill(pid, SIGCONT); -- printf("tkill(%d, SIGCONT) = %s\n", pid, errstr); -+ k_tkill(tid, 0); -+ pidns_print_leader(); -+ printf("tkill(%d%s, 0) = %s\n", tid, tid_str, errstr); -+ -+ k_tkill(tid, SIGCONT); -+ pidns_print_leader(); -+ printf("tkill(%d%s, SIGCONT) = %s\n", tid, tid_str, errstr); - - k_tkill(bad_pid, bad_sig); -+ pidns_print_leader(); - printf("tkill(%d, %d) = %s\n", bad_pid, bad_sig, errstr); - - k_tkill(bad_pid, -bad_sig); -+ pidns_print_leader(); - printf("tkill(%d, %d) = %s\n", bad_pid, -bad_sig, errstr); - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests/trie_for_tests.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/trie_for_tests.c 2020-09-09 19:52:38.887673625 +0200 -@@ -0,0 +1 @@ -+#include "trie.c" -Index: strace-5.7/tests/trie_test.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/trie_test.c 2020-09-09 19:52:38.888673625 +0200 -@@ -0,0 +1,121 @@ -+/* -+ * Copyright (c) 2017-2019 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+#include "trie.h" -+ -+#include -+#include -+ -+static void -+assert_equals(const char *msg, uint64_t expected, uint64_t actual) { -+ if (actual != expected) -+ error_msg_and_fail("%s: expected: %" PRIu64 -+ ", actual: %" PRIu64, msg, expected, actual); -+} -+ -+static void -+iterate_fn(void *data, uint64_t key, uint64_t value) -+{ -+ uint64_t expected = key < 256 && key % 10 == 0 ? key + 42 : -1ULL; -+ assert_equals("iterate_fn", expected, value); -+ -+ int *count = (int *) data; -+ if (value != -1ULL) -+ (*count)++; -+} -+ -+static void -+test_trie_iterate_fn(void) -+{ -+ struct trie *t = trie_create(8, 6, 3, 3, -1); -+ for (int i = 0; i < 26; i++) -+ trie_set(t, i * 10, i * 10 + 42); -+ -+ static const struct { -+ uint64_t start; -+ uint64_t end; -+ int expected_count; -+ } iterate_params[] = { -+ {0, 256, 26}, -+ {0, UINT64_MAX, 26}, -+ {20, 90, 8}, -+ {99, 999, 16}, -+ {10000, 100000, 0}, -+ {200, 100, 0}, -+ }; -+ -+ for (size_t i = 0; i < ARRAY_SIZE(iterate_params); i++) { -+ int count = 0; -+ trie_iterate_keys(t, iterate_params[i].start, iterate_params[i].end, iterate_fn, &count); -+ assert_equals("iteration count", iterate_params[i].expected_count, count); -+ } -+} -+ -+struct key_value_pair { -+ uint64_t key, value; -+}; -+ -+static void -+test_trie_get(void) -+{ -+ static const struct { -+ uint8_t key_size; -+ uint8_t item_size_lg; -+ uint8_t node_key_bits; -+ uint8_t data_block_key_bits; -+ uint64_t empty_value; -+ -+ struct key_value_pair set_values[3], get_values[3]; -+ } params[] = { -+ {64, 6, 10, 10, 0, -+ {{300, 1}, {0xfacefeed, 0xabcdef123456}, {-1ULL, -1ULL}}, -+ {{301, 0}, {0xfacefeed, 0xabcdef123456}, {-1ULL, -1ULL}}}, -+ {8, 2, 4, 4, 10, -+ {{0xab, 0xcd}, {0xface, 2}, {0, 3}}, -+ {{0xab, 0xd}, {0xface, 10}, {0, 3}}}, -+ {30, 0, 6, 3, -1, -+ {{0xaaaa, 127}, {0xface, 0}, {0, 0}}, -+ {{0xaaaa, 1}, {0xface, 0}, {1, 1}}}, -+ {16, 4, 5, 11, 0xffffff, -+ {{0xabcdef, 42}, {0xabcd, 42}, {0xffff, 0}}, -+ {{0xabcdef, 0xffff}, {0xabcd, 42}, {0xffff, 0}}}, -+ {41, 5, 1, 1, -1, -+ {{0xabcdef01, 0x22222222}, {-1, 0x33333333}, {10, 10}}, -+ {{0xabcdef01, 0x22222222}, {-1, 0xffffffff}, {10, 10}}}, -+ }; -+ -+ for (size_t i = 0; i < ARRAY_SIZE(params); i++) { -+ struct trie *t = trie_create(params[i].key_size, -+ params[i].item_size_lg, -+ params[i].node_key_bits, -+ params[i].data_block_key_bits, -+ params[i].empty_value); -+ -+ if (!t) -+ error_msg_and_fail("trie creation failed"); -+ -+ for (size_t j = 0; j < ARRAY_SIZE(params[i].set_values); j++) { -+ struct key_value_pair kv = params[i].set_values[j]; -+ trie_set(t, kv.key, kv.value); -+ } -+ for (size_t j = 0; j < ARRAY_SIZE(params[i].get_values); j++) { -+ struct key_value_pair kv = params[i].get_values[j]; -+ assert_equals("trie_get", kv.value, trie_get(t, kv.key)); -+ } -+ -+ trie_free(t); -+ } -+} -+ -+int -+main(void) -+{ -+ test_trie_get(); -+ test_trie_iterate_fn(); -+ return 0; -+} -Index: strace-5.7/tests/xet_robust_list--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/xet_robust_list--pidns-translation.c 2020-09-09 19:52:38.888673625 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "xet_robust_list.c" -Index: strace-5.7/tests/xet_robust_list.c -=================================================================== ---- strace-5.7.orig/tests/xet_robust_list.c 2020-09-09 19:52:30.605668688 +0200 -+++ strace-5.7/tests/xet_robust_list.c 2020-09-09 19:52:38.888673625 +0200 -@@ -8,6 +8,7 @@ - - #include "tests.h" - #include "scno.h" -+#include "pidns.h" - - #if defined __NR_get_robust_list && defined __NR_set_robust_list - -@@ -30,27 +31,36 @@ - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - const pid_t pid = getpid(); -+ const char *pid_str = pidns_pid2str(PT_TGID); - const long long_pid = (unsigned long) (0xdeadbeef00000000LL | pid); - TAIL_ALLOC_OBJECT_CONST_PTR(void *, p_head); - TAIL_ALLOC_OBJECT_CONST_PTR(size_t, p_len); - - if (syscall(__NR_get_robust_list, long_pid, p_head, p_len)) - perror_msg_and_skip("get_robust_list"); -- printf("get_robust_list(%d, [%s], [%lu]) = 0\n", -- (int) pid, sprintaddr(*p_head), (unsigned long) *p_len); -+ pidns_print_leader(); -+ printf("get_robust_list(%d%s, [%s], [%lu]) = 0\n", -+ pid, pid_str, sprintaddr(*p_head), -+ (unsigned long) *p_len); - - void *head = tail_alloc(*p_len); - if (syscall(__NR_set_robust_list, head, *p_len)) - perror_msg_and_skip("set_robust_list"); -+ pidns_print_leader(); - printf("set_robust_list(%p, %lu) = 0\n", - head, (unsigned long) *p_len); - - if (syscall(__NR_get_robust_list, long_pid, p_head, p_len)) - perror_msg_and_skip("get_robust_list"); -- printf("get_robust_list(%d, [%s], [%lu]) = 0\n", -- (int) pid, sprintaddr(*p_head), (unsigned long) *p_len); -+ pidns_print_leader(); -+ printf("get_robust_list(%d%s, [%s], [%lu]) = 0\n", -+ pid, pid_str, sprintaddr(*p_head), -+ (unsigned long) *p_len); - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests/xetpgid--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/xetpgid--pidns-translation.c 2020-09-09 19:52:38.888673625 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "xetpgid.c" -Index: strace-5.7/tests/xetpgid.c -=================================================================== ---- strace-5.7.orig/tests/xetpgid.c 2020-09-09 19:52:30.606668689 +0200 -+++ strace-5.7/tests/xetpgid.c 2020-09-09 19:52:38.888673625 +0200 -@@ -10,6 +10,7 @@ - - #include "tests.h" - #include "scno.h" -+#include "pidns.h" - - #if defined __NR_getpgid && defined __NR_setpgid - -@@ -19,13 +20,21 @@ - int - main(void) - { -- const int pid = getpid(); -- long rc = syscall(__NR_getpgid, F8ILL_KULONG_MASK | pid); -- printf("getpgid(%d) = %ld\n", pid, rc); -+ PIDNS_TEST_INIT; - -- rc = syscall(__NR_setpgid, F8ILL_KULONG_MASK, F8ILL_KULONG_MASK | pid); -- printf("setpgid(0, %d) = %ld\n", pid, rc); -+ const int pid = getpid(); -+ long pgid = syscall(__NR_getpgid, F8ILL_KULONG_MASK | pid); -+ pidns_print_leader(); -+ printf("getpgid(%d%s) = %ld%s\n", pid, pidns_pid2str(PT_TGID), -+ pgid, pidns_pid2str(PT_PGID)); -+ -+ long rc = syscall(__NR_setpgid, F8ILL_KULONG_MASK, -+ F8ILL_KULONG_MASK | pgid); -+ pidns_print_leader(); -+ printf("setpgid(0, %ld%s) = %s\n", pgid, pidns_pid2str(PT_PGID), -+ sprintrc(rc)); - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests/xetpriority--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/xetpriority--pidns-translation.c 2020-09-09 19:52:38.889673626 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "xetpriority.c" -Index: strace-5.7/tests/xetpriority.c -=================================================================== ---- strace-5.7.orig/tests/xetpriority.c 2020-09-09 19:52:30.606668689 +0200 -+++ strace-5.7/tests/xetpriority.c 2020-09-09 19:52:38.889673626 +0200 -@@ -7,6 +7,7 @@ - - #include "tests.h" - #include "scno.h" -+#include "pidns.h" - - #if defined __NR_getpriority && defined __NR_setpriority - -@@ -17,15 +18,30 @@ - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - const int pid = getpid(); -+ const int pgid = getpgid(0); -+ - long rc = syscall(__NR_getpriority, PRIO_PROCESS, - F8ILL_KULONG_MASK | pid); -- printf("getpriority(PRIO_PROCESS, %d) = %ld\n", pid, rc); -+ pidns_print_leader(); -+ printf("getpriority(PRIO_PROCESS, %d%s) = %ld\n", -+ pid, pidns_pid2str(PT_TGID), rc); - - rc = syscall(__NR_setpriority, PRIO_PROCESS, - F8ILL_KULONG_MASK | pid, F8ILL_KULONG_MASK); -- printf("setpriority(PRIO_PROCESS, %d, 0) = %s\n", pid, sprintrc(rc)); -+ pidns_print_leader(); -+ printf("setpriority(PRIO_PROCESS, %d%s, 0) = %s\n", -+ pid, pidns_pid2str(PT_TGID), sprintrc(rc)); -+ -+ rc = syscall(__NR_getpriority, PRIO_PGRP, -+ F8ILL_KULONG_MASK | pgid); -+ pidns_print_leader(); -+ printf("getpriority(PRIO_PGRP, %d%s) = %ld\n", -+ pgid, pidns_pid2str(PT_PGID), rc); - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests/xmalloc_for_tests.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/xmalloc_for_tests.c 2020-09-09 19:52:38.889673626 +0200 -@@ -0,0 +1,2 @@ -+#define error_msg_and_die error_msg_and_fail -+#include "xmalloc.c" -Index: strace-5.7/tests-m32/Makefile.am -=================================================================== ---- strace-5.7.orig/tests-m32/Makefile.am 2020-09-09 19:52:30.607668690 +0200 -+++ strace-5.7/tests-m32/Makefile.am 2020-09-09 19:52:38.889673626 +0200 -@@ -66,6 +66,7 @@ - test_ucopy.h \ - tests.h \ - tprintf.c \ -+ xmalloc_for_tests.c \ - # end of libtests_a_SOURCES - libtests_a_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64 - check_LIBRARIES = libtests.a -@@ -109,17 +110,25 @@ - delay \ - execve-v \ - execveat-v \ -+ fcntl--pidns-translation \ -+ fcntl64--pidns-translation \ - filter_seccomp-flag \ - filter_seccomp-perf \ - filter-unavailable \ - fork-f \ -+ fork--pidns-translation \ - fsync-y \ - get_process_reaper \ -+ getpgrp--pidns-translation \ - getpid \ -+ getpid--pidns-translation \ - getppid \ -+ getsid--pidns-translation \ - gettid \ -+ gettid--pidns-translation \ - inject-nf \ - int_0x80 \ -+ ioctl_block--pidns-translation \ - ioctl_dm-v \ - ioctl_evdev-success \ - ioctl_evdev-success-Xabbrev \ -@@ -150,18 +159,25 @@ - ioctl_v4l2-success-v-Xabbrev \ - ioctl_v4l2-success-v-Xraw \ - ioctl_v4l2-success-v-Xverbose \ -+ ioprio--pidns-translation \ - is_linux_mips_n64 \ -+ kcmp-y--pidns-translation \ - kill_child \ -+ kill--pidns-translation \ - ksysent \ - list_sigaction_signum \ - localtime \ - looping_threads \ -+ migrate_pages--pidns-translation \ - mmsg-silent \ - mmsg_name-v \ -+ move_pages--pidns-translation \ - msg_control-v \ - net-accept-connect \ -+ net-sockaddr--pidns-translation \ - net-tpacket_stats-success \ - nlattr_ifla_xdp-y \ -+ netlink_audit--pidns-translation \ - netlink_inet_diag \ - netlink_netlink_diag \ - netlink_unix_diag \ -@@ -173,14 +189,20 @@ - pc \ - perf_event_open_nonverbose \ - perf_event_open_unabbrev \ -+ pidfd_open--pidns-translation \ -+ pidfd_send_signal--pidns-translation \ -+ pidns-cache \ - poll-P \ - ppoll-P \ - ppoll-v \ -+ prlimit64--pidns-translation \ - prctl-seccomp-filter-v \ - prctl-seccomp-strict \ - prctl-spec-inject \ - print_maxfd \ - print_ppid_tracerpid \ -+ process_vm_readv--pidns-translation \ -+ process_vm_writev--pidns-translation \ - qual_fault \ - qual_inject-error-signal \ - qual_inject-retval \ -@@ -194,7 +216,13 @@ - quotactl-xfs-v \ - redirect-fds \ - restart_syscall \ -+ rt_sigqueueinfo--pidns-translation \ -+ rt_tgsigqueueinfo--pidns-translation \ - run_expect_termsig \ -+ sched_xetaffinity--pidns-translation \ -+ sched_xetattr--pidns-translation \ -+ sched_xetparam--pidns-translation \ -+ sched_xetscheduler--pidns-translation \ - scm_rights \ - seccomp-filter-v \ - seccomp-strict \ -@@ -204,25 +232,33 @@ - set_sigign \ - setpgrp-exec \ - signal_receive \ -+ signal_receive--pidns-translation \ - sleep \ - stack-fcall \ - stack-fcall-attach \ - stack-fcall-mangled \ - status-none-threads \ - status-unfinished-threads \ -+ so_peercred--pidns-translation \ - syslog-success \ -+ tgkill--pidns-translation \ - threads-execve \ - threads-execve--quiet-thread-execve \ - threads-execve-q \ - threads-execve-qq \ - threads-execve-qqq \ -+ tkill--pidns-translation \ - tracer_ppid_pgid_sid \ -+ trie_test \ - unblock_reset_raise \ - unix-pair-send-recv \ - unix-pair-sendto-recvfrom \ - vfork-f \ - wait4-v \ - waitid-v \ -+ xetpgid--pidns-translation \ -+ xetpriority--pidns-translation \ -+ xet_robust_list--pidns-translation \ - zeroargc \ - # end of check_PROGRAMS - -@@ -272,6 +308,11 @@ - stack-fcall-mangled-0.c stack-fcall-mangled-1.c \ - stack-fcall-mangled-2.c stack-fcall-mangled-3.c - -+trie_test_SOURCES = trie_test.c trie_for_tests.c -+trie_test_CPPFLAGS = $(AM_CPPFLAGS) $(CODE_COVERAGE_CPPFLAGS) -+trie_test_CFLAGS = $(AM_CFLAGS) $(CODE_COVERAGE_CFLAGS) -+trie_test_LDADD = $(LDADD) $(CODE_COVERAGE_LIBS) -+ - include gen_tests.am - - if ENABLE_STACKTRACE -@@ -308,6 +349,7 @@ - int_0x80.test \ - inotify_init-y.test \ - ioctl.test \ -+ ioctl_block--pidns-translation.test \ - ioctl_evdev-success.test \ - ipc_msgbuf.test \ - kern_features-fault.test \ -@@ -379,15 +421,19 @@ - filtering_fd-syntax.test \ - filtering_syscall-syntax.test \ - first_exec_failure.test \ -+ fork--pidns-translation.test \ - get_regs.test \ -+ gettid--pidns-translation.test \ - inject-nf.test \ - interactive_block.test \ - kill_child.test \ - localtime.test \ - looping_threads.test \ -+ netlink_audit--pidns-translation.test \ - opipe.test \ - options-syntax.test \ - pc.test \ -+ pidns-cache.test \ - printpath-umovestr-legacy.test \ - printstrn-umoven-legacy.test \ - qual_fault-syntax.test \ -@@ -465,6 +511,7 @@ - filter_seccomp.in \ - filter_seccomp.sh \ - filter-unavailable.expected \ -+ fork--pidns-translation.awk \ - fstatat.c \ - fstatx.c \ - gen_pure_executables.sh \ -Index: strace-5.7/tests-m32/fcntl--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/fcntl--pidns-translation.c 2020-09-09 19:52:38.890673627 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "fcntl.c" -Index: strace-5.7/tests-m32/fcntl-common.c -=================================================================== ---- strace-5.7.orig/tests-m32/fcntl-common.c 2020-09-09 19:52:30.607668690 +0200 -+++ strace-5.7/tests-m32/fcntl-common.c 2020-09-09 19:52:38.890673627 +0200 -@@ -13,6 +13,8 @@ - #include - #include - #include "flock.h" -+#include "pidns.h" -+#include "scno.h" - - #define FILE_LEN 4096 - -@@ -48,12 +50,14 @@ - fl->l_len = (TYPEOF_FLOCK_OFF_T) 0xdefaced2cafef00dULL; - - invoke_test_syscall(0, cmd, fl); -+ pidns_print_leader(); - printf("%s(0, %s, {l_type=F_RDLCK, l_whence=SEEK_SET" - ", l_start=%jd, l_len=%jd}) = %s\n", TEST_SYSCALL_STR, name, - (intmax_t) fl->l_start, (intmax_t) fl->l_len, errstr); - - void *const bad_addr = (void *) fl + 1; - invoke_test_syscall(0, cmd, bad_addr); -+ pidns_print_leader(); - printf("%s(0, %s, %p) = %s\n", - TEST_SYSCALL_STR, name, bad_addr, errstr); - } -@@ -72,12 +76,14 @@ - fl->l_len = (TYPEOF_FLOCK_OFF_T) 0xdefaced2cafef00dULL; - - invoke_test_syscall(0, cmd, fl); -+ pidns_print_leader(); - printf("%s(0, %s, {l_type=F_RDLCK, l_whence=SEEK_SET" - ", l_start=%jd, l_len=%jd}) = %s\n", TEST_SYSCALL_STR, name, - (intmax_t) fl->l_start, (intmax_t) fl->l_len, errstr); - - void *const bad_addr = (void *) fl + 1; - invoke_test_syscall(0, cmd, bad_addr); -+ pidns_print_leader(); - printf("%s(0, %s, %p) = %s\n", - TEST_SYSCALL_STR, name, bad_addr, errstr); - } -@@ -94,6 +100,7 @@ - fl->l_len = FILE_LEN; - - long rc = invoke_test_syscall(0, F_SETLK, fl); -+ pidns_print_leader(); - printf("%s(0, F_SETLK, {l_type=F_RDLCK, l_whence=SEEK_SET" - ", l_start=0, l_len=%d}) = %s\n", - TEST_SYSCALL_STR, FILE_LEN, errstr); -@@ -101,11 +108,13 @@ - return; - - invoke_test_syscall(0, F_GETLK, fl); -+ pidns_print_leader(); - printf("%s(0, F_GETLK, {l_type=F_UNLCK, l_whence=SEEK_SET" - ", l_start=0, l_len=%d, l_pid=0}) = 0\n", - TEST_SYSCALL_STR, FILE_LEN); - - invoke_test_syscall(0, F_SETLKW, fl); -+ pidns_print_leader(); - printf("%s(0, F_SETLKW, {l_type=F_UNLCK, l_whence=SEEK_SET" - ", l_start=0, l_len=%d}) = 0\n", - TEST_SYSCALL_STR, FILE_LEN); -@@ -124,6 +133,7 @@ - fl->l_len = FILE_LEN; - - long rc = invoke_test_syscall(0, F_OFD_SETLK, fl); -+ pidns_print_leader(); - printf("%s(0, F_OFD_SETLK, {l_type=F_RDLCK, l_whence=SEEK_SET" - ", l_start=0, l_len=%d}) = %s\n", - TEST_SYSCALL_STR, FILE_LEN, errstr); -@@ -131,11 +141,13 @@ - return; - - invoke_test_syscall(0, F_OFD_GETLK, fl); -+ pidns_print_leader(); - printf("%s(0, F_OFD_GETLK, {l_type=F_UNLCK, l_whence=SEEK_SET" - ", l_start=0, l_len=%d, l_pid=0}) = 0\n", - TEST_SYSCALL_STR, FILE_LEN); - - invoke_test_syscall(0, F_OFD_SETLKW, fl); -+ pidns_print_leader(); - printf("%s(0, F_OFD_SETLKW, {l_type=F_UNLCK, l_whence=SEEK_SET" - ", l_start=0, l_len=%d}) = 0\n", - TEST_SYSCALL_STR, FILE_LEN); -@@ -167,18 +179,21 @@ - static long - test_f_owner_ex_type_pid(const int cmd, const char *const cmd_name, - const int type, const char *const type_name, -- pid_t pid) -+ enum pid_type pid_type, pid_t pid) - { - TAIL_ALLOC_OBJECT_CONST_PTR(struct_kernel_f_owner_ex, fo); - - fo->type = type; - fo->pid = pid; - long rc = invoke_test_syscall(0, cmd, fo); -- printf("%s(0, %s, {type=%s, pid=%d}) = %s\n", -- TEST_SYSCALL_STR, cmd_name, type_name, fo->pid, errstr); -+ pidns_print_leader(); -+ printf("%s(0, %s, {type=%s, pid=%d%s}) = %s\n", -+ TEST_SYSCALL_STR, cmd_name, type_name, -+ fo->pid, pidns_pid2str(pid_type), errstr); - - void *bad_addr = (void *) fo + 1; - invoke_test_syscall(0, cmd, bad_addr); -+ pidns_print_leader(); - printf("%s(0, %s, %p) = %s\n", - TEST_SYSCALL_STR, cmd_name, bad_addr, errstr); - -@@ -187,35 +202,35 @@ - - static void - test_f_owner_ex_umove_or_printaddr(const int type, const char *const type_name, -- pid_t pid) -+ enum pid_type pid_type, pid_t pid) - { - long rc = test_f_owner_ex_type_pid(ARG_STR(F_SETOWN_EX), -- type, type_name, pid); -+ type, type_name, pid_type, pid); - if (!rc) - test_f_owner_ex_type_pid(ARG_STR(F_GETOWN_EX), -- type, type_name, pid); -+ type, type_name, pid_type, pid); - } - - static void - test_f_owner_ex(void) - { -- static const struct { -+ struct { - int type; - const char *type_name; -- pid_t pid[2]; -+ enum pid_type pid_type; -+ pid_t pid; - } a[] = { -- { ARG_STR(F_OWNER_TID), { 1234567890, 20 } }, -- { ARG_STR(F_OWNER_PID), { 1298126790, 30 } }, -- { ARG_STR(F_OWNER_PGRP), { 1294567890, 40 } } -+ { ARG_STR(F_OWNER_TID), PT_NONE, 1234567890 }, -+ { ARG_STR(F_OWNER_PID), PT_NONE, 1234567890 }, -+ { ARG_STR(F_OWNER_PGRP), PT_NONE, 1234567890 }, -+ { ARG_STR(F_OWNER_TID), PT_TID, syscall(__NR_gettid) }, -+ { ARG_STR(F_OWNER_PID), PT_TGID, getpid() }, -+ { ARG_STR(F_OWNER_PGRP), PT_PGID, getpgid(0) }, - }; - -- for (unsigned int i = 0; i < ARRAY_SIZE(a); i++) { -- for (unsigned int j = 0; j < ARRAY_SIZE(a[0].pid); j++) { -- test_f_owner_ex_umove_or_printaddr(a[i].type, -- a[i].type_name, -- a[i].pid[j]); -- } -- } -+ for (unsigned int i = 0; i < ARRAY_SIZE(a); i++) -+ test_f_owner_ex_umove_or_printaddr(a[i].type, a[i].type_name, -+ a[i].pid_type, a[i].pid); - } - #endif /* TEST_F_OWNER_EX */ - -@@ -229,6 +244,23 @@ - }; - - static void -+test_xetown(void) -+{ -+ const int pid = getpid(); -+ const char *pid_str = pidns_pid2str(PT_TGID); -+ -+ invoke_test_syscall(0, F_SETOWN, (void *) (intptr_t) pid); -+ pidns_print_leader(); -+ printf("%s(0, F_SETOWN, %d%s) = %s\n", -+ TEST_SYSCALL_STR, pid, pid_str, errstr); -+ -+ invoke_test_syscall(0, F_GETOWN, NULL); -+ pidns_print_leader(); -+ printf("%s(0, F_GETOWN) = %d%s\n", -+ TEST_SYSCALL_STR, pid, pid_str); -+} -+ -+static void - print_retval_flags(const struct fcntl_cmd_check *check, long rc) - { - if (check->print_flags) { -@@ -243,12 +275,14 @@ - test_other_set_cmd(const struct fcntl_cmd_check *check) - { - invoke_test_syscall(check->fd, check->cmd, (void *) check->arg); -+ pidns_print_leader(); - printf("%s(%d, %s, %s) = %s\n", - TEST_SYSCALL_STR, check->fd, - check->cmd_str, check->arg_str, errstr); - - /* bad file fd */ - invoke_test_syscall(-1, check->cmd, (void *) check->arg); -+ pidns_print_leader(); - printf("%s(-1, %s, %s) = %s\n", - TEST_SYSCALL_STR, check->cmd_str, - check->arg_str, errstr); -@@ -258,12 +292,14 @@ - test_other_get_cmd(const struct fcntl_cmd_check *check) - { - long rc = invoke_test_syscall(check->fd, check->cmd, NULL); -+ pidns_print_leader(); - printf("%s(%d, %s) = ", - TEST_SYSCALL_STR, check->fd, check->cmd_str); - print_retval_flags(check, rc); - - /* bad file fd */ - invoke_test_syscall(-1, check->cmd, NULL); -+ pidns_print_leader(); - printf("%s(-1, %s) = %s\n", - TEST_SYSCALL_STR, check->cmd_str, errstr); - } -@@ -315,7 +351,6 @@ - { - static const struct fcntl_cmd_check set_checks[] = { - { 0, ARG_STR(F_SETFD), ARG_STR(FD_CLOEXEC) }, -- { 0, ARG_STR(F_SETOWN), ARG_STR(20) }, - #ifdef F_SETPIPE_SZ - { 0, ARG_STR(F_SETPIPE_SZ), ARG_STR(4097) }, - #endif -@@ -336,7 +371,6 @@ - static const struct fcntl_cmd_check get_checks[] = { - { 0, ARG_STR(F_GETFD), .print_flags = print_flags_getfd }, - { 1, ARG_STR(F_GETFD), .print_flags = print_flags_getfd }, -- { 0, ARG_STR(F_GETOWN) }, - #ifdef F_GETPIPE_SZ - { 0, ARG_STR(F_GETPIPE_SZ) }, - #endif -@@ -360,6 +394,8 @@ - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - create_sample(); - test_flock(); - test_flock64(); -@@ -367,7 +403,9 @@ - test_f_owner_ex(); - #endif - test_fcntl_others(); -+ test_xetown(); - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-m32/fcntl.c -=================================================================== ---- strace-5.7.orig/tests-m32/fcntl.c 2020-09-09 19:52:30.608668690 +0200 -+++ strace-5.7/tests-m32/fcntl.c 2020-09-09 19:52:38.890673627 +0200 -@@ -24,6 +24,7 @@ - .l_len = 0xdefaced2cafef00dULL - }; - invoke_test_syscall(0, cmd, &fl); -+ pidns_print_leader(); - printf("%s(0, %s, %p) = %s\n", - TEST_SYSCALL_STR, name, &fl, errstr); - } -Index: strace-5.7/tests-m32/fcntl64--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/fcntl64--pidns-translation.c 2020-09-09 19:52:38.890673627 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "fcntl64.c" -Index: strace-5.7/tests-m32/fcntl64.c -=================================================================== ---- strace-5.7.orig/tests-m32/fcntl64.c 2020-09-09 19:52:30.608668690 +0200 -+++ strace-5.7/tests-m32/fcntl64.c 2020-09-09 19:52:38.890673627 +0200 -@@ -27,6 +27,7 @@ - fl->l_len = FILE_LEN; - - long rc = invoke_test_syscall(0, F_SETLK64, fl); -+ pidns_print_leader(); - printf("%s(0, F_SETLK64, {l_type=F_RDLCK, l_whence=SEEK_SET" - ", l_start=0, l_len=%d}) = %s\n", - TEST_SYSCALL_STR, FILE_LEN, errstr); -@@ -35,11 +36,13 @@ - return; - - invoke_test_syscall(0, F_GETLK64, fl); -+ pidns_print_leader(); - printf("%s(0, F_GETLK64, {l_type=F_UNLCK, l_whence=SEEK_SET" - ", l_start=0, l_len=%d, l_pid=0}) = 0\n", - TEST_SYSCALL_STR, FILE_LEN); - - invoke_test_syscall(0, F_SETLKW64, fl); -+ pidns_print_leader(); - printf("%s(0, F_SETLKW64, {l_type=F_UNLCK, l_whence=SEEK_SET" - ", l_start=0, l_len=%d}) = 0\n", - TEST_SYSCALL_STR, FILE_LEN); -Index: strace-5.7/tests-m32/fork--pidns-translation.awk -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/fork--pidns-translation.awk 2020-09-09 19:52:38.891673627 +0200 -@@ -0,0 +1,15 @@ -+/fork/ { -+ match($0, "([0-9]+) in strace\x27s PID NS", a); -+ if (a[1]) -+ fork_pid = a[1] -+} -+ -+/exited with 0/ { -+ if (!exit_pid) -+ exit_pid = $1 -+} -+ -+END { -+ if (!fork_pid || !exit_pid || fork_pid != exit_pid) -+ exit 1 -+} -Index: strace-5.7/tests-m32/fork--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/fork--pidns-translation.c 2020-09-09 19:52:38.891673627 +0200 -@@ -0,0 +1,78 @@ -+/* -+ * Test PID namespace translation -+ * -+ * Copyright (c) 2020 Ákos Uzonyi -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: LGPL-2.1-or-later -+ */ -+ -+#include "tests.h" -+#include "scno.h" -+#include "pidns.h" -+ -+#ifdef __NR_fork -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include "nsfs.h" -+ -+#ifndef CLONE_NEWUSER -+# define CLONE_NEWUSER 0x10000000 -+#endif -+ -+#ifndef CLONE_NEWPID -+# define CLONE_NEWPID 0x20000000 -+#endif -+ -+static int -+fork_chain(int depth) -+{ -+ if (!depth) -+ return 0; -+ -+ int pid = syscall(__NR_fork); -+ if (pid < 0) -+ return errno; -+ -+ if (!pid) -+ _exit(fork_chain(depth - 1)); -+ -+ int status; -+ if (wait(&status) < 0) -+ return errno; -+ -+ if (!WIFEXITED(status)) -+ return -1; -+ -+ return WEXITSTATUS(status); -+} -+ -+int main(void) -+{ -+ check_ns_ioctl(); -+ -+ if (unshare(CLONE_NEWPID | CLONE_NEWUSER) < 0) { -+ if (errno == EPERM) -+ perror_msg_and_skip("unshare"); -+ -+ perror_msg_and_fail("unshare"); -+ } -+ -+ errno = fork_chain(2); -+ if (errno) -+ perror("fork_chain"); -+} -+ -+#else -+ -+SKIP_MAIN_UNDEFINED("__NR_fork") -+ -+#endif -Index: strace-5.7/tests-m32/fork--pidns-translation.test -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/fork--pidns-translation.test 2020-09-09 19:52:38.891673627 +0200 -@@ -0,0 +1,14 @@ -+#!/bin/sh -+# -+# Check pidns translation of fork's return value. -+# -+# Copyright (c) 2020 The strace developers. -+# All rights reserved. -+# -+# SPDX-License-Identifier: LGPL-2.1-or-later -+ -+. "${srcdir=.}/init.sh" -+ -+run_prog -+run_strace -a6 --pidns-translation -f -e trace=fork $args -+match_awk -Index: strace-5.7/tests-m32/gen_tests.in -=================================================================== ---- strace-5.7.orig/tests-m32/gen_tests.in 2020-09-09 19:52:30.609668691 +0200 -+++ strace-5.7/tests-m32/gen_tests.in 2020-09-09 19:52:38.891673627 +0200 -@@ -88,7 +88,9 @@ - fchown32 -a18 - fchownat - fcntl -a8 -+fcntl--pidns-translation test_pidns -a8 -e trace=fcntl - fcntl64 -a8 -+fcntl64--pidns-translation test_pidns -a8 -e trace=fcntl64 - fdatasync -a14 - file_handle -e trace=name_to_handle_at,open_by_handle_at - file_ioctl +ioctl.test -@@ -142,7 +144,9 @@ - getgroups32 -a19 - getpeername -a27 - getpgrp -a10 -+getpgrp--pidns-translation test_pidns -e trace=getpgrp -a10 - getpid -a9 -+getpid--pidns-translation test_pidns -e trace=getpid -a9 - getppid -a10 - getrandom -a32 -s3 - getresgid -a25 -@@ -152,6 +156,7 @@ - getrlimit -a27 - getrusage -v - getsid -a10 -+getsid--pidns-translation test_pidns -e trace=getsid -a10 - getsockname -a27 - gettid -a9 - getuid-creds +getuid.test -@@ -245,6 +250,7 @@ - ioperm -a27 - iopl -a8 - ioprio -a18 -e trace=ioprio_get,ioprio_set -+ioprio--pidns-translation test_pidns -a18 -e trace=ioprio_get,ioprio_set - ioprio-Xabbrev -a18 -e trace=ioprio_get,ioprio_set -Xabbrev - ioprio-Xraw -a18 -e trace=ioprio_get,ioprio_set -Xraw - ioprio-Xverbose -a18 -e trace=ioprio_get,ioprio_set -Xverbose -@@ -267,6 +273,7 @@ - ipc_shm-Xverbose +ipc.sh -Xverbose -a34 - kcmp -a22 - kcmp-y -a22 -y -e trace=kcmp -+kcmp-y--pidns-translation test_pidns -a22 -y -e trace=kcmp - kern_features -a16 - kernel_version -a16 -v -e trace=bpf - kernel_version-Xabbrev -a16 -Xabbrev -v -e trace=bpf -@@ -279,6 +286,7 @@ - keyctl-Xraw -a13 -s10 -e trace=keyctl -Xraw - keyctl-Xverbose -a41 -s10 -e trace=keyctl -Xverbose - kill -a12 -esignal=none -+kill--pidns-translation test_pidns -a12 -e trace=kill -esignal=none - ksysent ../$NAME - lchown -a30 - lchown32 -a32 -@@ -300,6 +308,7 @@ - memfd_create-Xraw -a30 -Xraw -e trace=memfd_create - memfd_create-Xverbose -Xverbose -e trace=memfd_create - migrate_pages -a33 -+migrate_pages--pidns-translation test_pidns -a33 -e trace=migrate_pages - mincore -a22 - mkdir -a20 - mkdirat -a28 -@@ -330,6 +339,7 @@ - move_pages-Xabbrev -s3 -e trace=move_pages -Xabbrev - move_pages-Xraw -s3 -a36 -e trace=move_pages -Xraw - move_pages-Xverbose -s3 -e trace=move_pages -Xverbose -+move_pages--pidns-translation test_pidns -s3 -e trace=move_pages - mq -a32 -e trace=mq_getsetattr,mq_open,mq_unlink - mq_sendrecv -a14 -e trace=mq_open,mq_notify,mq_timedsend,mq_timedreceive,mq_unlink - mq_sendrecv-read -eread=0 -a14 -e trace=mq_open,mq_notify,mq_timedsend,mq_timedreceive,mq_unlink -@@ -349,6 +359,7 @@ - net-packet_mreq-Xraw -e trace=setsockopt -Xraw - net-packet_mreq-Xverbose -e trace=setsockopt -Xverbose - net-sockaddr -a24 -e trace=connect -+net-sockaddr--pidns-translation test_pidns -a24 -e trace=connect - net-tpacket_req -e trace=setsockopt - net-tpacket_stats -e trace=getsockopt - net-yy-inet6 +net-yy-inet.test -@@ -452,7 +463,9 @@ - pidfd_open-P -a17 -P /dev/full -e trace=pidfd_open - pidfd_open-y -a17 -y -e trace=pidfd_open - pidfd_open-yy -a17 -yy -e trace=pidfd_open -+pidfd_open--pidns-translation test_pidns -a17 -e trace=pidfd_open - pidfd_send_signal -+pidfd_send_signal--pidns-translation test_pidns -e trace=pidfd_send_signal - pipe2 -a15 - pkey_alloc -a17 - pkey_free -a13 -@@ -475,8 +488,11 @@ - printstrn-umoven-peekdata -e signal=none -e trace=add_key - printstrn-umoven-undumpable -e signal=none -e trace=add_key - prlimit64 -+prlimit64--pidns-translation test_pidns -e trace=prlimit64 - process_vm_readv -s5 -a37 -+process_vm_readv--pidns-translation test_pidns -s5 -a37 -e trace=process_vm_readv - process_vm_writev -s5 -a38 -+process_vm_writev--pidns-translation test_pidns -s5 -a38 -e trace=process_vm_writev - pselect6 - ptrace -a23 -e signal=none - ptrace_syscall_info -a35 -e signal=none -e trace=ptrace -@@ -513,10 +529,12 @@ - rt_sigpending -a20 - rt_sigprocmask - rt_sigqueueinfo -esignal=none -+rt_sigqueueinfo--pidns-translation test_pidns -esignal=none -e trace=rt_sigqueueinfo - rt_sigreturn -esignal='!USR1' - rt_sigsuspend -a20 -esignal=none - rt_sigtimedwait -a38 - rt_tgsigqueueinfo -esignal=none -+rt_tgsigqueueinfo--pidns-translation test_pidns -esignal=none -e trace=rt_tgsigqueueinfo - s390_guarded_storage -a32 - s390_guarded_storage-v -e trace=s390_guarded_storage -a32 -v - s390_pci_mmio_read_write -e trace=s390_pci_mmio_read,s390_pci_mmio_write -a30 -@@ -527,9 +545,13 @@ - sched_get_priority_mxx -a33 -e trace=sched_get_priority_min,sched_get_priority_max - sched_rr_get_interval -a31 - sched_xetaffinity -a28 -e trace=sched_getaffinity,sched_setaffinity -+sched_xetaffinity--pidns-translation test_pidns -a28 -e trace=sched_getaffinity,sched_setaffinity - sched_xetattr -a29 -e trace=sched_getattr,sched_setattr -+sched_xetattr--pidns-translation test_pidns -a29 -e trace=sched_getattr,sched_setattr - sched_xetparam -a23 -e trace=sched_getparam,sched_setparam -+sched_xetparam--pidns-translation test_pidns -a23 -e trace=sched_getparam,sched_setparam - sched_xetscheduler -a22 -e trace=sched_getscheduler,sched_setscheduler -+sched_xetscheduler--pidns-translation test_pidns -a22 -e trace=sched_getscheduler,sched_setscheduler - sched_yield -a14 - seccomp-filter -e trace=seccomp - seccomp-filter-v -v -e trace=seccomp -@@ -576,6 +598,7 @@ - siginfo -e trace=none - signal -a25 -e signal=none -e trace='/^signal$' - signal_receive -a16 -e trace=kill -+signal_receive--pidns-translation test_pidns -a16 -e trace=kill - signalfd4 - sigpending -a15 - sigprocmask -a34 -@@ -587,6 +610,7 @@ - so_peercred-Xabbrev -e trace=getsockopt -Xabbrev - so_peercred-Xraw -e trace=getsockopt -Xraw -a39 - so_peercred-Xverbose -e trace=getsockopt -Xverbose -+so_peercred--pidns-translation test_pidns -e trace=getsockopt - sock_filter-v -v -e trace=getsockopt,setsockopt - sock_filter-v-Xabbrev -v -e trace=getsockopt,setsockopt -X abbrev - sock_filter-v-Xraw -a 37 -v -e trace=getsockopt,setsockopt -X raw -@@ -659,6 +683,7 @@ - syslog -a35 - tee - tgkill -a15 --signal='!cont' -+tgkill--pidns-translation test_pidns -a15 --signal='!cont' -e trace=tgkill - threads-execve--quiet-thread-execve +threads-execve.test -s40 --quiet=personality,thread-execve - threads-execve-q +threads-execve.test -q - threads-execve-qq +threads-execve.test -qq -@@ -670,6 +695,7 @@ - times -esignal=none - times-fail -a12 -e trace=times - tkill -a12 --signal='!cont' -+tkill--pidns-translation test_pidns --signal='!cont' -a12 -e trace=tkill - trace_clock test_trace_expr 'clock_nanosleep|times' -e%clock - trace_creds test_trace_expr '([gs]et[^p]*([gu]id|groups)|caps|prctl|[fl]?chown|print(path-umovestr|strn-umoven)-undumpable|ptrace|quotactl|rt_sigtimedwait|rt_(tg)?sigqueueinfo).*' -e%creds - trace_fstat test_trace_expr '' -e%fstat -v -P stat.sample -P /dev/full -@@ -686,6 +712,7 @@ - trace_stat_like test_trace_expr '' -e%%stat -v -P stat.sample -P /dev/full - trace_statfs test_trace_expr '' -e%statfs - trace_statfs_like test_trace_expr '' -e%%statfs -+trie_test run_prog - truncate - truncate64 - ugetrlimit -a28 -@@ -716,7 +743,10 @@ - xattr -a22 -e trace=getxattr,fgetxattr,lgetxattr,setxattr,fsetxattr,lsetxattr,listxattr,flistxattr,llistxattr,removexattr,fremovexattr,lremovexattr - xattr-strings -a22 -s 4 -e trace=fsetxattr - xet_robust_list -a24 -e trace=get_robust_list,set_robust_list -+xet_robust_list--pidns-translation test_pidns -a24 -e trace=get_robust_list,set_robust_list - xetitimer -a29 -e trace=setitimer,getitimer - xetpgid -a11 -e trace=getpgid,setpgid --xetpriority -a29 -e trace=getpriority,setpriority -+xetpgid--pidns-translation test_pidns -a11 -e trace=getpgid,setpgid -+xetpriority -a27 -e trace=getpriority,setpriority -+xetpriority--pidns-translation test_pidns -a27 -e trace=getpriority,setpriority - xettimeofday -a20 -e trace=gettimeofday,settimeofday -Index: strace-5.7/tests-m32/getpgrp--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/getpgrp--pidns-translation.c 2020-09-09 19:52:38.892673628 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "getpgrp.c" -Index: strace-5.7/tests-m32/getpgrp.c -=================================================================== ---- strace-5.7.orig/tests-m32/getpgrp.c 2020-09-09 19:52:30.609668691 +0200 -+++ strace-5.7/tests-m32/getpgrp.c 2020-09-09 19:52:38.892673628 +0200 -@@ -7,6 +7,7 @@ - - #include "tests.h" - #include "scno.h" -+#include "pidns.h" - - #ifdef __NR_getpgrp - -@@ -16,8 +17,13 @@ - int - main(void) - { -- printf("getpgrp() = %ld\n", syscall(__NR_getpgrp)); -+ PIDNS_TEST_INIT; - -+ pidns_print_leader(); -+ printf("getpgrp() = %d%s\n", (int) syscall(__NR_getpgrp), -+ pidns_pid2str(PT_PGID)); -+ -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-m32/getpid--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/getpid--pidns-translation.c 2020-09-09 19:52:38.892673628 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "getpid.c" -Index: strace-5.7/tests-m32/getpid.c -=================================================================== ---- strace-5.7.orig/tests-m32/getpid.c 2020-09-09 19:52:30.610668691 +0200 -+++ strace-5.7/tests-m32/getpid.c 2020-09-09 19:52:38.892673628 +0200 -@@ -7,6 +7,7 @@ - - #include "tests.h" - #include "scno.h" -+#include "pidns.h" - - #if defined __NR_getpid && (!defined __NR_getxpid || __NR_getxpid != __NR_getpid) - -@@ -16,7 +17,12 @@ - int - main(void) - { -- printf("getpid() = %ld\n", syscall(__NR_getpid)); -+ PIDNS_TEST_INIT; -+ -+ pidns_print_leader(); -+ printf("getpid() = %d%s\n", (int) syscall(__NR_getpid), -+ pidns_pid2str(PT_TGID)); -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-m32/getsid--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/getsid--pidns-translation.c 2020-09-09 19:52:38.892673628 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "getsid.c" -Index: strace-5.7/tests-m32/getsid.c -=================================================================== ---- strace-5.7.orig/tests-m32/getsid.c 2020-09-09 19:52:30.610668691 +0200 -+++ strace-5.7/tests-m32/getsid.c 2020-09-09 19:52:38.892673628 +0200 -@@ -6,15 +6,22 @@ - */ - - #include "tests.h" -+#include "pidns.h" -+ - #include - #include - - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - pid_t pid = getpid(); -- printf("getsid(%d) = %d\n", pid, getsid(pid)); -+ pidns_print_leader(); -+ printf("getsid(%d%s) = %d%s\n", pid, pidns_pid2str(PT_TGID), -+ getsid(pid), pidns_pid2str(PT_SID)); - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-m32/gettid--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/gettid--pidns-translation.c 2020-09-09 19:52:38.893673628 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "gettid.c" -Index: strace-5.7/tests-m32/gettid--pidns-translation.test -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/gettid--pidns-translation.test 2020-09-09 19:52:38.893673628 +0200 -@@ -0,0 +1,18 @@ -+#!/bin/sh -+# -+# Check pidns translation of gettid's return value. -+# -+# Copyright (c) 2020 The strace developers. -+# All rights reserved. -+# -+# SPDX-License-Identifier: LGPL-2.1-or-later -+ -+. "${srcdir=.}/init.sh" -+ -+run_prog > /dev/null -+run_strace -a9 --pidns-translation -f -e trace=gettid $args > "$EXP" -+parent_pid="$(tail -n 2 $LOG | head -n 1 | cut -d' ' -f1)" -+init_pid="$(tail -n 1 $LOG | cut -d' ' -f1)" -+# uniq: filter out extra gettid calls made by musl libc -+grep -E -v "^($parent_pid|$init_pid) |unfinished|resumed" "$LOG" | uniq > "$OUT" -+match_diff "$OUT" "$EXP" -Index: strace-5.7/tests-m32/gettid.c -=================================================================== ---- strace-5.7.orig/tests-m32/gettid.c 2020-09-09 19:52:30.610668691 +0200 -+++ strace-5.7/tests-m32/gettid.c 2020-09-09 19:52:38.893673628 +0200 -@@ -9,11 +9,17 @@ - #include - #include - #include "scno.h" -+#include "pidns.h" - - int - main(void) - { -- printf("gettid() = %ld\n", syscall(__NR_gettid)); -+ PIDNS_TEST_INIT; -+ -+ pidns_print_leader(); -+ printf("gettid() = %d%s\n", (int) syscall(__NR_gettid), -+ pidns_pid2str(PT_TID)); -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-m32/ioctl_block--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/ioctl_block--pidns-translation.c 2020-09-09 19:52:38.893673628 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "ioctl_block.c" -Index: strace-5.7/tests-m32/ioctl_block--pidns-translation.test -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/ioctl_block--pidns-translation.test 2020-09-09 19:52:38.893673628 +0200 -@@ -0,0 +1,22 @@ -+#!/bin/sh -+# -+# Check pidns translation of ioctl(BLK*) syscall decoding. -+# -+# Copyright (c) 2020 The strace developers. -+# All rights reserved. -+# -+# SPDX-License-Identifier: LGPL-2.1-or-later -+ -+. "${srcdir=.}/init.sh" -+ -+check_prog head -+check_prog tail -+check_prog cut -+check_prog grep -+ -+run_prog > /dev/null -+run_strace --pidns-translation -f -a16 -e trace=ioctl $@ $args > "$EXP" -+parent_pid="$(tail -n 2 $LOG | head -n 1 | cut -d' ' -f1)" -+init_pid="$(tail -n 1 $LOG | cut -d' ' -f1)" -+grep -E -v "^($parent_pid|$init_pid) |ioctl\([0123][,<]" "$LOG" > "$OUT" -+match_diff "$OUT" "$EXP" -Index: strace-5.7/tests-m32/ioctl_block.c -=================================================================== ---- strace-5.7.orig/tests-m32/ioctl_block.c 2020-09-09 19:52:30.611668692 +0200 -+++ strace-5.7/tests-m32/ioctl_block.c 2020-09-09 19:52:38.893673628 +0200 -@@ -9,7 +9,9 @@ - */ - - #include "tests.h" -+#include "pidns.h" - #include -+#include - #include - #include - #include -@@ -41,12 +43,15 @@ - #define TEST_NULL_ARG(cmd) \ - do { \ - ioctl(-1, cmd, 0); \ -+ pidns_print_leader(); \ - printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", #cmd); \ - } while (0) - - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - TEST_NULL_ARG(BLKBSZGET); - TEST_NULL_ARG(BLKBSZSET); - TEST_NULL_ARG(BLKFRAGET); -@@ -91,18 +96,22 @@ - #endif - - ioctl(-1, BLKRASET, lmagic); -+ pidns_print_leader(); - printf("ioctl(-1, BLKRASET, %lu) = -1 EBADF (%m)\n", lmagic); - - ioctl(-1, BLKFRASET, lmagic); -+ pidns_print_leader(); - printf("ioctl(-1, BLKFRASET, %lu) = -1 EBADF (%m)\n", lmagic); - - TAIL_ALLOC_OBJECT_CONST_PTR(int, val_int); - *val_int = magic; - - ioctl(-1, BLKROSET, val_int); -+ pidns_print_leader(); - printf("ioctl(-1, BLKROSET, [%d]) = -1 EBADF (%m)\n", *val_int); - - ioctl(-1, BLKBSZSET, val_int); -+ pidns_print_leader(); - printf("ioctl(-1, BLKBSZSET, [%d]) = -1 EBADF (%m)\n", *val_int); - - uint64_t *pair_int64 = tail_alloc(sizeof(*pair_int64) * 2); -@@ -111,18 +120,21 @@ - - #ifdef BLKDISCARD - ioctl(-1, BLKDISCARD, pair_int64); -+ pidns_print_leader(); - printf("ioctl(-1, BLKDISCARD, [%" PRIu64 ", %" PRIu64 "])" - " = -1 EBADF (%m)\n", pair_int64[0], pair_int64[1]); - #endif - - #ifdef BLKSECDISCARD - ioctl(-1, BLKSECDISCARD, pair_int64); -+ pidns_print_leader(); - printf("ioctl(-1, BLKSECDISCARD, [%" PRIu64 ", %" PRIu64 "])" - " = -1 EBADF (%m)\n", pair_int64[0], pair_int64[1]); - #endif - - #ifdef BLKZEROOUT - ioctl(-1, BLKZEROOUT, pair_int64); -+ pidns_print_leader(); - printf("ioctl(-1, BLKZEROOUT, [%" PRIu64 ", %" PRIu64 "])" - " = -1 EBADF (%m)\n", pair_int64[0], pair_int64[1]); - #endif -@@ -134,6 +146,7 @@ - blkpg->data = (void *) (unsigned long) 0xcafef00dfffffeedULL; - - ioctl(-1, BLKPG, blkpg); -+ pidns_print_leader(); - printf("ioctl(-1, BLKPG, {op=%s, flags=%d, datalen=%d" - ", data=%#lx}) = -1 EBADF (%m)\n", - "BLKPG_RESIZE_PARTITION", blkpg->flags, blkpg->datalen, -@@ -149,6 +162,7 @@ - blkpg->data = bp; - - ioctl(-1, BLKPG, blkpg); -+ pidns_print_leader(); - printf("ioctl(-1, BLKPG, {op=%s, flags=%d, datalen=%d" - ", data={start=%lld, length=%lld, pno=%d" - ", devname=\"%.*s\"..., volname=\"%.*s\"...}})" -@@ -162,25 +176,31 @@ - #if defined BLKTRACESETUP && defined HAVE_STRUCT_BLK_USER_TRACE_SETUP - TAIL_ALLOC_OBJECT_CONST_PTR(struct blk_user_trace_setup, buts); - fill_memory(buts, sizeof(*buts)); -+ buts->pid = getpid(); - - ioctl(-1, BLKTRACESETUP, buts); -+ pidns_print_leader(); - printf("ioctl(-1, BLKTRACESETUP, {act_mask=%hu, buf_size=%u, buf_nr=%u" -- ", start_lba=%" PRI__u64 ", end_lba=%" PRI__u64 ", pid=%d})" -+ ", start_lba=%" PRI__u64 ", end_lba=%" PRI__u64 ", pid=%d%s})" - " = -1 EBADF (%m)\n", - buts->act_mask, buts->buf_size, buts->buf_nr, -- buts->start_lba, buts->end_lba, buts->pid); -+ buts->start_lba, buts->end_lba, buts->pid, -+ pidns_pid2str(PT_TGID)); - #endif - - unsigned int i; - for (i = 0; i < ARRAY_SIZE(block_argless); ++i) { - ioctl(-1, (unsigned long) block_argless[i].val, lmagic); -+ pidns_print_leader(); - printf("ioctl(-1, %s) = -1 EBADF (%m)\n", block_argless[i].str); - } - - ioctl(-1, _IOC(_IOC_READ, 0x12, 0xfe, 0xff), lmagic); -+ pidns_print_leader(); - printf("ioctl(-1, %s, %#lx) = -1 EBADF (%m)\n", - "_IOC(_IOC_READ, 0x12, 0xfe, 0xff)", lmagic); - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-m32/ioprio--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/ioprio--pidns-translation.c 2020-09-09 19:52:38.894673629 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "ioprio.c" -Index: strace-5.7/tests-m32/ioprio.c -=================================================================== ---- strace-5.7.orig/tests-m32/ioprio.c 2020-09-09 19:52:30.611668692 +0200 -+++ strace-5.7/tests-m32/ioprio.c 2020-09-09 19:52:38.894673629 +0200 -@@ -9,8 +9,8 @@ - */ - - #include "tests.h" -- - #include "scno.h" -+#include "pidns.h" - - #if defined(__NR_ioprio_get) && defined(__NR_ioprio_set) - -@@ -30,12 +30,18 @@ - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - static const kernel_ulong_t bogus_which = - (kernel_ulong_t) 0xdeadfacefa57beefULL; - static const kernel_ulong_t bogus_who = - (kernel_ulong_t) 0xbadc0dedda7a1057ULL; - static const kernel_ulong_t bogus_ioprio = - (kernel_ulong_t) 0xdec0ded1facefeedULL; -+ -+ const int pid = getpid(); -+ const int pgid = getpgid(0); -+ - # if !XLAT_RAW - static const char * const bogus_ioprio_str = - "IOPRIO_PRIO_VALUE(0x7d677 /* IOPRIO_CLASS_??? */, 7917)"; -@@ -46,6 +52,7 @@ - - rc = syscall(__NR_ioprio_get, bogus_which, bogus_who); - errstr = sprintrc(rc); -+ pidns_print_leader(); - # if XLAT_RAW - printf("ioprio_get(%#x, %d) = %s\n", - (int) bogus_which, (int) bogus_who, errstr); -@@ -54,42 +61,52 @@ - (int) bogus_which, (int) bogus_who, errstr); - # endif - -- rc = syscall(__NR_ioprio_get, 1, 0); -+ rc = syscall(__NR_ioprio_get, 1, pid); - errstr = sprintrc(rc); -+ pidns_print_leader(); -+ printf("ioprio_get("); - # if XLAT_RAW -- printf("ioprio_get(0x1, 0) = %s\n", errstr); -+ printf("0x1, "); -+# elif XLAT_VERBOSE -+ printf("0x1 /* IOPRIO_WHO_PROCESS */, "); - # else /* XLAT_ABBREV */ --# if XLAT_VERBOSE -- printf("ioprio_get(0x1 /* IOPRIO_WHO_PROCESS */, 0) = %s", errstr); --# else -- printf("ioprio_get(IOPRIO_WHO_PROCESS, 0) = %s", errstr); --# endif -+ printf("IOPRIO_WHO_PROCESS, "); -+# endif -+ printf("%d%s) = %s", pid, pidns_pid2str(PT_TGID), errstr); -+# if !XLAT_RAW - if (rc >= 0) { - printf(" (IOPRIO_PRIO_VALUE("); - printxval(ioprio_class, (unsigned int) rc >> 13, - "IOPRIO_CLASS_???"); - printf(", %u))", (unsigned int) rc & 0x1fff); - } -- puts(""); - # endif -+ puts(""); - -- rc = syscall(__NR_ioprio_set, 2, 0, 8191); -+ rc = syscall(__NR_ioprio_set, 2, pgid, 8191); - errstr = sprintrc(rc); -+ pidns_print_leader(); -+ printf("ioprio_set("); - # if XLAT_RAW -- printf("ioprio_set(%#x, 0, 8191) = %s\n", 2, errstr); -+ printf("%#x", 2); - # elif XLAT_VERBOSE -- printf("ioprio_set(%#x /* IOPRIO_WHO_PGRP */, 0, 8191" -- " /* IOPRIO_PRIO_VALUE(0 /* IOPRIO_CLASS_NONE */, 8191) */)" -- " = %s\n", -- 2, errstr); -+ printf("%#x /* IOPRIO_WHO_PGRP */", 2); - # else /* XLAT_ABBREV */ -- printf("ioprio_set(IOPRIO_WHO_PGRP, 0" -- ", IOPRIO_PRIO_VALUE(IOPRIO_CLASS_NONE, 8191)) = %s\n", -- errstr); -+ printf("IOPRIO_WHO_PGRP"); -+# endif -+ printf(", %d%s", pgid, pidns_pid2str(PT_PGID)); -+# if XLAT_RAW -+ printf(", 8191)"); -+# elif XLAT_VERBOSE -+ printf(", 8191 /* IOPRIO_PRIO_VALUE(0 /* IOPRIO_CLASS_NONE */, 8191) */)"); -+# else /* XLAT_ABBREV */ -+ printf(", IOPRIO_PRIO_VALUE(IOPRIO_CLASS_NONE, 8191))"); - # endif -+ printf(" = %s\n", errstr); - - rc = syscall(__NR_ioprio_set, bogus_which, bogus_who, bogus_ioprio); - errstr = sprintrc(rc); -+ pidns_print_leader(); - # if XLAT_RAW - printf("ioprio_set(%#x, %d, %d) = %s\n", - (int) bogus_which, (int) bogus_who, (int) bogus_ioprio, -@@ -104,6 +121,7 @@ - errstr); - # endif - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - - return 0; -Index: strace-5.7/tests-m32/kcmp-y--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/kcmp-y--pidns-translation.c 2020-09-09 19:52:38.894673629 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "kcmp-y.c" -Index: strace-5.7/tests-m32/kcmp.c -=================================================================== ---- strace-5.7.orig/tests-m32/kcmp.c 2020-09-09 19:52:30.612668693 +0200 -+++ strace-5.7/tests-m32/kcmp.c 2020-09-09 19:52:38.894673629 +0200 -@@ -9,8 +9,8 @@ - */ - - #include "tests.h" -- - #include "scno.h" -+#include "pidns.h" - - #ifdef __NR_kcmp - -@@ -101,7 +101,11 @@ - rc = syscall(__NR_kcmp, pid1, pid2, type, idx1, idx2); - errstr = sprintrc(rc); - -- printf("kcmp(%d, %d, ", (int) pid1, (int) pid2); -+ const char *pid_str = pidns_pid2str(PT_TGID); -+ pidns_print_leader(); -+ printf("kcmp(%d%s, %d%s, ", -+ (int) pid1, (int) pid1 == getpid() ? pid_str : "", -+ (int) pid2, (int) pid2 == getpid() ? pid_str : ""); - - if (type_str) - printf("%s", type_str); -@@ -146,6 +150,8 @@ - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - static const kernel_ulong_t bogus_pid1 = - (kernel_ulong_t) 0xdeadca75face1057ULL; - static const kernel_ulong_t bogus_pid2 = -@@ -221,6 +227,7 @@ - (uintptr_t) slot, 1); - } - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - - return 0; -Index: strace-5.7/tests-m32/kill--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/kill--pidns-translation.c 2020-09-09 19:52:38.894673629 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "kill.c" -Index: strace-5.7/tests-m32/kill.c -=================================================================== ---- strace-5.7.orig/tests-m32/kill.c 2020-09-09 19:52:30.612668693 +0200 -+++ strace-5.7/tests-m32/kill.c 2020-09-09 19:52:38.895673630 +0200 -@@ -11,6 +11,7 @@ - - #include "tests.h" - #include "scno.h" -+#include "pidns.h" - - #ifdef __NR_kill - -@@ -26,6 +27,8 @@ - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - const struct sigaction act = { .sa_handler = handler }; - if (sigaction(SIGALRM, &act, NULL)) - perror_msg_and_fail("sigaction"); -@@ -37,18 +40,23 @@ - perror_msg_and_fail("sigprocmask"); - - const int pid = getpid(); -+ const char *pid_str = pidns_pid2str(PT_TGID); - long rc = syscall(__NR_kill, pid, (long) 0xdefaced00000000ULL | SIGALRM); -- printf("kill(%d, SIGALRM) = %ld\n", pid, rc); -+ pidns_print_leader(); -+ printf("kill(%d%s, SIGALRM) = %ld\n", pid, pid_str, rc); - - const long big_pid = (long) 0xfacefeedbadc0dedULL; - const long big_sig = (long) 0xdeadbeefcafef00dULL; - rc = syscall(__NR_kill, big_pid, big_sig); -+ pidns_print_leader(); - printf("kill(%d, %d) = %ld %s (%m)\n", - (int) big_pid, (int) big_sig, rc, errno2name()); - - rc = syscall(__NR_kill, (long) 0xdefaced00000000ULL | pid, 0); -- printf("kill(%d, 0) = %ld\n", pid, rc); -+ pidns_print_leader(); -+ printf("kill(%d%s, 0) = %ld\n", pid, pid_str, rc); - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-m32/migrate_pages--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/migrate_pages--pidns-translation.c 2020-09-09 19:52:38.895673630 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "migrate_pages.c" -Index: strace-5.7/tests-m32/migrate_pages.c -=================================================================== ---- strace-5.7.orig/tests-m32/migrate_pages.c 2020-09-09 19:52:30.612668693 +0200 -+++ strace-5.7/tests-m32/migrate_pages.c 2020-09-09 19:52:38.895673630 +0200 -@@ -10,6 +10,7 @@ - - #include "tests.h" - #include "scno.h" -+#include "pidns.h" - - #ifdef __NR_migrate_pages - -@@ -19,11 +20,21 @@ - int - main(void) - { -- const long pid = (long) 0xfacefeedffffffffULL; -+ PIDNS_TEST_INIT; -+ -+ const long pid = (long) 0xfacefeed00000000ULL | getpid(); - long rc = syscall(__NR_migrate_pages, pid, 0, 0, 0); -- printf("migrate_pages(%d, 0, NULL, NULL) = %ld %s (%m)\n", -- (int) pid, rc, errno2name()); - -+ pidns_print_leader(); -+ printf("migrate_pages(%d%s, 0, NULL, NULL) = %ld", -+ (int) pid, pidns_pid2str(PT_TGID), rc); -+ -+ if (rc < 0) -+ printf(" %s (%m)\n", errno2name()); -+ else -+ printf("\n"); -+ -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-m32/move_pages--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/move_pages--pidns-translation.c 2020-09-09 19:52:38.895673630 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "move_pages.c" -Index: strace-5.7/tests-m32/move_pages.c -=================================================================== ---- strace-5.7.orig/tests-m32/move_pages.c 2020-09-09 19:52:30.613668693 +0200 -+++ strace-5.7/tests-m32/move_pages.c 2020-09-09 19:52:38.895673630 +0200 -@@ -10,6 +10,7 @@ - - #include "tests.h" - #include "scno.h" -+#include "pidns.h" - - #ifdef __NR_move_pages - -@@ -122,15 +123,20 @@ - } - - static void --print_stat_pages(const unsigned long pid, const unsigned long count, -- const void **const pages, int *const status) -+print_stat_pages(const unsigned long pid, -+ const char *pid_str, -+ const unsigned long count, -+ const void **const pages, -+ int *const status) - { - const unsigned long flags = (unsigned long) 0xfacefeed00000002ULL; - - long rc = syscall(__NR_move_pages, - pid, count, pages, NULL, status, flags); - const char *errstr = sprintrc(rc); -- printf("move_pages(%d, %lu, ", (int) pid, count); -+ pidns_print_leader(); -+ printf("move_pages(%d%s, %lu, ", (int) pid, pid_str, -+ count); - print_page_array(pages, count, 0); - printf(", NULL, "); - if (rc) { -@@ -152,6 +158,7 @@ - - static void - print_move_pages(const unsigned long pid, -+ const char *pid_str, - unsigned long count, - const unsigned int offset, - const void **const pages, -@@ -164,7 +171,9 @@ - long rc = syscall(__NR_move_pages, - pid, count, pages, nodes, status, flags); - const char *errstr = sprintrc(rc); -- printf("move_pages(%d, %lu, ", (int) pid, count); -+ pidns_print_leader(); -+ printf("move_pages(%d%s, %lu, ", (int) pid, pid_str, -+ count); - print_page_array(pages, count, offset); - printf(", "); - print_node_array(nodes, count, offset); -@@ -185,8 +194,11 @@ - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - const unsigned long pid = - (unsigned long) 0xfacefeed00000000ULL | getpid(); -+ const char *pid_str = pidns_pid2str(PT_TGID); - unsigned long count = 1; - const unsigned page_size = get_page_size(); - const void *const page = tail_alloc(page_size); -@@ -195,40 +207,41 @@ - TAIL_ALLOC_OBJECT_VAR_PTR(int, nodes); - TAIL_ALLOC_OBJECT_VAR_PTR(int, status); - -- print_stat_pages(pid, 0, pages, status); -- print_move_pages(pid, 0, 0, pages, nodes, status); -- print_move_pages(pid, 0, 1, pages + 1, nodes + 1, status + 1); -+ print_stat_pages(pid, pid_str, 0, pages, status); -+ print_move_pages(pid, pid_str, 0, 0, pages, nodes, status); -+ print_move_pages(pid, pid_str, 0, 1, pages + 1, nodes + 1, status + 1); - - *pages = page; -- print_stat_pages(pid, count, pages, status); -+ print_stat_pages(pid, pid_str, count, pages, status); - *nodes = 0xdeadbee1; -- print_move_pages(pid, count, 0, pages, nodes, status); -- print_move_pages(pid, count, 1, pages, nodes, status); -+ print_move_pages(pid, pid_str, count, 0, pages, nodes, status); -+ print_move_pages(pid, pid_str, count, 1, pages, nodes, status); - - ++count; - --status; - *(--pages) = efault; -- print_stat_pages(pid, count, pages, status); -+ print_stat_pages(pid, pid_str, count, pages, status); - *(--nodes) = 0xdeadbee2; -- print_move_pages(pid, count, 0, pages, nodes, status); -- print_move_pages(pid, count, 1, pages, nodes, status); -+ print_move_pages(pid, pid_str, count, 0, pages, nodes, status); -+ print_move_pages(pid, pid_str, count, 1, pages, nodes, status); - - ++count; - --status; - *(--pages) = nodes; -- print_stat_pages(pid, count, pages, status); -+ print_stat_pages(pid, pid_str, count, pages, status); - *(--nodes) = 0xdeadbee3; -- print_move_pages(pid, count, 0, pages, nodes, status); -- print_move_pages(pid, count, 1, pages, nodes, status); -+ print_move_pages(pid, pid_str, count, 0, pages, nodes, status); -+ print_move_pages(pid, pid_str, count, 1, pages, nodes, status); - - ++count; - --status; - *(--pages) = status; -- print_stat_pages(pid, count, pages, status); -+ print_stat_pages(pid, pid_str, count, pages, status); - *(--nodes) = 0xdeadbee4; -- print_move_pages(pid, count, 0, pages, nodes, status); -- print_move_pages(pid, count, 1, pages, nodes, status); -+ print_move_pages(pid, pid_str, count, 0, pages, nodes, status); -+ print_move_pages(pid, pid_str, count, 1, pages, nodes, status); - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-m32/net-sockaddr--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/net-sockaddr--pidns-translation.c 2020-09-09 19:52:38.896673630 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "net-sockaddr.c" -Index: strace-5.7/tests-m32/net-sockaddr.c -=================================================================== ---- strace-5.7.orig/tests-m32/net-sockaddr.c 2020-09-09 19:52:30.614668694 +0200 -+++ strace-5.7/tests-m32/net-sockaddr.c 2020-09-09 19:52:38.896673630 +0200 -@@ -9,6 +9,7 @@ - */ - - #include "tests.h" -+#include "pidns.h" - #include - #include - #include -@@ -40,18 +41,21 @@ - memset(un->sun_path, '0', sizeof(un->sun_path)); - unsigned int len = sizeof(*un); - int ret = connect(-1, (void *) un, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_UNIX, sun_path=\"%.*u\"}" - ", %u) = %d EBADF (%m)\n", - (int) sizeof(un->sun_path), 0, len, ret); - - un->sun_path[1] = 0; - ret = connect(-1, (void *) un, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_UNIX, sun_path=\"%u\"}, %u)" - " = %d EBADF (%m)\n", 0, len, ret); - - un->sun_path[0] = 0; - un->sun_path[2] = 1; - ret = connect(-1, (void *) un, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_UNIX, sun_path=@\"\\0\\001%.*u\"}" - ", %u) = %d EBADF (%m)\n", - (int) sizeof(un->sun_path) - 3, 0, len, ret); -@@ -61,12 +65,14 @@ - memset(un->sun_path, '0', sizeof(un->sun_path)); - len = sizeof(*un) + 2; - ret = connect(-1, (void *) un, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_UNIX, sun_path=\"%.*u\"}" - ", %u) = %d EBADF (%m)\n", - (int) sizeof(un->sun_path), 0, len, ret); - - un->sun_path[0] = 0; - ret = connect(-1, (void *) un, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_UNIX, sun_path=@\"%.*u\"}" - ", %u) = %d EBADF (%m)\n", - (int) sizeof(un->sun_path) - 1, 0, len, ret); -@@ -75,18 +81,21 @@ - un->sun_family = AF_UNIX; - len = sizeof(*un) - 2; - ret = connect(-1, (void *) un, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_UNIX, sun_path=\"%.*u\"}" - ", %u) = %d EBADF (%m)\n", - (int) sizeof(un->sun_path) - 2, 0, len, ret); - - un->sun_path[0] = 0; - ret = connect(-1, (void *) un, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_UNIX, sun_path=@\"%.*u\"}" - ", %u) = %d EBADF (%m)\n", - (int) sizeof(un->sun_path) - 3, 0, len, ret); - - len = sizeof(*un); - ret = connect(-1, (void *) un, len); -+ pidns_print_leader(); - printf("connect(-1, %p, %u) = %d EBADF (%m)\n", un, len, ret); - - un = tail_alloc(sizeof(struct sockaddr_storage)); -@@ -94,12 +103,14 @@ - memset(un->sun_path, '0', sizeof(un->sun_path)); - len = sizeof(struct sockaddr_storage) + 1; - ret = connect(-1, (void *) un, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_UNIX, sun_path=\"%.*u\"}" - ", %u) = %d EBADF (%m)\n", - (int) sizeof(un->sun_path), 0, len, ret); - - un->sun_path[0] = 0; - ret = connect(-1, (void *) un, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_UNIX, sun_path=@\"%.*u\"}" - ", %u) = %d EBADF (%m)\n", - (int) sizeof(un->sun_path) - 1, 0, len, ret); -@@ -117,6 +128,7 @@ - in->sin_addr.s_addr = inet_addr(h_addr); - unsigned int len = sizeof(*in); - int ret = connect(-1, (void *) in, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_INET, sin_port=htons(%hu)" - ", sin_addr=inet_addr(\"%s\")}, %u) = %d EBADF (%m)\n", - h_port, h_addr, len, ret); -@@ -127,6 +139,7 @@ - in->sin_addr.s_addr = inet_addr(h_addr); - len = sizeof(*in) + 4; - ret = connect(-1, (void *) in, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_INET, sin_port=htons(%hu)" - ", sin_addr=inet_addr(\"%s\")}, %u) = %d EBADF (%m)\n", - h_port, h_addr, len, ret); -@@ -137,6 +150,7 @@ - in->sin_addr.s_addr = 0; - len = sizeof(*in) - 4; - ret = connect(-1, (void *) in, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_INET, sa_data=\"%s\"}, %u)" - " = %d EBADF (%m)\n", - "\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377", -@@ -144,6 +158,7 @@ - - len = sizeof(*in); - ret = connect(-1, (void *) in, len); -+ pidns_print_leader(); - printf("connect(-1, %p, %u) = %d EBADF (%m)\n", in, len, ret); - } - -@@ -155,6 +170,7 @@ - in6->sin6_scope_id = 0xfacefeed; - unsigned int len = sizeof(*in6); - int ret = connect(-1, (void *) in6, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_INET6, sin6_port=htons(%hu)" - ", sin6_flowinfo=htonl(%u)" - ", inet_pton(AF_INET6, \"%s\", &sin6_addr)" -@@ -166,7 +182,8 @@ - in6->sin6_scope_id = ifindex_lo(); - if (in6->sin6_scope_id) { - ret = connect(-1, (void *) in6, len); -- printf("connect(-1, {sa_family=AF_INET6, sin6_port=htons(%hu)" -+ pidns_print_leader(); -+ printf("connect(-1, {sa_family=AF_INET6, sin6_port=htons(%hu)" - ", sin6_flowinfo=htonl(%u)" - ", inet_pton(AF_INET6, \"%s\", &sin6_addr)" - ", sin6_scope_id=%s}, %u)" -@@ -191,6 +208,7 @@ - in6->sin6_scope_id = 0xfacefeed; - unsigned int len = sizeof(*in6); - int ret = connect(-1, (void *) in6, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_INET6, sin6_port=htons(%hu)" - ", sin6_flowinfo=htonl(%u)" - ", inet_pton(AF_INET6, \"%s\", &sin6_addr)" -@@ -209,6 +227,7 @@ - in6->sin6_scope_id = 0xfacefeed; - len = sizeof(*in6) + 4; - ret = connect(-1, (void *) in6, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_INET6, sin6_port=htons(%hu)" - ", sin6_flowinfo=htonl(%u)" - ", inet_pton(AF_INET6, \"%s\", &sin6_addr)" -@@ -223,6 +242,7 @@ - inet_pton(AF_INET6, h_addr, &in6->sin6_addr); - len = sizeof(*in6) - sizeof(in6->sin6_scope_id); - ret = connect(-1, (void *) in6, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_INET6, sin6_port=htons(%hu)" - ", sin6_flowinfo=htonl(%u)" - ", inet_pton(AF_INET6, \"%s\", &sin6_addr)}, %u)" -@@ -236,6 +256,7 @@ - memset(&in6->sin6_addr, '0', sizeof(in6->sin6_addr) - 4); - len = sizeof(*in6) - sizeof(in6->sin6_scope_id) - 4; - ret = connect(-1, (void *) in6, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_INET6" - ", sa_data=\"\\0\\0\\0\\0\\0\\000%.*u\"}, %u)" - " = %d EBADF (%m)\n", -@@ -244,6 +265,7 @@ - - len = sizeof(*in6) - sizeof(in6->sin6_scope_id); - ret = connect(-1, (void *) in6, len); -+ pidns_print_leader(); - printf("connect(-1, %p, %u) = %d EBADF (%m)\n", in6, len, ret); - } - -@@ -262,6 +284,7 @@ - void *ipx = tail_memdup(&c_ipx, sizeof(c_ipx)); - unsigned int len = sizeof(c_ipx); - int ret = connect(-1, ipx, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_IPX, sipx_port=htons(%u)" - ", sipx_network=htonl(%#x)" - ", sipx_node=[%#02x, %#02x, %#02x, %#02x, %#02x, %#02x]" -@@ -316,18 +339,21 @@ - fill_memory(sax, size); - sax->fsa_ax25.sax25_family = AF_AX25; - rc = connect(-1, sax_void, sizeof(struct sockaddr_ax25) - 1); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_AX25, sa_data=\"\\202\\203\\204\\205" - "\\206\\207\\210\\211\\212\\213\\214\\215\\216\"}, %zu) = %s\n", - sizeof(struct sockaddr_ax25) - 1, sprintrc(rc)); - - memcpy(sax, &ax25, sizeof(ax25)); - rc = connect(-1, sax_void, sizeof(struct sockaddr_ax25)); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_AX25, fsa_ax25={sax25_call=VALID-13" - ", sax25_ndigis=8}, fsa_digipeater=[/* ??? */]}, %zu) = %s\n", - sizeof(struct sockaddr_ax25), sprintrc(rc)); - - sax->fsa_ax25.sax25_ndigis = 0; - rc = connect(-1, sax_void, sizeof(struct sockaddr_ax25)); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_AX25, sax25_call=VALID-13" - ", sax25_ndigis=0}, %zu) = %s\n", - sizeof(struct sockaddr_ax25), sprintrc(rc)); -@@ -335,6 +361,7 @@ - sax->fsa_ax25.sax25_ndigis = 8; - size = sizeof(struct sockaddr_ax25) + sizeof(ax25_address) * 3 + 1; - rc = connect(-1, sax_void, size); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_AX25, fsa_ax25={sax25_call=VALID-13" - ", sax25_ndigis=8}, fsa_digipeater" - "=[{ax25_call=\"\\xa6\\xa0\\x82\\x40\\x86\\x8a\\x00\"" -@@ -348,6 +375,7 @@ - sax->fsa_digipeater[2].ax25_call[6] = 0x4; - size = sizeof(struct sockaddr_ax25) + sizeof(ax25_address) * 4; - rc = connect(-1, sax_void, size); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_AX25, fsa_ax25={sax25_call=VALID-13" - ", sax25_ndigis=8}, fsa_digipeater" - "=[{ax25_call=\"\\xa6\\xa0\\x82\\x40\\x86\\x8a\\x00\"" -@@ -365,6 +393,7 @@ - for (size_t i = 0; i < 3; i++) { - size = sizeof(ax25) + sizeof(ax25_address) * (i / 2); - rc = connect(-1, sax_void, size); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_AX25" - ", fsa_ax25={sax25_call=VALID-13, sax25_ndigis=%d}" - ", fsa_digipeater=[VALID2-7, OK-15, %s /* FINE-2 */" -@@ -427,12 +456,14 @@ - long rc; - - rc = connect(-1, x25_void, sizeof(c_x25) - 1); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_X25" - ", sa_data=\"0123456789abcde\"}, %zu) = %s\n", - sizeof(c_x25) - 1, sprintrc(rc)); - - for (size_t i = 0; i < 2; i++) { - rc = connect(-1, x25_void, sizeof(c_x25) + i); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_X25" - ", sx25_addr={x25_addr=\"0123456789abcde\"...}" - "}, %zu) = %s\n", -@@ -442,6 +473,7 @@ - struct sockaddr_x25 *const x25 = x25_void; - x25->sx25_addr.x25_addr[10] = '\0'; - rc = connect(-1, x25_void, sizeof(c_x25)); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_X25" - ", sx25_addr={x25_addr=\"0123456789\"}" - "}, %zu) = %s\n", -@@ -457,19 +489,21 @@ - nl->nl_groups = 0xfacefeed; - unsigned int len = sizeof(*nl); - int ret = connect(-1, (void *) nl, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_NETLINK, nl_pid=%d" - ", nl_groups=%#08x}, %u) = %d EBADF (%m)\n", - nl->nl_pid, nl->nl_groups, len, ret); - - nl = ((void *) nl) - 4; - nl->nl_family = AF_NETLINK; -- nl->nl_pid = 1234567890; -+ nl->nl_pid = getpid(); - nl->nl_groups = 0xfacefeed; - len = sizeof(*nl) + 4; - ret = connect(-1, (void *) nl, len); -- printf("connect(-1, {sa_family=AF_NETLINK, nl_pid=%d" -+ pidns_print_leader(); -+ printf("connect(-1, {sa_family=AF_NETLINK, nl_pid=%d%s" - ", nl_groups=%#08x}, %u) = %d EBADF (%m)\n", -- nl->nl_pid, nl->nl_groups, len, ret); -+ nl->nl_pid, pidns_pid2str(PT_TGID), nl->nl_groups, len, ret); - } - - static void -@@ -487,6 +521,7 @@ - void *ll = tail_memdup(&c_ll, sizeof(c_ll)); - unsigned int len = sizeof(c_ll); - int ret = connect(-1, ll, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_PACKET" - ", sll_protocol=htons(ETH_P_ALL)" - ", sll_ifindex=%u, sll_hatype=ARPHRD_ETHER" -@@ -502,6 +537,7 @@ - - ((struct sockaddr_ll *) ll)->sll_halen++; - ret = connect(-1, ll, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_PACKET" - ", sll_protocol=htons(ETH_P_ALL)" - ", sll_ifindex=%u, sll_hatype=ARPHRD_ETHER" -@@ -517,6 +553,7 @@ - - ((struct sockaddr_ll *) ll)->sll_halen = 0; - ret = connect(-1, ll, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_PACKET" - ", sll_protocol=htons(ETH_P_ALL)" - ", sll_ifindex=%u, sll_hatype=ARPHRD_ETHER" -@@ -526,6 +563,7 @@ - ((struct sockaddr_ll *) ll)->sll_ifindex = ifindex_lo(); - if (((struct sockaddr_ll *) ll)->sll_ifindex) { - ret = connect(-1, ll, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_PACKET" - ", sll_protocol=htons(ETH_P_ALL)" - ", sll_ifindex=%s" -@@ -549,11 +587,13 @@ - unsigned int len = sizeof(*hci); - - int ret = connect(-1, (void *) hci, 4); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_BLUETOOTH, hci_dev=htobs(%hu)" - "}, 4) = %d EBADF (%m)\n", - h_port, ret); - - ret = connect(-1, (void *) hci, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_BLUETOOTH, hci_dev=htobs(%hu)" - # ifdef HAVE_STRUCT_SOCKADDR_HCI_HCI_CHANNEL - ", hci_channel=HCI_CHANNEL_RAW" -@@ -572,6 +612,7 @@ - void *sco = tail_memdup(&c_sco, sizeof(c_sco)); - unsigned int len = sizeof(c_sco); - int ret = connect(-1, sco, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_BLUETOOTH" - ", sco_bdaddr=%02x:%02x:%02x:%02x:%02x:%02x" - "}, %u) = %d EBADF (%m)\n", -@@ -592,6 +633,7 @@ - void *rc = tail_memdup(&c_rc, sizeof(c_rc)); - unsigned int len = sizeof(c_rc); - int ret = connect(-1, rc, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_BLUETOOTH" - ", rc_bdaddr=%02x:%02x:%02x:%02x:%02x:%02x" - ", rc_channel=%u}, %u) = %d EBADF (%m)\n", -@@ -619,6 +661,7 @@ - unsigned int len = sizeof(c_l2); - - int ret = connect(-1, l2, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_BLUETOOTH" - ", l2_psm=htobs(L2CAP_PSM_DYN_START + %hu)" - ", l2_bdaddr=%02x:%02x:%02x:%02x:%02x:%02x" -@@ -640,6 +683,7 @@ - # endif - memcpy(l2, &c_l2, sizeof(c_l2)); - ret = connect(-1, l2, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_BLUETOOTH" - ", l2_psm=htobs(L2CAP_PSM_SDP)" - ", l2_bdaddr=%02x:%02x:%02x:%02x:%02x:%02x" -@@ -660,6 +704,7 @@ - # endif - memcpy(l2, &c_l2, sizeof(c_l2)); - ret = connect(-1, l2, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_BLUETOOTH" - ", l2_psm=htobs(0xbad /* L2CAP_PSM_??? */)" - ", l2_bdaddr=%02x:%02x:%02x:%02x:%02x:%02x" -@@ -677,6 +722,7 @@ - c_l2.l2_cid = htobs(0xffff); - memcpy(l2, &c_l2, 12); - ret = connect(-1, l2, 12); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_BLUETOOTH" - ", l2_psm=htobs(L2CAP_PSM_AUTO_END)" - ", l2_bdaddr=%02x:%02x:%02x:%02x:%02x:%02x" -@@ -700,6 +746,7 @@ - u.sa->sa_family = 0xff; - unsigned int len = sizeof(*u.st) + 8; - int ret = connect(-1, (void *) u.st, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=%#x /* AF_??? */, sa_data=\"%.*u\"}" - ", %u) = %d EBADF (%m)\n", u.sa->sa_family, - (int) (sizeof(*u.st) - sizeof(u.sa->sa_family)), 0, len, ret); -@@ -707,11 +754,13 @@ - u.sa->sa_family = 0; - len = sizeof(u.sa->sa_family) + 1; - ret = connect(-1, (void *) u.st, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_UNSPEC, sa_data=\"0\"}, %u)" - " = %d EBADF (%m)\n", len, ret); - - u.sa->sa_family = AF_BLUETOOTH; - ret = connect(-1, (void *) u.st, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_BLUETOOTH, sa_data=\"0\"}, %u)" - " = %d EBADF (%m)\n", len, ret); - } -@@ -719,6 +768,8 @@ - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - check_un(); - check_in(); - check_in6(); -@@ -735,6 +786,7 @@ - #endif - check_raw(); - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-m32/netlink_audit--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/netlink_audit--pidns-translation.c 2020-09-09 19:52:38.896673630 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "netlink_audit.c" -Index: strace-5.7/tests-m32/netlink_audit--pidns-translation.test -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/netlink_audit--pidns-translation.test 2020-09-09 19:52:38.897673631 +0200 -@@ -0,0 +1,13 @@ -+#!/bin/sh -+# -+# Check pidns translation of NETLINK_SOCK_DIAG protocol decoding -+# -+# Copyright (c) 2020 The strace developers. -+# All rights reserved. -+# -+# SPDX-License-Identifier: LGPL-2.1-or-later -+ -+. "${srcdir=.}/init.sh" -+ -+run_prog ../netlink_netlink_diag -+test_pidns -e trace=sendto "$@" -Index: strace-5.7/tests-m32/netlink_audit.c -=================================================================== ---- strace-5.7.orig/tests-m32/netlink_audit.c 2020-09-09 19:52:30.615668694 +0200 -+++ strace-5.7/tests-m32/netlink_audit.c 2020-09-09 19:52:38.897673631 +0200 -@@ -7,6 +7,7 @@ - */ - - #include "tests.h" -+#include "pidns.h" - #include - #include - #include -@@ -17,18 +18,23 @@ - static void - test_nlmsg_type(const int fd) - { -+ PIDNS_TEST_INIT; -+ - long rc; - struct nlmsghdr nlh = { - .nlmsg_len = sizeof(nlh), - .nlmsg_type = AUDIT_GET, - .nlmsg_flags = NLM_F_REQUEST, -+ .nlmsg_pid = getpid(), - }; - - rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0); -+ pidns_print_leader(); - printf("sendto(%d, {len=%u, type=AUDIT_GET" -- ", flags=NLM_F_REQUEST, seq=0, pid=0}" -+ ", flags=NLM_F_REQUEST, seq=0, pid=%d%s}" - ", %u, MSG_DONTWAIT, NULL, 0) = %s\n", -- fd, nlh.nlmsg_len, (unsigned) sizeof(nlh), sprintrc(rc)); -+ fd, nlh.nlmsg_len, nlh.nlmsg_pid, pidns_pid2str(PT_TGID), -+ (unsigned) sizeof(nlh), sprintrc(rc)); - } - - int main(void) -@@ -39,6 +45,7 @@ - - test_nlmsg_type(fd); - -+ pidns_print_leader(); - printf("+++ exited with 0 +++\n"); - - return 0; -Index: strace-5.7/tests-m32/pidfd_open--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/pidfd_open--pidns-translation.c 2020-09-09 19:52:38.897673631 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "pidfd_open.c" -Index: strace-5.7/tests-m32/pidfd_open.c -=================================================================== ---- strace-5.7.orig/tests-m32/pidfd_open.c 2020-09-09 19:52:30.615668694 +0200 -+++ strace-5.7/tests-m32/pidfd_open.c 2020-09-09 19:52:38.897673631 +0200 -@@ -10,6 +10,7 @@ - - #include "tests.h" - #include "scno.h" -+#include "pidns.h" - - #ifdef __NR_pidfd_open - -@@ -37,6 +38,8 @@ - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - # if defined PATH_TRACING || defined PRINT_PATHS - skip_if_unavailable("/proc/self/fd/"); - # endif -@@ -50,16 +53,19 @@ - - k_pidfd_open(0, 0); - # ifndef PATH_TRACING -+ pidns_print_leader(); - printf("pidfd_open(0, 0) = %s\n", errstr); - # endif - - k_pidfd_open(-1U, 0); - # ifndef PATH_TRACING -+ pidns_print_leader(); - printf("pidfd_open(-1, 0) = %s\n", errstr); - # endif - - k_pidfd_open(0, -1U); - # ifndef PATH_TRACING -+ pidns_print_leader(); - printf("pidfd_open(0, %#x) = %s\n", -1U, errstr); - # endif - -@@ -68,7 +74,10 @@ - - k_pidfd_open(pid, flags); - # ifndef PATH_TRACING -- printf("pidfd_open(%d, %#x) = %s\n", pid, flags, errstr); -+ const char *pid_str = pidns_pid2str(PT_TGID); -+ pidns_print_leader(); -+ printf("pidfd_open(%d%s, %#x) = %s\n", -+ pid, pid_str, flags, errstr); - # endif - - # ifdef PRINT_PATHS -@@ -80,17 +89,19 @@ - # endif - - # ifndef PATH_TRACING -- printf("pidfd_open(%d, 0) = " -+ pidns_print_leader(); -+ printf("pidfd_open(%d%s, 0) = " - # if defined PRINT_PIDFD -- "%ld\n", pid, rc, pid -+ "%ld\n", pid, pid_str, rc, pid - # elif defined PRINT_PATHS -- "%ld\n", pid, rc -+ "%ld\n", pid, pid_str, rc - # else -- "%s\n", pid, errstr -+ "%s\n", pid, pid_str, errstr - # endif - ); - # endif - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-m32/pidfd_send_signal--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/pidfd_send_signal--pidns-translation.c 2020-09-09 19:52:38.897673631 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "pidfd_send_signal.c" -Index: strace-5.7/tests-m32/pidfd_send_signal.c -=================================================================== ---- strace-5.7.orig/tests-m32/pidfd_send_signal.c 2020-09-09 19:52:30.615668694 +0200 -+++ strace-5.7/tests-m32/pidfd_send_signal.c 2020-09-09 19:52:38.898673631 +0200 -@@ -10,6 +10,7 @@ - #include "tests.h" - #include - #include "scno.h" -+#include "pidns.h" - - #ifdef __NR_pidfd_send_signal - -@@ -36,6 +37,8 @@ - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - static const char null_path[] = "/dev/null"; - - int fd = open(null_path, O_RDONLY); -@@ -46,19 +49,23 @@ - const void *esi = (const void *) si + 1; - - sys_pidfd_send_signal(fd, SIGUSR1, esi, 0); -+ pidns_print_leader(); - printf("pidfd_send_signal(%d, SIGUSR1, %p, 0) = %s\n", - fd, esi, errstr); - - si->si_signo = SIGUSR1; - si->si_code = SI_QUEUE; -+ si->si_pid = getpid(); - - sys_pidfd_send_signal(fd, SIGUSR2, si, -1); -+ pidns_print_leader(); - printf("pidfd_send_signal(%d, SIGUSR2, {si_signo=SIGUSR1" -- ", si_code=SI_QUEUE, si_errno=%u, si_pid=%d, si_uid=%d" -+ ", si_code=SI_QUEUE, si_errno=%u, si_pid=%d%s, si_uid=%d" - ", si_value={int=%d, ptr=%p}}, %#x) = %s\n", -- fd, si->si_errno, si->si_pid, si->si_uid, si->si_int, si->si_ptr, -- -1U, errstr); -+ fd, si->si_errno, si->si_pid, pidns_pid2str(PT_TGID), si->si_uid, -+ si->si_int, si->si_ptr, -1U, errstr); - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-m32/pidns-cache.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/pidns-cache.c 2020-09-09 19:52:38.898673631 +0200 -@@ -0,0 +1,62 @@ -+/* -+ * Copyright (c) 2020 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+#include "scno.h" -+#include "pidns.h" -+ -+#if defined __NR_getpid && (!defined __NR_getxpid || __NR_getxpid != __NR_getpid) -+ -+# include -+# include -+# include -+ -+# define SYSCALL_COUNT 1000 -+ -+/** -+ * Max ratio of the execution time with and without pidns translation. -+ */ -+# define MAX_TIME_RATIO 20 -+ -+static long -+execute_syscalls(void) -+{ -+ /* Load our PID in the cache */ -+ syscall(__NR_getpid); -+ -+ struct timeval stop, start; -+ gettimeofday(&start, NULL); -+ -+ for (int i = 0; i < SYSCALL_COUNT; i++) -+ syscall(__NR_getpid); -+ -+ gettimeofday(&stop, NULL); -+ -+ return (stop.tv_usec - start.tv_usec) + -+ (stop.tv_sec - start.tv_sec) * 1000000; -+} -+ -+int -+main(void) -+{ -+ long max_us = execute_syscalls() * MAX_TIME_RATIO; -+ -+ pidns_test_init(); -+ -+ long us = execute_syscalls(); -+ if (us > max_us) -+ error_msg_and_fail("pidns translation took too long: %ld us " -+ "(max: %ld us)", us, max_us); -+ -+ return 0; -+} -+ -+#else -+ -+SKIP_MAIN_UNDEFINED("__NR_getpid") -+ -+#endif -Index: strace-5.7/tests-m32/pidns-cache.test -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/pidns-cache.test 2020-09-09 19:52:38.898673631 +0200 -@@ -0,0 +1,15 @@ -+#!/bin/sh -+# -+# Test pidns translation cache. -+# -+# Copyright (c) 2020 The strace developers. -+# All rights reserved. -+# -+# SPDX-License-Identifier: GPL-2.0-or-later -+ -+. "${srcdir=.}/init.sh" -+ -+check_prog timeout -+ -+run_prog > /dev/null -+run_strace --pidns-translation -f -e trace=getpid $args -Index: strace-5.7/tests-m32/prlimit64--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/prlimit64--pidns-translation.c 2020-09-09 19:52:38.898673631 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "prlimit64.c" -Index: strace-5.7/tests-m32/prlimit64.c -=================================================================== ---- strace-5.7.orig/tests-m32/prlimit64.c 2020-09-09 19:52:30.616668695 +0200 -+++ strace-5.7/tests-m32/prlimit64.c 2020-09-09 19:52:38.898673631 +0200 -@@ -19,6 +19,7 @@ - # include - # include - -+# include "pidns.h" - # include "xlat.h" - # include "xlat/resources.h" - -@@ -42,8 +43,11 @@ - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - unsigned long pid = - (unsigned long) 0xdefaced00000000ULL | (unsigned) getpid(); -+ const char *pid_str = pidns_pid2str(PT_TGID); - uint64_t *const rlimit = tail_alloc(sizeof(*rlimit) * 2); - const struct xlat_data *xlat; - size_t i = 0; -@@ -54,18 +58,23 @@ - - unsigned long res = 0xfacefeed00000000ULL | xlat->val; - long rc = syscall(__NR_prlimit64, pid, res, 0, rlimit); -+ pidns_print_leader(); - if (rc) -- printf("prlimit64(%d, %s, NULL, %p) = %ld %s (%m)\n", -- (unsigned) pid, xlat->str, rlimit, -+ printf("prlimit64(%d%s, %s, NULL, %p) =" -+ " %ld %s (%m)\n", -+ (unsigned) pid, pid_str, -+ xlat->str, rlimit, - rc, errno2name()); - else -- printf("prlimit64(%d, %s, NULL" -+ printf("prlimit64(%d%s, %s, NULL" - ", {rlim_cur=%s, rlim_max=%s}) = 0\n", -- (unsigned) pid, xlat->str, -+ (unsigned) pid, pid_str, -+ xlat->str, - sprint_rlim(rlimit[0]), - sprint_rlim(rlimit[1])); - } - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-m32/process_vm_readv--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/process_vm_readv--pidns-translation.c 2020-09-09 19:52:38.899673632 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "process_vm_readv.c" -Index: strace-5.7/tests-m32/process_vm_readv_writev.c -=================================================================== ---- strace-5.7.orig/tests-m32/process_vm_readv_writev.c 2020-09-09 19:52:30.616668695 +0200 -+++ strace-5.7/tests-m32/process_vm_readv_writev.c 2020-09-09 19:52:38.899673632 +0200 -@@ -12,6 +12,7 @@ - #include - #include - #include -+#include "pidns.h" - - #if OP_WR - # define in_iovec rmt_iovec -@@ -121,7 +122,7 @@ - } - - static void --do_call(kernel_ulong_t pid, -+do_call(kernel_ulong_t pid, enum pid_type pid_type, - kernel_ulong_t local_iov, const char *local_arg, - kernel_ulong_t liovcnt, - kernel_ulong_t remote_iov, const char *remote_arg, -@@ -135,7 +136,8 @@ - flags); - errstr = sprintrc(rc); - -- printf("%s(%d, ", OP_STR, (int) pid); -+ pidns_print_leader(); -+ printf("%s(%d%s, ", OP_STR, (int) pid, pidns_pid2str(pid_type)); - - if (pr_iov) - pr_iov((const struct iovec *) (uintptr_t) local_iov, local_arg, -@@ -164,6 +166,8 @@ - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - enum { - SIZE_11 = 2, - SIZE_12 = 3, -@@ -243,18 +247,18 @@ - fill_memory_ex(data2_out, SIZE_2, SEGM2_BASE, SIZE_2); - - -- do_call(bogus_pid, (kernel_ulong_t) (uintptr_t) ARG_STR(NULL), -+ do_call(bogus_pid, PT_NONE, (kernel_ulong_t) (uintptr_t) ARG_STR(NULL), - bogus_iovcnt1, (kernel_ulong_t) (uintptr_t) ARG_STR(NULL), - bogus_iovcnt2, bogus_flags, NULL); - -- do_call(my_pid, ptr_cast(bogus_iov + ARRAY_SIZE(bogus_iovec)), -+ do_call(my_pid, PT_TGID, ptr_cast(bogus_iov + ARRAY_SIZE(bogus_iovec)), - "[]", 0, ptr_cast(in_iov + ARRAY_SIZE(in_iovec)), "[]", - 0, 0, NULL); -- do_call(my_pid, ptr_cast(bogus_iov + ARRAY_SIZE(bogus_iovec)), NULL, -- bogus_iovcnt1, ptr_cast(in_iov + ARRAY_SIZE(in_iovec)), NULL, -- bogus_iovcnt2, 0, print_iov); -+ do_call(my_pid, PT_TGID, ptr_cast(bogus_iov + ARRAY_SIZE(bogus_iovec)), -+ NULL, bogus_iovcnt1, ptr_cast(in_iov + ARRAY_SIZE(in_iovec)), -+ NULL, bogus_iovcnt2, 0, print_iov); - -- do_call(my_pid, ptr_cast(bogus_iov), (char *) &bogus_arg, -+ do_call(my_pid, PT_TGID, ptr_cast(bogus_iov), (char *) &bogus_arg, - ARRAY_SIZE(bogus_iovec), ptr_cast(rmt_iov + 2), - (char *) &rmt_arg_cut, ARRAY_SIZE(rmt_iovec) - 2, 0, print_iov); - -@@ -263,7 +267,7 @@ - lcl_arg_cut.check_rc = 1; - #endif - -- do_call(my_pid, ptr_cast(lcl_iov + 2), (char *) &lcl_arg_cut, -+ do_call(my_pid, PT_TGID, ptr_cast(lcl_iov + 2), (char *) &lcl_arg_cut, - ARRAY_SIZE(lcl_iovec) - 1, ptr_cast(bogus_iov + 2), - (char *) &bogus_arg_cut, ARRAY_SIZE(bogus_iovec) - 1, 0, - print_iov); -@@ -273,15 +277,16 @@ - rmt_arg_cut.addr_term = 1; - rmt_arg_cut.count = 5; - -- do_call(my_pid, ptr_cast(lcl_iov + 2), (char *) &lcl_arg_cut, -+ do_call(my_pid, PT_TGID, ptr_cast(lcl_iov + 2), (char *) &lcl_arg_cut, - ARRAY_SIZE(lcl_iovec) - 2, ptr_cast(rmt_iov + 1), - (char *) &rmt_arg_cut, ARRAY_SIZE(rmt_iovec), 0, print_iov); - - /* Correct call */ -- do_call(my_pid, ptr_cast(lcl_iov), (char *) &lcl_arg, -+ do_call(my_pid, PT_TGID, ptr_cast(lcl_iov), (char *) &lcl_arg, - ARRAY_SIZE(lcl_iovec), ptr_cast(rmt_iov), (char *) &rmt_arg, - ARRAY_SIZE(rmt_iovec), 0, print_iov); - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - - return 0; -Index: strace-5.7/tests-m32/process_vm_writev--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/process_vm_writev--pidns-translation.c 2020-09-09 19:52:38.899673632 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "process_vm_writev.c" -Index: strace-5.7/tests-m32/rt_sigqueueinfo--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/rt_sigqueueinfo--pidns-translation.c 2020-09-09 19:52:38.899673632 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "rt_sigqueueinfo.c" -Index: strace-5.7/tests-m32/rt_sigqueueinfo.c -=================================================================== ---- strace-5.7.orig/tests-m32/rt_sigqueueinfo.c 2020-09-09 19:52:30.617668695 +0200 -+++ strace-5.7/tests-m32/rt_sigqueueinfo.c 2020-09-09 19:52:38.899673632 +0200 -@@ -7,6 +7,7 @@ - */ - - #include "tests.h" -+#include "pidns.h" - #include - #include - #include -@@ -15,6 +16,8 @@ - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - struct sigaction sa = { - .sa_handler = SIG_IGN - }; -@@ -22,15 +25,19 @@ - .sival_ptr = (void *) (unsigned long) 0xdeadbeefbadc0dedULL - }; - pid_t pid = getpid(); -+ const char *pid_str = pidns_pid2str(PT_TGID); - - assert(sigaction(SIGUSR1, &sa, NULL) == 0); - if (sigqueue(pid, SIGUSR1, value)) - perror_msg_and_skip("sigqueue"); -- printf("rt_sigqueueinfo(%u, SIGUSR1, {si_signo=SIGUSR1, " -- "si_code=SI_QUEUE, si_pid=%d, si_uid=%d, " -+ pidns_print_leader(); -+ printf("rt_sigqueueinfo(%d%s, SIGUSR1, {si_signo=SIGUSR1, " -+ "si_code=SI_QUEUE, si_pid=%d%s, si_uid=%u, " - "si_value={int=%d, ptr=%p}}) = 0\n", -- pid, pid, getuid(), value.sival_int, value.sival_ptr); -- printf("+++ exited with 0 +++\n"); -+ pid, pid_str, pid, pid_str, -+ getuid(), value.sival_int, value.sival_ptr); -+ pidns_print_leader(); -+ puts("+++ exited with 0 +++"); - - return 0; - } -Index: strace-5.7/tests-m32/rt_tgsigqueueinfo--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/rt_tgsigqueueinfo--pidns-translation.c 2020-09-09 19:52:38.900673633 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "rt_tgsigqueueinfo.c" -Index: strace-5.7/tests-m32/rt_tgsigqueueinfo.c -=================================================================== ---- strace-5.7.orig/tests-m32/rt_tgsigqueueinfo.c 2020-09-09 19:52:30.617668695 +0200 -+++ strace-5.7/tests-m32/rt_tgsigqueueinfo.c 2020-09-09 19:52:38.900673633 +0200 -@@ -10,8 +10,9 @@ - - #include "tests.h" - #include "scno.h" -+#include "pidns.h" - --#ifdef __NR_rt_tgsigqueueinfo -+#if defined __NR_rt_tgsigqueueinfo && defined __NR_gettid - - # include - # include -@@ -20,11 +21,11 @@ - # include - - static long --k_tgsigqueueinfo(const pid_t pid, const int sig, const void *const info) -+k_tgsigqueueinfo(const pid_t tgid, const int tid, const int sig, const void *const info) - { - return syscall(__NR_rt_tgsigqueueinfo, -- F8ILL_KULONG_MASK | pid, -- F8ILL_KULONG_MASK | pid, -+ F8ILL_KULONG_MASK | tgid, -+ F8ILL_KULONG_MASK | tid, - F8ILL_KULONG_MASK | sig, - info); - } -@@ -32,6 +33,8 @@ - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - const struct sigaction sa = { - .sa_handler = SIG_IGN - }; -@@ -48,17 +51,22 @@ - info->si_value.sival_ptr = - (void *) (unsigned long) 0xdeadbeeffacefeedULL; - -- if (k_tgsigqueueinfo(info->si_pid, SIGUSR1, info)) -+ if (k_tgsigqueueinfo(getpid(), syscall(__NR_gettid), SIGUSR1, info)) - (errno == ENOSYS ? perror_msg_and_skip : perror_msg_and_fail)( - "rt_tgsigqueueinfo"); - -- printf("rt_tgsigqueueinfo(%u, %u, %s, {si_signo=%s" -- ", si_code=SI_QUEUE, si_errno=ENOENT, si_pid=%d" -+ pidns_print_leader(); -+ printf("rt_tgsigqueueinfo(%d%s, %d%s, %s, {si_signo=%s" -+ ", si_code=SI_QUEUE, si_errno=ENOENT, si_pid=%d%s" - ", si_uid=%d, si_value={int=%d, ptr=%p}}) = 0\n", -- info->si_pid, info->si_pid, "SIGUSR1", "SIGUSR1", -- info->si_pid, info->si_uid, info->si_value.sival_int, -+ info->si_pid, pidns_pid2str(PT_TGID), -+ info->si_pid, pidns_pid2str(PT_TID), -+ "SIGUSR1", "SIGUSR1", -+ info->si_pid, pidns_pid2str(PT_TGID), -+ info->si_uid, info->si_value.sival_int, - info->si_value.sival_ptr); - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-m32/sched_xetaffinity--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/sched_xetaffinity--pidns-translation.c 2020-09-09 19:52:38.900673633 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "sched_xetaffinity.c" -Index: strace-5.7/tests-m32/sched_xetaffinity.c -=================================================================== ---- strace-5.7.orig/tests-m32/sched_xetaffinity.c 2020-09-09 19:52:30.618668696 +0200 -+++ strace-5.7/tests-m32/sched_xetaffinity.c 2020-09-09 19:52:38.900673633 +0200 -@@ -10,6 +10,7 @@ - - #include "tests.h" - #include "scno.h" -+#include "pidns.h" - #include - - #if defined __NR_sched_getaffinity && defined __NR_sched_setaffinity \ -@@ -41,8 +42,11 @@ - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - unsigned int cpuset_size = 1; - const pid_t pid = getpid(); -+ const char *pid_str = pidns_pid2str(PT_TGID); - - while (cpuset_size) { - assert(getaffinity(pid, cpuset_size, NULL) == -1); -@@ -50,18 +54,21 @@ - break; - if (EINVAL != errno) - perror_msg_and_skip("sched_getaffinity"); -- printf("sched_getaffinity(%d, %u, NULL) = %s\n", -- pid, cpuset_size, errstr); -+ pidns_print_leader(); -+ printf("sched_getaffinity(%d%s, %u, NULL) = %s\n", -+ pid, pid_str, cpuset_size, errstr); - cpuset_size <<= 1; - } - assert(cpuset_size); -- printf("sched_getaffinity(%d, %u, NULL) = %s\n", -- pid, cpuset_size, errstr); -+ pidns_print_leader(); -+ printf("sched_getaffinity(%d%s, %u, NULL) = %s\n", -+ pid, pid_str, cpuset_size, errstr); - - cpu_set_t *cpuset = tail_alloc(cpuset_size); - getaffinity(pid, cpuset_size, cpuset + 1); -- printf("sched_getaffinity(%d, %u, %p) = %s\n", -- pid, cpuset_size, cpuset + 1, errstr); -+ pidns_print_leader(); -+ printf("sched_getaffinity(%d%s, %u, %p) = %s\n", -+ pid, pid_str, cpuset_size, cpuset + 1, errstr); - - int ret_size = getaffinity(pid, cpuset_size, cpuset); - if (ret_size < 0) -@@ -69,7 +76,8 @@ - pid, (unsigned) cpuset_size, cpuset, errstr); - assert(ret_size <= (int) cpuset_size); - -- printf("sched_getaffinity(%d, %u, [", pid, cpuset_size); -+ pidns_print_leader(); -+ printf("sched_getaffinity(%d%s, %u, [", pid, pid_str, cpuset_size); - const char *sep; - unsigned int i, cpu; - for (i = 0, cpu = 0, sep = ""; i < (unsigned) ret_size * 8; ++i) { -@@ -85,8 +93,9 @@ - CPU_SET_S(cpu, cpuset_size, cpuset); - if (setaffinity(pid, cpuset_size, cpuset)) - perror_msg_and_skip("sched_setaffinity"); -- printf("sched_setaffinity(%d, %u, [%u]) = 0\n", -- pid, cpuset_size, cpu); -+ pidns_print_leader(); -+ printf("sched_setaffinity(%d%s, %u, [%u]) = 0\n", -+ pid, pid_str, cpuset_size, cpu); - - const unsigned int big_size = cpuset_size < 128 ? 128 : cpuset_size * 2; - cpuset = tail_alloc(big_size); -@@ -95,7 +104,8 @@ - perror_msg_and_fail("sched_getaffinity(%d, %u, %p) = %s\n", - pid, big_size, cpuset, errstr); - assert(ret_size <= (int) big_size); -- printf("sched_getaffinity(%d, %u, [", pid, big_size); -+ pidns_print_leader(); -+ printf("sched_getaffinity(%d%s, %u, [", pid, pid_str, big_size); - for (i = 0, sep = ""; i < (unsigned) ret_size * 8; ++i) { - if (CPU_ISSET_S(i, (unsigned) ret_size, cpuset)) { - printf("%s%u", sep, i); -@@ -104,6 +114,7 @@ - } - printf("]) = %s\n", errstr); - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-m32/sched_xetattr--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/sched_xetattr--pidns-translation.c 2020-09-09 19:52:38.900673633 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "sched_xetattr.c" -Index: strace-5.7/tests-m32/sched_xetattr.c -=================================================================== ---- strace-5.7.orig/tests-m32/sched_xetattr.c 2020-09-09 19:52:30.618668696 +0200 -+++ strace-5.7/tests-m32/sched_xetattr.c 2020-09-09 19:52:38.901673633 +0200 -@@ -15,6 +15,7 @@ - # include - # include - # include -+# include "pidns.h" - # include "sched_attr.h" - # include "xlat.h" - # include "xlat/schedulers.h" -@@ -41,6 +42,8 @@ - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - static const kernel_ulong_t bogus_pid = - (kernel_ulong_t) 0xdefacedfacefeedULL; - static const kernel_ulong_t bogus_size = -@@ -48,20 +51,28 @@ - static const kernel_ulong_t bogus_flags = - (kernel_ulong_t) 0xdefaceddeadc0deULL; - -+ const int pid = getpid(); -+ const char *pid_str = pidns_pid2str(PT_TGID); -+ - TAIL_ALLOC_OBJECT_CONST_PTR(struct sched_attr, attr); - TAIL_ALLOC_OBJECT_CONST_PTR(unsigned int, psize); - void *const efault = attr + 1; - -- sys_sched_getattr(0, 0, 0, 0); -- printf("sched_getattr(0, NULL, 0, 0) = %s\n", errstr); -+ sys_sched_getattr(pid, 0, 0, 0); -+ pidns_print_leader(); -+ printf("sched_getattr(%d%s, NULL, 0, 0) = %s\n", -+ pid, pid_str, errstr); - - sys_sched_getattr(0, (unsigned long) attr, 0, 0); -+ pidns_print_leader(); - printf("sched_getattr(0, %p, 0, 0) = %s\n", attr, errstr); - - sys_sched_getattr(bogus_pid, 0, 0, 0); -+ pidns_print_leader(); - printf("sched_getattr(%d, NULL, 0, 0) = %s\n", (int) bogus_pid, errstr); - - sys_sched_getattr(-1U, (unsigned long) attr, bogus_size, bogus_flags); -+ pidns_print_leader(); - printf("sched_getattr(-1, %p, %s%u, %u) = %s\n", - attr, - # if defined __arm64__ || defined __aarch64__ -@@ -72,11 +83,13 @@ - (unsigned) bogus_size, (unsigned) bogus_flags, errstr); - - sys_sched_getattr(0, (unsigned long) efault, SCHED_ATTR_MIN_SIZE, 0); -+ pidns_print_leader(); - printf("sched_getattr(0, %p, %u, 0) = %s\n", - efault, (unsigned) SCHED_ATTR_MIN_SIZE, errstr); - - if (sys_sched_getattr(0, (unsigned long) attr, SCHED_ATTR_MIN_SIZE, 0)) - perror_msg_and_skip("sched_getattr"); -+ pidns_print_leader(); - printf("sched_getattr(0, {size=%u, sched_policy=", attr->size); - printxval(schedulers, attr->sched_policy, NULL); - printf(", sched_flags=%s, sched_nice=%d, sched_priority=%u" -@@ -91,11 +104,13 @@ - (unsigned) SCHED_ATTR_MIN_SIZE); - - sys_sched_getattr(0, (unsigned long) efault, sizeof(*attr), 0); -+ pidns_print_leader(); - printf("sched_getattr(0, %p, %u, 0) = %s\n", - efault, (unsigned) sizeof(*attr), errstr); - - if (sys_sched_getattr(0, (unsigned long) attr, sizeof(*attr), 0)) - perror_msg_and_skip("sched_getattr"); -+ pidns_print_leader(); - printf("sched_getattr(0, {size=%u, sched_policy=", attr->size); - printxval(schedulers, attr->sched_policy, NULL); - printf(", sched_flags=%s, sched_nice=%d, sched_priority=%u" -@@ -121,11 +136,13 @@ - F8ILL_KULONG_MASK | sizeof(*attr), F8ILL_KULONG_MASK); - # if defined __arm64__ || defined __aarch64__ - if (rc) { -+ pidns_print_leader(); - printf("sched_getattr(0, %p, 0xffffffff<<32|%u, 0) = %s\n", - attr, (unsigned) sizeof(*attr), errstr); - } else - # endif - { -+ pidns_print_leader(); - printf("sched_getattr(0, {size=%u, sched_policy=", attr->size); - printxval(schedulers, attr->sched_policy, NULL); - printf(", sched_flags=%s, sched_nice=%d, sched_priority=%u" -@@ -146,13 +163,16 @@ - } - - sys_sched_setattr(bogus_pid, 0, 0); -+ pidns_print_leader(); - printf("sched_setattr(%d, NULL, 0) = %s\n", (int) bogus_pid, errstr); - - attr->sched_flags |= 1; - -- if (sys_sched_setattr(0, (unsigned long) attr, 0)) -+ if (sys_sched_setattr(pid, (unsigned long) attr, 0)) - perror_msg_and_skip("sched_setattr"); -- printf("sched_setattr(0, {size=%u, sched_policy=", attr->size); -+ pidns_print_leader(); -+ printf("sched_setattr(%d%s, {size=%u, sched_policy=", -+ pid, pid_str, attr->size); - printxval(schedulers, attr->sched_policy, NULL); - printf(", sched_flags=%s, sched_nice=%d, sched_priority=%u" - ", sched_runtime=%" PRIu64 ", sched_deadline=%" PRIu64 -@@ -172,6 +192,7 @@ - - sys_sched_setattr(F8ILL_KULONG_MASK, (unsigned long) attr, - F8ILL_KULONG_MASK); -+ pidns_print_leader(); - printf("sched_setattr(0, {size=%u, sched_policy=", attr->size); - printxval(schedulers, attr->sched_policy, NULL); - printf(", sched_flags=%s, sched_nice=%d, sched_priority=%u" -@@ -193,11 +214,13 @@ - *psize = attr->size; - - sys_sched_setattr(0, (unsigned long) psize, 0); -+ pidns_print_leader(); - printf("sched_setattr(0, %p, 0) = %s\n", psize, errstr); - - attr->size = 0; - - sys_sched_setattr(0, (unsigned long) attr, 0); -+ pidns_print_leader(); - printf("sched_setattr(0, {size=%u, sched_policy=", attr->size); - printxval(schedulers, attr->sched_policy, NULL); - printf(", sched_flags=%s, sched_nice=%d, sched_priority=%u" -@@ -213,12 +236,14 @@ - attr->size = 1; - - sys_sched_setattr(0, (unsigned long) attr, 0); -+ pidns_print_leader(); - printf("sched_setattr(0, {size=%u} => {size=%u}, 0) = %s\n", - 1, attr->size, errstr); - - attr->size = SCHED_ATTR_MIN_SIZE - 1; - - sys_sched_setattr(0, (unsigned long) attr, 0); -+ pidns_print_leader(); - printf("sched_setattr(0, {size=%u} => {size=%u}, 0) = %s\n", - SCHED_ATTR_MIN_SIZE - 1, attr->size, errstr); - -@@ -232,6 +257,7 @@ - attr->sched_period = 0xded1ca7edda7aca7ULL; - - sys_sched_setattr(bogus_pid, (unsigned long) attr, bogus_flags); -+ pidns_print_leader(); - printf("sched_setattr(%d, {size=%u, sched_policy=%#x /* SCHED_??? */, " - "sched_flags=%#" PRIx64 " /* SCHED_FLAG_??? */, " - "sched_nice=%d, sched_priority=%u, sched_runtime=%" PRIu64 ", " -@@ -274,6 +300,7 @@ - attr->sched_period = 0xded1ca7edda7aca7ULL; - - sys_sched_setattr(bogus_pid, (unsigned long) attr, bogus_flags); -+ pidns_print_leader(); - printf("sched_setattr(%d, {size=%u, sched_policy=%#x /* SCHED_??? */, " - "sched_flags=SCHED_FLAG_RESET_ON_FORK|SCHED_FLAG_RECLAIM|" - "SCHED_FLAG_DL_OVERRUN|0x80, " -@@ -296,11 +323,13 @@ - const kernel_ulong_t ill = f8ill_ptr_to_kulong(attr); - - sys_sched_getattr(0, ill, sizeof(*attr), 0); -+ pidns_print_leader(); - printf("sched_getattr(0, %#llx, %u, 0) = %s\n", - (unsigned long long) ill, (unsigned) sizeof(*attr), - errstr); - - sys_sched_setattr(0, ill, 0); -+ pidns_print_leader(); - printf("sched_setattr(0, %#llx, 0) = %s\n", - (unsigned long long) ill, errstr); - } -@@ -310,6 +339,7 @@ - attr->sched_flags = 0x8fULL; - - sys_sched_setattr(bogus_pid, (unsigned long) attr, bogus_flags); -+ pidns_print_leader(); - printf("sched_setattr(%d, {size=%u, " - "sched_flags=SCHED_FLAG_RESET_ON_FORK|SCHED_FLAG_RECLAIM|" - "SCHED_FLAG_DL_OVERRUN|SCHED_FLAG_KEEP_POLICY|0x80, " -@@ -329,11 +359,13 @@ - const kernel_ulong_t ill = f8ill_ptr_to_kulong(attr); - - sys_sched_getattr(0, ill, sizeof(*attr), 0); -+ pidns_print_leader(); - printf("sched_getattr(0, %#llx, %u, 0) = %s\n", - (unsigned long long) ill, (unsigned) sizeof(*attr), - errstr); - - sys_sched_setattr(0, ill, 0); -+ pidns_print_leader(); - printf("sched_setattr(0, %#llx, 0) = %s\n", - (unsigned long long) ill, errstr); - } -@@ -342,6 +374,7 @@ - attr->sched_flags = 0xe7ULL; - - sys_sched_setattr(bogus_pid, (unsigned long) attr, bogus_flags); -+ pidns_print_leader(); - printf("sched_setattr(%d, {size=%u, sched_policy=%#x /* SCHED_??? */, " - "sched_flags=SCHED_FLAG_RESET_ON_FORK|SCHED_FLAG_RECLAIM|" - "SCHED_FLAG_DL_OVERRUN|SCHED_FLAG_UTIL_CLAMP_MIN" -@@ -365,11 +398,13 @@ - const kernel_ulong_t ill = f8ill_ptr_to_kulong(attr); - - sys_sched_getattr(0, ill, sizeof(*attr), 0); -+ pidns_print_leader(); - printf("sched_getattr(0, %#llx, %u, 0) = %s\n", - (unsigned long long) ill, (unsigned) sizeof(*attr), - errstr); - - sys_sched_setattr(0, ill, 0); -+ pidns_print_leader(); - printf("sched_setattr(0, %#llx, 0) = %s\n", - (unsigned long long) ill, errstr); - } -@@ -377,6 +412,7 @@ - attr->sched_flags = 0xcaffee90LL; - - sys_sched_setattr(bogus_pid, (unsigned long) attr, bogus_flags); -+ pidns_print_leader(); - printf("sched_setattr(%d, {size=%u, sched_flags=SCHED_FLAG_KEEP_PARAMS" - "|0xcaffee80, sched_util_min=%u, sched_util_max=%u}, %u) = %s\n", - (int) bogus_pid, -@@ -389,15 +425,18 @@ - const kernel_ulong_t ill = f8ill_ptr_to_kulong(attr); - - sys_sched_getattr(0, ill, sizeof(*attr), 0); -+ pidns_print_leader(); - printf("sched_getattr(0, %#llx, %u, 0) = %s\n", - (unsigned long long) ill, (unsigned) sizeof(*attr), - errstr); - - sys_sched_setattr(0, ill, 0); -+ pidns_print_leader(); - printf("sched_setattr(0, %#llx, 0) = %s\n", - (unsigned long long) ill, errstr); - } - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-m32/sched_xetparam--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/sched_xetparam--pidns-translation.c 2020-09-09 19:52:38.901673633 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "sched_xetparam.c" -Index: strace-5.7/tests-m32/sched_xetparam.c -=================================================================== ---- strace-5.7.orig/tests-m32/sched_xetparam.c 2020-09-09 19:52:30.619668697 +0200 -+++ strace-5.7/tests-m32/sched_xetparam.c 2020-09-09 19:52:38.901673633 +0200 -@@ -7,6 +7,7 @@ - - #include "tests.h" - #include "scno.h" -+# include "pidns.h" - - #if defined __NR_sched_getparam && defined __NR_sched_setparam - -@@ -17,18 +18,27 @@ - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - struct sched_param *const param = - tail_alloc(sizeof(struct sched_param)); - -- long rc = syscall(__NR_sched_getparam, 0, param); -- printf("sched_getparam(0, [%d]) = %ld\n", -- param->sched_priority, rc); -+ const int pid = getpid(); -+ const char *pid_str = pidns_pid2str(PT_TGID); -+ -+ long rc = syscall(__NR_sched_getparam, pid, param); -+ pidns_print_leader(); -+ printf("sched_getparam(%d%s, [%d]) = %ld\n", -+ pid, pid_str, param->sched_priority, rc); - - param->sched_priority = -1; -- rc = syscall(__NR_sched_setparam, 0, param); -- printf("sched_setparam(0, [%d]) = %ld %s (%m)\n", -+ rc = syscall(__NR_sched_setparam, pid, param); -+ pidns_print_leader(); -+ printf("sched_setparam(%d%s, [%d]) = %ld %s (%m)\n", -+ pid, pid_str, - param->sched_priority, rc, errno2name()); - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-m32/sched_xetscheduler--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/sched_xetscheduler--pidns-translation.c 2020-09-09 19:52:38.901673633 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "sched_xetscheduler.c" -Index: strace-5.7/tests-m32/sched_xetscheduler.c -=================================================================== ---- strace-5.7.orig/tests-m32/sched_xetscheduler.c 2020-09-09 19:52:30.619668697 +0200 -+++ strace-5.7/tests-m32/sched_xetscheduler.c 2020-09-09 19:52:38.902673634 +0200 -@@ -7,6 +7,7 @@ - - #include "tests.h" - #include "scno.h" -+#include "pidns.h" - - #if defined __NR_sched_getscheduler && defined __NR_sched_setscheduler - -@@ -17,8 +18,13 @@ - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - TAIL_ALLOC_OBJECT_CONST_PTR(struct sched_param, param); -- long rc = syscall(__NR_sched_getscheduler, 0); -+ const int pid = getpid(); -+ const char *pid_str = pidns_pid2str(PT_TGID); -+ -+ long rc = syscall(__NR_sched_getscheduler, pid); - const char *scheduler; - switch (rc) { - case SCHED_FIFO: -@@ -50,33 +56,43 @@ - default: - scheduler = "SCHED_OTHER"; - } -- printf("sched_getscheduler(0) = %ld (%s)\n", -- rc, scheduler); -+ pidns_print_leader(); -+ printf("sched_getscheduler(%d%s) = %ld (%s)\n", -+ pid, pid_str, rc, scheduler); - - rc = syscall(__NR_sched_getscheduler, -1); -+ pidns_print_leader(); - printf("sched_getscheduler(-1) = %s\n", sprintrc(rc)); - - param->sched_priority = -1; - -- rc = syscall(__NR_sched_setscheduler, 0, SCHED_FIFO, NULL); -- printf("sched_setscheduler(0, SCHED_FIFO, NULL) = %s\n", sprintrc(rc)); -- -- rc = syscall(__NR_sched_setscheduler, 0, SCHED_FIFO, param + 1); -- printf("sched_setscheduler(0, SCHED_FIFO, %p) = %s\n", param + 1, -- sprintrc(rc)); -- -- rc = syscall(__NR_sched_setscheduler, 0, 0xfaceda7a, param); -- printf("sched_setscheduler(0, %#x /* SCHED_??? */, [%d]) = %s\n", -- 0xfaceda7a, param->sched_priority, sprintrc(rc)); -+ rc = syscall(__NR_sched_setscheduler, pid, SCHED_FIFO, NULL); -+ pidns_print_leader(); -+ printf("sched_setscheduler(%d%s, SCHED_FIFO, NULL) = %s\n", -+ pid, pid_str, sprintrc(rc)); -+ -+ rc = syscall(__NR_sched_setscheduler, pid, SCHED_FIFO, param + 1); -+ pidns_print_leader(); -+ printf("sched_setscheduler(%d%s, SCHED_FIFO, %p) = %s\n", -+ pid, pid_str, param + 1, sprintrc(rc)); -+ -+ rc = syscall(__NR_sched_setscheduler, pid, 0xfaceda7a, param); -+ pidns_print_leader(); -+ printf("sched_setscheduler(%d%s, %#x /* SCHED_??? */, [%d]) = %s\n", -+ pid, pid_str, 0xfaceda7a, -+ param->sched_priority, sprintrc(rc)); - - rc = syscall(__NR_sched_setscheduler, -1, SCHED_FIFO, param); -+ pidns_print_leader(); - printf("sched_setscheduler(-1, SCHED_FIFO, [%d]) = %s\n", - param->sched_priority, sprintrc(rc)); - -- rc = syscall(__NR_sched_setscheduler, 0, SCHED_FIFO, param); -- printf("sched_setscheduler(0, SCHED_FIFO, [%d]) = %s\n", -- param->sched_priority, sprintrc(rc)); -+ rc = syscall(__NR_sched_setscheduler, pid, SCHED_FIFO, param); -+ pidns_print_leader(); -+ printf("sched_setscheduler(%d%s, SCHED_FIFO, [%d]) = %s\n", -+ pid, pid_str, param->sched_priority, sprintrc(rc)); - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-m32/signal_receive--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/signal_receive--pidns-translation.c 2020-09-09 19:52:38.902673634 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "signal_receive.c" -Index: strace-5.7/tests-m32/signal_receive.c -=================================================================== ---- strace-5.7.orig/tests-m32/signal_receive.c 2020-09-09 19:52:30.619668697 +0200 -+++ strace-5.7/tests-m32/signal_receive.c 2020-09-09 19:52:38.902673634 +0200 -@@ -8,6 +8,7 @@ - */ - - #include "tests.h" -+#include "pidns.h" - #include - #include - #include -@@ -26,10 +27,13 @@ - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - static const char prefix[] = "KERNEL BUG"; - int printed = 0; - - const int pid = getpid(); -+ const char *pid_str = pidns_pid2str(PT_TGID); - const int uid = geteuid(); - - for (int sig = 1; sig <= 31; ++sig) { -@@ -73,10 +77,13 @@ - const int e_pid = s_pid; - const int e_uid = s_uid; - #endif -- printf("kill(%d, %s) = 0\n", pid, signal2name(sig)); -- printf("--- %s {si_signo=%s, si_code=SI_USER, si_pid=%d" -+ pidns_print_leader(); -+ printf("kill(%d%s, %s) = 0\n", pid, pid_str, signal2name(sig)); -+ pidns_print_leader(); -+ printf("--- %s {si_signo=%s, si_code=SI_USER, si_pid=%d%s" - ", si_uid=%d} ---\n", -- signal2name(sig), signal2name(e_sig), e_pid, e_uid); -+ signal2name(sig), signal2name(e_sig), -+ e_pid, pid_str, e_uid); - - if (s_code || sig != s_sig || pid != s_pid || uid != s_uid) { - /* -@@ -91,11 +98,11 @@ - } - fprintf(stderr, - "%s: expected: si_signo=%d, si_code=%d" -- ", si_pid=%d, si_uid=%d\n" -+ ", si_pid=%d%s, si_uid=%d\n" - "%s: received: si_signo=%d, si_code=%d" -- ", si_pid=%d, si_uid=%d\n", -- prefix, sig, SI_USER, pid, uid, -- prefix, sig, s_code, s_pid, s_uid); -+ ", si_pid=%d%s, si_uid=%d\n", -+ prefix, sig, SI_USER, pid, pid_str, uid, -+ prefix, sig, s_code, s_pid, pid_str, s_uid); - } - } - -@@ -104,6 +111,7 @@ - "*** PLEASE FIX THE KERNEL ***\n", prefix); - } - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-m32/so_peercred--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/so_peercred--pidns-translation.c 2020-09-09 19:52:38.902673634 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "so_peercred.c" -Index: strace-5.7/tests-m32/so_peercred.c -=================================================================== ---- strace-5.7.orig/tests-m32/so_peercred.c 2020-09-09 19:52:30.620668697 +0200 -+++ strace-5.7/tests-m32/so_peercred.c 2020-09-09 19:52:38.902673634 +0200 -@@ -9,6 +9,7 @@ - */ - - #include "tests.h" -+#include "pidns.h" - - #include - #include -@@ -53,6 +54,8 @@ - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - TAIL_ALLOC_OBJECT_CONST_PTR(struct ucred, peercred); - TAIL_ALLOC_OBJECT_CONST_PTR(socklen_t, len); - -@@ -75,6 +78,8 @@ - struct ucred *const gid_truncated = - tail_alloc(sizeof_gid_truncated); - -+ const char *pid_str = pidns_pid2str(PT_TGID); -+ - int sv[2]; - if (socketpair(AF_UNIX, SOCK_STREAM, 0, sv)) - perror_msg_and_skip("socketpair AF_UNIX SOCK_STREAM"); -@@ -82,8 +87,10 @@ - /* classic getsockopt */ - *len = sizeof(*peercred); - get_peercred(sv[0], peercred, len); -+ pidns_print_leader(); - printf("getsockopt(%d, %s", sv[0], so_str()); - PRINT_FIELD_D(", {", *peercred, pid); -+ printf("%s", pid_str); - PRINT_FIELD_UID(", ", *peercred, uid); - PRINT_FIELD_UID(", ", *peercred, gid); - printf("}, [%d]) = %s\n", *len, errstr); -@@ -91,14 +98,17 @@ - /* getsockopt with zero optlen */ - *len = 0; - get_peercred(sv[0], peercred, len); -+ pidns_print_leader(); - printf("getsockopt(%d, %s, %p, [0]) = %s\n", - sv[0], so_str(), peercred, errstr); - - /* getsockopt with optlen larger than necessary - shortened */ - *len = sizeof(*peercred) + 1; - get_peercred(sv[0], peercred, len); -+ pidns_print_leader(); - printf("getsockopt(%d, %s", sv[0], so_str()); - PRINT_FIELD_D(", {", *peercred, pid); -+ printf("%s", pid_str); - PRINT_FIELD_UID(", ", *peercred, uid); - PRINT_FIELD_UID(", ", *peercred, gid); - printf("}, [%u->%d]) = %s\n", -@@ -110,6 +120,7 @@ - */ - *len = sizeof_pid_truncated; - get_peercred(sv[0], pid_truncated, len); -+ pidns_print_leader(); - printf("getsockopt(%d, %s, {pid=", sv[0], so_str()); - print_quoted_hex(pid_truncated, *len); - printf("}, [%d]) = %s\n", *len, errstr); -@@ -120,8 +131,10 @@ - */ - *len = sizeof_pid; - get_peercred(sv[0], pid, len); -+ pidns_print_leader(); - printf("getsockopt(%d, %s", sv[0], so_str()); - PRINT_FIELD_D(", {", *pid, pid); -+ printf("%s", pid_str); - printf("}, [%d]) = %s\n", *len, errstr); - - /* -@@ -136,8 +149,10 @@ - * to struct ucred.pid field. - */ - memcpy(uid, uid_truncated, sizeof_uid_truncated); -+ pidns_print_leader(); - printf("getsockopt(%d, %s", sv[0], so_str()); - PRINT_FIELD_D(", {", *uid, pid); -+ printf("%s", pid_str); - printf(", uid="); - print_quoted_hex(&uid->uid, sizeof_uid_truncated - - offsetof(struct ucred, uid)); -@@ -149,8 +164,10 @@ - */ - *len = sizeof_uid; - get_peercred(sv[0], uid, len); -+ pidns_print_leader(); - printf("getsockopt(%d, %s", sv[0], so_str()); - PRINT_FIELD_D(", {", *uid, pid); -+ printf("%s", pid_str); - PRINT_FIELD_UID(", ", *uid, uid); - printf("}, [%d]) = %s\n", *len, errstr); - -@@ -166,8 +183,10 @@ - * to struct ucred.pid and struct ucred.uid fields. - */ - memcpy(peercred, gid_truncated, sizeof_gid_truncated); -+ pidns_print_leader(); - printf("getsockopt(%d, %s", sv[0], so_str()); - PRINT_FIELD_D(", {", *peercred, pid); -+ printf("%s", pid_str); - PRINT_FIELD_UID(", ", *peercred, uid); - printf(", gid="); - print_quoted_hex(&peercred->gid, sizeof_gid_truncated - -@@ -177,14 +196,17 @@ - /* getsockopt optval EFAULT */ - *len = sizeof(*peercred); - get_peercred(sv[0], &peercred->uid, len); -+ pidns_print_leader(); - printf("getsockopt(%d, %s, %p, [%d]) = %s\n", - sv[0], so_str(), &peercred->uid, *len, errstr); - - /* getsockopt optlen EFAULT */ - get_peercred(sv[0], peercred, len + 1); -+ pidns_print_leader(); - printf("getsockopt(%d, %s, %p, %p) = %s\n", - sv[0], so_str(), peercred, len + 1, errstr); - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-m32/tgkill--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/tgkill--pidns-translation.c 2020-09-09 19:52:38.902673634 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "tgkill.c" -Index: strace-5.7/tests-m32/tgkill.c -=================================================================== ---- strace-5.7.orig/tests-m32/tgkill.c 2020-09-09 19:52:30.620668697 +0200 -+++ strace-5.7/tests-m32/tgkill.c 2020-09-09 19:52:38.903673634 +0200 -@@ -9,6 +9,7 @@ - - #include "tests.h" - #include "scno.h" -+#include "pidns.h" - - #ifdef __NR_tgkill - -@@ -36,28 +37,46 @@ - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - const int pid = getpid(); -+ const char *pid_str = pidns_pid2str(PT_TGID); -+ const int tid = syscall(__NR_gettid); -+ const char *tid_str = pidns_pid2str(PT_TID); - const int bad_pid = -1; - const int bad_sig = 0xface; - -- k_tgkill(pid, pid, 0); -- printf("tgkill(%d, %d, 0) = %s\n", pid, pid, errstr); -+ k_tgkill(pid, tid, 0); -+ pidns_print_leader(); -+ printf("tgkill(%d%s, %d%s, 0) = %s\n", -+ pid, pid_str, tid, tid_str, errstr); - - k_tgkill(pid, bad_pid, 0); -- printf("tgkill(%d, %d, 0) = %s\n", pid, bad_pid, errstr); -- -- k_tgkill(bad_pid, pid, 0); -- printf("tgkill(%d, %d, 0) = %s\n", bad_pid, pid, errstr); -- -- k_tgkill(pid, pid, SIGCONT); -- printf("tgkill(%d, %d, SIGCONT) = %s\n", pid, pid, errstr); -- -- k_tgkill(pid, pid, bad_sig); -- printf("tgkill(%d, %d, %d) = %s\n", pid, pid, bad_sig, errstr); -- -- k_tgkill(pid, pid, -bad_sig); -- printf("tgkill(%d, %d, %d) = %s\n", pid, pid, -bad_sig, errstr); -+ pidns_print_leader(); -+ printf("tgkill(%d%s, %d, 0) = %s\n", -+ pid, pid_str, bad_pid, errstr); -+ -+ k_tgkill(bad_pid, tid, 0); -+ pidns_print_leader(); -+ printf("tgkill(%d, %d%s, 0) = %s\n", -+ bad_pid, tid, tid_str, errstr); -+ -+ k_tgkill(pid, tid, SIGCONT); -+ pidns_print_leader(); -+ printf("tgkill(%d%s, %d%s, SIGCONT) = %s\n", -+ pid, pid_str, tid, tid_str, errstr); -+ -+ k_tgkill(pid, tid, bad_sig); -+ pidns_print_leader(); -+ printf("tgkill(%d%s, %d%s, %d) = %s\n", -+ pid, pid_str, tid, tid_str, bad_sig, errstr); -+ -+ k_tgkill(pid, tid, -bad_sig); -+ pidns_print_leader(); -+ printf("tgkill(%d%s, %d%s, %d) = %s\n", -+ pid, pid_str, tid, tid_str, -bad_sig, errstr); - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-m32/tkill--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/tkill--pidns-translation.c 2020-09-09 19:52:38.903673634 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "tkill.c" -Index: strace-5.7/tests-m32/tkill.c -=================================================================== ---- strace-5.7.orig/tests-m32/tkill.c 2020-09-09 19:52:30.620668697 +0200 -+++ strace-5.7/tests-m32/tkill.c 2020-09-09 19:52:38.903673634 +0200 -@@ -9,6 +9,7 @@ - - #include "tests.h" - #include "scno.h" -+#include "pidns.h" - - #ifdef __NR_tkill - -@@ -33,22 +34,30 @@ - int - main(void) - { -- const int pid = getpid(); -+ PIDNS_TEST_INIT; -+ -+ const int tid = syscall(__NR_gettid); -+ const char *tid_str = pidns_pid2str(PT_TID); - const int bad_pid = -1; - const int bad_sig = 0xface; - -- k_tkill(pid, 0); -- printf("tkill(%d, 0) = %s\n", pid, errstr); -- -- k_tkill(pid, SIGCONT); -- printf("tkill(%d, SIGCONT) = %s\n", pid, errstr); -+ k_tkill(tid, 0); -+ pidns_print_leader(); -+ printf("tkill(%d%s, 0) = %s\n", tid, tid_str, errstr); -+ -+ k_tkill(tid, SIGCONT); -+ pidns_print_leader(); -+ printf("tkill(%d%s, SIGCONT) = %s\n", tid, tid_str, errstr); - - k_tkill(bad_pid, bad_sig); -+ pidns_print_leader(); - printf("tkill(%d, %d) = %s\n", bad_pid, bad_sig, errstr); - - k_tkill(bad_pid, -bad_sig); -+ pidns_print_leader(); - printf("tkill(%d, %d) = %s\n", bad_pid, -bad_sig, errstr); - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-m32/trie_for_tests.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/trie_for_tests.c 2020-09-09 19:52:38.903673634 +0200 -@@ -0,0 +1 @@ -+#include "trie.c" -Index: strace-5.7/tests-m32/trie_test.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/trie_test.c 2020-09-09 19:52:38.903673634 +0200 -@@ -0,0 +1,121 @@ -+/* -+ * Copyright (c) 2017-2019 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+#include "trie.h" -+ -+#include -+#include -+ -+static void -+assert_equals(const char *msg, uint64_t expected, uint64_t actual) { -+ if (actual != expected) -+ error_msg_and_fail("%s: expected: %" PRIu64 -+ ", actual: %" PRIu64, msg, expected, actual); -+} -+ -+static void -+iterate_fn(void *data, uint64_t key, uint64_t value) -+{ -+ uint64_t expected = key < 256 && key % 10 == 0 ? key + 42 : -1ULL; -+ assert_equals("iterate_fn", expected, value); -+ -+ int *count = (int *) data; -+ if (value != -1ULL) -+ (*count)++; -+} -+ -+static void -+test_trie_iterate_fn(void) -+{ -+ struct trie *t = trie_create(8, 6, 3, 3, -1); -+ for (int i = 0; i < 26; i++) -+ trie_set(t, i * 10, i * 10 + 42); -+ -+ static const struct { -+ uint64_t start; -+ uint64_t end; -+ int expected_count; -+ } iterate_params[] = { -+ {0, 256, 26}, -+ {0, UINT64_MAX, 26}, -+ {20, 90, 8}, -+ {99, 999, 16}, -+ {10000, 100000, 0}, -+ {200, 100, 0}, -+ }; -+ -+ for (size_t i = 0; i < ARRAY_SIZE(iterate_params); i++) { -+ int count = 0; -+ trie_iterate_keys(t, iterate_params[i].start, iterate_params[i].end, iterate_fn, &count); -+ assert_equals("iteration count", iterate_params[i].expected_count, count); -+ } -+} -+ -+struct key_value_pair { -+ uint64_t key, value; -+}; -+ -+static void -+test_trie_get(void) -+{ -+ static const struct { -+ uint8_t key_size; -+ uint8_t item_size_lg; -+ uint8_t node_key_bits; -+ uint8_t data_block_key_bits; -+ uint64_t empty_value; -+ -+ struct key_value_pair set_values[3], get_values[3]; -+ } params[] = { -+ {64, 6, 10, 10, 0, -+ {{300, 1}, {0xfacefeed, 0xabcdef123456}, {-1ULL, -1ULL}}, -+ {{301, 0}, {0xfacefeed, 0xabcdef123456}, {-1ULL, -1ULL}}}, -+ {8, 2, 4, 4, 10, -+ {{0xab, 0xcd}, {0xface, 2}, {0, 3}}, -+ {{0xab, 0xd}, {0xface, 10}, {0, 3}}}, -+ {30, 0, 6, 3, -1, -+ {{0xaaaa, 127}, {0xface, 0}, {0, 0}}, -+ {{0xaaaa, 1}, {0xface, 0}, {1, 1}}}, -+ {16, 4, 5, 11, 0xffffff, -+ {{0xabcdef, 42}, {0xabcd, 42}, {0xffff, 0}}, -+ {{0xabcdef, 0xffff}, {0xabcd, 42}, {0xffff, 0}}}, -+ {41, 5, 1, 1, -1, -+ {{0xabcdef01, 0x22222222}, {-1, 0x33333333}, {10, 10}}, -+ {{0xabcdef01, 0x22222222}, {-1, 0xffffffff}, {10, 10}}}, -+ }; -+ -+ for (size_t i = 0; i < ARRAY_SIZE(params); i++) { -+ struct trie *t = trie_create(params[i].key_size, -+ params[i].item_size_lg, -+ params[i].node_key_bits, -+ params[i].data_block_key_bits, -+ params[i].empty_value); -+ -+ if (!t) -+ error_msg_and_fail("trie creation failed"); -+ -+ for (size_t j = 0; j < ARRAY_SIZE(params[i].set_values); j++) { -+ struct key_value_pair kv = params[i].set_values[j]; -+ trie_set(t, kv.key, kv.value); -+ } -+ for (size_t j = 0; j < ARRAY_SIZE(params[i].get_values); j++) { -+ struct key_value_pair kv = params[i].get_values[j]; -+ assert_equals("trie_get", kv.value, trie_get(t, kv.key)); -+ } -+ -+ trie_free(t); -+ } -+} -+ -+int -+main(void) -+{ -+ test_trie_get(); -+ test_trie_iterate_fn(); -+ return 0; -+} -Index: strace-5.7/tests-m32/xet_robust_list--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/xet_robust_list--pidns-translation.c 2020-09-09 19:52:38.903673634 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "xet_robust_list.c" -Index: strace-5.7/tests-m32/xet_robust_list.c -=================================================================== ---- strace-5.7.orig/tests-m32/xet_robust_list.c 2020-09-09 19:52:30.621668698 +0200 -+++ strace-5.7/tests-m32/xet_robust_list.c 2020-09-09 19:52:38.904673635 +0200 -@@ -8,6 +8,7 @@ - - #include "tests.h" - #include "scno.h" -+#include "pidns.h" - - #if defined __NR_get_robust_list && defined __NR_set_robust_list - -@@ -30,27 +31,36 @@ - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - const pid_t pid = getpid(); -+ const char *pid_str = pidns_pid2str(PT_TGID); - const long long_pid = (unsigned long) (0xdeadbeef00000000LL | pid); - TAIL_ALLOC_OBJECT_CONST_PTR(void *, p_head); - TAIL_ALLOC_OBJECT_CONST_PTR(size_t, p_len); - - if (syscall(__NR_get_robust_list, long_pid, p_head, p_len)) - perror_msg_and_skip("get_robust_list"); -- printf("get_robust_list(%d, [%s], [%lu]) = 0\n", -- (int) pid, sprintaddr(*p_head), (unsigned long) *p_len); -+ pidns_print_leader(); -+ printf("get_robust_list(%d%s, [%s], [%lu]) = 0\n", -+ pid, pid_str, sprintaddr(*p_head), -+ (unsigned long) *p_len); - - void *head = tail_alloc(*p_len); - if (syscall(__NR_set_robust_list, head, *p_len)) - perror_msg_and_skip("set_robust_list"); -+ pidns_print_leader(); - printf("set_robust_list(%p, %lu) = 0\n", - head, (unsigned long) *p_len); - - if (syscall(__NR_get_robust_list, long_pid, p_head, p_len)) - perror_msg_and_skip("get_robust_list"); -- printf("get_robust_list(%d, [%s], [%lu]) = 0\n", -- (int) pid, sprintaddr(*p_head), (unsigned long) *p_len); -+ pidns_print_leader(); -+ printf("get_robust_list(%d%s, [%s], [%lu]) = 0\n", -+ pid, pid_str, sprintaddr(*p_head), -+ (unsigned long) *p_len); - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-m32/xetpgid--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/xetpgid--pidns-translation.c 2020-09-09 19:52:38.904673635 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "xetpgid.c" -Index: strace-5.7/tests-m32/xetpgid.c -=================================================================== ---- strace-5.7.orig/tests-m32/xetpgid.c 2020-09-09 19:52:30.621668698 +0200 -+++ strace-5.7/tests-m32/xetpgid.c 2020-09-09 19:52:38.904673635 +0200 -@@ -10,6 +10,7 @@ - - #include "tests.h" - #include "scno.h" -+#include "pidns.h" - - #if defined __NR_getpgid && defined __NR_setpgid - -@@ -19,13 +20,21 @@ - int - main(void) - { -- const int pid = getpid(); -- long rc = syscall(__NR_getpgid, F8ILL_KULONG_MASK | pid); -- printf("getpgid(%d) = %ld\n", pid, rc); -+ PIDNS_TEST_INIT; - -- rc = syscall(__NR_setpgid, F8ILL_KULONG_MASK, F8ILL_KULONG_MASK | pid); -- printf("setpgid(0, %d) = %ld\n", pid, rc); -+ const int pid = getpid(); -+ long pgid = syscall(__NR_getpgid, F8ILL_KULONG_MASK | pid); -+ pidns_print_leader(); -+ printf("getpgid(%d%s) = %ld%s\n", pid, pidns_pid2str(PT_TGID), -+ pgid, pidns_pid2str(PT_PGID)); -+ -+ long rc = syscall(__NR_setpgid, F8ILL_KULONG_MASK, -+ F8ILL_KULONG_MASK | pgid); -+ pidns_print_leader(); -+ printf("setpgid(0, %ld%s) = %s\n", pgid, pidns_pid2str(PT_PGID), -+ sprintrc(rc)); - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-m32/xetpriority--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/xetpriority--pidns-translation.c 2020-09-09 19:52:38.904673635 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "xetpriority.c" -Index: strace-5.7/tests-m32/xetpriority.c -=================================================================== ---- strace-5.7.orig/tests-m32/xetpriority.c 2020-09-09 19:52:30.622668698 +0200 -+++ strace-5.7/tests-m32/xetpriority.c 2020-09-09 19:52:38.904673635 +0200 -@@ -7,6 +7,7 @@ - - #include "tests.h" - #include "scno.h" -+#include "pidns.h" - - #if defined __NR_getpriority && defined __NR_setpriority - -@@ -17,15 +18,30 @@ - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - const int pid = getpid(); -+ const int pgid = getpgid(0); -+ - long rc = syscall(__NR_getpriority, PRIO_PROCESS, - F8ILL_KULONG_MASK | pid); -- printf("getpriority(PRIO_PROCESS, %d) = %ld\n", pid, rc); -+ pidns_print_leader(); -+ printf("getpriority(PRIO_PROCESS, %d%s) = %ld\n", -+ pid, pidns_pid2str(PT_TGID), rc); - - rc = syscall(__NR_setpriority, PRIO_PROCESS, - F8ILL_KULONG_MASK | pid, F8ILL_KULONG_MASK); -- printf("setpriority(PRIO_PROCESS, %d, 0) = %s\n", pid, sprintrc(rc)); -+ pidns_print_leader(); -+ printf("setpriority(PRIO_PROCESS, %d%s, 0) = %s\n", -+ pid, pidns_pid2str(PT_TGID), sprintrc(rc)); -+ -+ rc = syscall(__NR_getpriority, PRIO_PGRP, -+ F8ILL_KULONG_MASK | pgid); -+ pidns_print_leader(); -+ printf("getpriority(PRIO_PGRP, %d%s) = %ld\n", -+ pgid, pidns_pid2str(PT_PGID), rc); - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-m32/xmalloc_for_tests.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/xmalloc_for_tests.c 2020-09-09 19:52:38.905673636 +0200 -@@ -0,0 +1,2 @@ -+#define error_msg_and_die error_msg_and_fail -+#include "xmalloc.c" -Index: strace-5.7/tests-mx32/Makefile.am -=================================================================== ---- strace-5.7.orig/tests-mx32/Makefile.am 2020-09-09 19:52:30.622668698 +0200 -+++ strace-5.7/tests-mx32/Makefile.am 2020-09-09 19:52:38.905673636 +0200 -@@ -66,6 +66,7 @@ - test_ucopy.h \ - tests.h \ - tprintf.c \ -+ xmalloc_for_tests.c \ - # end of libtests_a_SOURCES - libtests_a_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64 - check_LIBRARIES = libtests.a -@@ -109,17 +110,25 @@ - delay \ - execve-v \ - execveat-v \ -+ fcntl--pidns-translation \ -+ fcntl64--pidns-translation \ - filter_seccomp-flag \ - filter_seccomp-perf \ - filter-unavailable \ - fork-f \ -+ fork--pidns-translation \ - fsync-y \ - get_process_reaper \ -+ getpgrp--pidns-translation \ - getpid \ -+ getpid--pidns-translation \ - getppid \ -+ getsid--pidns-translation \ - gettid \ -+ gettid--pidns-translation \ - inject-nf \ - int_0x80 \ -+ ioctl_block--pidns-translation \ - ioctl_dm-v \ - ioctl_evdev-success \ - ioctl_evdev-success-Xabbrev \ -@@ -150,18 +159,25 @@ - ioctl_v4l2-success-v-Xabbrev \ - ioctl_v4l2-success-v-Xraw \ - ioctl_v4l2-success-v-Xverbose \ -+ ioprio--pidns-translation \ - is_linux_mips_n64 \ -+ kcmp-y--pidns-translation \ - kill_child \ -+ kill--pidns-translation \ - ksysent \ - list_sigaction_signum \ - localtime \ - looping_threads \ -+ migrate_pages--pidns-translation \ - mmsg-silent \ - mmsg_name-v \ -+ move_pages--pidns-translation \ - msg_control-v \ - net-accept-connect \ -+ net-sockaddr--pidns-translation \ - net-tpacket_stats-success \ - nlattr_ifla_xdp-y \ -+ netlink_audit--pidns-translation \ - netlink_inet_diag \ - netlink_netlink_diag \ - netlink_unix_diag \ -@@ -173,14 +189,20 @@ - pc \ - perf_event_open_nonverbose \ - perf_event_open_unabbrev \ -+ pidfd_open--pidns-translation \ -+ pidfd_send_signal--pidns-translation \ -+ pidns-cache \ - poll-P \ - ppoll-P \ - ppoll-v \ -+ prlimit64--pidns-translation \ - prctl-seccomp-filter-v \ - prctl-seccomp-strict \ - prctl-spec-inject \ - print_maxfd \ - print_ppid_tracerpid \ -+ process_vm_readv--pidns-translation \ -+ process_vm_writev--pidns-translation \ - qual_fault \ - qual_inject-error-signal \ - qual_inject-retval \ -@@ -194,7 +216,13 @@ - quotactl-xfs-v \ - redirect-fds \ - restart_syscall \ -+ rt_sigqueueinfo--pidns-translation \ -+ rt_tgsigqueueinfo--pidns-translation \ - run_expect_termsig \ -+ sched_xetaffinity--pidns-translation \ -+ sched_xetattr--pidns-translation \ -+ sched_xetparam--pidns-translation \ -+ sched_xetscheduler--pidns-translation \ - scm_rights \ - seccomp-filter-v \ - seccomp-strict \ -@@ -204,25 +232,33 @@ - set_sigign \ - setpgrp-exec \ - signal_receive \ -+ signal_receive--pidns-translation \ - sleep \ - stack-fcall \ - stack-fcall-attach \ - stack-fcall-mangled \ - status-none-threads \ - status-unfinished-threads \ -+ so_peercred--pidns-translation \ - syslog-success \ -+ tgkill--pidns-translation \ - threads-execve \ - threads-execve--quiet-thread-execve \ - threads-execve-q \ - threads-execve-qq \ - threads-execve-qqq \ -+ tkill--pidns-translation \ - tracer_ppid_pgid_sid \ -+ trie_test \ - unblock_reset_raise \ - unix-pair-send-recv \ - unix-pair-sendto-recvfrom \ - vfork-f \ - wait4-v \ - waitid-v \ -+ xetpgid--pidns-translation \ -+ xetpriority--pidns-translation \ -+ xet_robust_list--pidns-translation \ - zeroargc \ - # end of check_PROGRAMS - -@@ -272,6 +308,11 @@ - stack-fcall-mangled-0.c stack-fcall-mangled-1.c \ - stack-fcall-mangled-2.c stack-fcall-mangled-3.c - -+trie_test_SOURCES = trie_test.c trie_for_tests.c -+trie_test_CPPFLAGS = $(AM_CPPFLAGS) $(CODE_COVERAGE_CPPFLAGS) -+trie_test_CFLAGS = $(AM_CFLAGS) $(CODE_COVERAGE_CFLAGS) -+trie_test_LDADD = $(LDADD) $(CODE_COVERAGE_LIBS) -+ - include gen_tests.am - - if ENABLE_STACKTRACE -@@ -308,6 +349,7 @@ - int_0x80.test \ - inotify_init-y.test \ - ioctl.test \ -+ ioctl_block--pidns-translation.test \ - ioctl_evdev-success.test \ - ipc_msgbuf.test \ - kern_features-fault.test \ -@@ -379,15 +421,19 @@ - filtering_fd-syntax.test \ - filtering_syscall-syntax.test \ - first_exec_failure.test \ -+ fork--pidns-translation.test \ - get_regs.test \ -+ gettid--pidns-translation.test \ - inject-nf.test \ - interactive_block.test \ - kill_child.test \ - localtime.test \ - looping_threads.test \ -+ netlink_audit--pidns-translation.test \ - opipe.test \ - options-syntax.test \ - pc.test \ -+ pidns-cache.test \ - printpath-umovestr-legacy.test \ - printstrn-umoven-legacy.test \ - qual_fault-syntax.test \ -@@ -465,6 +511,7 @@ - filter_seccomp.in \ - filter_seccomp.sh \ - filter-unavailable.expected \ -+ fork--pidns-translation.awk \ - fstatat.c \ - fstatx.c \ - gen_pure_executables.sh \ -Index: strace-5.7/tests-mx32/fcntl--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/fcntl--pidns-translation.c 2020-09-09 19:52:38.905673636 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "fcntl.c" -Index: strace-5.7/tests-mx32/fcntl-common.c -=================================================================== ---- strace-5.7.orig/tests-mx32/fcntl-common.c 2020-09-09 19:52:30.623668699 +0200 -+++ strace-5.7/tests-mx32/fcntl-common.c 2020-09-09 19:52:38.905673636 +0200 -@@ -13,6 +13,8 @@ - #include - #include - #include "flock.h" -+#include "pidns.h" -+#include "scno.h" - - #define FILE_LEN 4096 - -@@ -48,12 +50,14 @@ - fl->l_len = (TYPEOF_FLOCK_OFF_T) 0xdefaced2cafef00dULL; - - invoke_test_syscall(0, cmd, fl); -+ pidns_print_leader(); - printf("%s(0, %s, {l_type=F_RDLCK, l_whence=SEEK_SET" - ", l_start=%jd, l_len=%jd}) = %s\n", TEST_SYSCALL_STR, name, - (intmax_t) fl->l_start, (intmax_t) fl->l_len, errstr); - - void *const bad_addr = (void *) fl + 1; - invoke_test_syscall(0, cmd, bad_addr); -+ pidns_print_leader(); - printf("%s(0, %s, %p) = %s\n", - TEST_SYSCALL_STR, name, bad_addr, errstr); - } -@@ -72,12 +76,14 @@ - fl->l_len = (TYPEOF_FLOCK_OFF_T) 0xdefaced2cafef00dULL; - - invoke_test_syscall(0, cmd, fl); -+ pidns_print_leader(); - printf("%s(0, %s, {l_type=F_RDLCK, l_whence=SEEK_SET" - ", l_start=%jd, l_len=%jd}) = %s\n", TEST_SYSCALL_STR, name, - (intmax_t) fl->l_start, (intmax_t) fl->l_len, errstr); - - void *const bad_addr = (void *) fl + 1; - invoke_test_syscall(0, cmd, bad_addr); -+ pidns_print_leader(); - printf("%s(0, %s, %p) = %s\n", - TEST_SYSCALL_STR, name, bad_addr, errstr); - } -@@ -94,6 +100,7 @@ - fl->l_len = FILE_LEN; - - long rc = invoke_test_syscall(0, F_SETLK, fl); -+ pidns_print_leader(); - printf("%s(0, F_SETLK, {l_type=F_RDLCK, l_whence=SEEK_SET" - ", l_start=0, l_len=%d}) = %s\n", - TEST_SYSCALL_STR, FILE_LEN, errstr); -@@ -101,11 +108,13 @@ - return; - - invoke_test_syscall(0, F_GETLK, fl); -+ pidns_print_leader(); - printf("%s(0, F_GETLK, {l_type=F_UNLCK, l_whence=SEEK_SET" - ", l_start=0, l_len=%d, l_pid=0}) = 0\n", - TEST_SYSCALL_STR, FILE_LEN); - - invoke_test_syscall(0, F_SETLKW, fl); -+ pidns_print_leader(); - printf("%s(0, F_SETLKW, {l_type=F_UNLCK, l_whence=SEEK_SET" - ", l_start=0, l_len=%d}) = 0\n", - TEST_SYSCALL_STR, FILE_LEN); -@@ -124,6 +133,7 @@ - fl->l_len = FILE_LEN; - - long rc = invoke_test_syscall(0, F_OFD_SETLK, fl); -+ pidns_print_leader(); - printf("%s(0, F_OFD_SETLK, {l_type=F_RDLCK, l_whence=SEEK_SET" - ", l_start=0, l_len=%d}) = %s\n", - TEST_SYSCALL_STR, FILE_LEN, errstr); -@@ -131,11 +141,13 @@ - return; - - invoke_test_syscall(0, F_OFD_GETLK, fl); -+ pidns_print_leader(); - printf("%s(0, F_OFD_GETLK, {l_type=F_UNLCK, l_whence=SEEK_SET" - ", l_start=0, l_len=%d, l_pid=0}) = 0\n", - TEST_SYSCALL_STR, FILE_LEN); - - invoke_test_syscall(0, F_OFD_SETLKW, fl); -+ pidns_print_leader(); - printf("%s(0, F_OFD_SETLKW, {l_type=F_UNLCK, l_whence=SEEK_SET" - ", l_start=0, l_len=%d}) = 0\n", - TEST_SYSCALL_STR, FILE_LEN); -@@ -167,18 +179,21 @@ - static long - test_f_owner_ex_type_pid(const int cmd, const char *const cmd_name, - const int type, const char *const type_name, -- pid_t pid) -+ enum pid_type pid_type, pid_t pid) - { - TAIL_ALLOC_OBJECT_CONST_PTR(struct_kernel_f_owner_ex, fo); - - fo->type = type; - fo->pid = pid; - long rc = invoke_test_syscall(0, cmd, fo); -- printf("%s(0, %s, {type=%s, pid=%d}) = %s\n", -- TEST_SYSCALL_STR, cmd_name, type_name, fo->pid, errstr); -+ pidns_print_leader(); -+ printf("%s(0, %s, {type=%s, pid=%d%s}) = %s\n", -+ TEST_SYSCALL_STR, cmd_name, type_name, -+ fo->pid, pidns_pid2str(pid_type), errstr); - - void *bad_addr = (void *) fo + 1; - invoke_test_syscall(0, cmd, bad_addr); -+ pidns_print_leader(); - printf("%s(0, %s, %p) = %s\n", - TEST_SYSCALL_STR, cmd_name, bad_addr, errstr); - -@@ -187,35 +202,35 @@ - - static void - test_f_owner_ex_umove_or_printaddr(const int type, const char *const type_name, -- pid_t pid) -+ enum pid_type pid_type, pid_t pid) - { - long rc = test_f_owner_ex_type_pid(ARG_STR(F_SETOWN_EX), -- type, type_name, pid); -+ type, type_name, pid_type, pid); - if (!rc) - test_f_owner_ex_type_pid(ARG_STR(F_GETOWN_EX), -- type, type_name, pid); -+ type, type_name, pid_type, pid); - } - - static void - test_f_owner_ex(void) - { -- static const struct { -+ struct { - int type; - const char *type_name; -- pid_t pid[2]; -+ enum pid_type pid_type; -+ pid_t pid; - } a[] = { -- { ARG_STR(F_OWNER_TID), { 1234567890, 20 } }, -- { ARG_STR(F_OWNER_PID), { 1298126790, 30 } }, -- { ARG_STR(F_OWNER_PGRP), { 1294567890, 40 } } -+ { ARG_STR(F_OWNER_TID), PT_NONE, 1234567890 }, -+ { ARG_STR(F_OWNER_PID), PT_NONE, 1234567890 }, -+ { ARG_STR(F_OWNER_PGRP), PT_NONE, 1234567890 }, -+ { ARG_STR(F_OWNER_TID), PT_TID, syscall(__NR_gettid) }, -+ { ARG_STR(F_OWNER_PID), PT_TGID, getpid() }, -+ { ARG_STR(F_OWNER_PGRP), PT_PGID, getpgid(0) }, - }; - -- for (unsigned int i = 0; i < ARRAY_SIZE(a); i++) { -- for (unsigned int j = 0; j < ARRAY_SIZE(a[0].pid); j++) { -- test_f_owner_ex_umove_or_printaddr(a[i].type, -- a[i].type_name, -- a[i].pid[j]); -- } -- } -+ for (unsigned int i = 0; i < ARRAY_SIZE(a); i++) -+ test_f_owner_ex_umove_or_printaddr(a[i].type, a[i].type_name, -+ a[i].pid_type, a[i].pid); - } - #endif /* TEST_F_OWNER_EX */ - -@@ -229,6 +244,23 @@ - }; - - static void -+test_xetown(void) -+{ -+ const int pid = getpid(); -+ const char *pid_str = pidns_pid2str(PT_TGID); -+ -+ invoke_test_syscall(0, F_SETOWN, (void *) (intptr_t) pid); -+ pidns_print_leader(); -+ printf("%s(0, F_SETOWN, %d%s) = %s\n", -+ TEST_SYSCALL_STR, pid, pid_str, errstr); -+ -+ invoke_test_syscall(0, F_GETOWN, NULL); -+ pidns_print_leader(); -+ printf("%s(0, F_GETOWN) = %d%s\n", -+ TEST_SYSCALL_STR, pid, pid_str); -+} -+ -+static void - print_retval_flags(const struct fcntl_cmd_check *check, long rc) - { - if (check->print_flags) { -@@ -243,12 +275,14 @@ - test_other_set_cmd(const struct fcntl_cmd_check *check) - { - invoke_test_syscall(check->fd, check->cmd, (void *) check->arg); -+ pidns_print_leader(); - printf("%s(%d, %s, %s) = %s\n", - TEST_SYSCALL_STR, check->fd, - check->cmd_str, check->arg_str, errstr); - - /* bad file fd */ - invoke_test_syscall(-1, check->cmd, (void *) check->arg); -+ pidns_print_leader(); - printf("%s(-1, %s, %s) = %s\n", - TEST_SYSCALL_STR, check->cmd_str, - check->arg_str, errstr); -@@ -258,12 +292,14 @@ - test_other_get_cmd(const struct fcntl_cmd_check *check) - { - long rc = invoke_test_syscall(check->fd, check->cmd, NULL); -+ pidns_print_leader(); - printf("%s(%d, %s) = ", - TEST_SYSCALL_STR, check->fd, check->cmd_str); - print_retval_flags(check, rc); - - /* bad file fd */ - invoke_test_syscall(-1, check->cmd, NULL); -+ pidns_print_leader(); - printf("%s(-1, %s) = %s\n", - TEST_SYSCALL_STR, check->cmd_str, errstr); - } -@@ -315,7 +351,6 @@ - { - static const struct fcntl_cmd_check set_checks[] = { - { 0, ARG_STR(F_SETFD), ARG_STR(FD_CLOEXEC) }, -- { 0, ARG_STR(F_SETOWN), ARG_STR(20) }, - #ifdef F_SETPIPE_SZ - { 0, ARG_STR(F_SETPIPE_SZ), ARG_STR(4097) }, - #endif -@@ -336,7 +371,6 @@ - static const struct fcntl_cmd_check get_checks[] = { - { 0, ARG_STR(F_GETFD), .print_flags = print_flags_getfd }, - { 1, ARG_STR(F_GETFD), .print_flags = print_flags_getfd }, -- { 0, ARG_STR(F_GETOWN) }, - #ifdef F_GETPIPE_SZ - { 0, ARG_STR(F_GETPIPE_SZ) }, - #endif -@@ -360,6 +394,8 @@ - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - create_sample(); - test_flock(); - test_flock64(); -@@ -367,7 +403,9 @@ - test_f_owner_ex(); - #endif - test_fcntl_others(); -+ test_xetown(); - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-mx32/fcntl.c -=================================================================== ---- strace-5.7.orig/tests-mx32/fcntl.c 2020-09-09 19:52:30.623668699 +0200 -+++ strace-5.7/tests-mx32/fcntl.c 2020-09-09 19:52:38.906673636 +0200 -@@ -24,6 +24,7 @@ - .l_len = 0xdefaced2cafef00dULL - }; - invoke_test_syscall(0, cmd, &fl); -+ pidns_print_leader(); - printf("%s(0, %s, %p) = %s\n", - TEST_SYSCALL_STR, name, &fl, errstr); - } -Index: strace-5.7/tests-mx32/fcntl64--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/fcntl64--pidns-translation.c 2020-09-09 19:52:38.906673636 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "fcntl64.c" -Index: strace-5.7/tests-mx32/fcntl64.c -=================================================================== ---- strace-5.7.orig/tests-mx32/fcntl64.c 2020-09-09 19:52:30.623668699 +0200 -+++ strace-5.7/tests-mx32/fcntl64.c 2020-09-09 19:52:38.906673636 +0200 -@@ -27,6 +27,7 @@ - fl->l_len = FILE_LEN; - - long rc = invoke_test_syscall(0, F_SETLK64, fl); -+ pidns_print_leader(); - printf("%s(0, F_SETLK64, {l_type=F_RDLCK, l_whence=SEEK_SET" - ", l_start=0, l_len=%d}) = %s\n", - TEST_SYSCALL_STR, FILE_LEN, errstr); -@@ -35,11 +36,13 @@ - return; - - invoke_test_syscall(0, F_GETLK64, fl); -+ pidns_print_leader(); - printf("%s(0, F_GETLK64, {l_type=F_UNLCK, l_whence=SEEK_SET" - ", l_start=0, l_len=%d, l_pid=0}) = 0\n", - TEST_SYSCALL_STR, FILE_LEN); - - invoke_test_syscall(0, F_SETLKW64, fl); -+ pidns_print_leader(); - printf("%s(0, F_SETLKW64, {l_type=F_UNLCK, l_whence=SEEK_SET" - ", l_start=0, l_len=%d}) = 0\n", - TEST_SYSCALL_STR, FILE_LEN); -Index: strace-5.7/tests-mx32/fork--pidns-translation.awk -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/fork--pidns-translation.awk 2020-09-09 19:52:38.906673636 +0200 -@@ -0,0 +1,15 @@ -+/fork/ { -+ match($0, "([0-9]+) in strace\x27s PID NS", a); -+ if (a[1]) -+ fork_pid = a[1] -+} -+ -+/exited with 0/ { -+ if (!exit_pid) -+ exit_pid = $1 -+} -+ -+END { -+ if (!fork_pid || !exit_pid || fork_pid != exit_pid) -+ exit 1 -+} -Index: strace-5.7/tests-mx32/fork--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/fork--pidns-translation.c 2020-09-09 19:52:38.906673636 +0200 -@@ -0,0 +1,78 @@ -+/* -+ * Test PID namespace translation -+ * -+ * Copyright (c) 2020 Ákos Uzonyi -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: LGPL-2.1-or-later -+ */ -+ -+#include "tests.h" -+#include "scno.h" -+#include "pidns.h" -+ -+#ifdef __NR_fork -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include "nsfs.h" -+ -+#ifndef CLONE_NEWUSER -+# define CLONE_NEWUSER 0x10000000 -+#endif -+ -+#ifndef CLONE_NEWPID -+# define CLONE_NEWPID 0x20000000 -+#endif -+ -+static int -+fork_chain(int depth) -+{ -+ if (!depth) -+ return 0; -+ -+ int pid = syscall(__NR_fork); -+ if (pid < 0) -+ return errno; -+ -+ if (!pid) -+ _exit(fork_chain(depth - 1)); -+ -+ int status; -+ if (wait(&status) < 0) -+ return errno; -+ -+ if (!WIFEXITED(status)) -+ return -1; -+ -+ return WEXITSTATUS(status); -+} -+ -+int main(void) -+{ -+ check_ns_ioctl(); -+ -+ if (unshare(CLONE_NEWPID | CLONE_NEWUSER) < 0) { -+ if (errno == EPERM) -+ perror_msg_and_skip("unshare"); -+ -+ perror_msg_and_fail("unshare"); -+ } -+ -+ errno = fork_chain(2); -+ if (errno) -+ perror("fork_chain"); -+} -+ -+#else -+ -+SKIP_MAIN_UNDEFINED("__NR_fork") -+ -+#endif -Index: strace-5.7/tests-mx32/fork--pidns-translation.test -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/fork--pidns-translation.test 2020-09-09 19:52:38.906673636 +0200 -@@ -0,0 +1,14 @@ -+#!/bin/sh -+# -+# Check pidns translation of fork's return value. -+# -+# Copyright (c) 2020 The strace developers. -+# All rights reserved. -+# -+# SPDX-License-Identifier: LGPL-2.1-or-later -+ -+. "${srcdir=.}/init.sh" -+ -+run_prog -+run_strace -a6 --pidns-translation -f -e trace=fork $args -+match_awk -Index: strace-5.7/tests-mx32/gen_tests.in -=================================================================== ---- strace-5.7.orig/tests-mx32/gen_tests.in 2020-09-09 19:52:30.625668700 +0200 -+++ strace-5.7/tests-mx32/gen_tests.in 2020-09-09 19:52:38.907673637 +0200 -@@ -88,7 +88,9 @@ - fchown32 -a18 - fchownat - fcntl -a8 -+fcntl--pidns-translation test_pidns -a8 -e trace=fcntl - fcntl64 -a8 -+fcntl64--pidns-translation test_pidns -a8 -e trace=fcntl64 - fdatasync -a14 - file_handle -e trace=name_to_handle_at,open_by_handle_at - file_ioctl +ioctl.test -@@ -142,7 +144,9 @@ - getgroups32 -a19 - getpeername -a27 - getpgrp -a10 -+getpgrp--pidns-translation test_pidns -e trace=getpgrp -a10 - getpid -a9 -+getpid--pidns-translation test_pidns -e trace=getpid -a9 - getppid -a10 - getrandom -a32 -s3 - getresgid -a25 -@@ -152,6 +156,7 @@ - getrlimit -a27 - getrusage -v - getsid -a10 -+getsid--pidns-translation test_pidns -e trace=getsid -a10 - getsockname -a27 - gettid -a9 - getuid-creds +getuid.test -@@ -245,6 +250,7 @@ - ioperm -a27 - iopl -a8 - ioprio -a18 -e trace=ioprio_get,ioprio_set -+ioprio--pidns-translation test_pidns -a18 -e trace=ioprio_get,ioprio_set - ioprio-Xabbrev -a18 -e trace=ioprio_get,ioprio_set -Xabbrev - ioprio-Xraw -a18 -e trace=ioprio_get,ioprio_set -Xraw - ioprio-Xverbose -a18 -e trace=ioprio_get,ioprio_set -Xverbose -@@ -267,6 +273,7 @@ - ipc_shm-Xverbose +ipc.sh -Xverbose -a34 - kcmp -a22 - kcmp-y -a22 -y -e trace=kcmp -+kcmp-y--pidns-translation test_pidns -a22 -y -e trace=kcmp - kern_features -a16 - kernel_version -a16 -v -e trace=bpf - kernel_version-Xabbrev -a16 -Xabbrev -v -e trace=bpf -@@ -279,6 +286,7 @@ - keyctl-Xraw -a13 -s10 -e trace=keyctl -Xraw - keyctl-Xverbose -a41 -s10 -e trace=keyctl -Xverbose - kill -a12 -esignal=none -+kill--pidns-translation test_pidns -a12 -e trace=kill -esignal=none - ksysent ../$NAME - lchown -a30 - lchown32 -a32 -@@ -300,6 +308,7 @@ - memfd_create-Xraw -a30 -Xraw -e trace=memfd_create - memfd_create-Xverbose -Xverbose -e trace=memfd_create - migrate_pages -a33 -+migrate_pages--pidns-translation test_pidns -a33 -e trace=migrate_pages - mincore -a22 - mkdir -a20 - mkdirat -a28 -@@ -330,6 +339,7 @@ - move_pages-Xabbrev -s3 -e trace=move_pages -Xabbrev - move_pages-Xraw -s3 -a36 -e trace=move_pages -Xraw - move_pages-Xverbose -s3 -e trace=move_pages -Xverbose -+move_pages--pidns-translation test_pidns -s3 -e trace=move_pages - mq -a32 -e trace=mq_getsetattr,mq_open,mq_unlink - mq_sendrecv -a14 -e trace=mq_open,mq_notify,mq_timedsend,mq_timedreceive,mq_unlink - mq_sendrecv-read -eread=0 -a14 -e trace=mq_open,mq_notify,mq_timedsend,mq_timedreceive,mq_unlink -@@ -349,6 +359,7 @@ - net-packet_mreq-Xraw -e trace=setsockopt -Xraw - net-packet_mreq-Xverbose -e trace=setsockopt -Xverbose - net-sockaddr -a24 -e trace=connect -+net-sockaddr--pidns-translation test_pidns -a24 -e trace=connect - net-tpacket_req -e trace=setsockopt - net-tpacket_stats -e trace=getsockopt - net-yy-inet6 +net-yy-inet.test -@@ -452,7 +463,9 @@ - pidfd_open-P -a17 -P /dev/full -e trace=pidfd_open - pidfd_open-y -a17 -y -e trace=pidfd_open - pidfd_open-yy -a17 -yy -e trace=pidfd_open -+pidfd_open--pidns-translation test_pidns -a17 -e trace=pidfd_open - pidfd_send_signal -+pidfd_send_signal--pidns-translation test_pidns -e trace=pidfd_send_signal - pipe2 -a15 - pkey_alloc -a17 - pkey_free -a13 -@@ -475,8 +488,11 @@ - printstrn-umoven-peekdata -e signal=none -e trace=add_key - printstrn-umoven-undumpable -e signal=none -e trace=add_key - prlimit64 -+prlimit64--pidns-translation test_pidns -e trace=prlimit64 - process_vm_readv -s5 -a37 -+process_vm_readv--pidns-translation test_pidns -s5 -a37 -e trace=process_vm_readv - process_vm_writev -s5 -a38 -+process_vm_writev--pidns-translation test_pidns -s5 -a38 -e trace=process_vm_writev - pselect6 - ptrace -a23 -e signal=none - ptrace_syscall_info -a35 -e signal=none -e trace=ptrace -@@ -513,10 +529,12 @@ - rt_sigpending -a20 - rt_sigprocmask - rt_sigqueueinfo -esignal=none -+rt_sigqueueinfo--pidns-translation test_pidns -esignal=none -e trace=rt_sigqueueinfo - rt_sigreturn -esignal='!USR1' - rt_sigsuspend -a20 -esignal=none - rt_sigtimedwait -a38 - rt_tgsigqueueinfo -esignal=none -+rt_tgsigqueueinfo--pidns-translation test_pidns -esignal=none -e trace=rt_tgsigqueueinfo - s390_guarded_storage -a32 - s390_guarded_storage-v -e trace=s390_guarded_storage -a32 -v - s390_pci_mmio_read_write -e trace=s390_pci_mmio_read,s390_pci_mmio_write -a30 -@@ -527,9 +545,13 @@ - sched_get_priority_mxx -a33 -e trace=sched_get_priority_min,sched_get_priority_max - sched_rr_get_interval -a31 - sched_xetaffinity -a28 -e trace=sched_getaffinity,sched_setaffinity -+sched_xetaffinity--pidns-translation test_pidns -a28 -e trace=sched_getaffinity,sched_setaffinity - sched_xetattr -a29 -e trace=sched_getattr,sched_setattr -+sched_xetattr--pidns-translation test_pidns -a29 -e trace=sched_getattr,sched_setattr - sched_xetparam -a23 -e trace=sched_getparam,sched_setparam -+sched_xetparam--pidns-translation test_pidns -a23 -e trace=sched_getparam,sched_setparam - sched_xetscheduler -a22 -e trace=sched_getscheduler,sched_setscheduler -+sched_xetscheduler--pidns-translation test_pidns -a22 -e trace=sched_getscheduler,sched_setscheduler - sched_yield -a14 - seccomp-filter -e trace=seccomp - seccomp-filter-v -v -e trace=seccomp -@@ -576,6 +598,7 @@ - siginfo -e trace=none - signal -a25 -e signal=none -e trace='/^signal$' - signal_receive -a16 -e trace=kill -+signal_receive--pidns-translation test_pidns -a16 -e trace=kill - signalfd4 - sigpending -a15 - sigprocmask -a34 -@@ -587,6 +610,7 @@ - so_peercred-Xabbrev -e trace=getsockopt -Xabbrev - so_peercred-Xraw -e trace=getsockopt -Xraw -a39 - so_peercred-Xverbose -e trace=getsockopt -Xverbose -+so_peercred--pidns-translation test_pidns -e trace=getsockopt - sock_filter-v -v -e trace=getsockopt,setsockopt - sock_filter-v-Xabbrev -v -e trace=getsockopt,setsockopt -X abbrev - sock_filter-v-Xraw -a 37 -v -e trace=getsockopt,setsockopt -X raw -@@ -659,6 +683,7 @@ - syslog -a35 - tee - tgkill -a15 --signal='!cont' -+tgkill--pidns-translation test_pidns -a15 --signal='!cont' -e trace=tgkill - threads-execve--quiet-thread-execve +threads-execve.test -s40 --quiet=personality,thread-execve - threads-execve-q +threads-execve.test -q - threads-execve-qq +threads-execve.test -qq -@@ -670,6 +695,7 @@ - times -esignal=none - times-fail -a12 -e trace=times - tkill -a12 --signal='!cont' -+tkill--pidns-translation test_pidns --signal='!cont' -a12 -e trace=tkill - trace_clock test_trace_expr 'clock_nanosleep|times' -e%clock - trace_creds test_trace_expr '([gs]et[^p]*([gu]id|groups)|caps|prctl|[fl]?chown|print(path-umovestr|strn-umoven)-undumpable|ptrace|quotactl|rt_sigtimedwait|rt_(tg)?sigqueueinfo).*' -e%creds - trace_fstat test_trace_expr '' -e%fstat -v -P stat.sample -P /dev/full -@@ -686,6 +712,7 @@ - trace_stat_like test_trace_expr '' -e%%stat -v -P stat.sample -P /dev/full - trace_statfs test_trace_expr '' -e%statfs - trace_statfs_like test_trace_expr '' -e%%statfs -+trie_test run_prog - truncate - truncate64 - ugetrlimit -a28 -@@ -716,7 +743,10 @@ - xattr -a22 -e trace=getxattr,fgetxattr,lgetxattr,setxattr,fsetxattr,lsetxattr,listxattr,flistxattr,llistxattr,removexattr,fremovexattr,lremovexattr - xattr-strings -a22 -s 4 -e trace=fsetxattr - xet_robust_list -a24 -e trace=get_robust_list,set_robust_list -+xet_robust_list--pidns-translation test_pidns -a24 -e trace=get_robust_list,set_robust_list - xetitimer -a29 -e trace=setitimer,getitimer - xetpgid -a11 -e trace=getpgid,setpgid --xetpriority -a29 -e trace=getpriority,setpriority -+xetpgid--pidns-translation test_pidns -a11 -e trace=getpgid,setpgid -+xetpriority -a27 -e trace=getpriority,setpriority -+xetpriority--pidns-translation test_pidns -a27 -e trace=getpriority,setpriority - xettimeofday -a20 -e trace=gettimeofday,settimeofday -Index: strace-5.7/tests-mx32/getpgrp--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/getpgrp--pidns-translation.c 2020-09-09 19:52:38.907673637 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "getpgrp.c" -Index: strace-5.7/tests-mx32/getpgrp.c -=================================================================== ---- strace-5.7.orig/tests-mx32/getpgrp.c 2020-09-09 19:52:30.625668700 +0200 -+++ strace-5.7/tests-mx32/getpgrp.c 2020-09-09 19:52:38.907673637 +0200 -@@ -7,6 +7,7 @@ - - #include "tests.h" - #include "scno.h" -+#include "pidns.h" - - #ifdef __NR_getpgrp - -@@ -16,8 +17,13 @@ - int - main(void) - { -- printf("getpgrp() = %ld\n", syscall(__NR_getpgrp)); -+ PIDNS_TEST_INIT; - -+ pidns_print_leader(); -+ printf("getpgrp() = %d%s\n", (int) syscall(__NR_getpgrp), -+ pidns_pid2str(PT_PGID)); -+ -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-mx32/getpid--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/getpid--pidns-translation.c 2020-09-09 19:52:38.907673637 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "getpid.c" -Index: strace-5.7/tests-mx32/getpid.c -=================================================================== ---- strace-5.7.orig/tests-mx32/getpid.c 2020-09-09 19:52:30.625668700 +0200 -+++ strace-5.7/tests-mx32/getpid.c 2020-09-09 19:52:38.907673637 +0200 -@@ -7,6 +7,7 @@ - - #include "tests.h" - #include "scno.h" -+#include "pidns.h" - - #if defined __NR_getpid && (!defined __NR_getxpid || __NR_getxpid != __NR_getpid) - -@@ -16,7 +17,12 @@ - int - main(void) - { -- printf("getpid() = %ld\n", syscall(__NR_getpid)); -+ PIDNS_TEST_INIT; -+ -+ pidns_print_leader(); -+ printf("getpid() = %d%s\n", (int) syscall(__NR_getpid), -+ pidns_pid2str(PT_TGID)); -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-mx32/getsid--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/getsid--pidns-translation.c 2020-09-09 19:52:38.907673637 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "getsid.c" -Index: strace-5.7/tests-mx32/getsid.c -=================================================================== ---- strace-5.7.orig/tests-mx32/getsid.c 2020-09-09 19:52:30.625668700 +0200 -+++ strace-5.7/tests-mx32/getsid.c 2020-09-09 19:52:38.907673637 +0200 -@@ -6,15 +6,22 @@ - */ - - #include "tests.h" -+#include "pidns.h" -+ - #include - #include - - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - pid_t pid = getpid(); -- printf("getsid(%d) = %d\n", pid, getsid(pid)); -+ pidns_print_leader(); -+ printf("getsid(%d%s) = %d%s\n", pid, pidns_pid2str(PT_TGID), -+ getsid(pid), pidns_pid2str(PT_SID)); - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-mx32/gettid--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/gettid--pidns-translation.c 2020-09-09 19:52:38.908673637 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "gettid.c" -Index: strace-5.7/tests-mx32/gettid--pidns-translation.test -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/gettid--pidns-translation.test 2020-09-09 19:52:38.908673637 +0200 -@@ -0,0 +1,18 @@ -+#!/bin/sh -+# -+# Check pidns translation of gettid's return value. -+# -+# Copyright (c) 2020 The strace developers. -+# All rights reserved. -+# -+# SPDX-License-Identifier: LGPL-2.1-or-later -+ -+. "${srcdir=.}/init.sh" -+ -+run_prog > /dev/null -+run_strace -a9 --pidns-translation -f -e trace=gettid $args > "$EXP" -+parent_pid="$(tail -n 2 $LOG | head -n 1 | cut -d' ' -f1)" -+init_pid="$(tail -n 1 $LOG | cut -d' ' -f1)" -+# uniq: filter out extra gettid calls made by musl libc -+grep -E -v "^($parent_pid|$init_pid) |unfinished|resumed" "$LOG" | uniq > "$OUT" -+match_diff "$OUT" "$EXP" -Index: strace-5.7/tests-mx32/gettid.c -=================================================================== ---- strace-5.7.orig/tests-mx32/gettid.c 2020-09-09 19:52:30.626668701 +0200 -+++ strace-5.7/tests-mx32/gettid.c 2020-09-09 19:52:38.908673637 +0200 -@@ -9,11 +9,17 @@ - #include - #include - #include "scno.h" -+#include "pidns.h" - - int - main(void) - { -- printf("gettid() = %ld\n", syscall(__NR_gettid)); -+ PIDNS_TEST_INIT; -+ -+ pidns_print_leader(); -+ printf("gettid() = %d%s\n", (int) syscall(__NR_gettid), -+ pidns_pid2str(PT_TID)); -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-mx32/ioctl_block--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/ioctl_block--pidns-translation.c 2020-09-09 19:52:38.908673637 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "ioctl_block.c" -Index: strace-5.7/tests-mx32/ioctl_block--pidns-translation.test -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/ioctl_block--pidns-translation.test 2020-09-09 19:52:38.908673637 +0200 -@@ -0,0 +1,22 @@ -+#!/bin/sh -+# -+# Check pidns translation of ioctl(BLK*) syscall decoding. -+# -+# Copyright (c) 2020 The strace developers. -+# All rights reserved. -+# -+# SPDX-License-Identifier: LGPL-2.1-or-later -+ -+. "${srcdir=.}/init.sh" -+ -+check_prog head -+check_prog tail -+check_prog cut -+check_prog grep -+ -+run_prog > /dev/null -+run_strace --pidns-translation -f -a16 -e trace=ioctl $@ $args > "$EXP" -+parent_pid="$(tail -n 2 $LOG | head -n 1 | cut -d' ' -f1)" -+init_pid="$(tail -n 1 $LOG | cut -d' ' -f1)" -+grep -E -v "^($parent_pid|$init_pid) |ioctl\([0123][,<]" "$LOG" > "$OUT" -+match_diff "$OUT" "$EXP" -Index: strace-5.7/tests-mx32/ioctl_block.c -=================================================================== ---- strace-5.7.orig/tests-mx32/ioctl_block.c 2020-09-09 19:52:30.626668701 +0200 -+++ strace-5.7/tests-mx32/ioctl_block.c 2020-09-09 19:52:38.908673637 +0200 -@@ -9,7 +9,9 @@ - */ - - #include "tests.h" -+#include "pidns.h" - #include -+#include - #include - #include - #include -@@ -41,12 +43,15 @@ - #define TEST_NULL_ARG(cmd) \ - do { \ - ioctl(-1, cmd, 0); \ -+ pidns_print_leader(); \ - printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", #cmd); \ - } while (0) - - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - TEST_NULL_ARG(BLKBSZGET); - TEST_NULL_ARG(BLKBSZSET); - TEST_NULL_ARG(BLKFRAGET); -@@ -91,18 +96,22 @@ - #endif - - ioctl(-1, BLKRASET, lmagic); -+ pidns_print_leader(); - printf("ioctl(-1, BLKRASET, %lu) = -1 EBADF (%m)\n", lmagic); - - ioctl(-1, BLKFRASET, lmagic); -+ pidns_print_leader(); - printf("ioctl(-1, BLKFRASET, %lu) = -1 EBADF (%m)\n", lmagic); - - TAIL_ALLOC_OBJECT_CONST_PTR(int, val_int); - *val_int = magic; - - ioctl(-1, BLKROSET, val_int); -+ pidns_print_leader(); - printf("ioctl(-1, BLKROSET, [%d]) = -1 EBADF (%m)\n", *val_int); - - ioctl(-1, BLKBSZSET, val_int); -+ pidns_print_leader(); - printf("ioctl(-1, BLKBSZSET, [%d]) = -1 EBADF (%m)\n", *val_int); - - uint64_t *pair_int64 = tail_alloc(sizeof(*pair_int64) * 2); -@@ -111,18 +120,21 @@ - - #ifdef BLKDISCARD - ioctl(-1, BLKDISCARD, pair_int64); -+ pidns_print_leader(); - printf("ioctl(-1, BLKDISCARD, [%" PRIu64 ", %" PRIu64 "])" - " = -1 EBADF (%m)\n", pair_int64[0], pair_int64[1]); - #endif - - #ifdef BLKSECDISCARD - ioctl(-1, BLKSECDISCARD, pair_int64); -+ pidns_print_leader(); - printf("ioctl(-1, BLKSECDISCARD, [%" PRIu64 ", %" PRIu64 "])" - " = -1 EBADF (%m)\n", pair_int64[0], pair_int64[1]); - #endif - - #ifdef BLKZEROOUT - ioctl(-1, BLKZEROOUT, pair_int64); -+ pidns_print_leader(); - printf("ioctl(-1, BLKZEROOUT, [%" PRIu64 ", %" PRIu64 "])" - " = -1 EBADF (%m)\n", pair_int64[0], pair_int64[1]); - #endif -@@ -134,6 +146,7 @@ - blkpg->data = (void *) (unsigned long) 0xcafef00dfffffeedULL; - - ioctl(-1, BLKPG, blkpg); -+ pidns_print_leader(); - printf("ioctl(-1, BLKPG, {op=%s, flags=%d, datalen=%d" - ", data=%#lx}) = -1 EBADF (%m)\n", - "BLKPG_RESIZE_PARTITION", blkpg->flags, blkpg->datalen, -@@ -149,6 +162,7 @@ - blkpg->data = bp; - - ioctl(-1, BLKPG, blkpg); -+ pidns_print_leader(); - printf("ioctl(-1, BLKPG, {op=%s, flags=%d, datalen=%d" - ", data={start=%lld, length=%lld, pno=%d" - ", devname=\"%.*s\"..., volname=\"%.*s\"...}})" -@@ -162,25 +176,31 @@ - #if defined BLKTRACESETUP && defined HAVE_STRUCT_BLK_USER_TRACE_SETUP - TAIL_ALLOC_OBJECT_CONST_PTR(struct blk_user_trace_setup, buts); - fill_memory(buts, sizeof(*buts)); -+ buts->pid = getpid(); - - ioctl(-1, BLKTRACESETUP, buts); -+ pidns_print_leader(); - printf("ioctl(-1, BLKTRACESETUP, {act_mask=%hu, buf_size=%u, buf_nr=%u" -- ", start_lba=%" PRI__u64 ", end_lba=%" PRI__u64 ", pid=%d})" -+ ", start_lba=%" PRI__u64 ", end_lba=%" PRI__u64 ", pid=%d%s})" - " = -1 EBADF (%m)\n", - buts->act_mask, buts->buf_size, buts->buf_nr, -- buts->start_lba, buts->end_lba, buts->pid); -+ buts->start_lba, buts->end_lba, buts->pid, -+ pidns_pid2str(PT_TGID)); - #endif - - unsigned int i; - for (i = 0; i < ARRAY_SIZE(block_argless); ++i) { - ioctl(-1, (unsigned long) block_argless[i].val, lmagic); -+ pidns_print_leader(); - printf("ioctl(-1, %s) = -1 EBADF (%m)\n", block_argless[i].str); - } - - ioctl(-1, _IOC(_IOC_READ, 0x12, 0xfe, 0xff), lmagic); -+ pidns_print_leader(); - printf("ioctl(-1, %s, %#lx) = -1 EBADF (%m)\n", - "_IOC(_IOC_READ, 0x12, 0xfe, 0xff)", lmagic); - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-mx32/ioprio--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/ioprio--pidns-translation.c 2020-09-09 19:52:38.908673637 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "ioprio.c" -Index: strace-5.7/tests-mx32/ioprio.c -=================================================================== ---- strace-5.7.orig/tests-mx32/ioprio.c 2020-09-09 19:52:30.627668701 +0200 -+++ strace-5.7/tests-mx32/ioprio.c 2020-09-09 19:52:38.909673638 +0200 -@@ -9,8 +9,8 @@ - */ - - #include "tests.h" -- - #include "scno.h" -+#include "pidns.h" - - #if defined(__NR_ioprio_get) && defined(__NR_ioprio_set) - -@@ -30,12 +30,18 @@ - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - static const kernel_ulong_t bogus_which = - (kernel_ulong_t) 0xdeadfacefa57beefULL; - static const kernel_ulong_t bogus_who = - (kernel_ulong_t) 0xbadc0dedda7a1057ULL; - static const kernel_ulong_t bogus_ioprio = - (kernel_ulong_t) 0xdec0ded1facefeedULL; -+ -+ const int pid = getpid(); -+ const int pgid = getpgid(0); -+ - # if !XLAT_RAW - static const char * const bogus_ioprio_str = - "IOPRIO_PRIO_VALUE(0x7d677 /* IOPRIO_CLASS_??? */, 7917)"; -@@ -46,6 +52,7 @@ - - rc = syscall(__NR_ioprio_get, bogus_which, bogus_who); - errstr = sprintrc(rc); -+ pidns_print_leader(); - # if XLAT_RAW - printf("ioprio_get(%#x, %d) = %s\n", - (int) bogus_which, (int) bogus_who, errstr); -@@ -54,42 +61,52 @@ - (int) bogus_which, (int) bogus_who, errstr); - # endif - -- rc = syscall(__NR_ioprio_get, 1, 0); -+ rc = syscall(__NR_ioprio_get, 1, pid); - errstr = sprintrc(rc); -+ pidns_print_leader(); -+ printf("ioprio_get("); - # if XLAT_RAW -- printf("ioprio_get(0x1, 0) = %s\n", errstr); -+ printf("0x1, "); -+# elif XLAT_VERBOSE -+ printf("0x1 /* IOPRIO_WHO_PROCESS */, "); - # else /* XLAT_ABBREV */ --# if XLAT_VERBOSE -- printf("ioprio_get(0x1 /* IOPRIO_WHO_PROCESS */, 0) = %s", errstr); --# else -- printf("ioprio_get(IOPRIO_WHO_PROCESS, 0) = %s", errstr); --# endif -+ printf("IOPRIO_WHO_PROCESS, "); -+# endif -+ printf("%d%s) = %s", pid, pidns_pid2str(PT_TGID), errstr); -+# if !XLAT_RAW - if (rc >= 0) { - printf(" (IOPRIO_PRIO_VALUE("); - printxval(ioprio_class, (unsigned int) rc >> 13, - "IOPRIO_CLASS_???"); - printf(", %u))", (unsigned int) rc & 0x1fff); - } -- puts(""); - # endif -+ puts(""); - -- rc = syscall(__NR_ioprio_set, 2, 0, 8191); -+ rc = syscall(__NR_ioprio_set, 2, pgid, 8191); - errstr = sprintrc(rc); -+ pidns_print_leader(); -+ printf("ioprio_set("); - # if XLAT_RAW -- printf("ioprio_set(%#x, 0, 8191) = %s\n", 2, errstr); -+ printf("%#x", 2); - # elif XLAT_VERBOSE -- printf("ioprio_set(%#x /* IOPRIO_WHO_PGRP */, 0, 8191" -- " /* IOPRIO_PRIO_VALUE(0 /* IOPRIO_CLASS_NONE */, 8191) */)" -- " = %s\n", -- 2, errstr); -+ printf("%#x /* IOPRIO_WHO_PGRP */", 2); - # else /* XLAT_ABBREV */ -- printf("ioprio_set(IOPRIO_WHO_PGRP, 0" -- ", IOPRIO_PRIO_VALUE(IOPRIO_CLASS_NONE, 8191)) = %s\n", -- errstr); -+ printf("IOPRIO_WHO_PGRP"); -+# endif -+ printf(", %d%s", pgid, pidns_pid2str(PT_PGID)); -+# if XLAT_RAW -+ printf(", 8191)"); -+# elif XLAT_VERBOSE -+ printf(", 8191 /* IOPRIO_PRIO_VALUE(0 /* IOPRIO_CLASS_NONE */, 8191) */)"); -+# else /* XLAT_ABBREV */ -+ printf(", IOPRIO_PRIO_VALUE(IOPRIO_CLASS_NONE, 8191))"); - # endif -+ printf(" = %s\n", errstr); - - rc = syscall(__NR_ioprio_set, bogus_which, bogus_who, bogus_ioprio); - errstr = sprintrc(rc); -+ pidns_print_leader(); - # if XLAT_RAW - printf("ioprio_set(%#x, %d, %d) = %s\n", - (int) bogus_which, (int) bogus_who, (int) bogus_ioprio, -@@ -104,6 +121,7 @@ - errstr); - # endif - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - - return 0; -Index: strace-5.7/tests-mx32/kcmp-y--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/kcmp-y--pidns-translation.c 2020-09-09 19:52:38.909673638 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "kcmp-y.c" -Index: strace-5.7/tests-mx32/kcmp.c -=================================================================== ---- strace-5.7.orig/tests-mx32/kcmp.c 2020-09-09 19:52:30.627668701 +0200 -+++ strace-5.7/tests-mx32/kcmp.c 2020-09-09 19:52:38.909673638 +0200 -@@ -9,8 +9,8 @@ - */ - - #include "tests.h" -- - #include "scno.h" -+#include "pidns.h" - - #ifdef __NR_kcmp - -@@ -101,7 +101,11 @@ - rc = syscall(__NR_kcmp, pid1, pid2, type, idx1, idx2); - errstr = sprintrc(rc); - -- printf("kcmp(%d, %d, ", (int) pid1, (int) pid2); -+ const char *pid_str = pidns_pid2str(PT_TGID); -+ pidns_print_leader(); -+ printf("kcmp(%d%s, %d%s, ", -+ (int) pid1, (int) pid1 == getpid() ? pid_str : "", -+ (int) pid2, (int) pid2 == getpid() ? pid_str : ""); - - if (type_str) - printf("%s", type_str); -@@ -146,6 +150,8 @@ - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - static const kernel_ulong_t bogus_pid1 = - (kernel_ulong_t) 0xdeadca75face1057ULL; - static const kernel_ulong_t bogus_pid2 = -@@ -221,6 +227,7 @@ - (uintptr_t) slot, 1); - } - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - - return 0; -Index: strace-5.7/tests-mx32/kill--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/kill--pidns-translation.c 2020-09-09 19:52:38.909673638 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "kill.c" -Index: strace-5.7/tests-mx32/kill.c -=================================================================== ---- strace-5.7.orig/tests-mx32/kill.c 2020-09-09 19:52:30.628668702 +0200 -+++ strace-5.7/tests-mx32/kill.c 2020-09-09 19:52:38.909673638 +0200 -@@ -11,6 +11,7 @@ - - #include "tests.h" - #include "scno.h" -+#include "pidns.h" - - #ifdef __NR_kill - -@@ -26,6 +27,8 @@ - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - const struct sigaction act = { .sa_handler = handler }; - if (sigaction(SIGALRM, &act, NULL)) - perror_msg_and_fail("sigaction"); -@@ -37,18 +40,23 @@ - perror_msg_and_fail("sigprocmask"); - - const int pid = getpid(); -+ const char *pid_str = pidns_pid2str(PT_TGID); - long rc = syscall(__NR_kill, pid, (long) 0xdefaced00000000ULL | SIGALRM); -- printf("kill(%d, SIGALRM) = %ld\n", pid, rc); -+ pidns_print_leader(); -+ printf("kill(%d%s, SIGALRM) = %ld\n", pid, pid_str, rc); - - const long big_pid = (long) 0xfacefeedbadc0dedULL; - const long big_sig = (long) 0xdeadbeefcafef00dULL; - rc = syscall(__NR_kill, big_pid, big_sig); -+ pidns_print_leader(); - printf("kill(%d, %d) = %ld %s (%m)\n", - (int) big_pid, (int) big_sig, rc, errno2name()); - - rc = syscall(__NR_kill, (long) 0xdefaced00000000ULL | pid, 0); -- printf("kill(%d, 0) = %ld\n", pid, rc); -+ pidns_print_leader(); -+ printf("kill(%d%s, 0) = %ld\n", pid, pid_str, rc); - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-mx32/migrate_pages--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/migrate_pages--pidns-translation.c 2020-09-09 19:52:38.909673638 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "migrate_pages.c" -Index: strace-5.7/tests-mx32/migrate_pages.c -=================================================================== ---- strace-5.7.orig/tests-mx32/migrate_pages.c 2020-09-09 19:52:30.628668702 +0200 -+++ strace-5.7/tests-mx32/migrate_pages.c 2020-09-09 19:52:38.909673638 +0200 -@@ -10,6 +10,7 @@ - - #include "tests.h" - #include "scno.h" -+#include "pidns.h" - - #ifdef __NR_migrate_pages - -@@ -19,11 +20,21 @@ - int - main(void) - { -- const long pid = (long) 0xfacefeedffffffffULL; -+ PIDNS_TEST_INIT; -+ -+ const long pid = (long) 0xfacefeed00000000ULL | getpid(); - long rc = syscall(__NR_migrate_pages, pid, 0, 0, 0); -- printf("migrate_pages(%d, 0, NULL, NULL) = %ld %s (%m)\n", -- (int) pid, rc, errno2name()); - -+ pidns_print_leader(); -+ printf("migrate_pages(%d%s, 0, NULL, NULL) = %ld", -+ (int) pid, pidns_pid2str(PT_TGID), rc); -+ -+ if (rc < 0) -+ printf(" %s (%m)\n", errno2name()); -+ else -+ printf("\n"); -+ -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-mx32/move_pages--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/move_pages--pidns-translation.c 2020-09-09 19:52:38.910673638 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "move_pages.c" -Index: strace-5.7/tests-mx32/move_pages.c -=================================================================== ---- strace-5.7.orig/tests-mx32/move_pages.c 2020-09-09 19:52:30.629668703 +0200 -+++ strace-5.7/tests-mx32/move_pages.c 2020-09-09 19:52:38.910673638 +0200 -@@ -10,6 +10,7 @@ - - #include "tests.h" - #include "scno.h" -+#include "pidns.h" - - #ifdef __NR_move_pages - -@@ -122,15 +123,20 @@ - } - - static void --print_stat_pages(const unsigned long pid, const unsigned long count, -- const void **const pages, int *const status) -+print_stat_pages(const unsigned long pid, -+ const char *pid_str, -+ const unsigned long count, -+ const void **const pages, -+ int *const status) - { - const unsigned long flags = (unsigned long) 0xfacefeed00000002ULL; - - long rc = syscall(__NR_move_pages, - pid, count, pages, NULL, status, flags); - const char *errstr = sprintrc(rc); -- printf("move_pages(%d, %lu, ", (int) pid, count); -+ pidns_print_leader(); -+ printf("move_pages(%d%s, %lu, ", (int) pid, pid_str, -+ count); - print_page_array(pages, count, 0); - printf(", NULL, "); - if (rc) { -@@ -152,6 +158,7 @@ - - static void - print_move_pages(const unsigned long pid, -+ const char *pid_str, - unsigned long count, - const unsigned int offset, - const void **const pages, -@@ -164,7 +171,9 @@ - long rc = syscall(__NR_move_pages, - pid, count, pages, nodes, status, flags); - const char *errstr = sprintrc(rc); -- printf("move_pages(%d, %lu, ", (int) pid, count); -+ pidns_print_leader(); -+ printf("move_pages(%d%s, %lu, ", (int) pid, pid_str, -+ count); - print_page_array(pages, count, offset); - printf(", "); - print_node_array(nodes, count, offset); -@@ -185,8 +194,11 @@ - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - const unsigned long pid = - (unsigned long) 0xfacefeed00000000ULL | getpid(); -+ const char *pid_str = pidns_pid2str(PT_TGID); - unsigned long count = 1; - const unsigned page_size = get_page_size(); - const void *const page = tail_alloc(page_size); -@@ -195,40 +207,41 @@ - TAIL_ALLOC_OBJECT_VAR_PTR(int, nodes); - TAIL_ALLOC_OBJECT_VAR_PTR(int, status); - -- print_stat_pages(pid, 0, pages, status); -- print_move_pages(pid, 0, 0, pages, nodes, status); -- print_move_pages(pid, 0, 1, pages + 1, nodes + 1, status + 1); -+ print_stat_pages(pid, pid_str, 0, pages, status); -+ print_move_pages(pid, pid_str, 0, 0, pages, nodes, status); -+ print_move_pages(pid, pid_str, 0, 1, pages + 1, nodes + 1, status + 1); - - *pages = page; -- print_stat_pages(pid, count, pages, status); -+ print_stat_pages(pid, pid_str, count, pages, status); - *nodes = 0xdeadbee1; -- print_move_pages(pid, count, 0, pages, nodes, status); -- print_move_pages(pid, count, 1, pages, nodes, status); -+ print_move_pages(pid, pid_str, count, 0, pages, nodes, status); -+ print_move_pages(pid, pid_str, count, 1, pages, nodes, status); - - ++count; - --status; - *(--pages) = efault; -- print_stat_pages(pid, count, pages, status); -+ print_stat_pages(pid, pid_str, count, pages, status); - *(--nodes) = 0xdeadbee2; -- print_move_pages(pid, count, 0, pages, nodes, status); -- print_move_pages(pid, count, 1, pages, nodes, status); -+ print_move_pages(pid, pid_str, count, 0, pages, nodes, status); -+ print_move_pages(pid, pid_str, count, 1, pages, nodes, status); - - ++count; - --status; - *(--pages) = nodes; -- print_stat_pages(pid, count, pages, status); -+ print_stat_pages(pid, pid_str, count, pages, status); - *(--nodes) = 0xdeadbee3; -- print_move_pages(pid, count, 0, pages, nodes, status); -- print_move_pages(pid, count, 1, pages, nodes, status); -+ print_move_pages(pid, pid_str, count, 0, pages, nodes, status); -+ print_move_pages(pid, pid_str, count, 1, pages, nodes, status); - - ++count; - --status; - *(--pages) = status; -- print_stat_pages(pid, count, pages, status); -+ print_stat_pages(pid, pid_str, count, pages, status); - *(--nodes) = 0xdeadbee4; -- print_move_pages(pid, count, 0, pages, nodes, status); -- print_move_pages(pid, count, 1, pages, nodes, status); -+ print_move_pages(pid, pid_str, count, 0, pages, nodes, status); -+ print_move_pages(pid, pid_str, count, 1, pages, nodes, status); - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-mx32/net-sockaddr--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/net-sockaddr--pidns-translation.c 2020-09-09 19:52:38.910673638 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "net-sockaddr.c" -Index: strace-5.7/tests-mx32/net-sockaddr.c -=================================================================== ---- strace-5.7.orig/tests-mx32/net-sockaddr.c 2020-09-09 19:52:30.630668703 +0200 -+++ strace-5.7/tests-mx32/net-sockaddr.c 2020-09-09 19:52:38.910673638 +0200 -@@ -9,6 +9,7 @@ - */ - - #include "tests.h" -+#include "pidns.h" - #include - #include - #include -@@ -40,18 +41,21 @@ - memset(un->sun_path, '0', sizeof(un->sun_path)); - unsigned int len = sizeof(*un); - int ret = connect(-1, (void *) un, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_UNIX, sun_path=\"%.*u\"}" - ", %u) = %d EBADF (%m)\n", - (int) sizeof(un->sun_path), 0, len, ret); - - un->sun_path[1] = 0; - ret = connect(-1, (void *) un, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_UNIX, sun_path=\"%u\"}, %u)" - " = %d EBADF (%m)\n", 0, len, ret); - - un->sun_path[0] = 0; - un->sun_path[2] = 1; - ret = connect(-1, (void *) un, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_UNIX, sun_path=@\"\\0\\001%.*u\"}" - ", %u) = %d EBADF (%m)\n", - (int) sizeof(un->sun_path) - 3, 0, len, ret); -@@ -61,12 +65,14 @@ - memset(un->sun_path, '0', sizeof(un->sun_path)); - len = sizeof(*un) + 2; - ret = connect(-1, (void *) un, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_UNIX, sun_path=\"%.*u\"}" - ", %u) = %d EBADF (%m)\n", - (int) sizeof(un->sun_path), 0, len, ret); - - un->sun_path[0] = 0; - ret = connect(-1, (void *) un, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_UNIX, sun_path=@\"%.*u\"}" - ", %u) = %d EBADF (%m)\n", - (int) sizeof(un->sun_path) - 1, 0, len, ret); -@@ -75,18 +81,21 @@ - un->sun_family = AF_UNIX; - len = sizeof(*un) - 2; - ret = connect(-1, (void *) un, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_UNIX, sun_path=\"%.*u\"}" - ", %u) = %d EBADF (%m)\n", - (int) sizeof(un->sun_path) - 2, 0, len, ret); - - un->sun_path[0] = 0; - ret = connect(-1, (void *) un, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_UNIX, sun_path=@\"%.*u\"}" - ", %u) = %d EBADF (%m)\n", - (int) sizeof(un->sun_path) - 3, 0, len, ret); - - len = sizeof(*un); - ret = connect(-1, (void *) un, len); -+ pidns_print_leader(); - printf("connect(-1, %p, %u) = %d EBADF (%m)\n", un, len, ret); - - un = tail_alloc(sizeof(struct sockaddr_storage)); -@@ -94,12 +103,14 @@ - memset(un->sun_path, '0', sizeof(un->sun_path)); - len = sizeof(struct sockaddr_storage) + 1; - ret = connect(-1, (void *) un, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_UNIX, sun_path=\"%.*u\"}" - ", %u) = %d EBADF (%m)\n", - (int) sizeof(un->sun_path), 0, len, ret); - - un->sun_path[0] = 0; - ret = connect(-1, (void *) un, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_UNIX, sun_path=@\"%.*u\"}" - ", %u) = %d EBADF (%m)\n", - (int) sizeof(un->sun_path) - 1, 0, len, ret); -@@ -117,6 +128,7 @@ - in->sin_addr.s_addr = inet_addr(h_addr); - unsigned int len = sizeof(*in); - int ret = connect(-1, (void *) in, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_INET, sin_port=htons(%hu)" - ", sin_addr=inet_addr(\"%s\")}, %u) = %d EBADF (%m)\n", - h_port, h_addr, len, ret); -@@ -127,6 +139,7 @@ - in->sin_addr.s_addr = inet_addr(h_addr); - len = sizeof(*in) + 4; - ret = connect(-1, (void *) in, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_INET, sin_port=htons(%hu)" - ", sin_addr=inet_addr(\"%s\")}, %u) = %d EBADF (%m)\n", - h_port, h_addr, len, ret); -@@ -137,6 +150,7 @@ - in->sin_addr.s_addr = 0; - len = sizeof(*in) - 4; - ret = connect(-1, (void *) in, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_INET, sa_data=\"%s\"}, %u)" - " = %d EBADF (%m)\n", - "\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377", -@@ -144,6 +158,7 @@ - - len = sizeof(*in); - ret = connect(-1, (void *) in, len); -+ pidns_print_leader(); - printf("connect(-1, %p, %u) = %d EBADF (%m)\n", in, len, ret); - } - -@@ -155,6 +170,7 @@ - in6->sin6_scope_id = 0xfacefeed; - unsigned int len = sizeof(*in6); - int ret = connect(-1, (void *) in6, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_INET6, sin6_port=htons(%hu)" - ", sin6_flowinfo=htonl(%u)" - ", inet_pton(AF_INET6, \"%s\", &sin6_addr)" -@@ -166,7 +182,8 @@ - in6->sin6_scope_id = ifindex_lo(); - if (in6->sin6_scope_id) { - ret = connect(-1, (void *) in6, len); -- printf("connect(-1, {sa_family=AF_INET6, sin6_port=htons(%hu)" -+ pidns_print_leader(); -+ printf("connect(-1, {sa_family=AF_INET6, sin6_port=htons(%hu)" - ", sin6_flowinfo=htonl(%u)" - ", inet_pton(AF_INET6, \"%s\", &sin6_addr)" - ", sin6_scope_id=%s}, %u)" -@@ -191,6 +208,7 @@ - in6->sin6_scope_id = 0xfacefeed; - unsigned int len = sizeof(*in6); - int ret = connect(-1, (void *) in6, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_INET6, sin6_port=htons(%hu)" - ", sin6_flowinfo=htonl(%u)" - ", inet_pton(AF_INET6, \"%s\", &sin6_addr)" -@@ -209,6 +227,7 @@ - in6->sin6_scope_id = 0xfacefeed; - len = sizeof(*in6) + 4; - ret = connect(-1, (void *) in6, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_INET6, sin6_port=htons(%hu)" - ", sin6_flowinfo=htonl(%u)" - ", inet_pton(AF_INET6, \"%s\", &sin6_addr)" -@@ -223,6 +242,7 @@ - inet_pton(AF_INET6, h_addr, &in6->sin6_addr); - len = sizeof(*in6) - sizeof(in6->sin6_scope_id); - ret = connect(-1, (void *) in6, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_INET6, sin6_port=htons(%hu)" - ", sin6_flowinfo=htonl(%u)" - ", inet_pton(AF_INET6, \"%s\", &sin6_addr)}, %u)" -@@ -236,6 +256,7 @@ - memset(&in6->sin6_addr, '0', sizeof(in6->sin6_addr) - 4); - len = sizeof(*in6) - sizeof(in6->sin6_scope_id) - 4; - ret = connect(-1, (void *) in6, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_INET6" - ", sa_data=\"\\0\\0\\0\\0\\0\\000%.*u\"}, %u)" - " = %d EBADF (%m)\n", -@@ -244,6 +265,7 @@ - - len = sizeof(*in6) - sizeof(in6->sin6_scope_id); - ret = connect(-1, (void *) in6, len); -+ pidns_print_leader(); - printf("connect(-1, %p, %u) = %d EBADF (%m)\n", in6, len, ret); - } - -@@ -262,6 +284,7 @@ - void *ipx = tail_memdup(&c_ipx, sizeof(c_ipx)); - unsigned int len = sizeof(c_ipx); - int ret = connect(-1, ipx, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_IPX, sipx_port=htons(%u)" - ", sipx_network=htonl(%#x)" - ", sipx_node=[%#02x, %#02x, %#02x, %#02x, %#02x, %#02x]" -@@ -316,18 +339,21 @@ - fill_memory(sax, size); - sax->fsa_ax25.sax25_family = AF_AX25; - rc = connect(-1, sax_void, sizeof(struct sockaddr_ax25) - 1); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_AX25, sa_data=\"\\202\\203\\204\\205" - "\\206\\207\\210\\211\\212\\213\\214\\215\\216\"}, %zu) = %s\n", - sizeof(struct sockaddr_ax25) - 1, sprintrc(rc)); - - memcpy(sax, &ax25, sizeof(ax25)); - rc = connect(-1, sax_void, sizeof(struct sockaddr_ax25)); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_AX25, fsa_ax25={sax25_call=VALID-13" - ", sax25_ndigis=8}, fsa_digipeater=[/* ??? */]}, %zu) = %s\n", - sizeof(struct sockaddr_ax25), sprintrc(rc)); - - sax->fsa_ax25.sax25_ndigis = 0; - rc = connect(-1, sax_void, sizeof(struct sockaddr_ax25)); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_AX25, sax25_call=VALID-13" - ", sax25_ndigis=0}, %zu) = %s\n", - sizeof(struct sockaddr_ax25), sprintrc(rc)); -@@ -335,6 +361,7 @@ - sax->fsa_ax25.sax25_ndigis = 8; - size = sizeof(struct sockaddr_ax25) + sizeof(ax25_address) * 3 + 1; - rc = connect(-1, sax_void, size); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_AX25, fsa_ax25={sax25_call=VALID-13" - ", sax25_ndigis=8}, fsa_digipeater" - "=[{ax25_call=\"\\xa6\\xa0\\x82\\x40\\x86\\x8a\\x00\"" -@@ -348,6 +375,7 @@ - sax->fsa_digipeater[2].ax25_call[6] = 0x4; - size = sizeof(struct sockaddr_ax25) + sizeof(ax25_address) * 4; - rc = connect(-1, sax_void, size); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_AX25, fsa_ax25={sax25_call=VALID-13" - ", sax25_ndigis=8}, fsa_digipeater" - "=[{ax25_call=\"\\xa6\\xa0\\x82\\x40\\x86\\x8a\\x00\"" -@@ -365,6 +393,7 @@ - for (size_t i = 0; i < 3; i++) { - size = sizeof(ax25) + sizeof(ax25_address) * (i / 2); - rc = connect(-1, sax_void, size); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_AX25" - ", fsa_ax25={sax25_call=VALID-13, sax25_ndigis=%d}" - ", fsa_digipeater=[VALID2-7, OK-15, %s /* FINE-2 */" -@@ -427,12 +456,14 @@ - long rc; - - rc = connect(-1, x25_void, sizeof(c_x25) - 1); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_X25" - ", sa_data=\"0123456789abcde\"}, %zu) = %s\n", - sizeof(c_x25) - 1, sprintrc(rc)); - - for (size_t i = 0; i < 2; i++) { - rc = connect(-1, x25_void, sizeof(c_x25) + i); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_X25" - ", sx25_addr={x25_addr=\"0123456789abcde\"...}" - "}, %zu) = %s\n", -@@ -442,6 +473,7 @@ - struct sockaddr_x25 *const x25 = x25_void; - x25->sx25_addr.x25_addr[10] = '\0'; - rc = connect(-1, x25_void, sizeof(c_x25)); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_X25" - ", sx25_addr={x25_addr=\"0123456789\"}" - "}, %zu) = %s\n", -@@ -457,19 +489,21 @@ - nl->nl_groups = 0xfacefeed; - unsigned int len = sizeof(*nl); - int ret = connect(-1, (void *) nl, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_NETLINK, nl_pid=%d" - ", nl_groups=%#08x}, %u) = %d EBADF (%m)\n", - nl->nl_pid, nl->nl_groups, len, ret); - - nl = ((void *) nl) - 4; - nl->nl_family = AF_NETLINK; -- nl->nl_pid = 1234567890; -+ nl->nl_pid = getpid(); - nl->nl_groups = 0xfacefeed; - len = sizeof(*nl) + 4; - ret = connect(-1, (void *) nl, len); -- printf("connect(-1, {sa_family=AF_NETLINK, nl_pid=%d" -+ pidns_print_leader(); -+ printf("connect(-1, {sa_family=AF_NETLINK, nl_pid=%d%s" - ", nl_groups=%#08x}, %u) = %d EBADF (%m)\n", -- nl->nl_pid, nl->nl_groups, len, ret); -+ nl->nl_pid, pidns_pid2str(PT_TGID), nl->nl_groups, len, ret); - } - - static void -@@ -487,6 +521,7 @@ - void *ll = tail_memdup(&c_ll, sizeof(c_ll)); - unsigned int len = sizeof(c_ll); - int ret = connect(-1, ll, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_PACKET" - ", sll_protocol=htons(ETH_P_ALL)" - ", sll_ifindex=%u, sll_hatype=ARPHRD_ETHER" -@@ -502,6 +537,7 @@ - - ((struct sockaddr_ll *) ll)->sll_halen++; - ret = connect(-1, ll, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_PACKET" - ", sll_protocol=htons(ETH_P_ALL)" - ", sll_ifindex=%u, sll_hatype=ARPHRD_ETHER" -@@ -517,6 +553,7 @@ - - ((struct sockaddr_ll *) ll)->sll_halen = 0; - ret = connect(-1, ll, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_PACKET" - ", sll_protocol=htons(ETH_P_ALL)" - ", sll_ifindex=%u, sll_hatype=ARPHRD_ETHER" -@@ -526,6 +563,7 @@ - ((struct sockaddr_ll *) ll)->sll_ifindex = ifindex_lo(); - if (((struct sockaddr_ll *) ll)->sll_ifindex) { - ret = connect(-1, ll, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_PACKET" - ", sll_protocol=htons(ETH_P_ALL)" - ", sll_ifindex=%s" -@@ -549,11 +587,13 @@ - unsigned int len = sizeof(*hci); - - int ret = connect(-1, (void *) hci, 4); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_BLUETOOTH, hci_dev=htobs(%hu)" - "}, 4) = %d EBADF (%m)\n", - h_port, ret); - - ret = connect(-1, (void *) hci, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_BLUETOOTH, hci_dev=htobs(%hu)" - # ifdef HAVE_STRUCT_SOCKADDR_HCI_HCI_CHANNEL - ", hci_channel=HCI_CHANNEL_RAW" -@@ -572,6 +612,7 @@ - void *sco = tail_memdup(&c_sco, sizeof(c_sco)); - unsigned int len = sizeof(c_sco); - int ret = connect(-1, sco, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_BLUETOOTH" - ", sco_bdaddr=%02x:%02x:%02x:%02x:%02x:%02x" - "}, %u) = %d EBADF (%m)\n", -@@ -592,6 +633,7 @@ - void *rc = tail_memdup(&c_rc, sizeof(c_rc)); - unsigned int len = sizeof(c_rc); - int ret = connect(-1, rc, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_BLUETOOTH" - ", rc_bdaddr=%02x:%02x:%02x:%02x:%02x:%02x" - ", rc_channel=%u}, %u) = %d EBADF (%m)\n", -@@ -619,6 +661,7 @@ - unsigned int len = sizeof(c_l2); - - int ret = connect(-1, l2, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_BLUETOOTH" - ", l2_psm=htobs(L2CAP_PSM_DYN_START + %hu)" - ", l2_bdaddr=%02x:%02x:%02x:%02x:%02x:%02x" -@@ -640,6 +683,7 @@ - # endif - memcpy(l2, &c_l2, sizeof(c_l2)); - ret = connect(-1, l2, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_BLUETOOTH" - ", l2_psm=htobs(L2CAP_PSM_SDP)" - ", l2_bdaddr=%02x:%02x:%02x:%02x:%02x:%02x" -@@ -660,6 +704,7 @@ - # endif - memcpy(l2, &c_l2, sizeof(c_l2)); - ret = connect(-1, l2, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_BLUETOOTH" - ", l2_psm=htobs(0xbad /* L2CAP_PSM_??? */)" - ", l2_bdaddr=%02x:%02x:%02x:%02x:%02x:%02x" -@@ -677,6 +722,7 @@ - c_l2.l2_cid = htobs(0xffff); - memcpy(l2, &c_l2, 12); - ret = connect(-1, l2, 12); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_BLUETOOTH" - ", l2_psm=htobs(L2CAP_PSM_AUTO_END)" - ", l2_bdaddr=%02x:%02x:%02x:%02x:%02x:%02x" -@@ -700,6 +746,7 @@ - u.sa->sa_family = 0xff; - unsigned int len = sizeof(*u.st) + 8; - int ret = connect(-1, (void *) u.st, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=%#x /* AF_??? */, sa_data=\"%.*u\"}" - ", %u) = %d EBADF (%m)\n", u.sa->sa_family, - (int) (sizeof(*u.st) - sizeof(u.sa->sa_family)), 0, len, ret); -@@ -707,11 +754,13 @@ - u.sa->sa_family = 0; - len = sizeof(u.sa->sa_family) + 1; - ret = connect(-1, (void *) u.st, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_UNSPEC, sa_data=\"0\"}, %u)" - " = %d EBADF (%m)\n", len, ret); - - u.sa->sa_family = AF_BLUETOOTH; - ret = connect(-1, (void *) u.st, len); -+ pidns_print_leader(); - printf("connect(-1, {sa_family=AF_BLUETOOTH, sa_data=\"0\"}, %u)" - " = %d EBADF (%m)\n", len, ret); - } -@@ -719,6 +768,8 @@ - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - check_un(); - check_in(); - check_in6(); -@@ -735,6 +786,7 @@ - #endif - check_raw(); - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-mx32/netlink_audit--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/netlink_audit--pidns-translation.c 2020-09-09 19:52:38.910673638 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "netlink_audit.c" -Index: strace-5.7/tests-mx32/netlink_audit--pidns-translation.test -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/netlink_audit--pidns-translation.test 2020-09-09 19:52:38.911673639 +0200 -@@ -0,0 +1,13 @@ -+#!/bin/sh -+# -+# Check pidns translation of NETLINK_SOCK_DIAG protocol decoding -+# -+# Copyright (c) 2020 The strace developers. -+# All rights reserved. -+# -+# SPDX-License-Identifier: LGPL-2.1-or-later -+ -+. "${srcdir=.}/init.sh" -+ -+run_prog ../netlink_netlink_diag -+test_pidns -e trace=sendto "$@" -Index: strace-5.7/tests-mx32/netlink_audit.c -=================================================================== ---- strace-5.7.orig/tests-mx32/netlink_audit.c 2020-09-09 19:52:30.630668703 +0200 -+++ strace-5.7/tests-mx32/netlink_audit.c 2020-09-09 19:52:38.911673639 +0200 -@@ -7,6 +7,7 @@ - */ - - #include "tests.h" -+#include "pidns.h" - #include - #include - #include -@@ -17,18 +18,23 @@ - static void - test_nlmsg_type(const int fd) - { -+ PIDNS_TEST_INIT; -+ - long rc; - struct nlmsghdr nlh = { - .nlmsg_len = sizeof(nlh), - .nlmsg_type = AUDIT_GET, - .nlmsg_flags = NLM_F_REQUEST, -+ .nlmsg_pid = getpid(), - }; - - rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0); -+ pidns_print_leader(); - printf("sendto(%d, {len=%u, type=AUDIT_GET" -- ", flags=NLM_F_REQUEST, seq=0, pid=0}" -+ ", flags=NLM_F_REQUEST, seq=0, pid=%d%s}" - ", %u, MSG_DONTWAIT, NULL, 0) = %s\n", -- fd, nlh.nlmsg_len, (unsigned) sizeof(nlh), sprintrc(rc)); -+ fd, nlh.nlmsg_len, nlh.nlmsg_pid, pidns_pid2str(PT_TGID), -+ (unsigned) sizeof(nlh), sprintrc(rc)); - } - - int main(void) -@@ -39,6 +45,7 @@ - - test_nlmsg_type(fd); - -+ pidns_print_leader(); - printf("+++ exited with 0 +++\n"); - - return 0; -Index: strace-5.7/tests-mx32/pidfd_open--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/pidfd_open--pidns-translation.c 2020-09-09 19:52:38.911673639 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "pidfd_open.c" -Index: strace-5.7/tests-mx32/pidfd_open.c -=================================================================== ---- strace-5.7.orig/tests-mx32/pidfd_open.c 2020-09-09 19:52:30.631668704 +0200 -+++ strace-5.7/tests-mx32/pidfd_open.c 2020-09-09 19:52:38.911673639 +0200 -@@ -10,6 +10,7 @@ - - #include "tests.h" - #include "scno.h" -+#include "pidns.h" - - #ifdef __NR_pidfd_open - -@@ -37,6 +38,8 @@ - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - # if defined PATH_TRACING || defined PRINT_PATHS - skip_if_unavailable("/proc/self/fd/"); - # endif -@@ -50,16 +53,19 @@ - - k_pidfd_open(0, 0); - # ifndef PATH_TRACING -+ pidns_print_leader(); - printf("pidfd_open(0, 0) = %s\n", errstr); - # endif - - k_pidfd_open(-1U, 0); - # ifndef PATH_TRACING -+ pidns_print_leader(); - printf("pidfd_open(-1, 0) = %s\n", errstr); - # endif - - k_pidfd_open(0, -1U); - # ifndef PATH_TRACING -+ pidns_print_leader(); - printf("pidfd_open(0, %#x) = %s\n", -1U, errstr); - # endif - -@@ -68,7 +74,10 @@ - - k_pidfd_open(pid, flags); - # ifndef PATH_TRACING -- printf("pidfd_open(%d, %#x) = %s\n", pid, flags, errstr); -+ const char *pid_str = pidns_pid2str(PT_TGID); -+ pidns_print_leader(); -+ printf("pidfd_open(%d%s, %#x) = %s\n", -+ pid, pid_str, flags, errstr); - # endif - - # ifdef PRINT_PATHS -@@ -80,17 +89,19 @@ - # endif - - # ifndef PATH_TRACING -- printf("pidfd_open(%d, 0) = " -+ pidns_print_leader(); -+ printf("pidfd_open(%d%s, 0) = " - # if defined PRINT_PIDFD -- "%ld\n", pid, rc, pid -+ "%ld\n", pid, pid_str, rc, pid - # elif defined PRINT_PATHS -- "%ld\n", pid, rc -+ "%ld\n", pid, pid_str, rc - # else -- "%s\n", pid, errstr -+ "%s\n", pid, pid_str, errstr - # endif - ); - # endif - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-mx32/pidfd_send_signal--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/pidfd_send_signal--pidns-translation.c 2020-09-09 19:52:38.911673639 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "pidfd_send_signal.c" -Index: strace-5.7/tests-mx32/pidfd_send_signal.c -=================================================================== ---- strace-5.7.orig/tests-mx32/pidfd_send_signal.c 2020-09-09 19:52:30.631668704 +0200 -+++ strace-5.7/tests-mx32/pidfd_send_signal.c 2020-09-09 19:52:38.911673639 +0200 -@@ -10,6 +10,7 @@ - #include "tests.h" - #include - #include "scno.h" -+#include "pidns.h" - - #ifdef __NR_pidfd_send_signal - -@@ -36,6 +37,8 @@ - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - static const char null_path[] = "/dev/null"; - - int fd = open(null_path, O_RDONLY); -@@ -46,19 +49,23 @@ - const void *esi = (const void *) si + 1; - - sys_pidfd_send_signal(fd, SIGUSR1, esi, 0); -+ pidns_print_leader(); - printf("pidfd_send_signal(%d, SIGUSR1, %p, 0) = %s\n", - fd, esi, errstr); - - si->si_signo = SIGUSR1; - si->si_code = SI_QUEUE; -+ si->si_pid = getpid(); - - sys_pidfd_send_signal(fd, SIGUSR2, si, -1); -+ pidns_print_leader(); - printf("pidfd_send_signal(%d, SIGUSR2, {si_signo=SIGUSR1" -- ", si_code=SI_QUEUE, si_errno=%u, si_pid=%d, si_uid=%d" -+ ", si_code=SI_QUEUE, si_errno=%u, si_pid=%d%s, si_uid=%d" - ", si_value={int=%d, ptr=%p}}, %#x) = %s\n", -- fd, si->si_errno, si->si_pid, si->si_uid, si->si_int, si->si_ptr, -- -1U, errstr); -+ fd, si->si_errno, si->si_pid, pidns_pid2str(PT_TGID), si->si_uid, -+ si->si_int, si->si_ptr, -1U, errstr); - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-mx32/pidns-cache.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/pidns-cache.c 2020-09-09 19:52:38.912673640 +0200 -@@ -0,0 +1,62 @@ -+/* -+ * Copyright (c) 2020 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+#include "scno.h" -+#include "pidns.h" -+ -+#if defined __NR_getpid && (!defined __NR_getxpid || __NR_getxpid != __NR_getpid) -+ -+# include -+# include -+# include -+ -+# define SYSCALL_COUNT 1000 -+ -+/** -+ * Max ratio of the execution time with and without pidns translation. -+ */ -+# define MAX_TIME_RATIO 20 -+ -+static long -+execute_syscalls(void) -+{ -+ /* Load our PID in the cache */ -+ syscall(__NR_getpid); -+ -+ struct timeval stop, start; -+ gettimeofday(&start, NULL); -+ -+ for (int i = 0; i < SYSCALL_COUNT; i++) -+ syscall(__NR_getpid); -+ -+ gettimeofday(&stop, NULL); -+ -+ return (stop.tv_usec - start.tv_usec) + -+ (stop.tv_sec - start.tv_sec) * 1000000; -+} -+ -+int -+main(void) -+{ -+ long max_us = execute_syscalls() * MAX_TIME_RATIO; -+ -+ pidns_test_init(); -+ -+ long us = execute_syscalls(); -+ if (us > max_us) -+ error_msg_and_fail("pidns translation took too long: %ld us " -+ "(max: %ld us)", us, max_us); -+ -+ return 0; -+} -+ -+#else -+ -+SKIP_MAIN_UNDEFINED("__NR_getpid") -+ -+#endif -Index: strace-5.7/tests-mx32/pidns-cache.test -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/pidns-cache.test 2020-09-09 19:52:38.912673640 +0200 -@@ -0,0 +1,15 @@ -+#!/bin/sh -+# -+# Test pidns translation cache. -+# -+# Copyright (c) 2020 The strace developers. -+# All rights reserved. -+# -+# SPDX-License-Identifier: GPL-2.0-or-later -+ -+. "${srcdir=.}/init.sh" -+ -+check_prog timeout -+ -+run_prog > /dev/null -+run_strace --pidns-translation -f -e trace=getpid $args -Index: strace-5.7/tests-mx32/prlimit64--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/prlimit64--pidns-translation.c 2020-09-09 19:52:38.912673640 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "prlimit64.c" -Index: strace-5.7/tests-mx32/prlimit64.c -=================================================================== ---- strace-5.7.orig/tests-mx32/prlimit64.c 2020-09-09 19:52:30.632668704 +0200 -+++ strace-5.7/tests-mx32/prlimit64.c 2020-09-09 19:52:38.912673640 +0200 -@@ -19,6 +19,7 @@ - # include - # include - -+# include "pidns.h" - # include "xlat.h" - # include "xlat/resources.h" - -@@ -42,8 +43,11 @@ - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - unsigned long pid = - (unsigned long) 0xdefaced00000000ULL | (unsigned) getpid(); -+ const char *pid_str = pidns_pid2str(PT_TGID); - uint64_t *const rlimit = tail_alloc(sizeof(*rlimit) * 2); - const struct xlat_data *xlat; - size_t i = 0; -@@ -54,18 +58,23 @@ - - unsigned long res = 0xfacefeed00000000ULL | xlat->val; - long rc = syscall(__NR_prlimit64, pid, res, 0, rlimit); -+ pidns_print_leader(); - if (rc) -- printf("prlimit64(%d, %s, NULL, %p) = %ld %s (%m)\n", -- (unsigned) pid, xlat->str, rlimit, -+ printf("prlimit64(%d%s, %s, NULL, %p) =" -+ " %ld %s (%m)\n", -+ (unsigned) pid, pid_str, -+ xlat->str, rlimit, - rc, errno2name()); - else -- printf("prlimit64(%d, %s, NULL" -+ printf("prlimit64(%d%s, %s, NULL" - ", {rlim_cur=%s, rlim_max=%s}) = 0\n", -- (unsigned) pid, xlat->str, -+ (unsigned) pid, pid_str, -+ xlat->str, - sprint_rlim(rlimit[0]), - sprint_rlim(rlimit[1])); - } - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-mx32/process_vm_readv--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/process_vm_readv--pidns-translation.c 2020-09-09 19:52:38.912673640 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "process_vm_readv.c" -Index: strace-5.7/tests-mx32/process_vm_readv_writev.c -=================================================================== ---- strace-5.7.orig/tests-mx32/process_vm_readv_writev.c 2020-09-09 19:52:30.632668704 +0200 -+++ strace-5.7/tests-mx32/process_vm_readv_writev.c 2020-09-09 19:52:38.913673640 +0200 -@@ -12,6 +12,7 @@ - #include - #include - #include -+#include "pidns.h" - - #if OP_WR - # define in_iovec rmt_iovec -@@ -121,7 +122,7 @@ - } - - static void --do_call(kernel_ulong_t pid, -+do_call(kernel_ulong_t pid, enum pid_type pid_type, - kernel_ulong_t local_iov, const char *local_arg, - kernel_ulong_t liovcnt, - kernel_ulong_t remote_iov, const char *remote_arg, -@@ -135,7 +136,8 @@ - flags); - errstr = sprintrc(rc); - -- printf("%s(%d, ", OP_STR, (int) pid); -+ pidns_print_leader(); -+ printf("%s(%d%s, ", OP_STR, (int) pid, pidns_pid2str(pid_type)); - - if (pr_iov) - pr_iov((const struct iovec *) (uintptr_t) local_iov, local_arg, -@@ -164,6 +166,8 @@ - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - enum { - SIZE_11 = 2, - SIZE_12 = 3, -@@ -243,18 +247,18 @@ - fill_memory_ex(data2_out, SIZE_2, SEGM2_BASE, SIZE_2); - - -- do_call(bogus_pid, (kernel_ulong_t) (uintptr_t) ARG_STR(NULL), -+ do_call(bogus_pid, PT_NONE, (kernel_ulong_t) (uintptr_t) ARG_STR(NULL), - bogus_iovcnt1, (kernel_ulong_t) (uintptr_t) ARG_STR(NULL), - bogus_iovcnt2, bogus_flags, NULL); - -- do_call(my_pid, ptr_cast(bogus_iov + ARRAY_SIZE(bogus_iovec)), -+ do_call(my_pid, PT_TGID, ptr_cast(bogus_iov + ARRAY_SIZE(bogus_iovec)), - "[]", 0, ptr_cast(in_iov + ARRAY_SIZE(in_iovec)), "[]", - 0, 0, NULL); -- do_call(my_pid, ptr_cast(bogus_iov + ARRAY_SIZE(bogus_iovec)), NULL, -- bogus_iovcnt1, ptr_cast(in_iov + ARRAY_SIZE(in_iovec)), NULL, -- bogus_iovcnt2, 0, print_iov); -+ do_call(my_pid, PT_TGID, ptr_cast(bogus_iov + ARRAY_SIZE(bogus_iovec)), -+ NULL, bogus_iovcnt1, ptr_cast(in_iov + ARRAY_SIZE(in_iovec)), -+ NULL, bogus_iovcnt2, 0, print_iov); - -- do_call(my_pid, ptr_cast(bogus_iov), (char *) &bogus_arg, -+ do_call(my_pid, PT_TGID, ptr_cast(bogus_iov), (char *) &bogus_arg, - ARRAY_SIZE(bogus_iovec), ptr_cast(rmt_iov + 2), - (char *) &rmt_arg_cut, ARRAY_SIZE(rmt_iovec) - 2, 0, print_iov); - -@@ -263,7 +267,7 @@ - lcl_arg_cut.check_rc = 1; - #endif - -- do_call(my_pid, ptr_cast(lcl_iov + 2), (char *) &lcl_arg_cut, -+ do_call(my_pid, PT_TGID, ptr_cast(lcl_iov + 2), (char *) &lcl_arg_cut, - ARRAY_SIZE(lcl_iovec) - 1, ptr_cast(bogus_iov + 2), - (char *) &bogus_arg_cut, ARRAY_SIZE(bogus_iovec) - 1, 0, - print_iov); -@@ -273,15 +277,16 @@ - rmt_arg_cut.addr_term = 1; - rmt_arg_cut.count = 5; - -- do_call(my_pid, ptr_cast(lcl_iov + 2), (char *) &lcl_arg_cut, -+ do_call(my_pid, PT_TGID, ptr_cast(lcl_iov + 2), (char *) &lcl_arg_cut, - ARRAY_SIZE(lcl_iovec) - 2, ptr_cast(rmt_iov + 1), - (char *) &rmt_arg_cut, ARRAY_SIZE(rmt_iovec), 0, print_iov); - - /* Correct call */ -- do_call(my_pid, ptr_cast(lcl_iov), (char *) &lcl_arg, -+ do_call(my_pid, PT_TGID, ptr_cast(lcl_iov), (char *) &lcl_arg, - ARRAY_SIZE(lcl_iovec), ptr_cast(rmt_iov), (char *) &rmt_arg, - ARRAY_SIZE(rmt_iovec), 0, print_iov); - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - - return 0; -Index: strace-5.7/tests-mx32/process_vm_writev--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/process_vm_writev--pidns-translation.c 2020-09-09 19:52:38.913673640 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "process_vm_writev.c" -Index: strace-5.7/tests-mx32/rt_sigqueueinfo--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/rt_sigqueueinfo--pidns-translation.c 2020-09-09 19:52:38.913673640 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "rt_sigqueueinfo.c" -Index: strace-5.7/tests-mx32/rt_sigqueueinfo.c -=================================================================== ---- strace-5.7.orig/tests-mx32/rt_sigqueueinfo.c 2020-09-09 19:52:30.633668705 +0200 -+++ strace-5.7/tests-mx32/rt_sigqueueinfo.c 2020-09-09 19:52:38.913673640 +0200 -@@ -7,6 +7,7 @@ - */ - - #include "tests.h" -+#include "pidns.h" - #include - #include - #include -@@ -15,6 +16,8 @@ - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - struct sigaction sa = { - .sa_handler = SIG_IGN - }; -@@ -22,15 +25,19 @@ - .sival_ptr = (void *) (unsigned long) 0xdeadbeefbadc0dedULL - }; - pid_t pid = getpid(); -+ const char *pid_str = pidns_pid2str(PT_TGID); - - assert(sigaction(SIGUSR1, &sa, NULL) == 0); - if (sigqueue(pid, SIGUSR1, value)) - perror_msg_and_skip("sigqueue"); -- printf("rt_sigqueueinfo(%u, SIGUSR1, {si_signo=SIGUSR1, " -- "si_code=SI_QUEUE, si_pid=%d, si_uid=%d, " -+ pidns_print_leader(); -+ printf("rt_sigqueueinfo(%d%s, SIGUSR1, {si_signo=SIGUSR1, " -+ "si_code=SI_QUEUE, si_pid=%d%s, si_uid=%u, " - "si_value={int=%d, ptr=%p}}) = 0\n", -- pid, pid, getuid(), value.sival_int, value.sival_ptr); -- printf("+++ exited with 0 +++\n"); -+ pid, pid_str, pid, pid_str, -+ getuid(), value.sival_int, value.sival_ptr); -+ pidns_print_leader(); -+ puts("+++ exited with 0 +++"); - - return 0; - } -Index: strace-5.7/tests-mx32/rt_tgsigqueueinfo--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/rt_tgsigqueueinfo--pidns-translation.c 2020-09-09 19:52:38.913673640 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "rt_tgsigqueueinfo.c" -Index: strace-5.7/tests-mx32/rt_tgsigqueueinfo.c -=================================================================== ---- strace-5.7.orig/tests-mx32/rt_tgsigqueueinfo.c 2020-09-09 19:52:30.633668705 +0200 -+++ strace-5.7/tests-mx32/rt_tgsigqueueinfo.c 2020-09-09 19:52:38.913673640 +0200 -@@ -10,8 +10,9 @@ - - #include "tests.h" - #include "scno.h" -+#include "pidns.h" - --#ifdef __NR_rt_tgsigqueueinfo -+#if defined __NR_rt_tgsigqueueinfo && defined __NR_gettid - - # include - # include -@@ -20,11 +21,11 @@ - # include - - static long --k_tgsigqueueinfo(const pid_t pid, const int sig, const void *const info) -+k_tgsigqueueinfo(const pid_t tgid, const int tid, const int sig, const void *const info) - { - return syscall(__NR_rt_tgsigqueueinfo, -- F8ILL_KULONG_MASK | pid, -- F8ILL_KULONG_MASK | pid, -+ F8ILL_KULONG_MASK | tgid, -+ F8ILL_KULONG_MASK | tid, - F8ILL_KULONG_MASK | sig, - info); - } -@@ -32,6 +33,8 @@ - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - const struct sigaction sa = { - .sa_handler = SIG_IGN - }; -@@ -48,17 +51,22 @@ - info->si_value.sival_ptr = - (void *) (unsigned long) 0xdeadbeeffacefeedULL; - -- if (k_tgsigqueueinfo(info->si_pid, SIGUSR1, info)) -+ if (k_tgsigqueueinfo(getpid(), syscall(__NR_gettid), SIGUSR1, info)) - (errno == ENOSYS ? perror_msg_and_skip : perror_msg_and_fail)( - "rt_tgsigqueueinfo"); - -- printf("rt_tgsigqueueinfo(%u, %u, %s, {si_signo=%s" -- ", si_code=SI_QUEUE, si_errno=ENOENT, si_pid=%d" -+ pidns_print_leader(); -+ printf("rt_tgsigqueueinfo(%d%s, %d%s, %s, {si_signo=%s" -+ ", si_code=SI_QUEUE, si_errno=ENOENT, si_pid=%d%s" - ", si_uid=%d, si_value={int=%d, ptr=%p}}) = 0\n", -- info->si_pid, info->si_pid, "SIGUSR1", "SIGUSR1", -- info->si_pid, info->si_uid, info->si_value.sival_int, -+ info->si_pid, pidns_pid2str(PT_TGID), -+ info->si_pid, pidns_pid2str(PT_TID), -+ "SIGUSR1", "SIGUSR1", -+ info->si_pid, pidns_pid2str(PT_TGID), -+ info->si_uid, info->si_value.sival_int, - info->si_value.sival_ptr); - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-mx32/sched_xetaffinity--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/sched_xetaffinity--pidns-translation.c 2020-09-09 19:52:38.914673641 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "sched_xetaffinity.c" -Index: strace-5.7/tests-mx32/sched_xetaffinity.c -=================================================================== ---- strace-5.7.orig/tests-mx32/sched_xetaffinity.c 2020-09-09 19:52:30.633668705 +0200 -+++ strace-5.7/tests-mx32/sched_xetaffinity.c 2020-09-09 19:52:38.914673641 +0200 -@@ -10,6 +10,7 @@ - - #include "tests.h" - #include "scno.h" -+#include "pidns.h" - #include - - #if defined __NR_sched_getaffinity && defined __NR_sched_setaffinity \ -@@ -41,8 +42,11 @@ - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - unsigned int cpuset_size = 1; - const pid_t pid = getpid(); -+ const char *pid_str = pidns_pid2str(PT_TGID); - - while (cpuset_size) { - assert(getaffinity(pid, cpuset_size, NULL) == -1); -@@ -50,18 +54,21 @@ - break; - if (EINVAL != errno) - perror_msg_and_skip("sched_getaffinity"); -- printf("sched_getaffinity(%d, %u, NULL) = %s\n", -- pid, cpuset_size, errstr); -+ pidns_print_leader(); -+ printf("sched_getaffinity(%d%s, %u, NULL) = %s\n", -+ pid, pid_str, cpuset_size, errstr); - cpuset_size <<= 1; - } - assert(cpuset_size); -- printf("sched_getaffinity(%d, %u, NULL) = %s\n", -- pid, cpuset_size, errstr); -+ pidns_print_leader(); -+ printf("sched_getaffinity(%d%s, %u, NULL) = %s\n", -+ pid, pid_str, cpuset_size, errstr); - - cpu_set_t *cpuset = tail_alloc(cpuset_size); - getaffinity(pid, cpuset_size, cpuset + 1); -- printf("sched_getaffinity(%d, %u, %p) = %s\n", -- pid, cpuset_size, cpuset + 1, errstr); -+ pidns_print_leader(); -+ printf("sched_getaffinity(%d%s, %u, %p) = %s\n", -+ pid, pid_str, cpuset_size, cpuset + 1, errstr); - - int ret_size = getaffinity(pid, cpuset_size, cpuset); - if (ret_size < 0) -@@ -69,7 +76,8 @@ - pid, (unsigned) cpuset_size, cpuset, errstr); - assert(ret_size <= (int) cpuset_size); - -- printf("sched_getaffinity(%d, %u, [", pid, cpuset_size); -+ pidns_print_leader(); -+ printf("sched_getaffinity(%d%s, %u, [", pid, pid_str, cpuset_size); - const char *sep; - unsigned int i, cpu; - for (i = 0, cpu = 0, sep = ""; i < (unsigned) ret_size * 8; ++i) { -@@ -85,8 +93,9 @@ - CPU_SET_S(cpu, cpuset_size, cpuset); - if (setaffinity(pid, cpuset_size, cpuset)) - perror_msg_and_skip("sched_setaffinity"); -- printf("sched_setaffinity(%d, %u, [%u]) = 0\n", -- pid, cpuset_size, cpu); -+ pidns_print_leader(); -+ printf("sched_setaffinity(%d%s, %u, [%u]) = 0\n", -+ pid, pid_str, cpuset_size, cpu); - - const unsigned int big_size = cpuset_size < 128 ? 128 : cpuset_size * 2; - cpuset = tail_alloc(big_size); -@@ -95,7 +104,8 @@ - perror_msg_and_fail("sched_getaffinity(%d, %u, %p) = %s\n", - pid, big_size, cpuset, errstr); - assert(ret_size <= (int) big_size); -- printf("sched_getaffinity(%d, %u, [", pid, big_size); -+ pidns_print_leader(); -+ printf("sched_getaffinity(%d%s, %u, [", pid, pid_str, big_size); - for (i = 0, sep = ""; i < (unsigned) ret_size * 8; ++i) { - if (CPU_ISSET_S(i, (unsigned) ret_size, cpuset)) { - printf("%s%u", sep, i); -@@ -104,6 +114,7 @@ - } - printf("]) = %s\n", errstr); - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-mx32/sched_xetattr--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/sched_xetattr--pidns-translation.c 2020-09-09 19:52:38.914673641 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "sched_xetattr.c" -Index: strace-5.7/tests-mx32/sched_xetattr.c -=================================================================== ---- strace-5.7.orig/tests-mx32/sched_xetattr.c 2020-09-09 19:52:30.634668706 +0200 -+++ strace-5.7/tests-mx32/sched_xetattr.c 2020-09-09 19:52:38.914673641 +0200 -@@ -15,6 +15,7 @@ - # include - # include - # include -+# include "pidns.h" - # include "sched_attr.h" - # include "xlat.h" - # include "xlat/schedulers.h" -@@ -41,6 +42,8 @@ - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - static const kernel_ulong_t bogus_pid = - (kernel_ulong_t) 0xdefacedfacefeedULL; - static const kernel_ulong_t bogus_size = -@@ -48,20 +51,28 @@ - static const kernel_ulong_t bogus_flags = - (kernel_ulong_t) 0xdefaceddeadc0deULL; - -+ const int pid = getpid(); -+ const char *pid_str = pidns_pid2str(PT_TGID); -+ - TAIL_ALLOC_OBJECT_CONST_PTR(struct sched_attr, attr); - TAIL_ALLOC_OBJECT_CONST_PTR(unsigned int, psize); - void *const efault = attr + 1; - -- sys_sched_getattr(0, 0, 0, 0); -- printf("sched_getattr(0, NULL, 0, 0) = %s\n", errstr); -+ sys_sched_getattr(pid, 0, 0, 0); -+ pidns_print_leader(); -+ printf("sched_getattr(%d%s, NULL, 0, 0) = %s\n", -+ pid, pid_str, errstr); - - sys_sched_getattr(0, (unsigned long) attr, 0, 0); -+ pidns_print_leader(); - printf("sched_getattr(0, %p, 0, 0) = %s\n", attr, errstr); - - sys_sched_getattr(bogus_pid, 0, 0, 0); -+ pidns_print_leader(); - printf("sched_getattr(%d, NULL, 0, 0) = %s\n", (int) bogus_pid, errstr); - - sys_sched_getattr(-1U, (unsigned long) attr, bogus_size, bogus_flags); -+ pidns_print_leader(); - printf("sched_getattr(-1, %p, %s%u, %u) = %s\n", - attr, - # if defined __arm64__ || defined __aarch64__ -@@ -72,11 +83,13 @@ - (unsigned) bogus_size, (unsigned) bogus_flags, errstr); - - sys_sched_getattr(0, (unsigned long) efault, SCHED_ATTR_MIN_SIZE, 0); -+ pidns_print_leader(); - printf("sched_getattr(0, %p, %u, 0) = %s\n", - efault, (unsigned) SCHED_ATTR_MIN_SIZE, errstr); - - if (sys_sched_getattr(0, (unsigned long) attr, SCHED_ATTR_MIN_SIZE, 0)) - perror_msg_and_skip("sched_getattr"); -+ pidns_print_leader(); - printf("sched_getattr(0, {size=%u, sched_policy=", attr->size); - printxval(schedulers, attr->sched_policy, NULL); - printf(", sched_flags=%s, sched_nice=%d, sched_priority=%u" -@@ -91,11 +104,13 @@ - (unsigned) SCHED_ATTR_MIN_SIZE); - - sys_sched_getattr(0, (unsigned long) efault, sizeof(*attr), 0); -+ pidns_print_leader(); - printf("sched_getattr(0, %p, %u, 0) = %s\n", - efault, (unsigned) sizeof(*attr), errstr); - - if (sys_sched_getattr(0, (unsigned long) attr, sizeof(*attr), 0)) - perror_msg_and_skip("sched_getattr"); -+ pidns_print_leader(); - printf("sched_getattr(0, {size=%u, sched_policy=", attr->size); - printxval(schedulers, attr->sched_policy, NULL); - printf(", sched_flags=%s, sched_nice=%d, sched_priority=%u" -@@ -121,11 +136,13 @@ - F8ILL_KULONG_MASK | sizeof(*attr), F8ILL_KULONG_MASK); - # if defined __arm64__ || defined __aarch64__ - if (rc) { -+ pidns_print_leader(); - printf("sched_getattr(0, %p, 0xffffffff<<32|%u, 0) = %s\n", - attr, (unsigned) sizeof(*attr), errstr); - } else - # endif - { -+ pidns_print_leader(); - printf("sched_getattr(0, {size=%u, sched_policy=", attr->size); - printxval(schedulers, attr->sched_policy, NULL); - printf(", sched_flags=%s, sched_nice=%d, sched_priority=%u" -@@ -146,13 +163,16 @@ - } - - sys_sched_setattr(bogus_pid, 0, 0); -+ pidns_print_leader(); - printf("sched_setattr(%d, NULL, 0) = %s\n", (int) bogus_pid, errstr); - - attr->sched_flags |= 1; - -- if (sys_sched_setattr(0, (unsigned long) attr, 0)) -+ if (sys_sched_setattr(pid, (unsigned long) attr, 0)) - perror_msg_and_skip("sched_setattr"); -- printf("sched_setattr(0, {size=%u, sched_policy=", attr->size); -+ pidns_print_leader(); -+ printf("sched_setattr(%d%s, {size=%u, sched_policy=", -+ pid, pid_str, attr->size); - printxval(schedulers, attr->sched_policy, NULL); - printf(", sched_flags=%s, sched_nice=%d, sched_priority=%u" - ", sched_runtime=%" PRIu64 ", sched_deadline=%" PRIu64 -@@ -172,6 +192,7 @@ - - sys_sched_setattr(F8ILL_KULONG_MASK, (unsigned long) attr, - F8ILL_KULONG_MASK); -+ pidns_print_leader(); - printf("sched_setattr(0, {size=%u, sched_policy=", attr->size); - printxval(schedulers, attr->sched_policy, NULL); - printf(", sched_flags=%s, sched_nice=%d, sched_priority=%u" -@@ -193,11 +214,13 @@ - *psize = attr->size; - - sys_sched_setattr(0, (unsigned long) psize, 0); -+ pidns_print_leader(); - printf("sched_setattr(0, %p, 0) = %s\n", psize, errstr); - - attr->size = 0; - - sys_sched_setattr(0, (unsigned long) attr, 0); -+ pidns_print_leader(); - printf("sched_setattr(0, {size=%u, sched_policy=", attr->size); - printxval(schedulers, attr->sched_policy, NULL); - printf(", sched_flags=%s, sched_nice=%d, sched_priority=%u" -@@ -213,12 +236,14 @@ - attr->size = 1; - - sys_sched_setattr(0, (unsigned long) attr, 0); -+ pidns_print_leader(); - printf("sched_setattr(0, {size=%u} => {size=%u}, 0) = %s\n", - 1, attr->size, errstr); - - attr->size = SCHED_ATTR_MIN_SIZE - 1; - - sys_sched_setattr(0, (unsigned long) attr, 0); -+ pidns_print_leader(); - printf("sched_setattr(0, {size=%u} => {size=%u}, 0) = %s\n", - SCHED_ATTR_MIN_SIZE - 1, attr->size, errstr); - -@@ -232,6 +257,7 @@ - attr->sched_period = 0xded1ca7edda7aca7ULL; - - sys_sched_setattr(bogus_pid, (unsigned long) attr, bogus_flags); -+ pidns_print_leader(); - printf("sched_setattr(%d, {size=%u, sched_policy=%#x /* SCHED_??? */, " - "sched_flags=%#" PRIx64 " /* SCHED_FLAG_??? */, " - "sched_nice=%d, sched_priority=%u, sched_runtime=%" PRIu64 ", " -@@ -274,6 +300,7 @@ - attr->sched_period = 0xded1ca7edda7aca7ULL; - - sys_sched_setattr(bogus_pid, (unsigned long) attr, bogus_flags); -+ pidns_print_leader(); - printf("sched_setattr(%d, {size=%u, sched_policy=%#x /* SCHED_??? */, " - "sched_flags=SCHED_FLAG_RESET_ON_FORK|SCHED_FLAG_RECLAIM|" - "SCHED_FLAG_DL_OVERRUN|0x80, " -@@ -296,11 +323,13 @@ - const kernel_ulong_t ill = f8ill_ptr_to_kulong(attr); - - sys_sched_getattr(0, ill, sizeof(*attr), 0); -+ pidns_print_leader(); - printf("sched_getattr(0, %#llx, %u, 0) = %s\n", - (unsigned long long) ill, (unsigned) sizeof(*attr), - errstr); - - sys_sched_setattr(0, ill, 0); -+ pidns_print_leader(); - printf("sched_setattr(0, %#llx, 0) = %s\n", - (unsigned long long) ill, errstr); - } -@@ -310,6 +339,7 @@ - attr->sched_flags = 0x8fULL; - - sys_sched_setattr(bogus_pid, (unsigned long) attr, bogus_flags); -+ pidns_print_leader(); - printf("sched_setattr(%d, {size=%u, " - "sched_flags=SCHED_FLAG_RESET_ON_FORK|SCHED_FLAG_RECLAIM|" - "SCHED_FLAG_DL_OVERRUN|SCHED_FLAG_KEEP_POLICY|0x80, " -@@ -329,11 +359,13 @@ - const kernel_ulong_t ill = f8ill_ptr_to_kulong(attr); - - sys_sched_getattr(0, ill, sizeof(*attr), 0); -+ pidns_print_leader(); - printf("sched_getattr(0, %#llx, %u, 0) = %s\n", - (unsigned long long) ill, (unsigned) sizeof(*attr), - errstr); - - sys_sched_setattr(0, ill, 0); -+ pidns_print_leader(); - printf("sched_setattr(0, %#llx, 0) = %s\n", - (unsigned long long) ill, errstr); - } -@@ -342,6 +374,7 @@ - attr->sched_flags = 0xe7ULL; - - sys_sched_setattr(bogus_pid, (unsigned long) attr, bogus_flags); -+ pidns_print_leader(); - printf("sched_setattr(%d, {size=%u, sched_policy=%#x /* SCHED_??? */, " - "sched_flags=SCHED_FLAG_RESET_ON_FORK|SCHED_FLAG_RECLAIM|" - "SCHED_FLAG_DL_OVERRUN|SCHED_FLAG_UTIL_CLAMP_MIN" -@@ -365,11 +398,13 @@ - const kernel_ulong_t ill = f8ill_ptr_to_kulong(attr); - - sys_sched_getattr(0, ill, sizeof(*attr), 0); -+ pidns_print_leader(); - printf("sched_getattr(0, %#llx, %u, 0) = %s\n", - (unsigned long long) ill, (unsigned) sizeof(*attr), - errstr); - - sys_sched_setattr(0, ill, 0); -+ pidns_print_leader(); - printf("sched_setattr(0, %#llx, 0) = %s\n", - (unsigned long long) ill, errstr); - } -@@ -377,6 +412,7 @@ - attr->sched_flags = 0xcaffee90LL; - - sys_sched_setattr(bogus_pid, (unsigned long) attr, bogus_flags); -+ pidns_print_leader(); - printf("sched_setattr(%d, {size=%u, sched_flags=SCHED_FLAG_KEEP_PARAMS" - "|0xcaffee80, sched_util_min=%u, sched_util_max=%u}, %u) = %s\n", - (int) bogus_pid, -@@ -389,15 +425,18 @@ - const kernel_ulong_t ill = f8ill_ptr_to_kulong(attr); - - sys_sched_getattr(0, ill, sizeof(*attr), 0); -+ pidns_print_leader(); - printf("sched_getattr(0, %#llx, %u, 0) = %s\n", - (unsigned long long) ill, (unsigned) sizeof(*attr), - errstr); - - sys_sched_setattr(0, ill, 0); -+ pidns_print_leader(); - printf("sched_setattr(0, %#llx, 0) = %s\n", - (unsigned long long) ill, errstr); - } - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-mx32/sched_xetparam--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/sched_xetparam--pidns-translation.c 2020-09-09 19:52:38.914673641 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "sched_xetparam.c" -Index: strace-5.7/tests-mx32/sched_xetparam.c -=================================================================== ---- strace-5.7.orig/tests-mx32/sched_xetparam.c 2020-09-09 19:52:30.635668706 +0200 -+++ strace-5.7/tests-mx32/sched_xetparam.c 2020-09-09 19:52:38.914673641 +0200 -@@ -7,6 +7,7 @@ - - #include "tests.h" - #include "scno.h" -+# include "pidns.h" - - #if defined __NR_sched_getparam && defined __NR_sched_setparam - -@@ -17,18 +18,27 @@ - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - struct sched_param *const param = - tail_alloc(sizeof(struct sched_param)); - -- long rc = syscall(__NR_sched_getparam, 0, param); -- printf("sched_getparam(0, [%d]) = %ld\n", -- param->sched_priority, rc); -+ const int pid = getpid(); -+ const char *pid_str = pidns_pid2str(PT_TGID); -+ -+ long rc = syscall(__NR_sched_getparam, pid, param); -+ pidns_print_leader(); -+ printf("sched_getparam(%d%s, [%d]) = %ld\n", -+ pid, pid_str, param->sched_priority, rc); - - param->sched_priority = -1; -- rc = syscall(__NR_sched_setparam, 0, param); -- printf("sched_setparam(0, [%d]) = %ld %s (%m)\n", -+ rc = syscall(__NR_sched_setparam, pid, param); -+ pidns_print_leader(); -+ printf("sched_setparam(%d%s, [%d]) = %ld %s (%m)\n", -+ pid, pid_str, - param->sched_priority, rc, errno2name()); - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-mx32/sched_xetscheduler--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/sched_xetscheduler--pidns-translation.c 2020-09-09 19:52:38.915673641 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "sched_xetscheduler.c" -Index: strace-5.7/tests-mx32/sched_xetscheduler.c -=================================================================== ---- strace-5.7.orig/tests-mx32/sched_xetscheduler.c 2020-09-09 19:52:30.635668706 +0200 -+++ strace-5.7/tests-mx32/sched_xetscheduler.c 2020-09-09 19:52:38.915673641 +0200 -@@ -7,6 +7,7 @@ - - #include "tests.h" - #include "scno.h" -+#include "pidns.h" - - #if defined __NR_sched_getscheduler && defined __NR_sched_setscheduler - -@@ -17,8 +18,13 @@ - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - TAIL_ALLOC_OBJECT_CONST_PTR(struct sched_param, param); -- long rc = syscall(__NR_sched_getscheduler, 0); -+ const int pid = getpid(); -+ const char *pid_str = pidns_pid2str(PT_TGID); -+ -+ long rc = syscall(__NR_sched_getscheduler, pid); - const char *scheduler; - switch (rc) { - case SCHED_FIFO: -@@ -50,33 +56,43 @@ - default: - scheduler = "SCHED_OTHER"; - } -- printf("sched_getscheduler(0) = %ld (%s)\n", -- rc, scheduler); -+ pidns_print_leader(); -+ printf("sched_getscheduler(%d%s) = %ld (%s)\n", -+ pid, pid_str, rc, scheduler); - - rc = syscall(__NR_sched_getscheduler, -1); -+ pidns_print_leader(); - printf("sched_getscheduler(-1) = %s\n", sprintrc(rc)); - - param->sched_priority = -1; - -- rc = syscall(__NR_sched_setscheduler, 0, SCHED_FIFO, NULL); -- printf("sched_setscheduler(0, SCHED_FIFO, NULL) = %s\n", sprintrc(rc)); -- -- rc = syscall(__NR_sched_setscheduler, 0, SCHED_FIFO, param + 1); -- printf("sched_setscheduler(0, SCHED_FIFO, %p) = %s\n", param + 1, -- sprintrc(rc)); -- -- rc = syscall(__NR_sched_setscheduler, 0, 0xfaceda7a, param); -- printf("sched_setscheduler(0, %#x /* SCHED_??? */, [%d]) = %s\n", -- 0xfaceda7a, param->sched_priority, sprintrc(rc)); -+ rc = syscall(__NR_sched_setscheduler, pid, SCHED_FIFO, NULL); -+ pidns_print_leader(); -+ printf("sched_setscheduler(%d%s, SCHED_FIFO, NULL) = %s\n", -+ pid, pid_str, sprintrc(rc)); -+ -+ rc = syscall(__NR_sched_setscheduler, pid, SCHED_FIFO, param + 1); -+ pidns_print_leader(); -+ printf("sched_setscheduler(%d%s, SCHED_FIFO, %p) = %s\n", -+ pid, pid_str, param + 1, sprintrc(rc)); -+ -+ rc = syscall(__NR_sched_setscheduler, pid, 0xfaceda7a, param); -+ pidns_print_leader(); -+ printf("sched_setscheduler(%d%s, %#x /* SCHED_??? */, [%d]) = %s\n", -+ pid, pid_str, 0xfaceda7a, -+ param->sched_priority, sprintrc(rc)); - - rc = syscall(__NR_sched_setscheduler, -1, SCHED_FIFO, param); -+ pidns_print_leader(); - printf("sched_setscheduler(-1, SCHED_FIFO, [%d]) = %s\n", - param->sched_priority, sprintrc(rc)); - -- rc = syscall(__NR_sched_setscheduler, 0, SCHED_FIFO, param); -- printf("sched_setscheduler(0, SCHED_FIFO, [%d]) = %s\n", -- param->sched_priority, sprintrc(rc)); -+ rc = syscall(__NR_sched_setscheduler, pid, SCHED_FIFO, param); -+ pidns_print_leader(); -+ printf("sched_setscheduler(%d%s, SCHED_FIFO, [%d]) = %s\n", -+ pid, pid_str, param->sched_priority, sprintrc(rc)); - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-mx32/signal_receive--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/signal_receive--pidns-translation.c 2020-09-09 19:52:38.915673641 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "signal_receive.c" -Index: strace-5.7/tests-mx32/signal_receive.c -=================================================================== ---- strace-5.7.orig/tests-mx32/signal_receive.c 2020-09-09 19:52:30.635668706 +0200 -+++ strace-5.7/tests-mx32/signal_receive.c 2020-09-09 19:52:38.915673641 +0200 -@@ -8,6 +8,7 @@ - */ - - #include "tests.h" -+#include "pidns.h" - #include - #include - #include -@@ -26,10 +27,13 @@ - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - static const char prefix[] = "KERNEL BUG"; - int printed = 0; - - const int pid = getpid(); -+ const char *pid_str = pidns_pid2str(PT_TGID); - const int uid = geteuid(); - - for (int sig = 1; sig <= 31; ++sig) { -@@ -73,10 +77,13 @@ - const int e_pid = s_pid; - const int e_uid = s_uid; - #endif -- printf("kill(%d, %s) = 0\n", pid, signal2name(sig)); -- printf("--- %s {si_signo=%s, si_code=SI_USER, si_pid=%d" -+ pidns_print_leader(); -+ printf("kill(%d%s, %s) = 0\n", pid, pid_str, signal2name(sig)); -+ pidns_print_leader(); -+ printf("--- %s {si_signo=%s, si_code=SI_USER, si_pid=%d%s" - ", si_uid=%d} ---\n", -- signal2name(sig), signal2name(e_sig), e_pid, e_uid); -+ signal2name(sig), signal2name(e_sig), -+ e_pid, pid_str, e_uid); - - if (s_code || sig != s_sig || pid != s_pid || uid != s_uid) { - /* -@@ -91,11 +98,11 @@ - } - fprintf(stderr, - "%s: expected: si_signo=%d, si_code=%d" -- ", si_pid=%d, si_uid=%d\n" -+ ", si_pid=%d%s, si_uid=%d\n" - "%s: received: si_signo=%d, si_code=%d" -- ", si_pid=%d, si_uid=%d\n", -- prefix, sig, SI_USER, pid, uid, -- prefix, sig, s_code, s_pid, s_uid); -+ ", si_pid=%d%s, si_uid=%d\n", -+ prefix, sig, SI_USER, pid, pid_str, uid, -+ prefix, sig, s_code, s_pid, pid_str, s_uid); - } - } - -@@ -104,6 +111,7 @@ - "*** PLEASE FIX THE KERNEL ***\n", prefix); - } - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-mx32/so_peercred--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/so_peercred--pidns-translation.c 2020-09-09 19:52:38.915673641 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "so_peercred.c" -Index: strace-5.7/tests-mx32/so_peercred.c -=================================================================== ---- strace-5.7.orig/tests-mx32/so_peercred.c 2020-09-09 19:52:30.636668707 +0200 -+++ strace-5.7/tests-mx32/so_peercred.c 2020-09-09 19:52:38.915673641 +0200 -@@ -9,6 +9,7 @@ - */ - - #include "tests.h" -+#include "pidns.h" - - #include - #include -@@ -53,6 +54,8 @@ - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - TAIL_ALLOC_OBJECT_CONST_PTR(struct ucred, peercred); - TAIL_ALLOC_OBJECT_CONST_PTR(socklen_t, len); - -@@ -75,6 +78,8 @@ - struct ucred *const gid_truncated = - tail_alloc(sizeof_gid_truncated); - -+ const char *pid_str = pidns_pid2str(PT_TGID); -+ - int sv[2]; - if (socketpair(AF_UNIX, SOCK_STREAM, 0, sv)) - perror_msg_and_skip("socketpair AF_UNIX SOCK_STREAM"); -@@ -82,8 +87,10 @@ - /* classic getsockopt */ - *len = sizeof(*peercred); - get_peercred(sv[0], peercred, len); -+ pidns_print_leader(); - printf("getsockopt(%d, %s", sv[0], so_str()); - PRINT_FIELD_D(", {", *peercred, pid); -+ printf("%s", pid_str); - PRINT_FIELD_UID(", ", *peercred, uid); - PRINT_FIELD_UID(", ", *peercred, gid); - printf("}, [%d]) = %s\n", *len, errstr); -@@ -91,14 +98,17 @@ - /* getsockopt with zero optlen */ - *len = 0; - get_peercred(sv[0], peercred, len); -+ pidns_print_leader(); - printf("getsockopt(%d, %s, %p, [0]) = %s\n", - sv[0], so_str(), peercred, errstr); - - /* getsockopt with optlen larger than necessary - shortened */ - *len = sizeof(*peercred) + 1; - get_peercred(sv[0], peercred, len); -+ pidns_print_leader(); - printf("getsockopt(%d, %s", sv[0], so_str()); - PRINT_FIELD_D(", {", *peercred, pid); -+ printf("%s", pid_str); - PRINT_FIELD_UID(", ", *peercred, uid); - PRINT_FIELD_UID(", ", *peercred, gid); - printf("}, [%u->%d]) = %s\n", -@@ -110,6 +120,7 @@ - */ - *len = sizeof_pid_truncated; - get_peercred(sv[0], pid_truncated, len); -+ pidns_print_leader(); - printf("getsockopt(%d, %s, {pid=", sv[0], so_str()); - print_quoted_hex(pid_truncated, *len); - printf("}, [%d]) = %s\n", *len, errstr); -@@ -120,8 +131,10 @@ - */ - *len = sizeof_pid; - get_peercred(sv[0], pid, len); -+ pidns_print_leader(); - printf("getsockopt(%d, %s", sv[0], so_str()); - PRINT_FIELD_D(", {", *pid, pid); -+ printf("%s", pid_str); - printf("}, [%d]) = %s\n", *len, errstr); - - /* -@@ -136,8 +149,10 @@ - * to struct ucred.pid field. - */ - memcpy(uid, uid_truncated, sizeof_uid_truncated); -+ pidns_print_leader(); - printf("getsockopt(%d, %s", sv[0], so_str()); - PRINT_FIELD_D(", {", *uid, pid); -+ printf("%s", pid_str); - printf(", uid="); - print_quoted_hex(&uid->uid, sizeof_uid_truncated - - offsetof(struct ucred, uid)); -@@ -149,8 +164,10 @@ - */ - *len = sizeof_uid; - get_peercred(sv[0], uid, len); -+ pidns_print_leader(); - printf("getsockopt(%d, %s", sv[0], so_str()); - PRINT_FIELD_D(", {", *uid, pid); -+ printf("%s", pid_str); - PRINT_FIELD_UID(", ", *uid, uid); - printf("}, [%d]) = %s\n", *len, errstr); - -@@ -166,8 +183,10 @@ - * to struct ucred.pid and struct ucred.uid fields. - */ - memcpy(peercred, gid_truncated, sizeof_gid_truncated); -+ pidns_print_leader(); - printf("getsockopt(%d, %s", sv[0], so_str()); - PRINT_FIELD_D(", {", *peercred, pid); -+ printf("%s", pid_str); - PRINT_FIELD_UID(", ", *peercred, uid); - printf(", gid="); - print_quoted_hex(&peercred->gid, sizeof_gid_truncated - -@@ -177,14 +196,17 @@ - /* getsockopt optval EFAULT */ - *len = sizeof(*peercred); - get_peercred(sv[0], &peercred->uid, len); -+ pidns_print_leader(); - printf("getsockopt(%d, %s, %p, [%d]) = %s\n", - sv[0], so_str(), &peercred->uid, *len, errstr); - - /* getsockopt optlen EFAULT */ - get_peercred(sv[0], peercred, len + 1); -+ pidns_print_leader(); - printf("getsockopt(%d, %s, %p, %p) = %s\n", - sv[0], so_str(), peercred, len + 1, errstr); - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-mx32/tgkill--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/tgkill--pidns-translation.c 2020-09-09 19:52:38.916673642 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "tgkill.c" -Index: strace-5.7/tests-mx32/tgkill.c -=================================================================== ---- strace-5.7.orig/tests-mx32/tgkill.c 2020-09-09 19:52:30.636668707 +0200 -+++ strace-5.7/tests-mx32/tgkill.c 2020-09-09 19:52:38.916673642 +0200 -@@ -9,6 +9,7 @@ - - #include "tests.h" - #include "scno.h" -+#include "pidns.h" - - #ifdef __NR_tgkill - -@@ -36,28 +37,46 @@ - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - const int pid = getpid(); -+ const char *pid_str = pidns_pid2str(PT_TGID); -+ const int tid = syscall(__NR_gettid); -+ const char *tid_str = pidns_pid2str(PT_TID); - const int bad_pid = -1; - const int bad_sig = 0xface; - -- k_tgkill(pid, pid, 0); -- printf("tgkill(%d, %d, 0) = %s\n", pid, pid, errstr); -+ k_tgkill(pid, tid, 0); -+ pidns_print_leader(); -+ printf("tgkill(%d%s, %d%s, 0) = %s\n", -+ pid, pid_str, tid, tid_str, errstr); - - k_tgkill(pid, bad_pid, 0); -- printf("tgkill(%d, %d, 0) = %s\n", pid, bad_pid, errstr); -- -- k_tgkill(bad_pid, pid, 0); -- printf("tgkill(%d, %d, 0) = %s\n", bad_pid, pid, errstr); -- -- k_tgkill(pid, pid, SIGCONT); -- printf("tgkill(%d, %d, SIGCONT) = %s\n", pid, pid, errstr); -- -- k_tgkill(pid, pid, bad_sig); -- printf("tgkill(%d, %d, %d) = %s\n", pid, pid, bad_sig, errstr); -- -- k_tgkill(pid, pid, -bad_sig); -- printf("tgkill(%d, %d, %d) = %s\n", pid, pid, -bad_sig, errstr); -+ pidns_print_leader(); -+ printf("tgkill(%d%s, %d, 0) = %s\n", -+ pid, pid_str, bad_pid, errstr); -+ -+ k_tgkill(bad_pid, tid, 0); -+ pidns_print_leader(); -+ printf("tgkill(%d, %d%s, 0) = %s\n", -+ bad_pid, tid, tid_str, errstr); -+ -+ k_tgkill(pid, tid, SIGCONT); -+ pidns_print_leader(); -+ printf("tgkill(%d%s, %d%s, SIGCONT) = %s\n", -+ pid, pid_str, tid, tid_str, errstr); -+ -+ k_tgkill(pid, tid, bad_sig); -+ pidns_print_leader(); -+ printf("tgkill(%d%s, %d%s, %d) = %s\n", -+ pid, pid_str, tid, tid_str, bad_sig, errstr); -+ -+ k_tgkill(pid, tid, -bad_sig); -+ pidns_print_leader(); -+ printf("tgkill(%d%s, %d%s, %d) = %s\n", -+ pid, pid_str, tid, tid_str, -bad_sig, errstr); - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-mx32/tkill--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/tkill--pidns-translation.c 2020-09-09 19:52:38.916673642 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "tkill.c" -Index: strace-5.7/tests-mx32/tkill.c -=================================================================== ---- strace-5.7.orig/tests-mx32/tkill.c 2020-09-09 19:52:30.636668707 +0200 -+++ strace-5.7/tests-mx32/tkill.c 2020-09-09 19:52:38.916673642 +0200 -@@ -9,6 +9,7 @@ - - #include "tests.h" - #include "scno.h" -+#include "pidns.h" - - #ifdef __NR_tkill - -@@ -33,22 +34,30 @@ - int - main(void) - { -- const int pid = getpid(); -+ PIDNS_TEST_INIT; -+ -+ const int tid = syscall(__NR_gettid); -+ const char *tid_str = pidns_pid2str(PT_TID); - const int bad_pid = -1; - const int bad_sig = 0xface; - -- k_tkill(pid, 0); -- printf("tkill(%d, 0) = %s\n", pid, errstr); -- -- k_tkill(pid, SIGCONT); -- printf("tkill(%d, SIGCONT) = %s\n", pid, errstr); -+ k_tkill(tid, 0); -+ pidns_print_leader(); -+ printf("tkill(%d%s, 0) = %s\n", tid, tid_str, errstr); -+ -+ k_tkill(tid, SIGCONT); -+ pidns_print_leader(); -+ printf("tkill(%d%s, SIGCONT) = %s\n", tid, tid_str, errstr); - - k_tkill(bad_pid, bad_sig); -+ pidns_print_leader(); - printf("tkill(%d, %d) = %s\n", bad_pid, bad_sig, errstr); - - k_tkill(bad_pid, -bad_sig); -+ pidns_print_leader(); - printf("tkill(%d, %d) = %s\n", bad_pid, -bad_sig, errstr); - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-mx32/trie_for_tests.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/trie_for_tests.c 2020-09-09 19:52:38.916673642 +0200 -@@ -0,0 +1 @@ -+#include "trie.c" -Index: strace-5.7/tests-mx32/trie_test.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/trie_test.c 2020-09-09 19:52:38.916673642 +0200 -@@ -0,0 +1,121 @@ -+/* -+ * Copyright (c) 2017-2019 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+#include "trie.h" -+ -+#include -+#include -+ -+static void -+assert_equals(const char *msg, uint64_t expected, uint64_t actual) { -+ if (actual != expected) -+ error_msg_and_fail("%s: expected: %" PRIu64 -+ ", actual: %" PRIu64, msg, expected, actual); -+} -+ -+static void -+iterate_fn(void *data, uint64_t key, uint64_t value) -+{ -+ uint64_t expected = key < 256 && key % 10 == 0 ? key + 42 : -1ULL; -+ assert_equals("iterate_fn", expected, value); -+ -+ int *count = (int *) data; -+ if (value != -1ULL) -+ (*count)++; -+} -+ -+static void -+test_trie_iterate_fn(void) -+{ -+ struct trie *t = trie_create(8, 6, 3, 3, -1); -+ for (int i = 0; i < 26; i++) -+ trie_set(t, i * 10, i * 10 + 42); -+ -+ static const struct { -+ uint64_t start; -+ uint64_t end; -+ int expected_count; -+ } iterate_params[] = { -+ {0, 256, 26}, -+ {0, UINT64_MAX, 26}, -+ {20, 90, 8}, -+ {99, 999, 16}, -+ {10000, 100000, 0}, -+ {200, 100, 0}, -+ }; -+ -+ for (size_t i = 0; i < ARRAY_SIZE(iterate_params); i++) { -+ int count = 0; -+ trie_iterate_keys(t, iterate_params[i].start, iterate_params[i].end, iterate_fn, &count); -+ assert_equals("iteration count", iterate_params[i].expected_count, count); -+ } -+} -+ -+struct key_value_pair { -+ uint64_t key, value; -+}; -+ -+static void -+test_trie_get(void) -+{ -+ static const struct { -+ uint8_t key_size; -+ uint8_t item_size_lg; -+ uint8_t node_key_bits; -+ uint8_t data_block_key_bits; -+ uint64_t empty_value; -+ -+ struct key_value_pair set_values[3], get_values[3]; -+ } params[] = { -+ {64, 6, 10, 10, 0, -+ {{300, 1}, {0xfacefeed, 0xabcdef123456}, {-1ULL, -1ULL}}, -+ {{301, 0}, {0xfacefeed, 0xabcdef123456}, {-1ULL, -1ULL}}}, -+ {8, 2, 4, 4, 10, -+ {{0xab, 0xcd}, {0xface, 2}, {0, 3}}, -+ {{0xab, 0xd}, {0xface, 10}, {0, 3}}}, -+ {30, 0, 6, 3, -1, -+ {{0xaaaa, 127}, {0xface, 0}, {0, 0}}, -+ {{0xaaaa, 1}, {0xface, 0}, {1, 1}}}, -+ {16, 4, 5, 11, 0xffffff, -+ {{0xabcdef, 42}, {0xabcd, 42}, {0xffff, 0}}, -+ {{0xabcdef, 0xffff}, {0xabcd, 42}, {0xffff, 0}}}, -+ {41, 5, 1, 1, -1, -+ {{0xabcdef01, 0x22222222}, {-1, 0x33333333}, {10, 10}}, -+ {{0xabcdef01, 0x22222222}, {-1, 0xffffffff}, {10, 10}}}, -+ }; -+ -+ for (size_t i = 0; i < ARRAY_SIZE(params); i++) { -+ struct trie *t = trie_create(params[i].key_size, -+ params[i].item_size_lg, -+ params[i].node_key_bits, -+ params[i].data_block_key_bits, -+ params[i].empty_value); -+ -+ if (!t) -+ error_msg_and_fail("trie creation failed"); -+ -+ for (size_t j = 0; j < ARRAY_SIZE(params[i].set_values); j++) { -+ struct key_value_pair kv = params[i].set_values[j]; -+ trie_set(t, kv.key, kv.value); -+ } -+ for (size_t j = 0; j < ARRAY_SIZE(params[i].get_values); j++) { -+ struct key_value_pair kv = params[i].get_values[j]; -+ assert_equals("trie_get", kv.value, trie_get(t, kv.key)); -+ } -+ -+ trie_free(t); -+ } -+} -+ -+int -+main(void) -+{ -+ test_trie_get(); -+ test_trie_iterate_fn(); -+ return 0; -+} -Index: strace-5.7/tests-mx32/xet_robust_list--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/xet_robust_list--pidns-translation.c 2020-09-09 19:52:38.916673642 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "xet_robust_list.c" -Index: strace-5.7/tests-mx32/xet_robust_list.c -=================================================================== ---- strace-5.7.orig/tests-mx32/xet_robust_list.c 2020-09-09 19:52:30.637668707 +0200 -+++ strace-5.7/tests-mx32/xet_robust_list.c 2020-09-09 19:52:38.917673643 +0200 -@@ -8,6 +8,7 @@ - - #include "tests.h" - #include "scno.h" -+#include "pidns.h" - - #if defined __NR_get_robust_list && defined __NR_set_robust_list - -@@ -30,27 +31,36 @@ - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - const pid_t pid = getpid(); -+ const char *pid_str = pidns_pid2str(PT_TGID); - const long long_pid = (unsigned long) (0xdeadbeef00000000LL | pid); - TAIL_ALLOC_OBJECT_CONST_PTR(void *, p_head); - TAIL_ALLOC_OBJECT_CONST_PTR(size_t, p_len); - - if (syscall(__NR_get_robust_list, long_pid, p_head, p_len)) - perror_msg_and_skip("get_robust_list"); -- printf("get_robust_list(%d, [%s], [%lu]) = 0\n", -- (int) pid, sprintaddr(*p_head), (unsigned long) *p_len); -+ pidns_print_leader(); -+ printf("get_robust_list(%d%s, [%s], [%lu]) = 0\n", -+ pid, pid_str, sprintaddr(*p_head), -+ (unsigned long) *p_len); - - void *head = tail_alloc(*p_len); - if (syscall(__NR_set_robust_list, head, *p_len)) - perror_msg_and_skip("set_robust_list"); -+ pidns_print_leader(); - printf("set_robust_list(%p, %lu) = 0\n", - head, (unsigned long) *p_len); - - if (syscall(__NR_get_robust_list, long_pid, p_head, p_len)) - perror_msg_and_skip("get_robust_list"); -- printf("get_robust_list(%d, [%s], [%lu]) = 0\n", -- (int) pid, sprintaddr(*p_head), (unsigned long) *p_len); -+ pidns_print_leader(); -+ printf("get_robust_list(%d%s, [%s], [%lu]) = 0\n", -+ pid, pid_str, sprintaddr(*p_head), -+ (unsigned long) *p_len); - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-mx32/xetpgid--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/xetpgid--pidns-translation.c 2020-09-09 19:52:38.917673643 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "xetpgid.c" -Index: strace-5.7/tests-mx32/xetpgid.c -=================================================================== ---- strace-5.7.orig/tests-mx32/xetpgid.c 2020-09-09 19:52:30.637668707 +0200 -+++ strace-5.7/tests-mx32/xetpgid.c 2020-09-09 19:52:38.917673643 +0200 -@@ -10,6 +10,7 @@ - - #include "tests.h" - #include "scno.h" -+#include "pidns.h" - - #if defined __NR_getpgid && defined __NR_setpgid - -@@ -19,13 +20,21 @@ - int - main(void) - { -- const int pid = getpid(); -- long rc = syscall(__NR_getpgid, F8ILL_KULONG_MASK | pid); -- printf("getpgid(%d) = %ld\n", pid, rc); -+ PIDNS_TEST_INIT; - -- rc = syscall(__NR_setpgid, F8ILL_KULONG_MASK, F8ILL_KULONG_MASK | pid); -- printf("setpgid(0, %d) = %ld\n", pid, rc); -+ const int pid = getpid(); -+ long pgid = syscall(__NR_getpgid, F8ILL_KULONG_MASK | pid); -+ pidns_print_leader(); -+ printf("getpgid(%d%s) = %ld%s\n", pid, pidns_pid2str(PT_TGID), -+ pgid, pidns_pid2str(PT_PGID)); -+ -+ long rc = syscall(__NR_setpgid, F8ILL_KULONG_MASK, -+ F8ILL_KULONG_MASK | pgid); -+ pidns_print_leader(); -+ printf("setpgid(0, %ld%s) = %s\n", pgid, pidns_pid2str(PT_PGID), -+ sprintrc(rc)); - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-mx32/xetpriority--pidns-translation.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/xetpriority--pidns-translation.c 2020-09-09 19:52:38.917673643 +0200 -@@ -0,0 +1,2 @@ -+#define PIDNS_TRANSLATION -+#include "xetpriority.c" -Index: strace-5.7/tests-mx32/xetpriority.c -=================================================================== ---- strace-5.7.orig/tests-mx32/xetpriority.c 2020-09-09 19:52:30.638668708 +0200 -+++ strace-5.7/tests-mx32/xetpriority.c 2020-09-09 19:52:38.917673643 +0200 -@@ -7,6 +7,7 @@ - - #include "tests.h" - #include "scno.h" -+#include "pidns.h" - - #if defined __NR_getpriority && defined __NR_setpriority - -@@ -17,15 +18,30 @@ - int - main(void) - { -+ PIDNS_TEST_INIT; -+ - const int pid = getpid(); -+ const int pgid = getpgid(0); -+ - long rc = syscall(__NR_getpriority, PRIO_PROCESS, - F8ILL_KULONG_MASK | pid); -- printf("getpriority(PRIO_PROCESS, %d) = %ld\n", pid, rc); -+ pidns_print_leader(); -+ printf("getpriority(PRIO_PROCESS, %d%s) = %ld\n", -+ pid, pidns_pid2str(PT_TGID), rc); - - rc = syscall(__NR_setpriority, PRIO_PROCESS, - F8ILL_KULONG_MASK | pid, F8ILL_KULONG_MASK); -- printf("setpriority(PRIO_PROCESS, %d, 0) = %s\n", pid, sprintrc(rc)); -+ pidns_print_leader(); -+ printf("setpriority(PRIO_PROCESS, %d%s, 0) = %s\n", -+ pid, pidns_pid2str(PT_TGID), sprintrc(rc)); -+ -+ rc = syscall(__NR_getpriority, PRIO_PGRP, -+ F8ILL_KULONG_MASK | pgid); -+ pidns_print_leader(); -+ printf("getpriority(PRIO_PGRP, %d%s) = %ld\n", -+ pgid, pidns_pid2str(PT_PGID), rc); - -+ pidns_print_leader(); - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-mx32/xmalloc_for_tests.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/xmalloc_for_tests.c 2020-09-09 19:52:38.917673643 +0200 -@@ -0,0 +1,2 @@ -+#define error_msg_and_die error_msg_and_fail -+#include "xmalloc.c" -Index: strace-5.7/Makefile.in -=================================================================== ---- strace-5.7.orig/Makefile.in 2020-09-09 19:52:30.641668710 +0200 -+++ strace-5.7/Makefile.in 2020-09-09 19:52:38.920673644 +0200 -@@ -1870,7 +1870,7 @@ - CODE_COVERAGE_GENHTML_OPTIONS = $(CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT) \ - --prefix $(shell cd $(abs_top_srcdir)/.. && pwd || echo .) - --CODE_COVERAGE_IGNORE_PATTERN = '/usr/include/*' -+CODE_COVERAGE_IGNORE_PATTERN = '/usr/include/*' '*/tests/*' '*/tests-m32/*' '*/tests-mx32/*' - - # Enable this to get link map generated - #strace_LDFLAGS += -Wl,-Map=strace.mapfile -Index: strace-5.7/tests/Makefile.in -=================================================================== ---- strace-5.7.orig/tests/Makefile.in 2020-09-09 19:52:30.693668741 +0200 -+++ strace-5.7/tests/Makefile.in 2020-09-09 20:23:40.076946659 +0200 -@@ -121,10 +121,17 @@ - clone3-success-Xabbrev$(EXEEXT) clone3-success-Xraw$(EXEEXT) \ - clone3-success-Xverbose$(EXEEXT) count-f$(EXEEXT) \ - delay$(EXEEXT) execve-v$(EXEEXT) execveat-v$(EXEEXT) \ -+ fcntl--pidns-translation$(EXEEXT) \ -+ fcntl64--pidns-translation$(EXEEXT) \ - filter_seccomp-flag$(EXEEXT) filter_seccomp-perf$(EXEEXT) \ -- filter-unavailable$(EXEEXT) fork-f$(EXEEXT) fsync-y$(EXEEXT) \ -- get_process_reaper$(EXEEXT) getpid$(EXEEXT) getppid$(EXEEXT) \ -- gettid$(EXEEXT) inject-nf$(EXEEXT) int_0x80$(EXEEXT) \ -+ filter-unavailable$(EXEEXT) fork-f$(EXEEXT) \ -+ fork--pidns-translation$(EXEEXT) fsync-y$(EXEEXT) \ -+ get_process_reaper$(EXEEXT) \ -+ getpgrp--pidns-translation$(EXEEXT) getpid$(EXEEXT) \ -+ getpid--pidns-translation$(EXEEXT) getppid$(EXEEXT) \ -+ getsid--pidns-translation$(EXEEXT) gettid$(EXEEXT) \ -+ gettid--pidns-translation$(EXEEXT) inject-nf$(EXEEXT) \ -+ int_0x80$(EXEEXT) ioctl_block--pidns-translation$(EXEEXT) \ - ioctl_dm-v$(EXEEXT) ioctl_evdev-success$(EXEEXT) \ - ioctl_evdev-success-Xabbrev$(EXEEXT) \ - ioctl_evdev-success-Xraw$(EXEEXT) \ -@@ -151,43 +158,68 @@ - ioctl_v4l2-success-v-Xabbrev$(EXEEXT) \ - ioctl_v4l2-success-v-Xraw$(EXEEXT) \ - ioctl_v4l2-success-v-Xverbose$(EXEEXT) \ -- is_linux_mips_n64$(EXEEXT) kill_child$(EXEEXT) \ -- ksysent$(EXEEXT) list_sigaction_signum$(EXEEXT) \ -- localtime$(EXEEXT) looping_threads$(EXEEXT) \ -- mmsg-silent$(EXEEXT) mmsg_name-v$(EXEEXT) \ -+ ioprio--pidns-translation$(EXEEXT) is_linux_mips_n64$(EXEEXT) \ -+ kcmp-y--pidns-translation$(EXEEXT) kill_child$(EXEEXT) \ -+ kill--pidns-translation$(EXEEXT) ksysent$(EXEEXT) \ -+ list_sigaction_signum$(EXEEXT) localtime$(EXEEXT) \ -+ looping_threads$(EXEEXT) \ -+ migrate_pages--pidns-translation$(EXEEXT) mmsg-silent$(EXEEXT) \ -+ mmsg_name-v$(EXEEXT) move_pages--pidns-translation$(EXEEXT) \ - msg_control-v$(EXEEXT) net-accept-connect$(EXEEXT) \ -+ net-sockaddr--pidns-translation$(EXEEXT) \ - net-tpacket_stats-success$(EXEEXT) nlattr_ifla_xdp-y$(EXEEXT) \ -+ netlink_audit--pidns-translation$(EXEEXT) \ - netlink_inet_diag$(EXEEXT) netlink_netlink_diag$(EXEEXT) \ - netlink_unix_diag$(EXEEXT) nsyscalls$(EXEEXT) \ - nsyscalls-d$(EXEEXT) oldselect-P$(EXEEXT) \ - oldselect-efault-P$(EXEEXT) orphaned_process_group$(EXEEXT) \ - pc$(EXEEXT) perf_event_open_nonverbose$(EXEEXT) \ -- perf_event_open_unabbrev$(EXEEXT) poll-P$(EXEEXT) \ -- ppoll-P$(EXEEXT) ppoll-v$(EXEEXT) \ -+ perf_event_open_unabbrev$(EXEEXT) \ -+ pidfd_open--pidns-translation$(EXEEXT) \ -+ pidfd_send_signal--pidns-translation$(EXEEXT) \ -+ pidns-cache$(EXEEXT) poll-P$(EXEEXT) ppoll-P$(EXEEXT) \ -+ ppoll-v$(EXEEXT) prlimit64--pidns-translation$(EXEEXT) \ - prctl-seccomp-filter-v$(EXEEXT) prctl-seccomp-strict$(EXEEXT) \ - prctl-spec-inject$(EXEEXT) print_maxfd$(EXEEXT) \ -- print_ppid_tracerpid$(EXEEXT) qual_fault$(EXEEXT) \ -- qual_inject-error-signal$(EXEEXT) qual_inject-retval$(EXEEXT) \ -- qual_inject-signal$(EXEEXT) qual_signal$(EXEEXT) \ -- quotactl-success$(EXEEXT) quotactl-success-v$(EXEEXT) \ -- quotactl-v$(EXEEXT) quotactl-xfs-success$(EXEEXT) \ -- quotactl-xfs-success-v$(EXEEXT) quotactl-xfs-v$(EXEEXT) \ -- redirect-fds$(EXEEXT) restart_syscall$(EXEEXT) \ -- run_expect_termsig$(EXEEXT) scm_rights$(EXEEXT) \ -- seccomp-filter-v$(EXEEXT) seccomp-strict$(EXEEXT) \ -- select-P$(EXEEXT) set_ptracer_any$(EXEEXT) \ -- set_sigblock$(EXEEXT) set_sigign$(EXEEXT) \ -- setpgrp-exec$(EXEEXT) signal_receive$(EXEEXT) sleep$(EXEEXT) \ -+ print_ppid_tracerpid$(EXEEXT) \ -+ process_vm_readv--pidns-translation$(EXEEXT) \ -+ process_vm_writev--pidns-translation$(EXEEXT) \ -+ qual_fault$(EXEEXT) qual_inject-error-signal$(EXEEXT) \ -+ qual_inject-retval$(EXEEXT) qual_inject-signal$(EXEEXT) \ -+ qual_signal$(EXEEXT) quotactl-success$(EXEEXT) \ -+ quotactl-success-v$(EXEEXT) quotactl-v$(EXEEXT) \ -+ quotactl-xfs-success$(EXEEXT) quotactl-xfs-success-v$(EXEEXT) \ -+ quotactl-xfs-v$(EXEEXT) redirect-fds$(EXEEXT) \ -+ restart_syscall$(EXEEXT) \ -+ rt_sigqueueinfo--pidns-translation$(EXEEXT) \ -+ rt_tgsigqueueinfo--pidns-translation$(EXEEXT) \ -+ run_expect_termsig$(EXEEXT) \ -+ sched_xetaffinity--pidns-translation$(EXEEXT) \ -+ sched_xetattr--pidns-translation$(EXEEXT) \ -+ sched_xetparam--pidns-translation$(EXEEXT) \ -+ sched_xetscheduler--pidns-translation$(EXEEXT) \ -+ scm_rights$(EXEEXT) seccomp-filter-v$(EXEEXT) \ -+ seccomp-strict$(EXEEXT) select-P$(EXEEXT) \ -+ set_ptracer_any$(EXEEXT) set_sigblock$(EXEEXT) \ -+ set_sigign$(EXEEXT) setpgrp-exec$(EXEEXT) \ -+ signal_receive$(EXEEXT) \ -+ signal_receive--pidns-translation$(EXEEXT) sleep$(EXEEXT) \ - stack-fcall$(EXEEXT) stack-fcall-attach$(EXEEXT) \ - stack-fcall-mangled$(EXEEXT) status-none-threads$(EXEEXT) \ -- status-unfinished-threads$(EXEEXT) syslog-success$(EXEEXT) \ -+ status-unfinished-threads$(EXEEXT) \ -+ so_peercred--pidns-translation$(EXEEXT) \ -+ syslog-success$(EXEEXT) tgkill--pidns-translation$(EXEEXT) \ - threads-execve$(EXEEXT) \ - threads-execve--quiet-thread-execve$(EXEEXT) \ - threads-execve-q$(EXEEXT) threads-execve-qq$(EXEEXT) \ -- threads-execve-qqq$(EXEEXT) tracer_ppid_pgid_sid$(EXEEXT) \ -+ threads-execve-qqq$(EXEEXT) tkill--pidns-translation$(EXEEXT) \ -+ tracer_ppid_pgid_sid$(EXEEXT) trie_test$(EXEEXT) \ - unblock_reset_raise$(EXEEXT) unix-pair-send-recv$(EXEEXT) \ - unix-pair-sendto-recvfrom$(EXEEXT) vfork-f$(EXEEXT) \ -- wait4-v$(EXEEXT) waitid-v$(EXEEXT) zeroargc$(EXEEXT) -+ wait4-v$(EXEEXT) waitid-v$(EXEEXT) \ -+ xetpgid--pidns-translation$(EXEEXT) \ -+ xetpriority--pidns-translation$(EXEEXT) \ -+ xet_robust_list--pidns-translation$(EXEEXT) zeroargc$(EXEEXT) - @ENABLE_STACKTRACE_TRUE@@USE_DEMANGLE_TRUE@am__append_1 = strace-k-demangle.test - TESTS = $(GEN_TESTS) $(DECODER_TESTS) $(MISC_TESTS) $(am__EXEEXT_2) - subdir = tests -@@ -545,7 +577,8 @@ - libtests_a-tail_alloc.$(OBJEXT) \ - libtests_a-test_printpath.$(OBJEXT) \ - libtests_a-test_printstrn.$(OBJEXT) \ -- libtests_a-test_ucopy.$(OBJEXT) libtests_a-tprintf.$(OBJEXT) -+ libtests_a-test_ucopy.$(OBJEXT) libtests_a-tprintf.$(OBJEXT) \ -+ libtests_a-xmalloc_for_tests.$(OBJEXT) - libtests_a_OBJECTS = $(am_libtests_a_OBJECTS) - _newselect_SOURCES = _newselect.c - _newselect_OBJECTS = _newselect.$(OBJEXT) -@@ -973,10 +1006,19 @@ - fcntl_OBJECTS = fcntl.$(OBJEXT) - fcntl_LDADD = $(LDADD) - fcntl_DEPENDENCIES = libtests.a -+fcntl__pidns_translation_SOURCES = fcntl--pidns-translation.c -+fcntl__pidns_translation_OBJECTS = fcntl--pidns-translation.$(OBJEXT) -+fcntl__pidns_translation_LDADD = $(LDADD) -+fcntl__pidns_translation_DEPENDENCIES = libtests.a - fcntl64_SOURCES = fcntl64.c - fcntl64_OBJECTS = fcntl64.$(OBJEXT) - fcntl64_LDADD = $(LDADD) - fcntl64_DEPENDENCIES = libtests.a -+fcntl64__pidns_translation_SOURCES = fcntl64--pidns-translation.c -+fcntl64__pidns_translation_OBJECTS = \ -+ fcntl64--pidns-translation.$(OBJEXT) -+fcntl64__pidns_translation_LDADD = $(LDADD) -+fcntl64__pidns_translation_DEPENDENCIES = libtests.a - fdatasync_SOURCES = fdatasync.c - fdatasync_OBJECTS = fdatasync.$(OBJEXT) - fdatasync_LDADD = $(LDADD) -@@ -1012,6 +1054,10 @@ - flock_OBJECTS = flock.$(OBJEXT) - flock_LDADD = $(LDADD) - flock_DEPENDENCIES = libtests.a -+fork__pidns_translation_SOURCES = fork--pidns-translation.c -+fork__pidns_translation_OBJECTS = fork--pidns-translation.$(OBJEXT) -+fork__pidns_translation_LDADD = $(LDADD) -+fork__pidns_translation_DEPENDENCIES = libtests.a - fork_f_SOURCES = fork-f.c - fork_f_OBJECTS = fork-f.$(OBJEXT) - fork_f_LDADD = $(LDADD) -@@ -1180,10 +1226,20 @@ - getpgrp_OBJECTS = getpgrp.$(OBJEXT) - getpgrp_LDADD = $(LDADD) - getpgrp_DEPENDENCIES = libtests.a -+getpgrp__pidns_translation_SOURCES = getpgrp--pidns-translation.c -+getpgrp__pidns_translation_OBJECTS = \ -+ getpgrp--pidns-translation.$(OBJEXT) -+getpgrp__pidns_translation_LDADD = $(LDADD) -+getpgrp__pidns_translation_DEPENDENCIES = libtests.a - getpid_SOURCES = getpid.c - getpid_OBJECTS = getpid.$(OBJEXT) - getpid_LDADD = $(LDADD) - getpid_DEPENDENCIES = libtests.a -+getpid__pidns_translation_SOURCES = getpid--pidns-translation.c -+getpid__pidns_translation_OBJECTS = \ -+ getpid--pidns-translation.$(OBJEXT) -+getpid__pidns_translation_LDADD = $(LDADD) -+getpid__pidns_translation_DEPENDENCIES = libtests.a - getppid_SOURCES = getppid.c - getppid_OBJECTS = getppid.$(OBJEXT) - getppid_LDADD = $(LDADD) -@@ -1220,6 +1276,11 @@ - getsid_OBJECTS = getsid.$(OBJEXT) - getsid_LDADD = $(LDADD) - getsid_DEPENDENCIES = libtests.a -+getsid__pidns_translation_SOURCES = getsid--pidns-translation.c -+getsid__pidns_translation_OBJECTS = \ -+ getsid--pidns-translation.$(OBJEXT) -+getsid__pidns_translation_LDADD = $(LDADD) -+getsid__pidns_translation_DEPENDENCIES = libtests.a - getsockname_SOURCES = getsockname.c - getsockname_OBJECTS = getsockname.$(OBJEXT) - getsockname_LDADD = $(LDADD) -@@ -1228,6 +1289,11 @@ - gettid_OBJECTS = gettid.$(OBJEXT) - gettid_LDADD = $(LDADD) - gettid_DEPENDENCIES = libtests.a -+gettid__pidns_translation_SOURCES = gettid--pidns-translation.c -+gettid__pidns_translation_OBJECTS = \ -+ gettid--pidns-translation.$(OBJEXT) -+gettid__pidns_translation_LDADD = $(LDADD) -+gettid__pidns_translation_DEPENDENCIES = libtests.a - getuid_SOURCES = getuid.c - getuid_OBJECTS = getuid.$(OBJEXT) - getuid_LDADD = $(LDADD) -@@ -1308,6 +1374,12 @@ - ioctl_block_OBJECTS = ioctl_block.$(OBJEXT) - ioctl_block_LDADD = $(LDADD) - ioctl_block_DEPENDENCIES = libtests.a -+ioctl_block__pidns_translation_SOURCES = \ -+ ioctl_block--pidns-translation.c -+ioctl_block__pidns_translation_OBJECTS = \ -+ ioctl_block--pidns-translation.$(OBJEXT) -+ioctl_block__pidns_translation_LDADD = $(LDADD) -+ioctl_block__pidns_translation_DEPENDENCIES = libtests.a - ioctl_dm_SOURCES = ioctl_dm.c - ioctl_dm_OBJECTS = ioctl_dm.$(OBJEXT) - ioctl_dm_LDADD = $(LDADD) -@@ -1628,6 +1700,11 @@ - ioprio_OBJECTS = ioprio.$(OBJEXT) - ioprio_LDADD = $(LDADD) - ioprio_DEPENDENCIES = libtests.a -+ioprio__pidns_translation_SOURCES = ioprio--pidns-translation.c -+ioprio__pidns_translation_OBJECTS = \ -+ ioprio--pidns-translation.$(OBJEXT) -+ioprio__pidns_translation_LDADD = $(LDADD) -+ioprio__pidns_translation_DEPENDENCIES = libtests.a - ioprio_Xabbrev_SOURCES = ioprio-Xabbrev.c - ioprio_Xabbrev_OBJECTS = ioprio-Xabbrev.$(OBJEXT) - ioprio_Xabbrev_LDADD = $(LDADD) -@@ -1724,6 +1801,11 @@ - kcmp_y_OBJECTS = kcmp-y.$(OBJEXT) - kcmp_y_LDADD = $(LDADD) - kcmp_y_DEPENDENCIES = libtests.a -+kcmp_y__pidns_translation_SOURCES = kcmp-y--pidns-translation.c -+kcmp_y__pidns_translation_OBJECTS = \ -+ kcmp-y--pidns-translation.$(OBJEXT) -+kcmp_y__pidns_translation_LDADD = $(LDADD) -+kcmp_y__pidns_translation_DEPENDENCIES = libtests.a - kern_features_SOURCES = kern_features.c - kern_features_OBJECTS = kern_features.$(OBJEXT) - kern_features_LDADD = $(LDADD) -@@ -1772,6 +1854,10 @@ - kill_OBJECTS = kill.$(OBJEXT) - kill_LDADD = $(LDADD) - kill_DEPENDENCIES = libtests.a -+kill__pidns_translation_SOURCES = kill--pidns-translation.c -+kill__pidns_translation_OBJECTS = kill--pidns-translation.$(OBJEXT) -+kill__pidns_translation_LDADD = $(LDADD) -+kill__pidns_translation_DEPENDENCIES = libtests.a - kill_child_SOURCES = kill_child.c - kill_child_OBJECTS = kill_child.$(OBJEXT) - kill_child_LDADD = $(LDADD) -@@ -1878,6 +1964,12 @@ - migrate_pages_OBJECTS = migrate_pages.$(OBJEXT) - migrate_pages_LDADD = $(LDADD) - migrate_pages_DEPENDENCIES = libtests.a -+migrate_pages__pidns_translation_SOURCES = \ -+ migrate_pages--pidns-translation.c -+migrate_pages__pidns_translation_OBJECTS = \ -+ migrate_pages--pidns-translation.$(OBJEXT) -+migrate_pages__pidns_translation_LDADD = $(LDADD) -+migrate_pages__pidns_translation_DEPENDENCIES = libtests.a - mincore_SOURCES = mincore.c - mincore_OBJECTS = mincore.$(OBJEXT) - mincore_LDADD = $(LDADD) -@@ -1990,6 +2082,12 @@ - move_pages_OBJECTS = move_pages.$(OBJEXT) - move_pages_LDADD = $(LDADD) - move_pages_DEPENDENCIES = libtests.a -+move_pages__pidns_translation_SOURCES = \ -+ move_pages--pidns-translation.c -+move_pages__pidns_translation_OBJECTS = \ -+ move_pages--pidns-translation.$(OBJEXT) -+move_pages__pidns_translation_LDADD = $(LDADD) -+move_pages__pidns_translation_DEPENDENCIES = libtests.a - move_pages_Xabbrev_SOURCES = move_pages-Xabbrev.c - move_pages_Xabbrev_OBJECTS = move_pages-Xabbrev.$(OBJEXT) - move_pages_Xabbrev_LDADD = $(LDADD) -@@ -2086,6 +2184,12 @@ - net_sockaddr_OBJECTS = net-sockaddr.$(OBJEXT) - net_sockaddr_LDADD = $(LDADD) - net_sockaddr_DEPENDENCIES = libtests.a -+net_sockaddr__pidns_translation_SOURCES = \ -+ net-sockaddr--pidns-translation.c -+net_sockaddr__pidns_translation_OBJECTS = \ -+ net-sockaddr--pidns-translation.$(OBJEXT) -+net_sockaddr__pidns_translation_LDADD = $(LDADD) -+net_sockaddr__pidns_translation_DEPENDENCIES = libtests.a - net_tpacket_req_SOURCES = net-tpacket_req.c - net_tpacket_req_OBJECTS = net-tpacket_req.$(OBJEXT) - net_tpacket_req_LDADD = $(LDADD) -@@ -2123,6 +2227,12 @@ - netlink_audit_OBJECTS = netlink_audit.$(OBJEXT) - netlink_audit_LDADD = $(LDADD) - netlink_audit_DEPENDENCIES = libtests.a -+netlink_audit__pidns_translation_SOURCES = \ -+ netlink_audit--pidns-translation.c -+netlink_audit__pidns_translation_OBJECTS = \ -+ netlink_audit--pidns-translation.$(OBJEXT) -+netlink_audit__pidns_translation_LDADD = $(LDADD) -+netlink_audit__pidns_translation_DEPENDENCIES = libtests.a - netlink_crypto_SOURCES = netlink_crypto.c - netlink_crypto_OBJECTS = netlink_crypto.$(OBJEXT) - netlink_crypto_LDADD = $(LDADD) -@@ -2543,6 +2653,12 @@ - pidfd_open--decode-fd-socket.$(OBJEXT) - pidfd_open__decode_fd_socket_LDADD = $(LDADD) - pidfd_open__decode_fd_socket_DEPENDENCIES = libtests.a -+pidfd_open__pidns_translation_SOURCES = \ -+ pidfd_open--pidns-translation.c -+pidfd_open__pidns_translation_OBJECTS = \ -+ pidfd_open--pidns-translation.$(OBJEXT) -+pidfd_open__pidns_translation_LDADD = $(LDADD) -+pidfd_open__pidns_translation_DEPENDENCIES = libtests.a - pidfd_open_P_SOURCES = pidfd_open-P.c - pidfd_open_P_OBJECTS = pidfd_open-P.$(OBJEXT) - pidfd_open_P_LDADD = $(LDADD) -@@ -2559,6 +2675,16 @@ - pidfd_send_signal_OBJECTS = pidfd_send_signal.$(OBJEXT) - pidfd_send_signal_LDADD = $(LDADD) - pidfd_send_signal_DEPENDENCIES = libtests.a -+pidfd_send_signal__pidns_translation_SOURCES = \ -+ pidfd_send_signal--pidns-translation.c -+pidfd_send_signal__pidns_translation_OBJECTS = \ -+ pidfd_send_signal--pidns-translation.$(OBJEXT) -+pidfd_send_signal__pidns_translation_LDADD = $(LDADD) -+pidfd_send_signal__pidns_translation_DEPENDENCIES = libtests.a -+pidns_cache_SOURCES = pidns-cache.c -+pidns_cache_OBJECTS = pidns-cache.$(OBJEXT) -+pidns_cache_LDADD = $(LDADD) -+pidns_cache_DEPENDENCIES = libtests.a - pipe_SOURCES = pipe.c - pipe_OBJECTS = pipe.$(OBJEXT) - pipe_LDADD = $(LDADD) -@@ -2717,14 +2843,31 @@ - prlimit64_OBJECTS = prlimit64.$(OBJEXT) - prlimit64_LDADD = $(LDADD) - prlimit64_DEPENDENCIES = libtests.a -+prlimit64__pidns_translation_SOURCES = prlimit64--pidns-translation.c -+prlimit64__pidns_translation_OBJECTS = \ -+ prlimit64--pidns-translation.$(OBJEXT) -+prlimit64__pidns_translation_LDADD = $(LDADD) -+prlimit64__pidns_translation_DEPENDENCIES = libtests.a - process_vm_readv_SOURCES = process_vm_readv.c - process_vm_readv_OBJECTS = process_vm_readv.$(OBJEXT) - process_vm_readv_LDADD = $(LDADD) - process_vm_readv_DEPENDENCIES = libtests.a -+process_vm_readv__pidns_translation_SOURCES = \ -+ process_vm_readv--pidns-translation.c -+process_vm_readv__pidns_translation_OBJECTS = \ -+ process_vm_readv--pidns-translation.$(OBJEXT) -+process_vm_readv__pidns_translation_LDADD = $(LDADD) -+process_vm_readv__pidns_translation_DEPENDENCIES = libtests.a - process_vm_writev_SOURCES = process_vm_writev.c - process_vm_writev_OBJECTS = process_vm_writev.$(OBJEXT) - process_vm_writev_LDADD = $(LDADD) - process_vm_writev_DEPENDENCIES = libtests.a -+process_vm_writev__pidns_translation_SOURCES = \ -+ process_vm_writev--pidns-translation.c -+process_vm_writev__pidns_translation_OBJECTS = \ -+ process_vm_writev--pidns-translation.$(OBJEXT) -+process_vm_writev__pidns_translation_LDADD = $(LDADD) -+process_vm_writev__pidns_translation_DEPENDENCIES = libtests.a - pselect6_SOURCES = pselect6.c - pselect6_OBJECTS = pselect6.$(OBJEXT) - pselect6_LDADD = $(LDADD) -@@ -2918,6 +3061,12 @@ - rt_sigqueueinfo_OBJECTS = rt_sigqueueinfo.$(OBJEXT) - rt_sigqueueinfo_LDADD = $(LDADD) - rt_sigqueueinfo_DEPENDENCIES = libtests.a -+rt_sigqueueinfo__pidns_translation_SOURCES = \ -+ rt_sigqueueinfo--pidns-translation.c -+rt_sigqueueinfo__pidns_translation_OBJECTS = \ -+ rt_sigqueueinfo--pidns-translation.$(OBJEXT) -+rt_sigqueueinfo__pidns_translation_LDADD = $(LDADD) -+rt_sigqueueinfo__pidns_translation_DEPENDENCIES = libtests.a - rt_sigreturn_SOURCES = rt_sigreturn.c - rt_sigreturn_OBJECTS = rt_sigreturn.$(OBJEXT) - rt_sigreturn_LDADD = $(LDADD) -@@ -2934,6 +3083,12 @@ - rt_tgsigqueueinfo_OBJECTS = rt_tgsigqueueinfo.$(OBJEXT) - rt_tgsigqueueinfo_LDADD = $(LDADD) - rt_tgsigqueueinfo_DEPENDENCIES = libtests.a -+rt_tgsigqueueinfo__pidns_translation_SOURCES = \ -+ rt_tgsigqueueinfo--pidns-translation.c -+rt_tgsigqueueinfo__pidns_translation_OBJECTS = \ -+ rt_tgsigqueueinfo--pidns-translation.$(OBJEXT) -+rt_tgsigqueueinfo__pidns_translation_LDADD = $(LDADD) -+rt_tgsigqueueinfo__pidns_translation_DEPENDENCIES = libtests.a - run_expect_termsig_SOURCES = run_expect_termsig.c - run_expect_termsig_OBJECTS = run_expect_termsig.$(OBJEXT) - run_expect_termsig_LDADD = $(LDADD) -@@ -2974,18 +3129,42 @@ - sched_xetaffinity_OBJECTS = sched_xetaffinity.$(OBJEXT) - sched_xetaffinity_LDADD = $(LDADD) - sched_xetaffinity_DEPENDENCIES = libtests.a -+sched_xetaffinity__pidns_translation_SOURCES = \ -+ sched_xetaffinity--pidns-translation.c -+sched_xetaffinity__pidns_translation_OBJECTS = \ -+ sched_xetaffinity--pidns-translation.$(OBJEXT) -+sched_xetaffinity__pidns_translation_LDADD = $(LDADD) -+sched_xetaffinity__pidns_translation_DEPENDENCIES = libtests.a - sched_xetattr_SOURCES = sched_xetattr.c - sched_xetattr_OBJECTS = sched_xetattr.$(OBJEXT) - sched_xetattr_LDADD = $(LDADD) - sched_xetattr_DEPENDENCIES = libtests.a -+sched_xetattr__pidns_translation_SOURCES = \ -+ sched_xetattr--pidns-translation.c -+sched_xetattr__pidns_translation_OBJECTS = \ -+ sched_xetattr--pidns-translation.$(OBJEXT) -+sched_xetattr__pidns_translation_LDADD = $(LDADD) -+sched_xetattr__pidns_translation_DEPENDENCIES = libtests.a - sched_xetparam_SOURCES = sched_xetparam.c - sched_xetparam_OBJECTS = sched_xetparam.$(OBJEXT) - sched_xetparam_LDADD = $(LDADD) - sched_xetparam_DEPENDENCIES = libtests.a -+sched_xetparam__pidns_translation_SOURCES = \ -+ sched_xetparam--pidns-translation.c -+sched_xetparam__pidns_translation_OBJECTS = \ -+ sched_xetparam--pidns-translation.$(OBJEXT) -+sched_xetparam__pidns_translation_LDADD = $(LDADD) -+sched_xetparam__pidns_translation_DEPENDENCIES = libtests.a - sched_xetscheduler_SOURCES = sched_xetscheduler.c - sched_xetscheduler_OBJECTS = sched_xetscheduler.$(OBJEXT) - sched_xetscheduler_LDADD = $(LDADD) - sched_xetscheduler_DEPENDENCIES = libtests.a -+sched_xetscheduler__pidns_translation_SOURCES = \ -+ sched_xetscheduler--pidns-translation.c -+sched_xetscheduler__pidns_translation_OBJECTS = \ -+ sched_xetscheduler--pidns-translation.$(OBJEXT) -+sched_xetscheduler__pidns_translation_LDADD = $(LDADD) -+sched_xetscheduler__pidns_translation_DEPENDENCIES = libtests.a - sched_yield_SOURCES = sched_yield.c - sched_yield_OBJECTS = sched_yield.$(OBJEXT) - sched_yield_LDADD = $(LDADD) -@@ -3198,6 +3377,12 @@ - signal_receive_OBJECTS = signal_receive.$(OBJEXT) - signal_receive_LDADD = $(LDADD) - signal_receive_DEPENDENCIES = libtests.a -+signal_receive__pidns_translation_SOURCES = \ -+ signal_receive--pidns-translation.c -+signal_receive__pidns_translation_OBJECTS = \ -+ signal_receive--pidns-translation.$(OBJEXT) -+signal_receive__pidns_translation_LDADD = $(LDADD) -+signal_receive__pidns_translation_DEPENDENCIES = libtests.a - signalfd4_SOURCES = signalfd4.c - signalfd4_OBJECTS = signalfd4.$(OBJEXT) - signalfd4_LDADD = $(LDADD) -@@ -3234,6 +3419,12 @@ - so_peercred_OBJECTS = so_peercred.$(OBJEXT) - so_peercred_LDADD = $(LDADD) - so_peercred_DEPENDENCIES = libtests.a -+so_peercred__pidns_translation_SOURCES = \ -+ so_peercred--pidns-translation.c -+so_peercred__pidns_translation_OBJECTS = \ -+ so_peercred--pidns-translation.$(OBJEXT) -+so_peercred__pidns_translation_LDADD = $(LDADD) -+so_peercred__pidns_translation_DEPENDENCIES = libtests.a - so_peercred_Xabbrev_SOURCES = so_peercred-Xabbrev.c - so_peercred_Xabbrev_OBJECTS = so_peercred-Xabbrev.$(OBJEXT) - so_peercred_Xabbrev_LDADD = $(LDADD) -@@ -3448,6 +3639,11 @@ - tgkill_OBJECTS = tgkill.$(OBJEXT) - tgkill_LDADD = $(LDADD) - tgkill_DEPENDENCIES = libtests.a -+tgkill__pidns_translation_SOURCES = tgkill--pidns-translation.c -+tgkill__pidns_translation_OBJECTS = \ -+ tgkill--pidns-translation.$(OBJEXT) -+tgkill__pidns_translation_LDADD = $(LDADD) -+tgkill__pidns_translation_DEPENDENCIES = libtests.a - threads_execve_SOURCES = threads-execve.c - threads_execve_OBJECTS = threads-execve.$(OBJEXT) - threads_execve_DEPENDENCIES = $(am__DEPENDENCIES_1) $(LDADD) -@@ -3493,10 +3689,20 @@ - tkill_OBJECTS = tkill.$(OBJEXT) - tkill_LDADD = $(LDADD) - tkill_DEPENDENCIES = libtests.a -+tkill__pidns_translation_SOURCES = tkill--pidns-translation.c -+tkill__pidns_translation_OBJECTS = tkill--pidns-translation.$(OBJEXT) -+tkill__pidns_translation_LDADD = $(LDADD) -+tkill__pidns_translation_DEPENDENCIES = libtests.a - tracer_ppid_pgid_sid_SOURCES = tracer_ppid_pgid_sid.c - tracer_ppid_pgid_sid_OBJECTS = tracer_ppid_pgid_sid.$(OBJEXT) - tracer_ppid_pgid_sid_LDADD = $(LDADD) - tracer_ppid_pgid_sid_DEPENDENCIES = libtests.a -+am_trie_test_OBJECTS = trie_test-trie_test.$(OBJEXT) \ -+ trie_test-trie_for_tests.$(OBJEXT) -+trie_test_OBJECTS = $(am_trie_test_OBJECTS) -+trie_test_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_1) -+trie_test_LINK = $(CCLD) $(trie_test_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ -+ $(LDFLAGS) -o $@ - truncate_SOURCES = truncate.c - truncate_OBJECTS = truncate.$(OBJEXT) - truncate_LDADD = $(LDADD) -@@ -3658,6 +3864,12 @@ - xet_robust_list_OBJECTS = xet_robust_list.$(OBJEXT) - xet_robust_list_LDADD = $(LDADD) - xet_robust_list_DEPENDENCIES = libtests.a -+xet_robust_list__pidns_translation_SOURCES = \ -+ xet_robust_list--pidns-translation.c -+xet_robust_list__pidns_translation_OBJECTS = \ -+ xet_robust_list--pidns-translation.$(OBJEXT) -+xet_robust_list__pidns_translation_LDADD = $(LDADD) -+xet_robust_list__pidns_translation_DEPENDENCIES = libtests.a - xet_thread_area_x86_SOURCES = xet_thread_area_x86.c - xet_thread_area_x86_OBJECTS = xet_thread_area_x86.$(OBJEXT) - xet_thread_area_x86_LDADD = $(LDADD) -@@ -3670,10 +3882,21 @@ - xetpgid_OBJECTS = xetpgid.$(OBJEXT) - xetpgid_LDADD = $(LDADD) - xetpgid_DEPENDENCIES = libtests.a -+xetpgid__pidns_translation_SOURCES = xetpgid--pidns-translation.c -+xetpgid__pidns_translation_OBJECTS = \ -+ xetpgid--pidns-translation.$(OBJEXT) -+xetpgid__pidns_translation_LDADD = $(LDADD) -+xetpgid__pidns_translation_DEPENDENCIES = libtests.a - xetpriority_SOURCES = xetpriority.c - xetpriority_OBJECTS = xetpriority.$(OBJEXT) - xetpriority_LDADD = $(LDADD) - xetpriority_DEPENDENCIES = libtests.a -+xetpriority__pidns_translation_SOURCES = \ -+ xetpriority--pidns-translation.c -+xetpriority__pidns_translation_OBJECTS = \ -+ xetpriority--pidns-translation.$(OBJEXT) -+xetpriority__pidns_translation_LDADD = $(LDADD) -+xetpriority__pidns_translation_DEPENDENCIES = libtests.a - xettimeofday_SOURCES = xettimeofday.c - xettimeofday_OBJECTS = xettimeofday.$(OBJEXT) - xettimeofday_LDADD = $(LDADD) -@@ -3759,13 +3982,15 @@ - ./$(DEPDIR)/fanotify_mark.Po ./$(DEPDIR)/fchdir.Po \ - ./$(DEPDIR)/fchmod.Po ./$(DEPDIR)/fchmodat.Po \ - ./$(DEPDIR)/fchown.Po ./$(DEPDIR)/fchown32.Po \ -- ./$(DEPDIR)/fchownat.Po ./$(DEPDIR)/fcntl.Po \ -- ./$(DEPDIR)/fcntl64.Po ./$(DEPDIR)/fdatasync.Po \ -+ ./$(DEPDIR)/fchownat.Po \ -+ ./$(DEPDIR)/fcntl--pidns-translation.Po ./$(DEPDIR)/fcntl.Po \ -+ ./$(DEPDIR)/fcntl64--pidns-translation.Po ./$(DEPDIR)/fcntl64.Po \ -+ ./$(DEPDIR)/fdatasync.Po \ - ./$(DEPDIR)/fflush.Po ./$(DEPDIR)/file_handle.Po \ - ./$(DEPDIR)/file_ioctl.Po ./$(DEPDIR)/filter-unavailable.Po \ - ./$(DEPDIR)/filter_seccomp-flag.Po \ - ./$(DEPDIR)/filter_seccomp-perf.Po ./$(DEPDIR)/finit_module.Po \ -- ./$(DEPDIR)/flock.Po ./$(DEPDIR)/fork-f.Po \ -+ ./$(DEPDIR)/flock.Po ./$(DEPDIR)/fork--pidns-translation.Po ./$(DEPDIR)/fork-f.Po \ - ./$(DEPDIR)/fsconfig-P.Po ./$(DEPDIR)/fsconfig.Po \ - ./$(DEPDIR)/fsmount.Po ./$(DEPDIR)/fsopen.Po \ - ./$(DEPDIR)/fspick-P.Po ./$(DEPDIR)/fspick.Po \ -@@ -3786,13 +4011,14 @@ - ./$(DEPDIR)/geteuid32.Po ./$(DEPDIR)/getgid.Po \ - ./$(DEPDIR)/getgid32.Po ./$(DEPDIR)/getgroups.Po \ - ./$(DEPDIR)/getgroups32.Po ./$(DEPDIR)/getpeername.Po \ -- ./$(DEPDIR)/getpgrp.Po ./$(DEPDIR)/getpid.Po \ -+ ./$(DEPDIR)/getpgrp--pidns-translation.Po ./$(DEPDIR)/getpgrp.Po \ -+ ./$(DEPDIR)/getpid--pidns-translation.Po ./$(DEPDIR)/getpid.Po \ - ./$(DEPDIR)/getppid.Po ./$(DEPDIR)/getrandom.Po \ - ./$(DEPDIR)/getresgid.Po ./$(DEPDIR)/getresgid32.Po \ - ./$(DEPDIR)/getresuid.Po ./$(DEPDIR)/getresuid32.Po \ - ./$(DEPDIR)/getrlimit.Po ./$(DEPDIR)/getrusage.Po \ -- ./$(DEPDIR)/getsid.Po ./$(DEPDIR)/getsockname.Po \ -- ./$(DEPDIR)/gettid.Po ./$(DEPDIR)/getuid.Po \ -+ ./$(DEPDIR)/getsid--pidns-translation.Po ./$(DEPDIR)/getsid.Po ./$(DEPDIR)/getsockname.Po \ -+ ./$(DEPDIR)/gettid--pidns-translation.Po ./$(DEPDIR)/gettid.Po ./$(DEPDIR)/getuid.Po \ - ./$(DEPDIR)/getuid32.Po ./$(DEPDIR)/getxgid.Po \ - ./$(DEPDIR)/getxpid.Po ./$(DEPDIR)/getxuid.Po \ - ./$(DEPDIR)/group_req.Po ./$(DEPDIR)/inet-cmsg.Po \ -@@ -3802,7 +4028,7 @@ - ./$(DEPDIR)/inotify_init1.Po ./$(DEPDIR)/int_0x80.Po \ - ./$(DEPDIR)/io_uring_enter.Po ./$(DEPDIR)/io_uring_register.Po \ - ./$(DEPDIR)/io_uring_setup.Po ./$(DEPDIR)/ioctl.Po \ -- ./$(DEPDIR)/ioctl_block.Po ./$(DEPDIR)/ioctl_dm-v.Po \ -+ ./$(DEPDIR)/ioctl_block--pidns-translation.Po ./$(DEPDIR)/ioctl_block.Po ./$(DEPDIR)/ioctl_dm-v.Po \ - ./$(DEPDIR)/ioctl_dm.Po ./$(DEPDIR)/ioctl_evdev-Xabbrev.Po \ - ./$(DEPDIR)/ioctl_evdev-Xraw.Po \ - ./$(DEPDIR)/ioctl_evdev-Xverbose.Po \ -@@ -3861,7 +4087,7 @@ - ./$(DEPDIR)/ioctl_v4l2-v-Xverbose.Po \ - ./$(DEPDIR)/ioctl_v4l2-v.Po ./$(DEPDIR)/ioctl_v4l2.Po \ - ./$(DEPDIR)/ioctl_watchdog.Po ./$(DEPDIR)/ioperm.Po \ -- ./$(DEPDIR)/iopl.Po ./$(DEPDIR)/ioprio-Xabbrev.Po \ -+ ./$(DEPDIR)/iopl.Po ./$(DEPDIR)/ioprio--pidns-translation.Po ./$(DEPDIR)/ioprio-Xabbrev.Po \ - ./$(DEPDIR)/ioprio-Xraw.Po ./$(DEPDIR)/ioprio-Xverbose.Po \ - ./$(DEPDIR)/ioprio.Po ./$(DEPDIR)/ip_mreq.Po \ - ./$(DEPDIR)/ipc.Po ./$(DEPDIR)/ipc_msg-Xabbrev.Po \ -@@ -3873,15 +4099,15 @@ - ./$(DEPDIR)/ipc_sem-Xverbose.Po ./$(DEPDIR)/ipc_sem.Po \ - ./$(DEPDIR)/ipc_shm-Xabbrev.Po ./$(DEPDIR)/ipc_shm-Xraw.Po \ - ./$(DEPDIR)/ipc_shm-Xverbose.Po ./$(DEPDIR)/ipc_shm.Po \ -- ./$(DEPDIR)/is_linux_mips_n64.Po ./$(DEPDIR)/kcmp-y.Po \ -- ./$(DEPDIR)/kcmp.Po ./$(DEPDIR)/kern_features.Po \ -+ ./$(DEPDIR)/is_linux_mips_n64.Po ./$(DEPDIR)/kcmp-y--pidns-translation.Po \ -+ ./$(DEPDIR)/kcmp-y.Po ./$(DEPDIR)/kcmp.Po ./$(DEPDIR)/kern_features.Po \ - ./$(DEPDIR)/kernel_version-Xabbrev.Po \ - ./$(DEPDIR)/kernel_version-Xraw.Po \ - ./$(DEPDIR)/kernel_version-Xverbose.Po \ - ./$(DEPDIR)/kernel_version.Po ./$(DEPDIR)/kexec_file_load.Po \ - ./$(DEPDIR)/kexec_load.Po ./$(DEPDIR)/keyctl-Xabbrev.Po \ - ./$(DEPDIR)/keyctl-Xraw.Po ./$(DEPDIR)/keyctl-Xverbose.Po \ -- ./$(DEPDIR)/keyctl.Po ./$(DEPDIR)/kill.Po \ -+ ./$(DEPDIR)/keyctl.Po ./$(DEPDIR)/kill--pidns-translation.Po ./$(DEPDIR)/kill.Po \ - ./$(DEPDIR)/kill_child.Po ./$(DEPDIR)/ksysent.Po \ - ./$(DEPDIR)/lchown.Po ./$(DEPDIR)/lchown32.Po \ - ./$(DEPDIR)/libtests_a-create_nl_socket.Po \ -@@ -3915,7 +4141,8 @@ - ./$(DEPDIR)/libtests_a-test_printpath.Po \ - ./$(DEPDIR)/libtests_a-test_printstrn.Po \ - ./$(DEPDIR)/libtests_a-test_ucopy.Po \ -- ./$(DEPDIR)/libtests_a-tprintf.Po ./$(DEPDIR)/link.Po \ -+ ./$(DEPDIR)/libtests_a-tprintf.Po \ -+ ./$(DEPDIR)/libtests_a-xmalloc_for_tests.Po ./$(DEPDIR)/link.Po \ - ./$(DEPDIR)/linkat.Po ./$(DEPDIR)/list_sigaction_signum.Po \ - ./$(DEPDIR)/llseek.Po ./$(DEPDIR)/localtime.Po \ - ./$(DEPDIR)/lookup_dcookie.Po ./$(DEPDIR)/looping_threads.Po \ -@@ -3928,7 +4155,9 @@ - ./$(DEPDIR)/membarrier.Po ./$(DEPDIR)/memfd_create-Xabbrev.Po \ - ./$(DEPDIR)/memfd_create-Xraw.Po \ - ./$(DEPDIR)/memfd_create-Xverbose.Po \ -- ./$(DEPDIR)/memfd_create.Po ./$(DEPDIR)/migrate_pages.Po \ -+ ./$(DEPDIR)/memfd_create.Po \ -+ ./$(DEPDIR)/migrate_pages--pidns-translation.Po \ -+ ./$(DEPDIR)/migrate_pages.Po \ - ./$(DEPDIR)/mincore.Po ./$(DEPDIR)/mkdir.Po \ - ./$(DEPDIR)/mkdirat.Po ./$(DEPDIR)/mknod.Po \ - ./$(DEPDIR)/mknodat.Po ./$(DEPDIR)/mlock.Po \ -@@ -3944,7 +4173,7 @@ - ./$(DEPDIR)/modify_ldt.Po ./$(DEPDIR)/mount-Xabbrev.Po \ - ./$(DEPDIR)/mount-Xraw.Po ./$(DEPDIR)/mount-Xverbose.Po \ - ./$(DEPDIR)/mount.Po ./$(DEPDIR)/move_mount-P.Po \ -- ./$(DEPDIR)/move_mount.Po ./$(DEPDIR)/move_pages-Xabbrev.Po \ -+ ./$(DEPDIR)/move_mount.Po ./$(DEPDIR)/move_pages--pidns-translation.Po ./$(DEPDIR)/move_pages-Xabbrev.Po \ - ./$(DEPDIR)/move_pages-Xraw.Po \ - ./$(DEPDIR)/move_pages-Xverbose.Po ./$(DEPDIR)/move_pages.Po \ - ./$(DEPDIR)/mq.Po ./$(DEPDIR)/mq_sendrecv-read.Po \ -@@ -3961,12 +4190,13 @@ - ./$(DEPDIR)/net-packet_mreq-Xabbrev.Po \ - ./$(DEPDIR)/net-packet_mreq-Xraw.Po \ - ./$(DEPDIR)/net-packet_mreq-Xverbose.Po \ -- ./$(DEPDIR)/net-packet_mreq.Po ./$(DEPDIR)/net-sockaddr.Po \ -+ ./$(DEPDIR)/net-packet_mreq.Po ./$(DEPDIR)/net-sockaddr--pidns-translation.Po ./$(DEPDIR)/net-sockaddr.Po \ - ./$(DEPDIR)/net-tpacket_req.Po \ - ./$(DEPDIR)/net-tpacket_stats-success.Po \ - ./$(DEPDIR)/net-tpacket_stats.Po ./$(DEPDIR)/net-y-unix.Po \ - ./$(DEPDIR)/net-yy-inet.Po ./$(DEPDIR)/net-yy-inet6.Po \ - ./$(DEPDIR)/net-yy-netlink.Po ./$(DEPDIR)/net-yy-unix.Po \ -+ ./$(DEPDIR)/netlink_audit--pidns-translation.Po \ - ./$(DEPDIR)/netlink_audit.Po ./$(DEPDIR)/netlink_crypto.Po \ - ./$(DEPDIR)/netlink_generic.Po \ - ./$(DEPDIR)/netlink_inet_diag.Po \ -@@ -4043,9 +4273,11 @@ - ./$(DEPDIR)/pidfd_open--decode-fd-path.Po \ - ./$(DEPDIR)/pidfd_open--decode-fd-pidfd.Po \ - ./$(DEPDIR)/pidfd_open--decode-fd-socket.Po \ -+ ./$(DEPDIR)/pidfd_open--pidns-translation.Po \ - ./$(DEPDIR)/pidfd_open-P.Po ./$(DEPDIR)/pidfd_open-y.Po \ - ./$(DEPDIR)/pidfd_open-yy.Po ./$(DEPDIR)/pidfd_open.Po \ -- ./$(DEPDIR)/pidfd_send_signal.Po ./$(DEPDIR)/pipe.Po \ -+ ./$(DEPDIR)/pidfd_send_signal--pidns-translation.Po \ -+ ./$(DEPDIR)/pidfd_send_signal.Po ./$(DEPDIR)/pidns-cache.Po ./$(DEPDIR)/pipe.Po \ - ./$(DEPDIR)/pipe2.Po ./$(DEPDIR)/pkey_alloc.Po \ - ./$(DEPDIR)/pkey_free.Po ./$(DEPDIR)/pkey_mprotect.Po \ - ./$(DEPDIR)/poll-P.Po ./$(DEPDIR)/poll.Po \ -@@ -4070,8 +4302,10 @@ - ./$(DEPDIR)/printsignal-Xverbose.Po ./$(DEPDIR)/printstr.Po \ - ./$(DEPDIR)/printstrn-umoven-peekdata.Po \ - ./$(DEPDIR)/printstrn-umoven-undumpable.Po \ -- ./$(DEPDIR)/printstrn-umoven.Po ./$(DEPDIR)/prlimit64.Po \ -+ ./$(DEPDIR)/printstrn-umoven.Po ./$(DEPDIR)/prlimit64--pidns-translation.Po ./$(DEPDIR)/prlimit64.Po \ -+ ./$(DEPDIR)/process_vm_readv--pidns-translation.Po \ - ./$(DEPDIR)/process_vm_readv.Po \ -+ ./$(DEPDIR)/process_vm_writev--pidns-translation.Po \ - ./$(DEPDIR)/process_vm_writev.Po ./$(DEPDIR)/pselect6.Po \ - ./$(DEPDIR)/ptrace.Po ./$(DEPDIR)/ptrace_syscall_info.Po \ - ./$(DEPDIR)/pwritev-pwritev.Po ./$(DEPDIR)/qual_fault.Po \ -@@ -4101,9 +4335,10 @@ - ./$(DEPDIR)/request_key.Po ./$(DEPDIR)/restart_syscall.Po \ - ./$(DEPDIR)/riscv_flush_icache.Po ./$(DEPDIR)/rmdir.Po \ - ./$(DEPDIR)/rt_sigaction.Po ./$(DEPDIR)/rt_sigpending.Po \ -- ./$(DEPDIR)/rt_sigprocmask.Po ./$(DEPDIR)/rt_sigqueueinfo.Po \ -+ ./$(DEPDIR)/rt_sigprocmask.Po ./$(DEPDIR)/rt_sigqueueinfo--pidns-translation.Po ./$(DEPDIR)/rt_sigqueueinfo.Po \ - ./$(DEPDIR)/rt_sigreturn.Po ./$(DEPDIR)/rt_sigsuspend.Po \ - ./$(DEPDIR)/rt_sigtimedwait.Po \ -+ ./$(DEPDIR)/rt_tgsigqueueinfo--pidns-translation.Po \ - ./$(DEPDIR)/rt_tgsigqueueinfo.Po \ - ./$(DEPDIR)/run_expect_termsig.Po \ - ./$(DEPDIR)/s390_guarded_storage-v.Po \ -@@ -4113,9 +4348,15 @@ - ./$(DEPDIR)/s390_sthyi.Po \ - ./$(DEPDIR)/sched_get_priority_mxx.Po \ - ./$(DEPDIR)/sched_rr_get_interval.Po \ -- ./$(DEPDIR)/sched_xetaffinity.Po ./$(DEPDIR)/sched_xetattr.Po \ -+ ./$(DEPDIR)/sched_xetaffinity--pidns-translation.Po \ -+ ./$(DEPDIR)/sched_xetaffinity.Po \ -+ ./$(DEPDIR)/sched_xetattr--pidns-translation.Po \ -+ ./$(DEPDIR)/sched_xetattr.Po \ -+ ./$(DEPDIR)/sched_xetparam--pidns-translation.Po \ - ./$(DEPDIR)/sched_xetparam.Po \ -- ./$(DEPDIR)/sched_xetscheduler.Po ./$(DEPDIR)/sched_yield.Po \ -+ ./$(DEPDIR)/sched_xetscheduler--pidns-translation.Po \ -+ ./$(DEPDIR)/sched_xetscheduler.Po \ -+ ./$(DEPDIR)/sched_yield.Po \ - ./$(DEPDIR)/scm_rights.Po ./$(DEPDIR)/seccomp-filter-v.Po \ - ./$(DEPDIR)/seccomp-filter.Po ./$(DEPDIR)/seccomp-strict.Po \ - ./$(DEPDIR)/seccomp_get_action_avail.Po \ -@@ -4143,11 +4384,12 @@ - ./$(DEPDIR)/shmxt.Po ./$(DEPDIR)/shutdown.Po \ - ./$(DEPDIR)/sigaction.Po ./$(DEPDIR)/sigaltstack.Po \ - ./$(DEPDIR)/siginfo.Po ./$(DEPDIR)/signal.Po \ -- ./$(DEPDIR)/signal_receive.Po ./$(DEPDIR)/signalfd4.Po \ -+ ./$(DEPDIR)/signal_receive--pidns-translation.Po ./$(DEPDIR)/signal_receive.Po ./$(DEPDIR)/signalfd4.Po \ - ./$(DEPDIR)/sigpending.Po ./$(DEPDIR)/sigprocmask.Po \ - ./$(DEPDIR)/sigreturn.Po ./$(DEPDIR)/sigsuspend.Po \ - ./$(DEPDIR)/sleep.Po ./$(DEPDIR)/so_error.Po \ -- ./$(DEPDIR)/so_linger.Po ./$(DEPDIR)/so_peercred-Xabbrev.Po \ -+ ./$(DEPDIR)/so_linger.Po ./$(DEPDIR)/so_peercred--pidns-translation.Po \ -+ ./$(DEPDIR)/so_peercred-Xabbrev.Po \ - ./$(DEPDIR)/so_peercred-Xraw.Po \ - ./$(DEPDIR)/so_peercred-Xverbose.Po ./$(DEPDIR)/so_peercred.Po \ - ./$(DEPDIR)/sock_filter-v-Xabbrev.Po \ -@@ -4186,7 +4428,7 @@ - ./$(DEPDIR)/symlinkat.Po ./$(DEPDIR)/sync.Po \ - ./$(DEPDIR)/sync_file_range.Po ./$(DEPDIR)/sync_file_range2.Po \ - ./$(DEPDIR)/sysinfo.Po ./$(DEPDIR)/syslog-success.Po \ -- ./$(DEPDIR)/syslog.Po ./$(DEPDIR)/tee.Po ./$(DEPDIR)/tgkill.Po \ -+ ./$(DEPDIR)/syslog.Po ./$(DEPDIR)/tee.Po ./$(DEPDIR)/tgkill--pidns-translation.Po ./$(DEPDIR)/tgkill.Po \ - ./$(DEPDIR)/threads-execve--quiet-thread-execve.Po \ - ./$(DEPDIR)/threads-execve-q.Po \ - ./$(DEPDIR)/threads-execve-qq.Po \ -@@ -4194,7 +4436,8 @@ - ./$(DEPDIR)/threads-execve.Po ./$(DEPDIR)/time.Po \ - ./$(DEPDIR)/timer_create.Po ./$(DEPDIR)/timer_xettime.Po \ - ./$(DEPDIR)/timerfd_xettime.Po ./$(DEPDIR)/times-fail.Po \ -- ./$(DEPDIR)/times.Po ./$(DEPDIR)/tkill.Po ./$(DEPDIR)/tracer_ppid_pgid_sid.Po \ -+ ./$(DEPDIR)/times.Po ./$(DEPDIR)/tkill--pidns-translation.Po \ -+ ./$(DEPDIR)/tkill.Po ./$(DEPDIR)/tracer_ppid_pgid_sid.Po \ - ./$(DEPDIR)/truncate.Po ./$(DEPDIR)/truncate64-truncate64.Po \ - ./$(DEPDIR)/ugetrlimit.Po ./$(DEPDIR)/uio-uio.Po \ - ./$(DEPDIR)/umask.Po ./$(DEPDIR)/umount.Po \ -@@ -4216,9 +4459,11 @@ - ./$(DEPDIR)/wait4-v.Po ./$(DEPDIR)/wait4.Po \ - ./$(DEPDIR)/waitid-v.Po ./$(DEPDIR)/waitid.Po \ - ./$(DEPDIR)/waitpid.Po ./$(DEPDIR)/xattr-strings.Po \ -- ./$(DEPDIR)/xattr.Po ./$(DEPDIR)/xet_robust_list.Po \ -+ ./$(DEPDIR)/xattr.Po ./$(DEPDIR)/xet_robust_list--pidns-translation.Po \ -+ ./$(DEPDIR)/xet_robust_list.Po \ - ./$(DEPDIR)/xet_thread_area_x86.Po ./$(DEPDIR)/xetitimer.Po \ -- ./$(DEPDIR)/xetpgid.Po ./$(DEPDIR)/xetpriority.Po \ -+ ./$(DEPDIR)/xetpgid--pidns-translation.Po ./$(DEPDIR)/xetpgid.Po \ -+ ./$(DEPDIR)/xetpriority--pidns-translation.Po ./$(DEPDIR)/xetpriority.Po \ - ./$(DEPDIR)/xettimeofday.Po ./$(DEPDIR)/zeroargc.Po - am__mv = mv -f - AM_V_lt = $(am__v_lt_@AM_V@) -@@ -4264,26 +4509,30 @@ - fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \ - fanotify_mark-Xabbrev.c fanotify_mark-Xraw.c \ - fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmodat.c fchown.c \ -- fchown32.c fchownat.c fcntl.c fcntl64.c fdatasync.c fflush.c \ -+ fchown32.c fchownat.c fcntl.c fcntl--pidns-translation.c \ -+ fcntl64.c fcntl64--pidns-translation.c fdatasync.c fflush.c \ - file_handle.c file_ioctl.c filter-unavailable.c \ - filter_seccomp-flag.c filter_seccomp-perf.c finit_module.c \ -- flock.c fork-f.c fsconfig.c fsconfig-P.c fsmount.c fsopen.c \ -- fspick.c fspick-P.c fstat.c fstat-Xabbrev.c fstat-Xraw.c \ -- fstat-Xverbose.c fstat64.c fstat64-Xabbrev.c fstat64-Xraw.c \ -- fstat64-Xverbose.c fstatat64.c fstatfs.c fstatfs64.c fsync.c \ -- fsync-y.c ftruncate.c ftruncate64.c futex.c futimesat.c \ -- get_mempolicy.c get_process_reaper.c getcpu.c getcwd.c \ -- getdents.c getdents-v.c getdents64.c getdents64-v.c getegid.c \ -- getegid32.c geteuid.c geteuid32.c getgid.c getgid32.c \ -- getgroups.c getgroups32.c getpeername.c getpgrp.c getpid.c \ -- getppid.c getrandom.c getresgid.c getresgid32.c getresuid.c \ -- getresuid32.c getrlimit.c getrusage.c getsid.c getsockname.c \ -- gettid.c getuid.c getuid32.c getxgid.c getxpid.c getxuid.c \ -- group_req.c inet-cmsg.c init_module.c inject-nf.c inotify.c \ -- inotify_init.c inotify_init-y.c inotify_init1.c \ -- inotify_init1-y.c int_0x80.c io_uring_enter.c \ -- io_uring_register.c io_uring_setup.c ioctl.c ioctl_block.c \ -- ioctl_dm.c ioctl_dm-v.c ioctl_evdev.c ioctl_evdev-Xabbrev.c \ -+ flock.c fork--pidns-translation.c fork-f.c fsconfig.c \ -+ fsconfig-P.c fsmount.c fsopen.c fspick.c fspick-P.c fstat.c \ -+ fstat-Xabbrev.c fstat-Xraw.c fstat-Xverbose.c fstat64.c \ -+ fstat64-Xabbrev.c fstat64-Xraw.c fstat64-Xverbose.c \ -+ fstatat64.c fstatfs.c fstatfs64.c fsync.c fsync-y.c \ -+ ftruncate.c ftruncate64.c futex.c futimesat.c get_mempolicy.c \ -+ get_process_reaper.c getcpu.c getcwd.c getdents.c getdents-v.c \ -+ getdents64.c getdents64-v.c getegid.c getegid32.c geteuid.c \ -+ geteuid32.c getgid.c getgid32.c getgroups.c getgroups32.c \ -+ getpeername.c getpgrp.c getpgrp--pidns-translation.c getpid.c \ -+ getpid--pidns-translation.c getppid.c getrandom.c getresgid.c \ -+ getresgid32.c getresuid.c getresuid32.c getrlimit.c \ -+ getrusage.c getsid.c getsid--pidns-translation.c getsockname.c \ -+ gettid.c gettid--pidns-translation.c getuid.c getuid32.c \ -+ getxgid.c getxpid.c getxuid.c group_req.c inet-cmsg.c \ -+ init_module.c inject-nf.c inotify.c inotify_init.c \ -+ inotify_init-y.c inotify_init1.c inotify_init1-y.c int_0x80.c \ -+ io_uring_enter.c io_uring_register.c io_uring_setup.c ioctl.c \ -+ ioctl_block.c ioctl_block--pidns-translation.c ioctl_dm.c \ -+ ioctl_dm-v.c ioctl_evdev.c ioctl_evdev-Xabbrev.c \ - ioctl_evdev-Xraw.c ioctl_evdev-Xverbose.c \ - ioctl_evdev-success.c ioctl_evdev-success-Xabbrev.c \ - ioctl_evdev-success-Xraw.c ioctl_evdev-success-Xverbose.c \ -@@ -4311,47 +4560,51 @@ - ioctl_v4l2-success-v-Xverbose.c ioctl_v4l2-v.c \ - ioctl_v4l2-v-Xabbrev.c ioctl_v4l2-v-Xraw.c \ - ioctl_v4l2-v-Xverbose.c ioctl_watchdog.c ioperm.c iopl.c \ -- ioprio.c ioprio-Xabbrev.c ioprio-Xraw.c ioprio-Xverbose.c \ -- ip_mreq.c ipc.c ipc_msg.c ipc_msg-Xabbrev.c ipc_msg-Xraw.c \ -- ipc_msg-Xverbose.c ipc_msgbuf.c ipc_msgbuf-Xabbrev.c \ -- ipc_msgbuf-Xraw.c ipc_msgbuf-Xverbose.c ipc_sem.c \ -- ipc_sem-Xabbrev.c ipc_sem-Xraw.c ipc_sem-Xverbose.c ipc_shm.c \ -- ipc_shm-Xabbrev.c ipc_shm-Xraw.c ipc_shm-Xverbose.c \ -- is_linux_mips_n64.c kcmp.c kcmp-y.c kern_features.c \ -+ ioprio.c ioprio--pidns-translation.c ioprio-Xabbrev.c \ -+ ioprio-Xraw.c ioprio-Xverbose.c ip_mreq.c ipc.c ipc_msg.c \ -+ ipc_msg-Xabbrev.c ipc_msg-Xraw.c ipc_msg-Xverbose.c \ -+ ipc_msgbuf.c ipc_msgbuf-Xabbrev.c ipc_msgbuf-Xraw.c \ -+ ipc_msgbuf-Xverbose.c ipc_sem.c ipc_sem-Xabbrev.c \ -+ ipc_sem-Xraw.c ipc_sem-Xverbose.c ipc_shm.c ipc_shm-Xabbrev.c \ -+ ipc_shm-Xraw.c ipc_shm-Xverbose.c is_linux_mips_n64.c kcmp.c \ -+ kcmp-y.c kcmp-y--pidns-translation.c kern_features.c \ - kernel_version.c kernel_version-Xabbrev.c \ - kernel_version-Xraw.c kernel_version-Xverbose.c \ - kexec_file_load.c kexec_load.c keyctl.c keyctl-Xabbrev.c \ -- keyctl-Xraw.c keyctl-Xverbose.c kill.c kill_child.c ksysent.c \ -- lchown.c lchown32.c link.c linkat.c list_sigaction_signum.c \ -- llseek.c localtime.c lookup_dcookie.c looping_threads.c \ -- lseek.c lstat.c lstat64.c madvise.c maybe_switch_current_tcp.c \ -+ keyctl-Xraw.c keyctl-Xverbose.c kill.c \ -+ kill--pidns-translation.c kill_child.c ksysent.c lchown.c \ -+ lchown32.c link.c linkat.c list_sigaction_signum.c llseek.c \ -+ localtime.c lookup_dcookie.c looping_threads.c lseek.c lstat.c \ -+ lstat64.c madvise.c maybe_switch_current_tcp.c \ - maybe_switch_current_tcp--quiet-thread-execve.c mbind.c \ - mbind-Xabbrev.c mbind-Xraw.c mbind-Xverbose.c membarrier.c \ - memfd_create.c memfd_create-Xabbrev.c memfd_create-Xraw.c \ -- memfd_create-Xverbose.c migrate_pages.c mincore.c mkdir.c \ -- mkdirat.c mknod.c mknodat.c mlock.c mlock2.c mlockall.c mmap.c \ -+ memfd_create-Xverbose.c migrate_pages.c \ -+ migrate_pages--pidns-translation.c mincore.c mkdir.c mkdirat.c \ -+ mknod.c mknodat.c mlock.c mlock2.c mlockall.c mmap.c \ - mmap-Xabbrev.c mmap-Xraw.c mmap-Xverbose.c mmap64.c \ - mmap64-Xabbrev.c mmap64-Xraw.c mmap64-Xverbose.c mmsg.c \ - mmsg-silent.c mmsg_name.c mmsg_name-v.c modify_ldt.c mount.c \ - mount-Xabbrev.c mount-Xraw.c mount-Xverbose.c move_mount.c \ -- move_mount-P.c move_pages.c move_pages-Xabbrev.c \ -- move_pages-Xraw.c move_pages-Xverbose.c mq.c mq_sendrecv.c \ -- mq_sendrecv-read.c mq_sendrecv-write.c msg_control.c \ -- msg_control-v.c msg_name.c munlockall.c nanosleep.c \ -- net--decode-fds-dev-netlink.c net--decode-fds-none-netlink.c \ -- net--decode-fds-path-netlink.c \ -+ move_mount-P.c move_pages.c move_pages--pidns-translation.c \ -+ move_pages-Xabbrev.c move_pages-Xraw.c move_pages-Xverbose.c \ -+ mq.c mq_sendrecv.c mq_sendrecv-read.c mq_sendrecv-write.c \ -+ msg_control.c msg_control-v.c msg_name.c munlockall.c \ -+ nanosleep.c net--decode-fds-dev-netlink.c \ -+ net--decode-fds-none-netlink.c net--decode-fds-path-netlink.c \ - net--decode-fds-socket-netlink.c net-accept-connect.c \ - net-icmp_filter.c net-packet_mreq.c net-packet_mreq-Xabbrev.c \ - net-packet_mreq-Xraw.c net-packet_mreq-Xverbose.c \ -- net-sockaddr.c net-tpacket_req.c net-tpacket_stats.c \ -+ net-sockaddr.c net-sockaddr--pidns-translation.c \ -+ net-tpacket_req.c net-tpacket_stats.c \ - net-tpacket_stats-success.c net-y-unix.c net-yy-inet.c \ - net-yy-inet6.c net-yy-netlink.c net-yy-unix.c netlink_audit.c \ -- netlink_crypto.c netlink_generic.c netlink_inet_diag.c \ -- netlink_kobject_uevent.c netlink_netfilter.c \ -- netlink_netlink_diag.c netlink_protocol.c netlink_route.c \ -- netlink_selinux.c netlink_sock_diag.c netlink_unix_diag.c \ -- netlink_xfrm.c newfstatat.c nfnetlink_acct.c \ -- nfnetlink_cthelper.c nfnetlink_ctnetlink.c \ -+ netlink_audit--pidns-translation.c netlink_crypto.c \ -+ netlink_generic.c netlink_inet_diag.c netlink_kobject_uevent.c \ -+ netlink_netfilter.c netlink_netlink_diag.c netlink_protocol.c \ -+ netlink_route.c netlink_selinux.c netlink_sock_diag.c \ -+ netlink_unix_diag.c netlink_xfrm.c newfstatat.c \ -+ nfnetlink_acct.c nfnetlink_cthelper.c nfnetlink_ctnetlink.c \ - nfnetlink_ctnetlink_exp.c nfnetlink_cttimeout.c \ - nfnetlink_ipset.c nfnetlink_nft_compat.c nfnetlink_nftables.c \ - nfnetlink_osf.c nfnetlink_queue.c nfnetlink_ulog.c nlattr.c \ -@@ -4381,12 +4634,13 @@ - personality-Xraw.c personality-Xverbose.c pidfd_getfd.c \ - pidfd_getfd-y.c pidfd_getfd-yy.c pidfd_open.c \ - pidfd_open--decode-fd-path.c pidfd_open--decode-fd-pidfd.c \ -- pidfd_open--decode-fd-socket.c pidfd_open-P.c pidfd_open-y.c \ -- pidfd_open-yy.c pidfd_send_signal.c pipe.c pipe2.c \ -- pkey_alloc.c pkey_free.c pkey_mprotect.c poll.c poll-P.c \ -- ppoll.c ppoll-P.c ppoll-v.c prctl-arg2-intptr.c \ -- prctl-dumpable.c prctl-name.c prctl-no-args.c \ -- prctl-pdeathsig.c prctl-seccomp-filter-v.c \ -+ pidfd_open--decode-fd-socket.c pidfd_open--pidns-translation.c \ -+ pidfd_open-P.c pidfd_open-y.c pidfd_open-yy.c \ -+ pidfd_send_signal.c pidfd_send_signal--pidns-translation.c \ -+ pidns-cache.c pipe.c pipe2.c pkey_alloc.c pkey_free.c \ -+ pkey_mprotect.c poll.c poll-P.c ppoll.c ppoll-P.c ppoll-v.c \ -+ prctl-arg2-intptr.c prctl-dumpable.c prctl-name.c \ -+ prctl-no-args.c prctl-pdeathsig.c prctl-seccomp-filter-v.c \ - prctl-seccomp-strict.c prctl-securebits.c prctl-spec-inject.c \ - prctl-tid_address.c prctl-tsc.c pread64-pwrite64.c preadv.c \ - preadv-pwritev.c preadv2-pwritev2.c print_maxfd.c \ -@@ -4395,8 +4649,10 @@ - printsignal-Xabbrev.c printsignal-Xraw.c \ - printsignal-Xverbose.c printstr.c printstrn-umoven.c \ - printstrn-umoven-peekdata.c printstrn-umoven-undumpable.c \ -- prlimit64.c process_vm_readv.c process_vm_writev.c pselect6.c \ -- ptrace.c ptrace_syscall_info.c pwritev.c qual_fault.c \ -+ prlimit64.c prlimit64--pidns-translation.c process_vm_readv.c \ -+ process_vm_readv--pidns-translation.c process_vm_writev.c \ -+ process_vm_writev--pidns-translation.c pselect6.c ptrace.c \ -+ ptrace_syscall_info.c pwritev.c qual_fault.c \ - qual_inject-error-signal.c qual_inject-retval.c \ - qual_inject-signal.c qual_signal.c quotactl.c \ - quotactl-Xabbrev.c quotactl-Xraw.c quotactl-Xverbose.c \ -@@ -4409,60 +4665,70 @@ - remap_file_pages-Xraw.c remap_file_pages-Xverbose.c rename.c \ - renameat.c renameat2.c request_key.c restart_syscall.c \ - riscv_flush_icache.c rmdir.c rt_sigaction.c rt_sigpending.c \ -- rt_sigprocmask.c rt_sigqueueinfo.c rt_sigreturn.c \ -+ rt_sigprocmask.c rt_sigqueueinfo.c \ -+ rt_sigqueueinfo--pidns-translation.c rt_sigreturn.c \ - rt_sigsuspend.c rt_sigtimedwait.c rt_tgsigqueueinfo.c \ -- run_expect_termsig.c s390_guarded_storage.c \ -- s390_guarded_storage-v.c s390_pci_mmio_read_write.c \ -- s390_runtime_instr.c s390_sthyi.c s390_sthyi-v.c \ -- sched_get_priority_mxx.c sched_rr_get_interval.c \ -- sched_xetaffinity.c sched_xetattr.c sched_xetparam.c \ -- sched_xetscheduler.c sched_yield.c scm_rights.c \ -- seccomp-filter.c seccomp-filter-v.c seccomp-strict.c \ -- seccomp_get_action_avail.c select.c select-P.c semop.c \ -- semop-indirect.c semtimedop.c sendfile.c sendfile64.c \ -- set_mempolicy.c set_mempolicy-Xabbrev.c set_mempolicy-Xraw.c \ -- set_mempolicy-Xverbose.c set_ptracer_any.c set_sigblock.c \ -- set_sigign.c setdomainname.c setfsgid.c setfsgid32.c \ -- setfsuid.c setfsuid32.c setgid.c setgid32.c setgroups.c \ -- setgroups32.c sethostname.c setns.c setpgrp-exec.c setregid.c \ -- setregid32.c setresgid.c setresgid32.c setresuid.c \ -- setresuid32.c setreuid.c setreuid32.c setrlimit.c \ -- setrlimit-Xabbrev.c setrlimit-Xraw.c setrlimit-Xverbose.c \ -- setuid.c setuid32.c shmxt.c shutdown.c sigaction.c \ -- sigaltstack.c siginfo.c signal.c signal_receive.c signalfd4.c \ -- sigpending.c sigprocmask.c sigreturn.c sigsuspend.c sleep.c \ -- so_error.c so_linger.c so_peercred.c so_peercred-Xabbrev.c \ -- so_peercred-Xraw.c so_peercred-Xverbose.c sock_filter-v.c \ -- sock_filter-v-Xabbrev.c sock_filter-v-Xraw.c \ -- sock_filter-v-Xverbose.c sockaddr_xlat-Xabbrev.c \ -- sockaddr_xlat-Xraw.c sockaddr_xlat-Xverbose.c socketcall.c \ -- sockopt-sol_netlink.c sockopt-timestamp.c splice.c \ -- $(stack_fcall_SOURCES) $(stack_fcall_attach_SOURCES) \ -- $(stack_fcall_mangled_SOURCES) stat.c stat64.c statfs.c \ -- statfs64.c status-all.c status-failed.c status-failed-long.c \ -- status-failed-status.c status-none.c status-none-f.c \ -- status-none-threads.c status-successful.c \ -- status-successful-long.c status-successful-status.c \ -- status-unfinished.c status-unfinished-threads.c statx.c \ -- strace--strings-in-hex.c strace--strings-in-hex-all.c \ -+ rt_tgsigqueueinfo--pidns-translation.c run_expect_termsig.c \ -+ s390_guarded_storage.c s390_guarded_storage-v.c \ -+ s390_pci_mmio_read_write.c s390_runtime_instr.c s390_sthyi.c \ -+ s390_sthyi-v.c sched_get_priority_mxx.c \ -+ sched_rr_get_interval.c sched_xetaffinity.c \ -+ sched_xetaffinity--pidns-translation.c sched_xetattr.c \ -+ sched_xetattr--pidns-translation.c sched_xetparam.c \ -+ sched_xetparam--pidns-translation.c sched_xetscheduler.c \ -+ sched_xetscheduler--pidns-translation.c sched_yield.c \ -+ scm_rights.c seccomp-filter.c seccomp-filter-v.c \ -+ seccomp-strict.c seccomp_get_action_avail.c select.c \ -+ select-P.c semop.c semop-indirect.c semtimedop.c sendfile.c \ -+ sendfile64.c set_mempolicy.c set_mempolicy-Xabbrev.c \ -+ set_mempolicy-Xraw.c set_mempolicy-Xverbose.c \ -+ set_ptracer_any.c set_sigblock.c set_sigign.c setdomainname.c \ -+ setfsgid.c setfsgid32.c setfsuid.c setfsuid32.c setgid.c \ -+ setgid32.c setgroups.c setgroups32.c sethostname.c setns.c \ -+ setpgrp-exec.c setregid.c setregid32.c setresgid.c \ -+ setresgid32.c setresuid.c setresuid32.c setreuid.c \ -+ setreuid32.c setrlimit.c setrlimit-Xabbrev.c setrlimit-Xraw.c \ -+ setrlimit-Xverbose.c setuid.c setuid32.c shmxt.c shutdown.c \ -+ sigaction.c sigaltstack.c siginfo.c signal.c signal_receive.c \ -+ signal_receive--pidns-translation.c signalfd4.c sigpending.c \ -+ sigprocmask.c sigreturn.c sigsuspend.c sleep.c so_error.c \ -+ so_linger.c so_peercred.c so_peercred--pidns-translation.c \ -+ so_peercred-Xabbrev.c so_peercred-Xraw.c \ -+ so_peercred-Xverbose.c sock_filter-v.c sock_filter-v-Xabbrev.c \ -+ sock_filter-v-Xraw.c sock_filter-v-Xverbose.c \ -+ sockaddr_xlat-Xabbrev.c sockaddr_xlat-Xraw.c \ -+ sockaddr_xlat-Xverbose.c socketcall.c sockopt-sol_netlink.c \ -+ sockopt-timestamp.c splice.c $(stack_fcall_SOURCES) \ -+ $(stack_fcall_attach_SOURCES) $(stack_fcall_mangled_SOURCES) \ -+ stat.c stat64.c statfs.c statfs64.c status-all.c \ -+ status-failed.c status-failed-long.c status-failed-status.c \ -+ status-none.c status-none-f.c status-none-threads.c \ -+ status-successful.c status-successful-long.c \ -+ status-successful-status.c status-unfinished.c \ -+ status-unfinished-threads.c statx.c strace--strings-in-hex.c \ -+ strace--strings-in-hex-all.c \ - strace--strings-in-hex-non-ascii.c strace-x.c strace-xx.c \ - swap.c sxetmask.c symlink.c symlinkat.c sync.c \ - sync_file_range.c sync_file_range2.c sysinfo.c syslog.c \ -- syslog-success.c tee.c tgkill.c threads-execve.c \ -- threads-execve--quiet-thread-execve.c threads-execve-q.c \ -- threads-execve-qq.c threads-execve-qqq.c time.c timer_create.c \ -- timer_xettime.c timerfd_xettime.c times.c times-fail.c tkill.c \ -- tracer_ppid_pgid_sid.c truncate.c truncate64.c ugetrlimit.c \ -- uio.c umask.c umount.c umount2.c umoven-illptr.c umovestr.c \ -- umovestr-illptr.c umovestr2.c umovestr3.c umovestr_cached.c \ -- umovestr_cached_adjacent.c uname.c unblock_reset_raise.c \ -- unix-pair-send-recv.c unix-pair-sendto-recvfrom.c unlink.c \ -- unlinkat.c unshare.c userfaultfd.c ustat.c utime.c utimensat.c \ -- utimensat-Xabbrev.c utimensat-Xraw.c utimensat-Xverbose.c \ -- utimes.c vfork-f.c vhangup.c vmsplice.c wait4.c wait4-v.c \ -- waitid.c waitid-v.c waitpid.c xattr.c xattr-strings.c \ -- xet_robust_list.c xet_thread_area_x86.c xetitimer.c xetpgid.c \ -- xetpriority.c xettimeofday.c zeroargc.c -+ syslog-success.c tee.c tgkill.c tgkill--pidns-translation.c \ -+ threads-execve.c threads-execve--quiet-thread-execve.c \ -+ threads-execve-q.c threads-execve-qq.c threads-execve-qqq.c \ -+ time.c timer_create.c timer_xettime.c timerfd_xettime.c \ -+ times.c times-fail.c tkill.c tkill--pidns-translation.c \ -+ tracer_ppid_pgid_sid.c $(trie_test_SOURCES) truncate.c \ -+ truncate64.c ugetrlimit.c uio.c umask.c umount.c umount2.c \ -+ umoven-illptr.c umovestr.c umovestr-illptr.c umovestr2.c \ -+ umovestr3.c umovestr_cached.c umovestr_cached_adjacent.c \ -+ uname.c unblock_reset_raise.c unix-pair-send-recv.c \ -+ unix-pair-sendto-recvfrom.c unlink.c unlinkat.c unshare.c \ -+ userfaultfd.c ustat.c utime.c utimensat.c utimensat-Xabbrev.c \ -+ utimensat-Xraw.c utimensat-Xverbose.c utimes.c vfork-f.c \ -+ vhangup.c vmsplice.c wait4.c wait4-v.c waitid.c waitid-v.c \ -+ waitpid.c xattr.c xattr-strings.c xet_robust_list.c \ -+ xet_robust_list--pidns-translation.c xet_thread_area_x86.c \ -+ xetitimer.c xetpgid.c xetpgid--pidns-translation.c \ -+ xetpriority.c xetpriority--pidns-translation.c xettimeofday.c \ -+ zeroargc.c - DIST_SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.c \ - accept.c accept4.c access.c acct.c add_key.c adjtimex.c aio.c \ - aio_pgetevents.c alarm.c answer.c attach-f-p.c \ -@@ -4490,26 +4756,30 @@ - fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \ - fanotify_mark-Xabbrev.c fanotify_mark-Xraw.c \ - fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmodat.c fchown.c \ -- fchown32.c fchownat.c fcntl.c fcntl64.c fdatasync.c fflush.c \ -+ fchown32.c fchownat.c fcntl.c fcntl--pidns-translation.c \ -+ fcntl64.c fcntl64--pidns-translation.c fdatasync.c fflush.c \ - file_handle.c file_ioctl.c filter-unavailable.c \ - filter_seccomp-flag.c filter_seccomp-perf.c finit_module.c \ -- flock.c fork-f.c fsconfig.c fsconfig-P.c fsmount.c fsopen.c \ -- fspick.c fspick-P.c fstat.c fstat-Xabbrev.c fstat-Xraw.c \ -- fstat-Xverbose.c fstat64.c fstat64-Xabbrev.c fstat64-Xraw.c \ -- fstat64-Xverbose.c fstatat64.c fstatfs.c fstatfs64.c fsync.c \ -- fsync-y.c ftruncate.c ftruncate64.c futex.c futimesat.c \ -- get_mempolicy.c get_process_reaper.c getcpu.c getcwd.c \ -- getdents.c getdents-v.c getdents64.c getdents64-v.c getegid.c \ -- getegid32.c geteuid.c geteuid32.c getgid.c getgid32.c \ -- getgroups.c getgroups32.c getpeername.c getpgrp.c getpid.c \ -- getppid.c getrandom.c getresgid.c getresgid32.c getresuid.c \ -- getresuid32.c getrlimit.c getrusage.c getsid.c getsockname.c \ -- gettid.c getuid.c getuid32.c getxgid.c getxpid.c getxuid.c \ -- group_req.c inet-cmsg.c init_module.c inject-nf.c inotify.c \ -- inotify_init.c inotify_init-y.c inotify_init1.c \ -- inotify_init1-y.c int_0x80.c io_uring_enter.c \ -- io_uring_register.c io_uring_setup.c ioctl.c ioctl_block.c \ -- ioctl_dm.c ioctl_dm-v.c ioctl_evdev.c ioctl_evdev-Xabbrev.c \ -+ flock.c fork--pidns-translation.c fork-f.c fsconfig.c \ -+ fsconfig-P.c fsmount.c fsopen.c fspick.c fspick-P.c fstat.c \ -+ fstat-Xabbrev.c fstat-Xraw.c fstat-Xverbose.c fstat64.c \ -+ fstat64-Xabbrev.c fstat64-Xraw.c fstat64-Xverbose.c \ -+ fstatat64.c fstatfs.c fstatfs64.c fsync.c fsync-y.c \ -+ ftruncate.c ftruncate64.c futex.c futimesat.c get_mempolicy.c \ -+ get_process_reaper.c getcpu.c getcwd.c getdents.c getdents-v.c \ -+ getdents64.c getdents64-v.c getegid.c getegid32.c geteuid.c \ -+ geteuid32.c getgid.c getgid32.c getgroups.c getgroups32.c \ -+ getpeername.c getpgrp.c getpgrp--pidns-translation.c getpid.c \ -+ getpid--pidns-translation.c getppid.c getrandom.c getresgid.c \ -+ getresgid32.c getresuid.c getresuid32.c getrlimit.c \ -+ getrusage.c getsid.c getsid--pidns-translation.c getsockname.c \ -+ gettid.c gettid--pidns-translation.c getuid.c getuid32.c \ -+ getxgid.c getxpid.c getxuid.c group_req.c inet-cmsg.c \ -+ init_module.c inject-nf.c inotify.c inotify_init.c \ -+ inotify_init-y.c inotify_init1.c inotify_init1-y.c int_0x80.c \ -+ io_uring_enter.c io_uring_register.c io_uring_setup.c ioctl.c \ -+ ioctl_block.c ioctl_block--pidns-translation.c ioctl_dm.c \ -+ ioctl_dm-v.c ioctl_evdev.c ioctl_evdev-Xabbrev.c \ - ioctl_evdev-Xraw.c ioctl_evdev-Xverbose.c \ - ioctl_evdev-success.c ioctl_evdev-success-Xabbrev.c \ - ioctl_evdev-success-Xraw.c ioctl_evdev-success-Xverbose.c \ -@@ -4537,47 +4807,51 @@ - ioctl_v4l2-success-v-Xverbose.c ioctl_v4l2-v.c \ - ioctl_v4l2-v-Xabbrev.c ioctl_v4l2-v-Xraw.c \ - ioctl_v4l2-v-Xverbose.c ioctl_watchdog.c ioperm.c iopl.c \ -- ioprio.c ioprio-Xabbrev.c ioprio-Xraw.c ioprio-Xverbose.c \ -- ip_mreq.c ipc.c ipc_msg.c ipc_msg-Xabbrev.c ipc_msg-Xraw.c \ -- ipc_msg-Xverbose.c ipc_msgbuf.c ipc_msgbuf-Xabbrev.c \ -- ipc_msgbuf-Xraw.c ipc_msgbuf-Xverbose.c ipc_sem.c \ -- ipc_sem-Xabbrev.c ipc_sem-Xraw.c ipc_sem-Xverbose.c ipc_shm.c \ -- ipc_shm-Xabbrev.c ipc_shm-Xraw.c ipc_shm-Xverbose.c \ -- is_linux_mips_n64.c kcmp.c kcmp-y.c kern_features.c \ -+ ioprio.c ioprio--pidns-translation.c ioprio-Xabbrev.c \ -+ ioprio-Xraw.c ioprio-Xverbose.c ip_mreq.c ipc.c ipc_msg.c \ -+ ipc_msg-Xabbrev.c ipc_msg-Xraw.c ipc_msg-Xverbose.c \ -+ ipc_msgbuf.c ipc_msgbuf-Xabbrev.c ipc_msgbuf-Xraw.c \ -+ ipc_msgbuf-Xverbose.c ipc_sem.c ipc_sem-Xabbrev.c \ -+ ipc_sem-Xraw.c ipc_sem-Xverbose.c ipc_shm.c ipc_shm-Xabbrev.c \ -+ ipc_shm-Xraw.c ipc_shm-Xverbose.c is_linux_mips_n64.c kcmp.c \ -+ kcmp-y.c kcmp-y--pidns-translation.c kern_features.c \ - kernel_version.c kernel_version-Xabbrev.c \ - kernel_version-Xraw.c kernel_version-Xverbose.c \ - kexec_file_load.c kexec_load.c keyctl.c keyctl-Xabbrev.c \ -- keyctl-Xraw.c keyctl-Xverbose.c kill.c kill_child.c ksysent.c \ -- lchown.c lchown32.c link.c linkat.c list_sigaction_signum.c \ -- llseek.c localtime.c lookup_dcookie.c looping_threads.c \ -- lseek.c lstat.c lstat64.c madvise.c maybe_switch_current_tcp.c \ -+ keyctl-Xraw.c keyctl-Xverbose.c kill.c \ -+ kill--pidns-translation.c kill_child.c ksysent.c lchown.c \ -+ lchown32.c link.c linkat.c list_sigaction_signum.c llseek.c \ -+ localtime.c lookup_dcookie.c looping_threads.c lseek.c lstat.c \ -+ lstat64.c madvise.c maybe_switch_current_tcp.c \ - maybe_switch_current_tcp--quiet-thread-execve.c mbind.c \ - mbind-Xabbrev.c mbind-Xraw.c mbind-Xverbose.c membarrier.c \ - memfd_create.c memfd_create-Xabbrev.c memfd_create-Xraw.c \ -- memfd_create-Xverbose.c migrate_pages.c mincore.c mkdir.c \ -- mkdirat.c mknod.c mknodat.c mlock.c mlock2.c mlockall.c mmap.c \ -+ memfd_create-Xverbose.c migrate_pages.c \ -+ migrate_pages--pidns-translation.c mincore.c mkdir.c mkdirat.c \ -+ mknod.c mknodat.c mlock.c mlock2.c mlockall.c mmap.c \ - mmap-Xabbrev.c mmap-Xraw.c mmap-Xverbose.c mmap64.c \ - mmap64-Xabbrev.c mmap64-Xraw.c mmap64-Xverbose.c mmsg.c \ - mmsg-silent.c mmsg_name.c mmsg_name-v.c modify_ldt.c mount.c \ - mount-Xabbrev.c mount-Xraw.c mount-Xverbose.c move_mount.c \ -- move_mount-P.c move_pages.c move_pages-Xabbrev.c \ -- move_pages-Xraw.c move_pages-Xverbose.c mq.c mq_sendrecv.c \ -- mq_sendrecv-read.c mq_sendrecv-write.c msg_control.c \ -- msg_control-v.c msg_name.c munlockall.c nanosleep.c \ -- net--decode-fds-dev-netlink.c net--decode-fds-none-netlink.c \ -- net--decode-fds-path-netlink.c \ -+ move_mount-P.c move_pages.c move_pages--pidns-translation.c \ -+ move_pages-Xabbrev.c move_pages-Xraw.c move_pages-Xverbose.c \ -+ mq.c mq_sendrecv.c mq_sendrecv-read.c mq_sendrecv-write.c \ -+ msg_control.c msg_control-v.c msg_name.c munlockall.c \ -+ nanosleep.c net--decode-fds-dev-netlink.c \ -+ net--decode-fds-none-netlink.c net--decode-fds-path-netlink.c \ - net--decode-fds-socket-netlink.c net-accept-connect.c \ - net-icmp_filter.c net-packet_mreq.c net-packet_mreq-Xabbrev.c \ - net-packet_mreq-Xraw.c net-packet_mreq-Xverbose.c \ -- net-sockaddr.c net-tpacket_req.c net-tpacket_stats.c \ -+ net-sockaddr.c net-sockaddr--pidns-translation.c \ -+ net-tpacket_req.c net-tpacket_stats.c \ - net-tpacket_stats-success.c net-y-unix.c net-yy-inet.c \ - net-yy-inet6.c net-yy-netlink.c net-yy-unix.c netlink_audit.c \ -- netlink_crypto.c netlink_generic.c netlink_inet_diag.c \ -- netlink_kobject_uevent.c netlink_netfilter.c \ -- netlink_netlink_diag.c netlink_protocol.c netlink_route.c \ -- netlink_selinux.c netlink_sock_diag.c netlink_unix_diag.c \ -- netlink_xfrm.c newfstatat.c nfnetlink_acct.c \ -- nfnetlink_cthelper.c nfnetlink_ctnetlink.c \ -+ netlink_audit--pidns-translation.c netlink_crypto.c \ -+ netlink_generic.c netlink_inet_diag.c netlink_kobject_uevent.c \ -+ netlink_netfilter.c netlink_netlink_diag.c netlink_protocol.c \ -+ netlink_route.c netlink_selinux.c netlink_sock_diag.c \ -+ netlink_unix_diag.c netlink_xfrm.c newfstatat.c \ -+ nfnetlink_acct.c nfnetlink_cthelper.c nfnetlink_ctnetlink.c \ - nfnetlink_ctnetlink_exp.c nfnetlink_cttimeout.c \ - nfnetlink_ipset.c nfnetlink_nft_compat.c nfnetlink_nftables.c \ - nfnetlink_osf.c nfnetlink_queue.c nfnetlink_ulog.c nlattr.c \ -@@ -4607,12 +4881,13 @@ - personality-Xraw.c personality-Xverbose.c pidfd_getfd.c \ - pidfd_getfd-y.c pidfd_getfd-yy.c pidfd_open.c \ - pidfd_open--decode-fd-path.c pidfd_open--decode-fd-pidfd.c \ -- pidfd_open--decode-fd-socket.c pidfd_open-P.c pidfd_open-y.c \ -- pidfd_open-yy.c pidfd_send_signal.c pipe.c pipe2.c \ -- pkey_alloc.c pkey_free.c pkey_mprotect.c poll.c poll-P.c \ -- ppoll.c ppoll-P.c ppoll-v.c prctl-arg2-intptr.c \ -- prctl-dumpable.c prctl-name.c prctl-no-args.c \ -- prctl-pdeathsig.c prctl-seccomp-filter-v.c \ -+ pidfd_open--decode-fd-socket.c pidfd_open--pidns-translation.c \ -+ pidfd_open-P.c pidfd_open-y.c pidfd_open-yy.c \ -+ pidfd_send_signal.c pidfd_send_signal--pidns-translation.c \ -+ pidns-cache.c pipe.c pipe2.c pkey_alloc.c pkey_free.c \ -+ pkey_mprotect.c poll.c poll-P.c ppoll.c ppoll-P.c ppoll-v.c \ -+ prctl-arg2-intptr.c prctl-dumpable.c prctl-name.c \ -+ prctl-no-args.c prctl-pdeathsig.c prctl-seccomp-filter-v.c \ - prctl-seccomp-strict.c prctl-securebits.c prctl-spec-inject.c \ - prctl-tid_address.c prctl-tsc.c pread64-pwrite64.c preadv.c \ - preadv-pwritev.c preadv2-pwritev2.c print_maxfd.c \ -@@ -4621,8 +4896,10 @@ - printsignal-Xabbrev.c printsignal-Xraw.c \ - printsignal-Xverbose.c printstr.c printstrn-umoven.c \ - printstrn-umoven-peekdata.c printstrn-umoven-undumpable.c \ -- prlimit64.c process_vm_readv.c process_vm_writev.c pselect6.c \ -- ptrace.c ptrace_syscall_info.c pwritev.c qual_fault.c \ -+ prlimit64.c prlimit64--pidns-translation.c process_vm_readv.c \ -+ process_vm_readv--pidns-translation.c process_vm_writev.c \ -+ process_vm_writev--pidns-translation.c pselect6.c ptrace.c \ -+ ptrace_syscall_info.c pwritev.c qual_fault.c \ - qual_inject-error-signal.c qual_inject-retval.c \ - qual_inject-signal.c qual_signal.c quotactl.c \ - quotactl-Xabbrev.c quotactl-Xraw.c quotactl-Xverbose.c \ -@@ -4635,60 +4912,70 @@ - remap_file_pages-Xraw.c remap_file_pages-Xverbose.c rename.c \ - renameat.c renameat2.c request_key.c restart_syscall.c \ - riscv_flush_icache.c rmdir.c rt_sigaction.c rt_sigpending.c \ -- rt_sigprocmask.c rt_sigqueueinfo.c rt_sigreturn.c \ -+ rt_sigprocmask.c rt_sigqueueinfo.c \ -+ rt_sigqueueinfo--pidns-translation.c rt_sigreturn.c \ - rt_sigsuspend.c rt_sigtimedwait.c rt_tgsigqueueinfo.c \ -- run_expect_termsig.c s390_guarded_storage.c \ -- s390_guarded_storage-v.c s390_pci_mmio_read_write.c \ -- s390_runtime_instr.c s390_sthyi.c s390_sthyi-v.c \ -- sched_get_priority_mxx.c sched_rr_get_interval.c \ -- sched_xetaffinity.c sched_xetattr.c sched_xetparam.c \ -- sched_xetscheduler.c sched_yield.c scm_rights.c \ -- seccomp-filter.c seccomp-filter-v.c seccomp-strict.c \ -- seccomp_get_action_avail.c select.c select-P.c semop.c \ -- semop-indirect.c semtimedop.c sendfile.c sendfile64.c \ -- set_mempolicy.c set_mempolicy-Xabbrev.c set_mempolicy-Xraw.c \ -- set_mempolicy-Xverbose.c set_ptracer_any.c set_sigblock.c \ -- set_sigign.c setdomainname.c setfsgid.c setfsgid32.c \ -- setfsuid.c setfsuid32.c setgid.c setgid32.c setgroups.c \ -- setgroups32.c sethostname.c setns.c setpgrp-exec.c setregid.c \ -- setregid32.c setresgid.c setresgid32.c setresuid.c \ -- setresuid32.c setreuid.c setreuid32.c setrlimit.c \ -- setrlimit-Xabbrev.c setrlimit-Xraw.c setrlimit-Xverbose.c \ -- setuid.c setuid32.c shmxt.c shutdown.c sigaction.c \ -- sigaltstack.c siginfo.c signal.c signal_receive.c signalfd4.c \ -- sigpending.c sigprocmask.c sigreturn.c sigsuspend.c sleep.c \ -- so_error.c so_linger.c so_peercred.c so_peercred-Xabbrev.c \ -- so_peercred-Xraw.c so_peercred-Xverbose.c sock_filter-v.c \ -- sock_filter-v-Xabbrev.c sock_filter-v-Xraw.c \ -- sock_filter-v-Xverbose.c sockaddr_xlat-Xabbrev.c \ -- sockaddr_xlat-Xraw.c sockaddr_xlat-Xverbose.c socketcall.c \ -- sockopt-sol_netlink.c sockopt-timestamp.c splice.c \ -- $(stack_fcall_SOURCES) $(stack_fcall_attach_SOURCES) \ -- $(stack_fcall_mangled_SOURCES) stat.c stat64.c statfs.c \ -- statfs64.c status-all.c status-failed.c status-failed-long.c \ -- status-failed-status.c status-none.c status-none-f.c \ -- status-none-threads.c status-successful.c \ -- status-successful-long.c status-successful-status.c \ -- status-unfinished.c status-unfinished-threads.c statx.c \ -- strace--strings-in-hex.c strace--strings-in-hex-all.c \ -+ rt_tgsigqueueinfo--pidns-translation.c run_expect_termsig.c \ -+ s390_guarded_storage.c s390_guarded_storage-v.c \ -+ s390_pci_mmio_read_write.c s390_runtime_instr.c s390_sthyi.c \ -+ s390_sthyi-v.c sched_get_priority_mxx.c \ -+ sched_rr_get_interval.c sched_xetaffinity.c \ -+ sched_xetaffinity--pidns-translation.c sched_xetattr.c \ -+ sched_xetattr--pidns-translation.c sched_xetparam.c \ -+ sched_xetparam--pidns-translation.c sched_xetscheduler.c \ -+ sched_xetscheduler--pidns-translation.c sched_yield.c \ -+ scm_rights.c seccomp-filter.c seccomp-filter-v.c \ -+ seccomp-strict.c seccomp_get_action_avail.c select.c \ -+ select-P.c semop.c semop-indirect.c semtimedop.c sendfile.c \ -+ sendfile64.c set_mempolicy.c set_mempolicy-Xabbrev.c \ -+ set_mempolicy-Xraw.c set_mempolicy-Xverbose.c \ -+ set_ptracer_any.c set_sigblock.c set_sigign.c setdomainname.c \ -+ setfsgid.c setfsgid32.c setfsuid.c setfsuid32.c setgid.c \ -+ setgid32.c setgroups.c setgroups32.c sethostname.c setns.c \ -+ setpgrp-exec.c setregid.c setregid32.c setresgid.c \ -+ setresgid32.c setresuid.c setresuid32.c setreuid.c \ -+ setreuid32.c setrlimit.c setrlimit-Xabbrev.c setrlimit-Xraw.c \ -+ setrlimit-Xverbose.c setuid.c setuid32.c shmxt.c shutdown.c \ -+ sigaction.c sigaltstack.c siginfo.c signal.c signal_receive.c \ -+ signal_receive--pidns-translation.c signalfd4.c sigpending.c \ -+ sigprocmask.c sigreturn.c sigsuspend.c sleep.c so_error.c \ -+ so_linger.c so_peercred.c so_peercred--pidns-translation.c \ -+ so_peercred-Xabbrev.c so_peercred-Xraw.c \ -+ so_peercred-Xverbose.c sock_filter-v.c sock_filter-v-Xabbrev.c \ -+ sock_filter-v-Xraw.c sock_filter-v-Xverbose.c \ -+ sockaddr_xlat-Xabbrev.c sockaddr_xlat-Xraw.c \ -+ sockaddr_xlat-Xverbose.c socketcall.c sockopt-sol_netlink.c \ -+ sockopt-timestamp.c splice.c $(stack_fcall_SOURCES) \ -+ $(stack_fcall_attach_SOURCES) $(stack_fcall_mangled_SOURCES) \ -+ stat.c stat64.c statfs.c statfs64.c status-all.c \ -+ status-failed.c status-failed-long.c status-failed-status.c \ -+ status-none.c status-none-f.c status-none-threads.c \ -+ status-successful.c status-successful-long.c \ -+ status-successful-status.c status-unfinished.c \ -+ status-unfinished-threads.c statx.c strace--strings-in-hex.c \ -+ strace--strings-in-hex-all.c \ - strace--strings-in-hex-non-ascii.c strace-x.c strace-xx.c \ - swap.c sxetmask.c symlink.c symlinkat.c sync.c \ - sync_file_range.c sync_file_range2.c sysinfo.c syslog.c \ -- syslog-success.c tee.c tgkill.c threads-execve.c \ -- threads-execve--quiet-thread-execve.c threads-execve-q.c \ -- threads-execve-qq.c threads-execve-qqq.c time.c timer_create.c \ -- timer_xettime.c timerfd_xettime.c times.c times-fail.c tkill.c \ -- tracer_ppid_pgid_sid.c truncate.c truncate64.c ugetrlimit.c \ -- uio.c umask.c umount.c umount2.c umoven-illptr.c umovestr.c \ -- umovestr-illptr.c umovestr2.c umovestr3.c umovestr_cached.c \ -- umovestr_cached_adjacent.c uname.c unblock_reset_raise.c \ -- unix-pair-send-recv.c unix-pair-sendto-recvfrom.c unlink.c \ -- unlinkat.c unshare.c userfaultfd.c ustat.c utime.c utimensat.c \ -- utimensat-Xabbrev.c utimensat-Xraw.c utimensat-Xverbose.c \ -- utimes.c vfork-f.c vhangup.c vmsplice.c wait4.c wait4-v.c \ -- waitid.c waitid-v.c waitpid.c xattr.c xattr-strings.c \ -- xet_robust_list.c xet_thread_area_x86.c xetitimer.c xetpgid.c \ -- xetpriority.c xettimeofday.c zeroargc.c -+ syslog-success.c tee.c tgkill.c tgkill--pidns-translation.c \ -+ threads-execve.c threads-execve--quiet-thread-execve.c \ -+ threads-execve-q.c threads-execve-qq.c threads-execve-qqq.c \ -+ time.c timer_create.c timer_xettime.c timerfd_xettime.c \ -+ times.c times-fail.c tkill.c tkill--pidns-translation.c \ -+ tracer_ppid_pgid_sid.c $(trie_test_SOURCES) truncate.c \ -+ truncate64.c ugetrlimit.c uio.c umask.c umount.c umount2.c \ -+ umoven-illptr.c umovestr.c umovestr-illptr.c umovestr2.c \ -+ umovestr3.c umovestr_cached.c umovestr_cached_adjacent.c \ -+ uname.c unblock_reset_raise.c unix-pair-send-recv.c \ -+ unix-pair-sendto-recvfrom.c unlink.c unlinkat.c unshare.c \ -+ userfaultfd.c ustat.c utime.c utimensat.c utimensat-Xabbrev.c \ -+ utimensat-Xraw.c utimensat-Xverbose.c utimes.c vfork-f.c \ -+ vhangup.c vmsplice.c wait4.c wait4-v.c waitid.c waitid-v.c \ -+ waitpid.c xattr.c xattr-strings.c xet_robust_list.c \ -+ xet_robust_list--pidns-translation.c xet_thread_area_x86.c \ -+ xetitimer.c xetpgid.c xetpgid--pidns-translation.c \ -+ xetpriority.c xetpriority--pidns-translation.c xettimeofday.c \ -+ zeroargc.c - am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ -@@ -5145,6 +5432,7 @@ - test_ucopy.h \ - tests.h \ - tprintf.c \ -+ xmalloc_for_tests.c \ - # end of libtests_a_SOURCES - - libtests_a_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64 -@@ -5825,6 +6113,10 @@ - stack-fcall-mangled-0.c stack-fcall-mangled-1.c \ - stack-fcall-mangled-2.c stack-fcall-mangled-3.c - -+trie_test_SOURCES = trie_test.c trie_for_tests.c -+trie_test_CPPFLAGS = $(AM_CPPFLAGS) $(CODE_COVERAGE_CPPFLAGS) -+trie_test_CFLAGS = $(AM_CFLAGS) $(CODE_COVERAGE_CFLAGS) -+trie_test_LDADD = $(LDADD) $(CODE_COVERAGE_LIBS) - - # Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in; do not edit. - GEN_TESTS = _newselect.gen.test _newselect-P.gen.test accept.gen.test \ -@@ -5861,13 +6153,14 @@ - fanotify_mark-Xverbose.gen.test fchdir.gen.test \ - fchmod.gen.test fchmodat.gen.test fchown.gen.test \ - fchown32.gen.test fchownat.gen.test fcntl.gen.test \ -- fcntl64.gen.test fdatasync.gen.test file_handle.gen.test \ -- file_ioctl.gen.test filter_seccomp.gen.test \ -- filter_seccomp-flag.gen.test finit_module.gen.test \ -- flock.gen.test fork-f.gen.test fsconfig.gen.test \ -- fsconfig-P.gen.test fsmount.gen.test fsopen.gen.test \ -- fspick.gen.test fspick-P.gen.test fstat.gen.test \ -- fstat-Xabbrev.gen.test fstat-Xraw.gen.test \ -+ fcntl--pidns-translation.gen.test fcntl64.gen.test \ -+ fcntl64--pidns-translation.gen.test fdatasync.gen.test \ -+ file_handle.gen.test file_ioctl.gen.test \ -+ filter_seccomp.gen.test filter_seccomp-flag.gen.test \ -+ finit_module.gen.test flock.gen.test fork-f.gen.test \ -+ fsconfig.gen.test fsconfig-P.gen.test fsmount.gen.test \ -+ fsopen.gen.test fspick.gen.test fspick-P.gen.test \ -+ fstat.gen.test fstat-Xabbrev.gen.test fstat-Xraw.gen.test \ - fstat-Xverbose.gen.test fstat64.gen.test \ - fstat64-Xabbrev.gen.test fstat64-Xraw.gen.test \ - fstat64-Xverbose.gen.test fstatat64.gen.test fstatfs.gen.test \ -@@ -5881,11 +6174,13 @@ - geteuid32-creds.gen.test getgid.gen.test getgid-creds.gen.test \ - getgid32.gen.test getgid32-creds.gen.test getgroups.gen.test \ - getgroups32.gen.test getpeername.gen.test getpgrp.gen.test \ -- getpid.gen.test getppid.gen.test getrandom.gen.test \ -- getresgid.gen.test getresgid32.gen.test getresuid.gen.test \ -- getresuid32.gen.test getrlimit.gen.test getrusage.gen.test \ -- getsid.gen.test getsockname.gen.test gettid.gen.test \ -- getuid-creds.gen.test getuid32.gen.test \ -+ getpgrp--pidns-translation.gen.test getpid.gen.test \ -+ getpid--pidns-translation.gen.test getppid.gen.test \ -+ getrandom.gen.test getresgid.gen.test getresgid32.gen.test \ -+ getresuid.gen.test getresuid32.gen.test getrlimit.gen.test \ -+ getrusage.gen.test getsid.gen.test \ -+ getsid--pidns-translation.gen.test getsockname.gen.test \ -+ gettid.gen.test getuid-creds.gen.test getuid32.gen.test \ - getuid32-creds.gen.test getxgid.gen.test getxpid.gen.test \ - getxuid.gen.test group_req.gen.test inet-cmsg.gen.test \ - init_module.gen.test inotify.gen.test inotify_init.gen.test \ -@@ -5937,9 +6232,9 @@ - ioctl_v4l2-success-v-Xraw.gen.test \ - ioctl_v4l2-success-v-Xverbose.gen.test ioctl_watchdog.gen.test \ - ioperm.gen.test iopl.gen.test ioprio.gen.test \ -- ioprio-Xabbrev.gen.test ioprio-Xraw.gen.test \ -- ioprio-Xverbose.gen.test ip_mreq.gen.test ipc.gen.test \ -- ipc_msg.gen.test ipc_msg-Xabbrev.gen.test \ -+ ioprio--pidns-translation.gen.test ioprio-Xabbrev.gen.test \ -+ ioprio-Xraw.gen.test ioprio-Xverbose.gen.test ip_mreq.gen.test \ -+ ipc.gen.test ipc_msg.gen.test ipc_msg-Xabbrev.gen.test \ - ipc_msg-Xraw.gen.test ipc_msg-Xverbose.gen.test \ - ipc_msgbuf-Xabbrev.gen.test ipc_msgbuf-Xraw.gen.test \ - ipc_msgbuf-Xverbose.gen.test ipc_sem.gen.test \ -@@ -5947,24 +6242,27 @@ - ipc_sem-Xverbose.gen.test ipc_shm.gen.test \ - ipc_shm-Xabbrev.gen.test ipc_shm-Xraw.gen.test \ - ipc_shm-Xverbose.gen.test kcmp.gen.test kcmp-y.gen.test \ -- kern_features.gen.test kernel_version.gen.test \ -- kernel_version-Xabbrev.gen.test kernel_version-Xraw.gen.test \ -- kernel_version-Xverbose.gen.test kexec_file_load.gen.test \ -- kexec_load.gen.test keyctl.gen.test keyctl-Xabbrev.gen.test \ -- keyctl-Xraw.gen.test keyctl-Xverbose.gen.test kill.gen.test \ -- ksysent.gen.test lchown.gen.test lchown32.gen.test \ -- link.gen.test linkat.gen.test lookup_dcookie.gen.test \ -- lstat.gen.test lstat64.gen.test madvise.gen.test \ -+ kcmp-y--pidns-translation.gen.test kern_features.gen.test \ -+ kernel_version.gen.test kernel_version-Xabbrev.gen.test \ -+ kernel_version-Xraw.gen.test kernel_version-Xverbose.gen.test \ -+ kexec_file_load.gen.test kexec_load.gen.test keyctl.gen.test \ -+ keyctl-Xabbrev.gen.test keyctl-Xraw.gen.test \ -+ keyctl-Xverbose.gen.test kill.gen.test \ -+ kill--pidns-translation.gen.test ksysent.gen.test \ -+ lchown.gen.test lchown32.gen.test link.gen.test \ -+ linkat.gen.test lookup_dcookie.gen.test lstat.gen.test \ -+ lstat64.gen.test madvise.gen.test \ - maybe_switch_current_tcp.gen.test \ - maybe_switch_current_tcp--quiet-thread-execve.gen.test \ - mbind.gen.test mbind-Xabbrev.gen.test mbind-Xraw.gen.test \ - mbind-Xverbose.gen.test membarrier.gen.test \ - memfd_create.gen.test memfd_create-Xabbrev.gen.test \ - memfd_create-Xraw.gen.test memfd_create-Xverbose.gen.test \ -- migrate_pages.gen.test mincore.gen.test mkdir.gen.test \ -- mkdirat.gen.test mknod.gen.test mknodat.gen.test \ -- mlock.gen.test mlock2.gen.test mlockall.gen.test \ -- mmap-Xabbrev.gen.test mmap-Xraw.gen.test \ -+ migrate_pages.gen.test \ -+ migrate_pages--pidns-translation.gen.test mincore.gen.test \ -+ mkdir.gen.test mkdirat.gen.test mknod.gen.test \ -+ mknodat.gen.test mlock.gen.test mlock2.gen.test \ -+ mlockall.gen.test mmap-Xabbrev.gen.test mmap-Xraw.gen.test \ - mmap-Xverbose.gen.test mmap64.gen.test mmap64-Xabbrev.gen.test \ - mmap64-Xraw.gen.test mmap64-Xverbose.gen.test mmsg.gen.test \ - mmsg-silent.gen.test mmsg_name.gen.test mmsg_name-v.gen.test \ -@@ -5972,17 +6270,19 @@ - mount-Xraw.gen.test mount-Xverbose.gen.test \ - move_mount.gen.test move_mount-P.gen.test move_pages.gen.test \ - move_pages-Xabbrev.gen.test move_pages-Xraw.gen.test \ -- move_pages-Xverbose.gen.test mq.gen.test mq_sendrecv.gen.test \ -- mq_sendrecv-read.gen.test mq_sendrecv-write.gen.test \ -- msg_control.gen.test msg_control-v.gen.test msg_name.gen.test \ -- munlockall.gen.test nanosleep.gen.test \ -- net--decode-fds-dev-netlink.gen.test \ -+ move_pages-Xverbose.gen.test \ -+ move_pages--pidns-translation.gen.test mq.gen.test \ -+ mq_sendrecv.gen.test mq_sendrecv-read.gen.test \ -+ mq_sendrecv-write.gen.test msg_control.gen.test \ -+ msg_control-v.gen.test msg_name.gen.test munlockall.gen.test \ -+ nanosleep.gen.test net--decode-fds-dev-netlink.gen.test \ - net--decode-fds-none-netlink.gen.test \ - net--decode-fds-path-netlink.gen.test \ - net--decode-fds-socket-netlink.gen.test \ - net-icmp_filter.gen.test net-packet_mreq.gen.test \ - net-packet_mreq-Xabbrev.gen.test net-packet_mreq-Xraw.gen.test \ - net-packet_mreq-Xverbose.gen.test net-sockaddr.gen.test \ -+ net-sockaddr--pidns-translation.gen.test \ - net-tpacket_req.gen.test net-tpacket_stats.gen.test \ - net-yy-inet6.gen.test netlink_audit.gen.test \ - netlink_crypto.gen.test netlink_generic.gen.test \ -@@ -6036,18 +6336,25 @@ - pidfd_open--decode-fd-pidfd.gen.test \ - pidfd_open--decode-fd-socket.gen.test pidfd_open-P.gen.test \ - pidfd_open-y.gen.test pidfd_open-yy.gen.test \ -- pidfd_send_signal.gen.test pipe2.gen.test pkey_alloc.gen.test \ -- pkey_free.gen.test pkey_mprotect.gen.test ppoll.gen.test \ -- ppoll-P.gen.test ppoll-v.gen.test pread64-pwrite64.gen.test \ -- preadv.gen.test preadv-pwritev.gen.test \ -- preadv2-pwritev2.gen.test printpath-umovestr.gen.test \ -+ pidfd_open--pidns-translation.gen.test \ -+ pidfd_send_signal.gen.test \ -+ pidfd_send_signal--pidns-translation.gen.test pipe2.gen.test \ -+ pkey_alloc.gen.test pkey_free.gen.test pkey_mprotect.gen.test \ -+ ppoll.gen.test ppoll-P.gen.test ppoll-v.gen.test \ -+ pread64-pwrite64.gen.test preadv.gen.test \ -+ preadv-pwritev.gen.test preadv2-pwritev2.gen.test \ -+ printpath-umovestr.gen.test \ - printpath-umovestr-peekdata.gen.test \ - printpath-umovestr-undumpable.gen.test \ - printsignal-Xabbrev.gen.test printsignal-Xraw.gen.test \ - printsignal-Xverbose.gen.test printstr.gen.test \ - printstrn-umoven.gen.test printstrn-umoven-peekdata.gen.test \ - printstrn-umoven-undumpable.gen.test prlimit64.gen.test \ -- process_vm_readv.gen.test process_vm_writev.gen.test \ -+ prlimit64--pidns-translation.gen.test \ -+ process_vm_readv.gen.test \ -+ process_vm_readv--pidns-translation.gen.test \ -+ process_vm_writev.gen.test \ -+ process_vm_writev--pidns-translation.gen.test \ - pselect6.gen.test ptrace.gen.test ptrace_syscall_info.gen.test \ - pwritev.gen.test quotactl.gen.test quotactl-Xabbrev.gen.test \ - quotactl-Xraw.gen.test quotactl-Xverbose.gen.test \ -@@ -6063,15 +6370,23 @@ - renameat.gen.test renameat2.gen.test request_key.gen.test \ - riscv_flush_icache.gen.test rmdir.gen.test \ - rt_sigpending.gen.test rt_sigprocmask.gen.test \ -- rt_sigqueueinfo.gen.test rt_sigreturn.gen.test \ -- rt_sigsuspend.gen.test rt_sigtimedwait.gen.test \ -- rt_tgsigqueueinfo.gen.test s390_guarded_storage.gen.test \ -- s390_guarded_storage-v.gen.test \ -+ rt_sigqueueinfo.gen.test \ -+ rt_sigqueueinfo--pidns-translation.gen.test \ -+ rt_sigreturn.gen.test rt_sigsuspend.gen.test \ -+ rt_sigtimedwait.gen.test rt_tgsigqueueinfo.gen.test \ -+ rt_tgsigqueueinfo--pidns-translation.gen.test \ -+ s390_guarded_storage.gen.test s390_guarded_storage-v.gen.test \ - s390_pci_mmio_read_write.gen.test s390_runtime_instr.gen.test \ - s390_sthyi.gen.test s390_sthyi-v.gen.test sched.gen.test \ - sched_get_priority_mxx.gen.test sched_rr_get_interval.gen.test \ -- sched_xetaffinity.gen.test sched_xetattr.gen.test \ -- sched_xetparam.gen.test sched_xetscheduler.gen.test \ -+ sched_xetaffinity.gen.test \ -+ sched_xetaffinity--pidns-translation.gen.test \ -+ sched_xetattr.gen.test \ -+ sched_xetattr--pidns-translation.gen.test \ -+ sched_xetparam.gen.test \ -+ sched_xetparam--pidns-translation.gen.test \ -+ sched_xetscheduler.gen.test \ -+ sched_xetscheduler--pidns-translation.gen.test \ - sched_yield.gen.test seccomp-filter.gen.test \ - seccomp-filter-v.gen.test seccomp_get_action_avail.gen.test \ - select.gen.test select-P.gen.test semop.gen.test \ -@@ -6089,18 +6404,20 @@ - setrlimit-Xraw.gen.test setrlimit-Xverbose.gen.test \ - setuid.gen.test setuid32.gen.test shmxt.gen.test \ - shutdown.gen.test sigaction.gen.test siginfo.gen.test \ -- signal.gen.test signal_receive.gen.test signalfd4.gen.test \ -+ signal.gen.test signal_receive.gen.test \ -+ signal_receive--pidns-translation.gen.test signalfd4.gen.test \ - sigpending.gen.test sigprocmask.gen.test sigreturn.gen.test \ - sigsuspend.gen.test so_error.gen.test so_linger.gen.test \ - so_peercred.gen.test so_peercred-Xabbrev.gen.test \ - so_peercred-Xraw.gen.test so_peercred-Xverbose.gen.test \ -- sock_filter-v.gen.test sock_filter-v-Xabbrev.gen.test \ -- sock_filter-v-Xraw.gen.test sock_filter-v-Xverbose.gen.test \ -- sockaddr_xlat-Xabbrev.gen.test sockaddr_xlat-Xraw.gen.test \ -- sockaddr_xlat-Xverbose.gen.test socketcall.gen.test \ -- sockopt-sol_netlink.gen.test sockopt-timestamp.gen.test \ -- splice.gen.test stat.gen.test stat64.gen.test statfs.gen.test \ -- statfs64.gen.test status-all.gen.test status-failed.gen.test \ -+ so_peercred--pidns-translation.gen.test sock_filter-v.gen.test \ -+ sock_filter-v-Xabbrev.gen.test sock_filter-v-Xraw.gen.test \ -+ sock_filter-v-Xverbose.gen.test sockaddr_xlat-Xabbrev.gen.test \ -+ sockaddr_xlat-Xraw.gen.test sockaddr_xlat-Xverbose.gen.test \ -+ socketcall.gen.test sockopt-sol_netlink.gen.test \ -+ sockopt-timestamp.gen.test splice.gen.test stat.gen.test \ -+ stat64.gen.test statfs.gen.test statfs64.gen.test \ -+ status-all.gen.test status-failed.gen.test \ - status-failed-long.gen.test status-failed-status.gen.test \ - status-none.gen.test status-successful.gen.test \ - status-successful-long.gen.test \ -@@ -6142,33 +6459,37 @@ - symlink.gen.test symlinkat.gen.test sync.gen.test \ - sync_file_range.gen.test sync_file_range2.gen.test \ - sysinfo.gen.test syslog.gen.test tee.gen.test tgkill.gen.test \ -+ tgkill--pidns-translation.gen.test \ - threads-execve--quiet-thread-execve.gen.test \ - threads-execve-q.gen.test threads-execve-qq.gen.test \ - threads-execve-qqq.gen.test time.gen.test \ - timer_create.gen.test timer_xettime.gen.test \ - timerfd_xettime.gen.test times.gen.test times-fail.gen.test \ -- tkill.gen.test trace_clock.gen.test trace_creds.gen.test \ -- trace_fstat.gen.test trace_fstatfs.gen.test \ -- trace_lstat.gen.test trace_personality_32.gen.test \ -- trace_personality_64.gen.test \ -+ tkill.gen.test tkill--pidns-translation.gen.test \ -+ trace_clock.gen.test trace_creds.gen.test trace_fstat.gen.test \ -+ trace_fstatfs.gen.test trace_lstat.gen.test \ -+ trace_personality_32.gen.test trace_personality_64.gen.test \ - trace_personality_regex_32.gen.test \ - trace_personality_regex_64.gen.test \ - trace_personality_regex_x32.gen.test \ - trace_personality_x32.gen.test trace_question.gen.test \ - trace_stat.gen.test trace_stat_like.gen.test \ - trace_statfs.gen.test trace_statfs_like.gen.test \ -- truncate.gen.test truncate64.gen.test ugetrlimit.gen.test \ -- umask.gen.test umoven-illptr.gen.test umovestr-illptr.gen.test \ -- umovestr3.gen.test umovestr_cached_adjacent.gen.test \ -- unlink.gen.test unlinkat.gen.test unshare.gen.test \ -- userfaultfd.gen.test ustat.gen.test utime.gen.test \ -- utimensat.gen.test utimensat-Xabbrev.gen.test \ -- utimensat-Xraw.gen.test utimensat-Xverbose.gen.test \ -- utimes.gen.test vfork-f.gen.test vhangup.gen.test \ -- vmsplice.gen.test wait4.gen.test wait4-v.gen.test \ -- waitid.gen.test waitid-v.gen.test waitpid.gen.test \ -- xattr.gen.test xattr-strings.gen.test xet_robust_list.gen.test \ -- xetitimer.gen.test xetpgid.gen.test xetpriority.gen.test \ -+ trie_test.gen.test truncate.gen.test truncate64.gen.test \ -+ ugetrlimit.gen.test umask.gen.test umoven-illptr.gen.test \ -+ umovestr-illptr.gen.test umovestr3.gen.test \ -+ umovestr_cached_adjacent.gen.test unlink.gen.test \ -+ unlinkat.gen.test unshare.gen.test userfaultfd.gen.test \ -+ ustat.gen.test utime.gen.test utimensat.gen.test \ -+ utimensat-Xabbrev.gen.test utimensat-Xraw.gen.test \ -+ utimensat-Xverbose.gen.test utimes.gen.test vfork-f.gen.test \ -+ vhangup.gen.test vmsplice.gen.test wait4.gen.test \ -+ wait4-v.gen.test waitid.gen.test waitid-v.gen.test \ -+ waitpid.gen.test xattr.gen.test xattr-strings.gen.test \ -+ xet_robust_list.gen.test \ -+ xet_robust_list--pidns-translation.gen.test xetitimer.gen.test \ -+ xetpgid.gen.test xetpgid--pidns-translation.gen.test \ -+ xetpriority.gen.test xetpriority--pidns-translation.gen.test \ - xettimeofday.gen.test - @ENABLE_STACKTRACE_FALSE@STACKTRACE_TESTS = - @ENABLE_STACKTRACE_TRUE@STACKTRACE_TESTS = strace-k.test \ -@@ -6198,6 +6519,7 @@ - int_0x80.test \ - inotify_init-y.test \ - ioctl.test \ -+ ioctl_block--pidns-translation.test \ - ioctl_evdev-success.test \ - ipc_msgbuf.test \ - kern_features-fault.test \ -@@ -6269,15 +6591,19 @@ - filtering_fd-syntax.test \ - filtering_syscall-syntax.test \ - first_exec_failure.test \ -+ fork--pidns-translation.test \ - get_regs.test \ -+ gettid--pidns-translation.test \ - inject-nf.test \ - interactive_block.test \ - kill_child.test \ - localtime.test \ - looping_threads.test \ -+ netlink_audit--pidns-translation.test \ - opipe.test \ - options-syntax.test \ - pc.test \ -+ pidns-cache.test \ - printpath-umovestr-legacy.test \ - printstrn-umoven-legacy.test \ - qual_fault-syntax.test \ -@@ -6350,6 +6676,7 @@ - filter_seccomp.in \ - filter_seccomp.sh \ - filter-unavailable.expected \ -+ fork--pidns-translation.awk \ - fstatat.c \ - fstatx.c \ - gen_pure_executables.sh \ -@@ -6935,10 +7262,18 @@ - @rm -f fcntl$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(fcntl_OBJECTS) $(fcntl_LDADD) $(LIBS) - -+fcntl--pidns-translation$(EXEEXT): $(fcntl__pidns_translation_OBJECTS) $(fcntl__pidns_translation_DEPENDENCIES) $(EXTRA_fcntl__pidns_translation_DEPENDENCIES) -+ @rm -f fcntl--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(fcntl__pidns_translation_OBJECTS) $(fcntl__pidns_translation_LDADD) $(LIBS) -+ - fcntl64$(EXEEXT): $(fcntl64_OBJECTS) $(fcntl64_DEPENDENCIES) $(EXTRA_fcntl64_DEPENDENCIES) - @rm -f fcntl64$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(fcntl64_OBJECTS) $(fcntl64_LDADD) $(LIBS) - -+fcntl64--pidns-translation$(EXEEXT): $(fcntl64__pidns_translation_OBJECTS) $(fcntl64__pidns_translation_DEPENDENCIES) $(EXTRA_fcntl64__pidns_translation_DEPENDENCIES) -+ @rm -f fcntl64--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(fcntl64__pidns_translation_OBJECTS) $(fcntl64__pidns_translation_LDADD) $(LIBS) -+ - fdatasync$(EXEEXT): $(fdatasync_OBJECTS) $(fdatasync_DEPENDENCIES) $(EXTRA_fdatasync_DEPENDENCIES) - @rm -f fdatasync$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(fdatasync_OBJECTS) $(fdatasync_LDADD) $(LIBS) -@@ -6975,6 +7310,10 @@ - @rm -f flock$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(flock_OBJECTS) $(flock_LDADD) $(LIBS) - -+fork--pidns-translation$(EXEEXT): $(fork__pidns_translation_OBJECTS) $(fork__pidns_translation_DEPENDENCIES) $(EXTRA_fork__pidns_translation_DEPENDENCIES) -+ @rm -f fork--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(fork__pidns_translation_OBJECTS) $(fork__pidns_translation_LDADD) $(LIBS) -+ - fork-f$(EXEEXT): $(fork_f_OBJECTS) $(fork_f_DEPENDENCIES) $(EXTRA_fork_f_DEPENDENCIES) - @rm -f fork-f$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(fork_f_OBJECTS) $(fork_f_LDADD) $(LIBS) -@@ -7143,10 +7482,18 @@ - @rm -f getpgrp$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(getpgrp_OBJECTS) $(getpgrp_LDADD) $(LIBS) - -+getpgrp--pidns-translation$(EXEEXT): $(getpgrp__pidns_translation_OBJECTS) $(getpgrp__pidns_translation_DEPENDENCIES) $(EXTRA_getpgrp__pidns_translation_DEPENDENCIES) -+ @rm -f getpgrp--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(getpgrp__pidns_translation_OBJECTS) $(getpgrp__pidns_translation_LDADD) $(LIBS) -+ - getpid$(EXEEXT): $(getpid_OBJECTS) $(getpid_DEPENDENCIES) $(EXTRA_getpid_DEPENDENCIES) - @rm -f getpid$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(getpid_OBJECTS) $(getpid_LDADD) $(LIBS) - -+getpid--pidns-translation$(EXEEXT): $(getpid__pidns_translation_OBJECTS) $(getpid__pidns_translation_DEPENDENCIES) $(EXTRA_getpid__pidns_translation_DEPENDENCIES) -+ @rm -f getpid--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(getpid__pidns_translation_OBJECTS) $(getpid__pidns_translation_LDADD) $(LIBS) -+ - getppid$(EXEEXT): $(getppid_OBJECTS) $(getppid_DEPENDENCIES) $(EXTRA_getppid_DEPENDENCIES) - @rm -f getppid$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(getppid_OBJECTS) $(getppid_LDADD) $(LIBS) -@@ -7183,6 +7530,10 @@ - @rm -f getsid$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(getsid_OBJECTS) $(getsid_LDADD) $(LIBS) - -+getsid--pidns-translation$(EXEEXT): $(getsid__pidns_translation_OBJECTS) $(getsid__pidns_translation_DEPENDENCIES) $(EXTRA_getsid__pidns_translation_DEPENDENCIES) -+ @rm -f getsid--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(getsid__pidns_translation_OBJECTS) $(getsid__pidns_translation_LDADD) $(LIBS) -+ - getsockname$(EXEEXT): $(getsockname_OBJECTS) $(getsockname_DEPENDENCIES) $(EXTRA_getsockname_DEPENDENCIES) - @rm -f getsockname$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(getsockname_OBJECTS) $(getsockname_LDADD) $(LIBS) -@@ -7191,6 +7542,10 @@ - @rm -f gettid$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(gettid_OBJECTS) $(gettid_LDADD) $(LIBS) - -+gettid--pidns-translation$(EXEEXT): $(gettid__pidns_translation_OBJECTS) $(gettid__pidns_translation_DEPENDENCIES) $(EXTRA_gettid__pidns_translation_DEPENDENCIES) -+ @rm -f gettid--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(gettid__pidns_translation_OBJECTS) $(gettid__pidns_translation_LDADD) $(LIBS) -+ - getuid$(EXEEXT): $(getuid_OBJECTS) $(getuid_DEPENDENCIES) $(EXTRA_getuid_DEPENDENCIES) - @rm -f getuid$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(getuid_OBJECTS) $(getuid_LDADD) $(LIBS) -@@ -7271,6 +7626,10 @@ - @rm -f ioctl_block$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(ioctl_block_OBJECTS) $(ioctl_block_LDADD) $(LIBS) - -+ioctl_block--pidns-translation$(EXEEXT): $(ioctl_block__pidns_translation_OBJECTS) $(ioctl_block__pidns_translation_DEPENDENCIES) $(EXTRA_ioctl_block__pidns_translation_DEPENDENCIES) -+ @rm -f ioctl_block--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(ioctl_block__pidns_translation_OBJECTS) $(ioctl_block__pidns_translation_LDADD) $(LIBS) -+ - ioctl_dm$(EXEEXT): $(ioctl_dm_OBJECTS) $(ioctl_dm_DEPENDENCIES) $(EXTRA_ioctl_dm_DEPENDENCIES) - @rm -f ioctl_dm$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(ioctl_dm_OBJECTS) $(ioctl_dm_LDADD) $(LIBS) -@@ -7571,6 +7930,10 @@ - @rm -f ioprio$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(ioprio_OBJECTS) $(ioprio_LDADD) $(LIBS) - -+ioprio--pidns-translation$(EXEEXT): $(ioprio__pidns_translation_OBJECTS) $(ioprio__pidns_translation_DEPENDENCIES) $(EXTRA_ioprio__pidns_translation_DEPENDENCIES) -+ @rm -f ioprio--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(ioprio__pidns_translation_OBJECTS) $(ioprio__pidns_translation_LDADD) $(LIBS) -+ - ioprio-Xabbrev$(EXEEXT): $(ioprio_Xabbrev_OBJECTS) $(ioprio_Xabbrev_DEPENDENCIES) $(EXTRA_ioprio_Xabbrev_DEPENDENCIES) - @rm -f ioprio-Xabbrev$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(ioprio_Xabbrev_OBJECTS) $(ioprio_Xabbrev_LDADD) $(LIBS) -@@ -7667,6 +8030,10 @@ - @rm -f kcmp-y$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(kcmp_y_OBJECTS) $(kcmp_y_LDADD) $(LIBS) - -+kcmp-y--pidns-translation$(EXEEXT): $(kcmp_y__pidns_translation_OBJECTS) $(kcmp_y__pidns_translation_DEPENDENCIES) $(EXTRA_kcmp_y__pidns_translation_DEPENDENCIES) -+ @rm -f kcmp-y--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(kcmp_y__pidns_translation_OBJECTS) $(kcmp_y__pidns_translation_LDADD) $(LIBS) -+ - kern_features$(EXEEXT): $(kern_features_OBJECTS) $(kern_features_DEPENDENCIES) $(EXTRA_kern_features_DEPENDENCIES) - @rm -f kern_features$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(kern_features_OBJECTS) $(kern_features_LDADD) $(LIBS) -@@ -7715,6 +8082,10 @@ - @rm -f kill$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(kill_OBJECTS) $(kill_LDADD) $(LIBS) - -+kill--pidns-translation$(EXEEXT): $(kill__pidns_translation_OBJECTS) $(kill__pidns_translation_DEPENDENCIES) $(EXTRA_kill__pidns_translation_DEPENDENCIES) -+ @rm -f kill--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(kill__pidns_translation_OBJECTS) $(kill__pidns_translation_LDADD) $(LIBS) -+ - kill_child$(EXEEXT): $(kill_child_OBJECTS) $(kill_child_DEPENDENCIES) $(EXTRA_kill_child_DEPENDENCIES) - @rm -f kill_child$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(kill_child_OBJECTS) $(kill_child_LDADD) $(LIBS) -@@ -7823,6 +8194,10 @@ - @rm -f migrate_pages$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(migrate_pages_OBJECTS) $(migrate_pages_LDADD) $(LIBS) - -+migrate_pages--pidns-translation$(EXEEXT): $(migrate_pages__pidns_translation_OBJECTS) $(migrate_pages__pidns_translation_DEPENDENCIES) $(EXTRA_migrate_pages__pidns_translation_DEPENDENCIES) -+ @rm -f migrate_pages--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(migrate_pages__pidns_translation_OBJECTS) $(migrate_pages__pidns_translation_LDADD) $(LIBS) -+ - mincore$(EXEEXT): $(mincore_OBJECTS) $(mincore_DEPENDENCIES) $(EXTRA_mincore_DEPENDENCIES) - @rm -f mincore$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(mincore_OBJECTS) $(mincore_LDADD) $(LIBS) -@@ -7935,6 +8310,10 @@ - @rm -f move_pages$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(move_pages_OBJECTS) $(move_pages_LDADD) $(LIBS) - -+move_pages--pidns-translation$(EXEEXT): $(move_pages__pidns_translation_OBJECTS) $(move_pages__pidns_translation_DEPENDENCIES) $(EXTRA_move_pages__pidns_translation_DEPENDENCIES) -+ @rm -f move_pages--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(move_pages__pidns_translation_OBJECTS) $(move_pages__pidns_translation_LDADD) $(LIBS) -+ - move_pages-Xabbrev$(EXEEXT): $(move_pages_Xabbrev_OBJECTS) $(move_pages_Xabbrev_DEPENDENCIES) $(EXTRA_move_pages_Xabbrev_DEPENDENCIES) - @rm -f move_pages-Xabbrev$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(move_pages_Xabbrev_OBJECTS) $(move_pages_Xabbrev_LDADD) $(LIBS) -@@ -8027,6 +8406,10 @@ - @rm -f net-sockaddr$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(net_sockaddr_OBJECTS) $(net_sockaddr_LDADD) $(LIBS) - -+net-sockaddr--pidns-translation$(EXEEXT): $(net_sockaddr__pidns_translation_OBJECTS) $(net_sockaddr__pidns_translation_DEPENDENCIES) $(EXTRA_net_sockaddr__pidns_translation_DEPENDENCIES) -+ @rm -f net-sockaddr--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(net_sockaddr__pidns_translation_OBJECTS) $(net_sockaddr__pidns_translation_LDADD) $(LIBS) -+ - net-tpacket_req$(EXEEXT): $(net_tpacket_req_OBJECTS) $(net_tpacket_req_DEPENDENCIES) $(EXTRA_net_tpacket_req_DEPENDENCIES) - @rm -f net-tpacket_req$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(net_tpacket_req_OBJECTS) $(net_tpacket_req_LDADD) $(LIBS) -@@ -8063,6 +8446,10 @@ - @rm -f netlink_audit$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(netlink_audit_OBJECTS) $(netlink_audit_LDADD) $(LIBS) - -+netlink_audit--pidns-translation$(EXEEXT): $(netlink_audit__pidns_translation_OBJECTS) $(netlink_audit__pidns_translation_DEPENDENCIES) $(EXTRA_netlink_audit__pidns_translation_DEPENDENCIES) -+ @rm -f netlink_audit--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(netlink_audit__pidns_translation_OBJECTS) $(netlink_audit__pidns_translation_LDADD) $(LIBS) -+ - netlink_crypto$(EXEEXT): $(netlink_crypto_OBJECTS) $(netlink_crypto_DEPENDENCIES) $(EXTRA_netlink_crypto_DEPENDENCIES) - @rm -f netlink_crypto$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(netlink_crypto_OBJECTS) $(netlink_crypto_LDADD) $(LIBS) -@@ -8479,6 +8866,10 @@ - @rm -f pidfd_open--decode-fd-socket$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(pidfd_open__decode_fd_socket_OBJECTS) $(pidfd_open__decode_fd_socket_LDADD) $(LIBS) - -+pidfd_open--pidns-translation$(EXEEXT): $(pidfd_open__pidns_translation_OBJECTS) $(pidfd_open__pidns_translation_DEPENDENCIES) $(EXTRA_pidfd_open__pidns_translation_DEPENDENCIES) -+ @rm -f pidfd_open--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(pidfd_open__pidns_translation_OBJECTS) $(pidfd_open__pidns_translation_LDADD) $(LIBS) -+ - pidfd_open-P$(EXEEXT): $(pidfd_open_P_OBJECTS) $(pidfd_open_P_DEPENDENCIES) $(EXTRA_pidfd_open_P_DEPENDENCIES) - @rm -f pidfd_open-P$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(pidfd_open_P_OBJECTS) $(pidfd_open_P_LDADD) $(LIBS) -@@ -8495,6 +8886,14 @@ - @rm -f pidfd_send_signal$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(pidfd_send_signal_OBJECTS) $(pidfd_send_signal_LDADD) $(LIBS) - -+pidfd_send_signal--pidns-translation$(EXEEXT): $(pidfd_send_signal__pidns_translation_OBJECTS) $(pidfd_send_signal__pidns_translation_DEPENDENCIES) $(EXTRA_pidfd_send_signal__pidns_translation_DEPENDENCIES) -+ @rm -f pidfd_send_signal--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(pidfd_send_signal__pidns_translation_OBJECTS) $(pidfd_send_signal__pidns_translation_LDADD) $(LIBS) -+ -+pidns-cache$(EXEEXT): $(pidns_cache_OBJECTS) $(pidns_cache_DEPENDENCIES) $(EXTRA_pidns_cache_DEPENDENCIES) -+ @rm -f pidns-cache$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(pidns_cache_OBJECTS) $(pidns_cache_LDADD) $(LIBS) -+ - pipe$(EXEEXT): $(pipe_OBJECTS) $(pipe_DEPENDENCIES) $(EXTRA_pipe_DEPENDENCIES) - @rm -f pipe$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(pipe_OBJECTS) $(pipe_LDADD) $(LIBS) -@@ -8647,14 +9046,26 @@ - @rm -f prlimit64$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(prlimit64_OBJECTS) $(prlimit64_LDADD) $(LIBS) - -+prlimit64--pidns-translation$(EXEEXT): $(prlimit64__pidns_translation_OBJECTS) $(prlimit64__pidns_translation_DEPENDENCIES) $(EXTRA_prlimit64__pidns_translation_DEPENDENCIES) -+ @rm -f prlimit64--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(prlimit64__pidns_translation_OBJECTS) $(prlimit64__pidns_translation_LDADD) $(LIBS) -+ - process_vm_readv$(EXEEXT): $(process_vm_readv_OBJECTS) $(process_vm_readv_DEPENDENCIES) $(EXTRA_process_vm_readv_DEPENDENCIES) - @rm -f process_vm_readv$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(process_vm_readv_OBJECTS) $(process_vm_readv_LDADD) $(LIBS) - -+process_vm_readv--pidns-translation$(EXEEXT): $(process_vm_readv__pidns_translation_OBJECTS) $(process_vm_readv__pidns_translation_DEPENDENCIES) $(EXTRA_process_vm_readv__pidns_translation_DEPENDENCIES) -+ @rm -f process_vm_readv--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(process_vm_readv__pidns_translation_OBJECTS) $(process_vm_readv__pidns_translation_LDADD) $(LIBS) -+ - process_vm_writev$(EXEEXT): $(process_vm_writev_OBJECTS) $(process_vm_writev_DEPENDENCIES) $(EXTRA_process_vm_writev_DEPENDENCIES) - @rm -f process_vm_writev$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(process_vm_writev_OBJECTS) $(process_vm_writev_LDADD) $(LIBS) - -+process_vm_writev--pidns-translation$(EXEEXT): $(process_vm_writev__pidns_translation_OBJECTS) $(process_vm_writev__pidns_translation_DEPENDENCIES) $(EXTRA_process_vm_writev__pidns_translation_DEPENDENCIES) -+ @rm -f process_vm_writev--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(process_vm_writev__pidns_translation_OBJECTS) $(process_vm_writev__pidns_translation_LDADD) $(LIBS) -+ - pselect6$(EXEEXT): $(pselect6_OBJECTS) $(pselect6_DEPENDENCIES) $(EXTRA_pselect6_DEPENDENCIES) - @rm -f pselect6$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(pselect6_OBJECTS) $(pselect6_LDADD) $(LIBS) -@@ -8847,6 +9258,10 @@ - @rm -f rt_sigqueueinfo$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(rt_sigqueueinfo_OBJECTS) $(rt_sigqueueinfo_LDADD) $(LIBS) - -+rt_sigqueueinfo--pidns-translation$(EXEEXT): $(rt_sigqueueinfo__pidns_translation_OBJECTS) $(rt_sigqueueinfo__pidns_translation_DEPENDENCIES) $(EXTRA_rt_sigqueueinfo__pidns_translation_DEPENDENCIES) -+ @rm -f rt_sigqueueinfo--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(rt_sigqueueinfo__pidns_translation_OBJECTS) $(rt_sigqueueinfo__pidns_translation_LDADD) $(LIBS) -+ - rt_sigreturn$(EXEEXT): $(rt_sigreturn_OBJECTS) $(rt_sigreturn_DEPENDENCIES) $(EXTRA_rt_sigreturn_DEPENDENCIES) - @rm -f rt_sigreturn$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(rt_sigreturn_OBJECTS) $(rt_sigreturn_LDADD) $(LIBS) -@@ -8863,6 +9278,10 @@ - @rm -f rt_tgsigqueueinfo$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(rt_tgsigqueueinfo_OBJECTS) $(rt_tgsigqueueinfo_LDADD) $(LIBS) - -+rt_tgsigqueueinfo--pidns-translation$(EXEEXT): $(rt_tgsigqueueinfo__pidns_translation_OBJECTS) $(rt_tgsigqueueinfo__pidns_translation_DEPENDENCIES) $(EXTRA_rt_tgsigqueueinfo__pidns_translation_DEPENDENCIES) -+ @rm -f rt_tgsigqueueinfo--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(rt_tgsigqueueinfo__pidns_translation_OBJECTS) $(rt_tgsigqueueinfo__pidns_translation_LDADD) $(LIBS) -+ - run_expect_termsig$(EXEEXT): $(run_expect_termsig_OBJECTS) $(run_expect_termsig_DEPENDENCIES) $(EXTRA_run_expect_termsig_DEPENDENCIES) - @rm -f run_expect_termsig$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(run_expect_termsig_OBJECTS) $(run_expect_termsig_LDADD) $(LIBS) -@@ -8903,18 +9322,34 @@ - @rm -f sched_xetaffinity$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(sched_xetaffinity_OBJECTS) $(sched_xetaffinity_LDADD) $(LIBS) - -+sched_xetaffinity--pidns-translation$(EXEEXT): $(sched_xetaffinity__pidns_translation_OBJECTS) $(sched_xetaffinity__pidns_translation_DEPENDENCIES) $(EXTRA_sched_xetaffinity__pidns_translation_DEPENDENCIES) -+ @rm -f sched_xetaffinity--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(sched_xetaffinity__pidns_translation_OBJECTS) $(sched_xetaffinity__pidns_translation_LDADD) $(LIBS) -+ - sched_xetattr$(EXEEXT): $(sched_xetattr_OBJECTS) $(sched_xetattr_DEPENDENCIES) $(EXTRA_sched_xetattr_DEPENDENCIES) - @rm -f sched_xetattr$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(sched_xetattr_OBJECTS) $(sched_xetattr_LDADD) $(LIBS) - -+sched_xetattr--pidns-translation$(EXEEXT): $(sched_xetattr__pidns_translation_OBJECTS) $(sched_xetattr__pidns_translation_DEPENDENCIES) $(EXTRA_sched_xetattr__pidns_translation_DEPENDENCIES) -+ @rm -f sched_xetattr--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(sched_xetattr__pidns_translation_OBJECTS) $(sched_xetattr__pidns_translation_LDADD) $(LIBS) -+ - sched_xetparam$(EXEEXT): $(sched_xetparam_OBJECTS) $(sched_xetparam_DEPENDENCIES) $(EXTRA_sched_xetparam_DEPENDENCIES) - @rm -f sched_xetparam$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(sched_xetparam_OBJECTS) $(sched_xetparam_LDADD) $(LIBS) - -+sched_xetparam--pidns-translation$(EXEEXT): $(sched_xetparam__pidns_translation_OBJECTS) $(sched_xetparam__pidns_translation_DEPENDENCIES) $(EXTRA_sched_xetparam__pidns_translation_DEPENDENCIES) -+ @rm -f sched_xetparam--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(sched_xetparam__pidns_translation_OBJECTS) $(sched_xetparam__pidns_translation_LDADD) $(LIBS) -+ - sched_xetscheduler$(EXEEXT): $(sched_xetscheduler_OBJECTS) $(sched_xetscheduler_DEPENDENCIES) $(EXTRA_sched_xetscheduler_DEPENDENCIES) - @rm -f sched_xetscheduler$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(sched_xetscheduler_OBJECTS) $(sched_xetscheduler_LDADD) $(LIBS) - -+sched_xetscheduler--pidns-translation$(EXEEXT): $(sched_xetscheduler__pidns_translation_OBJECTS) $(sched_xetscheduler__pidns_translation_DEPENDENCIES) $(EXTRA_sched_xetscheduler__pidns_translation_DEPENDENCIES) -+ @rm -f sched_xetscheduler--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(sched_xetscheduler__pidns_translation_OBJECTS) $(sched_xetscheduler__pidns_translation_LDADD) $(LIBS) -+ - sched_yield$(EXEEXT): $(sched_yield_OBJECTS) $(sched_yield_DEPENDENCIES) $(EXTRA_sched_yield_DEPENDENCIES) - @rm -f sched_yield$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(sched_yield_OBJECTS) $(sched_yield_LDADD) $(LIBS) -@@ -9127,6 +9562,10 @@ - @rm -f signal_receive$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(signal_receive_OBJECTS) $(signal_receive_LDADD) $(LIBS) - -+signal_receive--pidns-translation$(EXEEXT): $(signal_receive__pidns_translation_OBJECTS) $(signal_receive__pidns_translation_DEPENDENCIES) $(EXTRA_signal_receive__pidns_translation_DEPENDENCIES) -+ @rm -f signal_receive--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(signal_receive__pidns_translation_OBJECTS) $(signal_receive__pidns_translation_LDADD) $(LIBS) -+ - signalfd4$(EXEEXT): $(signalfd4_OBJECTS) $(signalfd4_DEPENDENCIES) $(EXTRA_signalfd4_DEPENDENCIES) - @rm -f signalfd4$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(signalfd4_OBJECTS) $(signalfd4_LDADD) $(LIBS) -@@ -9163,6 +9602,10 @@ - @rm -f so_peercred$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(so_peercred_OBJECTS) $(so_peercred_LDADD) $(LIBS) - -+so_peercred--pidns-translation$(EXEEXT): $(so_peercred__pidns_translation_OBJECTS) $(so_peercred__pidns_translation_DEPENDENCIES) $(EXTRA_so_peercred__pidns_translation_DEPENDENCIES) -+ @rm -f so_peercred--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(so_peercred__pidns_translation_OBJECTS) $(so_peercred__pidns_translation_LDADD) $(LIBS) -+ - so_peercred-Xabbrev$(EXEEXT): $(so_peercred_Xabbrev_OBJECTS) $(so_peercred_Xabbrev_DEPENDENCIES) $(EXTRA_so_peercred_Xabbrev_DEPENDENCIES) - @rm -f so_peercred-Xabbrev$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(so_peercred_Xabbrev_OBJECTS) $(so_peercred_Xabbrev_LDADD) $(LIBS) -@@ -9367,6 +9810,10 @@ - @rm -f tgkill$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tgkill_OBJECTS) $(tgkill_LDADD) $(LIBS) - -+tgkill--pidns-translation$(EXEEXT): $(tgkill__pidns_translation_OBJECTS) $(tgkill__pidns_translation_DEPENDENCIES) $(EXTRA_tgkill__pidns_translation_DEPENDENCIES) -+ @rm -f tgkill--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(tgkill__pidns_translation_OBJECTS) $(tgkill__pidns_translation_LDADD) $(LIBS) -+ - threads-execve$(EXEEXT): $(threads_execve_OBJECTS) $(threads_execve_DEPENDENCIES) $(EXTRA_threads_execve_DEPENDENCIES) - @rm -f threads-execve$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(threads_execve_OBJECTS) $(threads_execve_LDADD) $(LIBS) -@@ -9415,10 +9862,18 @@ - @rm -f tkill$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tkill_OBJECTS) $(tkill_LDADD) $(LIBS) - -+tkill--pidns-translation$(EXEEXT): $(tkill__pidns_translation_OBJECTS) $(tkill__pidns_translation_DEPENDENCIES) $(EXTRA_tkill__pidns_translation_DEPENDENCIES) -+ @rm -f tkill--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(tkill__pidns_translation_OBJECTS) $(tkill__pidns_translation_LDADD) $(LIBS) -+ - tracer_ppid_pgid_sid$(EXEEXT): $(tracer_ppid_pgid_sid_OBJECTS) $(tracer_ppid_pgid_sid_DEPENDENCIES) $(EXTRA_tracer_ppid_pgid_sid_DEPENDENCIES) - @rm -f tracer_ppid_pgid_sid$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tracer_ppid_pgid_sid_OBJECTS) $(tracer_ppid_pgid_sid_LDADD) $(LIBS) - -+trie_test$(EXEEXT): $(trie_test_OBJECTS) $(trie_test_DEPENDENCIES) $(EXTRA_trie_test_DEPENDENCIES) -+ @rm -f trie_test$(EXEEXT) -+ $(AM_V_CCLD)$(trie_test_LINK) $(trie_test_OBJECTS) $(trie_test_LDADD) $(LIBS) -+ - truncate$(EXEEXT): $(truncate_OBJECTS) $(truncate_DEPENDENCIES) $(EXTRA_truncate_DEPENDENCIES) - @rm -f truncate$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(truncate_OBJECTS) $(truncate_LDADD) $(LIBS) -@@ -9579,6 +10034,10 @@ - @rm -f xet_robust_list$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(xet_robust_list_OBJECTS) $(xet_robust_list_LDADD) $(LIBS) - -+xet_robust_list--pidns-translation$(EXEEXT): $(xet_robust_list__pidns_translation_OBJECTS) $(xet_robust_list__pidns_translation_DEPENDENCIES) $(EXTRA_xet_robust_list__pidns_translation_DEPENDENCIES) -+ @rm -f xet_robust_list--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(xet_robust_list__pidns_translation_OBJECTS) $(xet_robust_list__pidns_translation_LDADD) $(LIBS) -+ - xet_thread_area_x86$(EXEEXT): $(xet_thread_area_x86_OBJECTS) $(xet_thread_area_x86_DEPENDENCIES) $(EXTRA_xet_thread_area_x86_DEPENDENCIES) - @rm -f xet_thread_area_x86$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(xet_thread_area_x86_OBJECTS) $(xet_thread_area_x86_LDADD) $(LIBS) -@@ -9591,10 +10050,18 @@ - @rm -f xetpgid$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(xetpgid_OBJECTS) $(xetpgid_LDADD) $(LIBS) - -+xetpgid--pidns-translation$(EXEEXT): $(xetpgid__pidns_translation_OBJECTS) $(xetpgid__pidns_translation_DEPENDENCIES) $(EXTRA_xetpgid__pidns_translation_DEPENDENCIES) -+ @rm -f xetpgid--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(xetpgid__pidns_translation_OBJECTS) $(xetpgid__pidns_translation_LDADD) $(LIBS) -+ - xetpriority$(EXEEXT): $(xetpriority_OBJECTS) $(xetpriority_DEPENDENCIES) $(EXTRA_xetpriority_DEPENDENCIES) - @rm -f xetpriority$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(xetpriority_OBJECTS) $(xetpriority_LDADD) $(LIBS) - -+xetpriority--pidns-translation$(EXEEXT): $(xetpriority__pidns_translation_OBJECTS) $(xetpriority__pidns_translation_DEPENDENCIES) $(EXTRA_xetpriority__pidns_translation_DEPENDENCIES) -+ @rm -f xetpriority--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(xetpriority__pidns_translation_OBJECTS) $(xetpriority__pidns_translation_LDADD) $(LIBS) -+ - xettimeofday$(EXEEXT): $(xettimeofday_OBJECTS) $(xettimeofday_DEPENDENCIES) $(EXTRA_xettimeofday_DEPENDENCIES) - @rm -f xettimeofday$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(xettimeofday_OBJECTS) $(xettimeofday_LDADD) $(LIBS) -@@ -9714,7 +10181,9 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchown.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchown32.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl64--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl64.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fdatasync.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fflush.Po@am__quote@ # am--include-marker -@@ -9725,6 +10194,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filter_seccomp-perf.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/finit_module.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/flock.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fork--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fork-f.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fsconfig-P.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fsconfig.Po@am__quote@ # am--include-marker -@@ -9766,7 +10236,9 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getgroups.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getgroups32.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getpeername.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getpgrp--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getpgrp.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getpid--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getpid.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getppid.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getrandom.Po@am__quote@ # am--include-marker -@@ -9776,8 +10248,10 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getresuid32.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getrlimit.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getrusage.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getsid--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getsid.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getsockname.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gettid--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gettid.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getuid.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getuid32.Po@am__quote@ # am--include-marker -@@ -9798,6 +10272,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/io_uring_register.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/io_uring_setup.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_block--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_block.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_dm-v.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_dm.Po@am__quote@ # am--include-marker -@@ -9873,6 +10348,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_watchdog.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioperm.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iopl.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioprio--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioprio-Xabbrev.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioprio-Xraw.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioprio-Xverbose.Po@am__quote@ # am--include-marker -@@ -9896,6 +10372,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_shm-Xverbose.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_shm.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/is_linux_mips_n64.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kcmp-y--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kcmp-y.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kcmp.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kern_features.Po@am__quote@ # am--include-marker -@@ -9909,6 +10386,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/keyctl-Xraw.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/keyctl-Xverbose.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/keyctl.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kill--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kill.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kill_child.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ksysent.Po@am__quote@ # am--include-marker -@@ -9946,6 +10424,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-test_printstrn.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-test_ucopy.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-tprintf.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-xmalloc_for_tests.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/link.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/list_sigaction_signum.Po@am__quote@ # am--include-marker -@@ -9968,6 +10447,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memfd_create-Xraw.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memfd_create-Xverbose.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memfd_create.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/migrate_pages--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/migrate_pages.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mincore.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mkdir.Po@am__quote@ # am--include-marker -@@ -9996,6 +10476,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/move_mount-P.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/move_mount.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/move_pages--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/move_pages-Xabbrev.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/move_pages-Xraw.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/move_pages-Xverbose.Po@am__quote@ # am--include-marker -@@ -10019,6 +10500,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-packet_mreq-Xraw.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-packet_mreq-Xverbose.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-packet_mreq.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-sockaddr--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-sockaddr.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-tpacket_req.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-tpacket_stats-success.Po@am__quote@ # am--include-marker -@@ -10028,6 +10510,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-yy-inet6.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-yy-netlink.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-yy-unix.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netlink_audit--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netlink_audit.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netlink_crypto.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netlink_generic.Po@am__quote@ # am--include-marker -@@ -10132,11 +10615,14 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidfd_open--decode-fd-path.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidfd_open--decode-fd-pidfd.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidfd_open--decode-fd-socket.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidfd_open--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidfd_open-P.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidfd_open-y.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidfd_open-yy.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidfd_open.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidfd_send_signal--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidfd_send_signal.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidns-cache.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pipe.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pipe2.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pkey_alloc.Po@am__quote@ # am--include-marker -@@ -10174,8 +10660,11 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/printstrn-umoven-peekdata.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/printstrn-umoven-undumpable.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/printstrn-umoven.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prlimit64--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prlimit64.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/process_vm_readv--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/process_vm_readv.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/process_vm_writev--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/process_vm_writev.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pselect6.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ptrace.Po@am__quote@ # am--include-marker -@@ -10224,10 +10713,12 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigaction.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigpending.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigprocmask.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigqueueinfo--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigqueueinfo.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigreturn.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigsuspend.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigtimedwait.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_tgsigqueueinfo--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_tgsigqueueinfo.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/run_expect_termsig.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/s390_guarded_storage-v.Po@am__quote@ # am--include-marker -@@ -10238,9 +10729,13 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/s390_sthyi.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_get_priority_mxx.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_rr_get_interval.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_xetaffinity--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_xetaffinity.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_xetattr--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_xetattr.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_xetparam--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_xetparam.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_xetscheduler--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_xetscheduler.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_yield.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scm_rights.Po@am__quote@ # am--include-marker -@@ -10294,6 +10789,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sigaltstack.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/siginfo.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/signal.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/signal_receive--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/signal_receive.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/signalfd4.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sigpending.Po@am__quote@ # am--include-marker -@@ -10303,6 +10799,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sleep.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/so_error.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/so_linger.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/so_peercred--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/so_peercred-Xabbrev.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/so_peercred-Xraw.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/so_peercred-Xverbose.Po@am__quote@ # am--include-marker -@@ -10362,6 +10859,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/syslog-success.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/syslog.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tee.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tgkill--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tgkill.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/threads-execve--quiet-thread-execve.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/threads-execve-q.Po@am__quote@ # am--include-marker -@@ -10374,6 +10872,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/timerfd_xettime.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/times-fail.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/times.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tkill--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tkill.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tracer_ppid_pgid_sid.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/truncate.Po@am__quote@ # am--include-marker -@@ -10415,10 +10914,13 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/waitpid.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xattr-strings.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xattr.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xet_robust_list--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xet_robust_list.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xet_thread_area_x86.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xetitimer.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xetpgid--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xetpgid.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xetpriority--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xetpriority.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xettimeofday.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/zeroargc.Po@am__quote@ # am--include-marker -@@ -10893,6 +11395,20 @@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-tprintf.obj `if test -f 'tprintf.c'; then $(CYGPATH_W) 'tprintf.c'; else $(CYGPATH_W) '$(srcdir)/tprintf.c'; fi` - -+libtests_a-xmalloc_for_tests.o: xmalloc_for_tests.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-xmalloc_for_tests.o -MD -MP -MF $(DEPDIR)/libtests_a-xmalloc_for_tests.Tpo -c -o libtests_a-xmalloc_for_tests.o `test -f 'xmalloc_for_tests.c' || echo '$(srcdir)/'`xmalloc_for_tests.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-xmalloc_for_tests.Tpo $(DEPDIR)/libtests_a-xmalloc_for_tests.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='xmalloc_for_tests.c' object='libtests_a-xmalloc_for_tests.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-xmalloc_for_tests.o `test -f 'xmalloc_for_tests.c' || echo '$(srcdir)/'`xmalloc_for_tests.c -+ -+libtests_a-xmalloc_for_tests.obj: xmalloc_for_tests.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-xmalloc_for_tests.obj -MD -MP -MF $(DEPDIR)/libtests_a-xmalloc_for_tests.Tpo -c -o libtests_a-xmalloc_for_tests.obj `if test -f 'xmalloc_for_tests.c'; then $(CYGPATH_W) 'xmalloc_for_tests.c'; else $(CYGPATH_W) '$(srcdir)/xmalloc_for_tests.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-xmalloc_for_tests.Tpo $(DEPDIR)/libtests_a-xmalloc_for_tests.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='xmalloc_for_tests.c' object='libtests_a-xmalloc_for_tests.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-xmalloc_for_tests.obj `if test -f 'xmalloc_for_tests.c'; then $(CYGPATH_W) 'xmalloc_for_tests.c'; else $(CYGPATH_W) '$(srcdir)/xmalloc_for_tests.c'; fi` -+ - fstat64-fstat64.o: fstat64.c - @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(fstat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT fstat64-fstat64.o -MD -MP -MF $(DEPDIR)/fstat64-fstat64.Tpo -c -o fstat64-fstat64.o `test -f 'fstat64.c' || echo '$(srcdir)/'`fstat64.c - @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/fstat64-fstat64.Tpo $(DEPDIR)/fstat64-fstat64.Po -@@ -11103,6 +11619,34 @@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(statfs_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o statfs-statfs.obj `if test -f 'statfs.c'; then $(CYGPATH_W) 'statfs.c'; else $(CYGPATH_W) '$(srcdir)/statfs.c'; fi` - -+trie_test-trie_test.o: trie_test.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(trie_test_CPPFLAGS) $(CPPFLAGS) $(trie_test_CFLAGS) $(CFLAGS) -MT trie_test-trie_test.o -MD -MP -MF $(DEPDIR)/trie_test-trie_test.Tpo -c -o trie_test-trie_test.o `test -f 'trie_test.c' || echo '$(srcdir)/'`trie_test.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/trie_test-trie_test.Tpo $(DEPDIR)/trie_test-trie_test.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='trie_test.c' object='trie_test-trie_test.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(trie_test_CPPFLAGS) $(CPPFLAGS) $(trie_test_CFLAGS) $(CFLAGS) -c -o trie_test-trie_test.o `test -f 'trie_test.c' || echo '$(srcdir)/'`trie_test.c -+ -+trie_test-trie_test.obj: trie_test.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(trie_test_CPPFLAGS) $(CPPFLAGS) $(trie_test_CFLAGS) $(CFLAGS) -MT trie_test-trie_test.obj -MD -MP -MF $(DEPDIR)/trie_test-trie_test.Tpo -c -o trie_test-trie_test.obj `if test -f 'trie_test.c'; then $(CYGPATH_W) 'trie_test.c'; else $(CYGPATH_W) '$(srcdir)/trie_test.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/trie_test-trie_test.Tpo $(DEPDIR)/trie_test-trie_test.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='trie_test.c' object='trie_test-trie_test.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(trie_test_CPPFLAGS) $(CPPFLAGS) $(trie_test_CFLAGS) $(CFLAGS) -c -o trie_test-trie_test.obj `if test -f 'trie_test.c'; then $(CYGPATH_W) 'trie_test.c'; else $(CYGPATH_W) '$(srcdir)/trie_test.c'; fi` -+ -+trie_test-trie_for_tests.o: trie_for_tests.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(trie_test_CPPFLAGS) $(CPPFLAGS) $(trie_test_CFLAGS) $(CFLAGS) -MT trie_test-trie_for_tests.o -MD -MP -MF $(DEPDIR)/trie_test-trie_for_tests.Tpo -c -o trie_test-trie_for_tests.o `test -f 'trie_for_tests.c' || echo '$(srcdir)/'`trie_for_tests.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/trie_test-trie_for_tests.Tpo $(DEPDIR)/trie_test-trie_for_tests.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='trie_for_tests.c' object='trie_test-trie_for_tests.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(trie_test_CPPFLAGS) $(CPPFLAGS) $(trie_test_CFLAGS) $(CFLAGS) -c -o trie_test-trie_for_tests.o `test -f 'trie_for_tests.c' || echo '$(srcdir)/'`trie_for_tests.c -+ -+trie_test-trie_for_tests.obj: trie_for_tests.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(trie_test_CPPFLAGS) $(CPPFLAGS) $(trie_test_CFLAGS) $(CFLAGS) -MT trie_test-trie_for_tests.obj -MD -MP -MF $(DEPDIR)/trie_test-trie_for_tests.Tpo -c -o trie_test-trie_for_tests.obj `if test -f 'trie_for_tests.c'; then $(CYGPATH_W) 'trie_for_tests.c'; else $(CYGPATH_W) '$(srcdir)/trie_for_tests.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/trie_test-trie_for_tests.Tpo $(DEPDIR)/trie_test-trie_for_tests.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='trie_for_tests.c' object='trie_test-trie_for_tests.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(trie_test_CPPFLAGS) $(CPPFLAGS) $(trie_test_CFLAGS) $(CFLAGS) -c -o trie_test-trie_for_tests.obj `if test -f 'trie_for_tests.c'; then $(CYGPATH_W) 'trie_for_tests.c'; else $(CYGPATH_W) '$(srcdir)/trie_for_tests.c'; fi` -+ - truncate64-truncate64.o: truncate64.c - @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(truncate64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT truncate64-truncate64.o -MD -MP -MF $(DEPDIR)/truncate64-truncate64.Tpo -c -o truncate64-truncate64.o `test -f 'truncate64.c' || echo '$(srcdir)/'`truncate64.c - @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/truncate64-truncate64.Tpo $(DEPDIR)/truncate64-truncate64.Po -@@ -11551,7 +12095,9 @@ - -rm -f ./$(DEPDIR)/fchown.Po - -rm -f ./$(DEPDIR)/fchown32.Po - -rm -f ./$(DEPDIR)/fchownat.Po -+ -rm -f ./$(DEPDIR)/fcntl--pidns-translation.Po - -rm -f ./$(DEPDIR)/fcntl.Po -+ -rm -f ./$(DEPDIR)/fcntl64--pidns-translation.Po - -rm -f ./$(DEPDIR)/fcntl64.Po - -rm -f ./$(DEPDIR)/fdatasync.Po - -rm -f ./$(DEPDIR)/fflush.Po -@@ -11562,6 +12108,7 @@ - -rm -f ./$(DEPDIR)/filter_seccomp-perf.Po - -rm -f ./$(DEPDIR)/finit_module.Po - -rm -f ./$(DEPDIR)/flock.Po -+ -rm -f ./$(DEPDIR)/fork--pidns-translation.Po - -rm -f ./$(DEPDIR)/fork-f.Po - -rm -f ./$(DEPDIR)/fsconfig-P.Po - -rm -f ./$(DEPDIR)/fsconfig.Po -@@ -11603,7 +12150,9 @@ - -rm -f ./$(DEPDIR)/getgroups.Po - -rm -f ./$(DEPDIR)/getgroups32.Po - -rm -f ./$(DEPDIR)/getpeername.Po -+ -rm -f ./$(DEPDIR)/getpgrp--pidns-translation.Po - -rm -f ./$(DEPDIR)/getpgrp.Po -+ -rm -f ./$(DEPDIR)/getpid--pidns-translation.Po - -rm -f ./$(DEPDIR)/getpid.Po - -rm -f ./$(DEPDIR)/getppid.Po - -rm -f ./$(DEPDIR)/getrandom.Po -@@ -11613,8 +12162,10 @@ - -rm -f ./$(DEPDIR)/getresuid32.Po - -rm -f ./$(DEPDIR)/getrlimit.Po - -rm -f ./$(DEPDIR)/getrusage.Po -+ -rm -f ./$(DEPDIR)/getsid--pidns-translation.Po - -rm -f ./$(DEPDIR)/getsid.Po - -rm -f ./$(DEPDIR)/getsockname.Po -+ -rm -f ./$(DEPDIR)/gettid--pidns-translation.Po - -rm -f ./$(DEPDIR)/gettid.Po - -rm -f ./$(DEPDIR)/getuid.Po - -rm -f ./$(DEPDIR)/getuid32.Po -@@ -11635,6 +12186,7 @@ - -rm -f ./$(DEPDIR)/io_uring_register.Po - -rm -f ./$(DEPDIR)/io_uring_setup.Po - -rm -f ./$(DEPDIR)/ioctl.Po -+ -rm -f ./$(DEPDIR)/ioctl_block--pidns-translation.Po - -rm -f ./$(DEPDIR)/ioctl_block.Po - -rm -f ./$(DEPDIR)/ioctl_dm-v.Po - -rm -f ./$(DEPDIR)/ioctl_dm.Po -@@ -11710,6 +12262,7 @@ - -rm -f ./$(DEPDIR)/ioctl_watchdog.Po - -rm -f ./$(DEPDIR)/ioperm.Po - -rm -f ./$(DEPDIR)/iopl.Po -+ -rm -f ./$(DEPDIR)/ioprio--pidns-translation.Po - -rm -f ./$(DEPDIR)/ioprio-Xabbrev.Po - -rm -f ./$(DEPDIR)/ioprio-Xraw.Po - -rm -f ./$(DEPDIR)/ioprio-Xverbose.Po -@@ -11733,6 +12286,7 @@ - -rm -f ./$(DEPDIR)/ipc_shm-Xverbose.Po - -rm -f ./$(DEPDIR)/ipc_shm.Po - -rm -f ./$(DEPDIR)/is_linux_mips_n64.Po -+ -rm -f ./$(DEPDIR)/kcmp-y--pidns-translation.Po - -rm -f ./$(DEPDIR)/kcmp-y.Po - -rm -f ./$(DEPDIR)/kcmp.Po - -rm -f ./$(DEPDIR)/kern_features.Po -@@ -11746,6 +12300,7 @@ - -rm -f ./$(DEPDIR)/keyctl-Xraw.Po - -rm -f ./$(DEPDIR)/keyctl-Xverbose.Po - -rm -f ./$(DEPDIR)/keyctl.Po -+ -rm -f ./$(DEPDIR)/kill--pidns-translation.Po - -rm -f ./$(DEPDIR)/kill.Po - -rm -f ./$(DEPDIR)/kill_child.Po - -rm -f ./$(DEPDIR)/ksysent.Po -@@ -11783,6 +12338,7 @@ - -rm -f ./$(DEPDIR)/libtests_a-test_printstrn.Po - -rm -f ./$(DEPDIR)/libtests_a-test_ucopy.Po - -rm -f ./$(DEPDIR)/libtests_a-tprintf.Po -+ -rm -f ./$(DEPDIR)/libtests_a-xmalloc_for_tests.Po - -rm -f ./$(DEPDIR)/link.Po - -rm -f ./$(DEPDIR)/linkat.Po - -rm -f ./$(DEPDIR)/list_sigaction_signum.Po -@@ -11805,6 +12361,7 @@ - -rm -f ./$(DEPDIR)/memfd_create-Xraw.Po - -rm -f ./$(DEPDIR)/memfd_create-Xverbose.Po - -rm -f ./$(DEPDIR)/memfd_create.Po -+ -rm -f ./$(DEPDIR)/migrate_pages--pidns-translation.Po - -rm -f ./$(DEPDIR)/migrate_pages.Po - -rm -f ./$(DEPDIR)/mincore.Po - -rm -f ./$(DEPDIR)/mkdir.Po -@@ -11833,6 +12390,7 @@ - -rm -f ./$(DEPDIR)/mount.Po - -rm -f ./$(DEPDIR)/move_mount-P.Po - -rm -f ./$(DEPDIR)/move_mount.Po -+ -rm -f ./$(DEPDIR)/move_pages--pidns-translation.Po - -rm -f ./$(DEPDIR)/move_pages-Xabbrev.Po - -rm -f ./$(DEPDIR)/move_pages-Xraw.Po - -rm -f ./$(DEPDIR)/move_pages-Xverbose.Po -@@ -11856,6 +12414,7 @@ - -rm -f ./$(DEPDIR)/net-packet_mreq-Xraw.Po - -rm -f ./$(DEPDIR)/net-packet_mreq-Xverbose.Po - -rm -f ./$(DEPDIR)/net-packet_mreq.Po -+ -rm -f ./$(DEPDIR)/net-sockaddr--pidns-translation.Po - -rm -f ./$(DEPDIR)/net-sockaddr.Po - -rm -f ./$(DEPDIR)/net-tpacket_req.Po - -rm -f ./$(DEPDIR)/net-tpacket_stats-success.Po -@@ -11865,6 +12424,7 @@ - -rm -f ./$(DEPDIR)/net-yy-inet6.Po - -rm -f ./$(DEPDIR)/net-yy-netlink.Po - -rm -f ./$(DEPDIR)/net-yy-unix.Po -+ -rm -f ./$(DEPDIR)/netlink_audit--pidns-translation.Po - -rm -f ./$(DEPDIR)/netlink_audit.Po - -rm -f ./$(DEPDIR)/netlink_crypto.Po - -rm -f ./$(DEPDIR)/netlink_generic.Po -@@ -11969,11 +12529,14 @@ - -rm -f ./$(DEPDIR)/pidfd_open--decode-fd-path.Po - -rm -f ./$(DEPDIR)/pidfd_open--decode-fd-pidfd.Po - -rm -f ./$(DEPDIR)/pidfd_open--decode-fd-socket.Po -+ -rm -f ./$(DEPDIR)/pidfd_open--pidns-translation.Po - -rm -f ./$(DEPDIR)/pidfd_open-P.Po - -rm -f ./$(DEPDIR)/pidfd_open-y.Po - -rm -f ./$(DEPDIR)/pidfd_open-yy.Po - -rm -f ./$(DEPDIR)/pidfd_open.Po -+ -rm -f ./$(DEPDIR)/pidfd_send_signal--pidns-translation.Po - -rm -f ./$(DEPDIR)/pidfd_send_signal.Po -+ -rm -f ./$(DEPDIR)/pidns-cache.Po - -rm -f ./$(DEPDIR)/pipe.Po - -rm -f ./$(DEPDIR)/pipe2.Po - -rm -f ./$(DEPDIR)/pkey_alloc.Po -@@ -12011,8 +12574,11 @@ - -rm -f ./$(DEPDIR)/printstrn-umoven-peekdata.Po - -rm -f ./$(DEPDIR)/printstrn-umoven-undumpable.Po - -rm -f ./$(DEPDIR)/printstrn-umoven.Po -+ -rm -f ./$(DEPDIR)/prlimit64--pidns-translation.Po - -rm -f ./$(DEPDIR)/prlimit64.Po -+ -rm -f ./$(DEPDIR)/process_vm_readv--pidns-translation.Po - -rm -f ./$(DEPDIR)/process_vm_readv.Po -+ -rm -f ./$(DEPDIR)/process_vm_writev--pidns-translation.Po - -rm -f ./$(DEPDIR)/process_vm_writev.Po - -rm -f ./$(DEPDIR)/pselect6.Po - -rm -f ./$(DEPDIR)/ptrace.Po -@@ -12061,10 +12627,12 @@ - -rm -f ./$(DEPDIR)/rt_sigaction.Po - -rm -f ./$(DEPDIR)/rt_sigpending.Po - -rm -f ./$(DEPDIR)/rt_sigprocmask.Po -+ -rm -f ./$(DEPDIR)/rt_sigqueueinfo--pidns-translation.Po - -rm -f ./$(DEPDIR)/rt_sigqueueinfo.Po - -rm -f ./$(DEPDIR)/rt_sigreturn.Po - -rm -f ./$(DEPDIR)/rt_sigsuspend.Po - -rm -f ./$(DEPDIR)/rt_sigtimedwait.Po -+ -rm -f ./$(DEPDIR)/rt_tgsigqueueinfo--pidns-translation.Po - -rm -f ./$(DEPDIR)/rt_tgsigqueueinfo.Po - -rm -f ./$(DEPDIR)/run_expect_termsig.Po - -rm -f ./$(DEPDIR)/s390_guarded_storage-v.Po -@@ -12075,9 +12643,13 @@ - -rm -f ./$(DEPDIR)/s390_sthyi.Po - -rm -f ./$(DEPDIR)/sched_get_priority_mxx.Po - -rm -f ./$(DEPDIR)/sched_rr_get_interval.Po -+ -rm -f ./$(DEPDIR)/sched_xetaffinity--pidns-translation.Po - -rm -f ./$(DEPDIR)/sched_xetaffinity.Po -+ -rm -f ./$(DEPDIR)/sched_xetattr--pidns-translation.Po - -rm -f ./$(DEPDIR)/sched_xetattr.Po -+ -rm -f ./$(DEPDIR)/sched_xetparam--pidns-translation.Po - -rm -f ./$(DEPDIR)/sched_xetparam.Po -+ -rm -f ./$(DEPDIR)/sched_xetscheduler--pidns-translation.Po - -rm -f ./$(DEPDIR)/sched_xetscheduler.Po - -rm -f ./$(DEPDIR)/sched_yield.Po - -rm -f ./$(DEPDIR)/scm_rights.Po -@@ -12131,6 +12703,7 @@ - -rm -f ./$(DEPDIR)/sigaltstack.Po - -rm -f ./$(DEPDIR)/siginfo.Po - -rm -f ./$(DEPDIR)/signal.Po -+ -rm -f ./$(DEPDIR)/signal_receive--pidns-translation.Po - -rm -f ./$(DEPDIR)/signal_receive.Po - -rm -f ./$(DEPDIR)/signalfd4.Po - -rm -f ./$(DEPDIR)/sigpending.Po -@@ -12140,6 +12713,7 @@ - -rm -f ./$(DEPDIR)/sleep.Po - -rm -f ./$(DEPDIR)/so_error.Po - -rm -f ./$(DEPDIR)/so_linger.Po -+ -rm -f ./$(DEPDIR)/so_peercred--pidns-translation.Po - -rm -f ./$(DEPDIR)/so_peercred-Xabbrev.Po - -rm -f ./$(DEPDIR)/so_peercred-Xraw.Po - -rm -f ./$(DEPDIR)/so_peercred-Xverbose.Po -@@ -12199,6 +12773,7 @@ - -rm -f ./$(DEPDIR)/syslog-success.Po - -rm -f ./$(DEPDIR)/syslog.Po - -rm -f ./$(DEPDIR)/tee.Po -+ -rm -f ./$(DEPDIR)/tgkill--pidns-translation.Po - -rm -f ./$(DEPDIR)/tgkill.Po - -rm -f ./$(DEPDIR)/threads-execve--quiet-thread-execve.Po - -rm -f ./$(DEPDIR)/threads-execve-q.Po -@@ -12211,6 +12786,7 @@ - -rm -f ./$(DEPDIR)/timerfd_xettime.Po - -rm -f ./$(DEPDIR)/times-fail.Po - -rm -f ./$(DEPDIR)/times.Po -+ -rm -f ./$(DEPDIR)/tkill--pidns-translation.Po - -rm -f ./$(DEPDIR)/tkill.Po - -rm -f ./$(DEPDIR)/tracer_ppid_pgid_sid.Po - -rm -f ./$(DEPDIR)/truncate.Po -@@ -12252,10 +12828,13 @@ - -rm -f ./$(DEPDIR)/waitpid.Po - -rm -f ./$(DEPDIR)/xattr-strings.Po - -rm -f ./$(DEPDIR)/xattr.Po -+ -rm -f ./$(DEPDIR)/xet_robust_list--pidns-translation.Po - -rm -f ./$(DEPDIR)/xet_robust_list.Po - -rm -f ./$(DEPDIR)/xet_thread_area_x86.Po - -rm -f ./$(DEPDIR)/xetitimer.Po -+ -rm -f ./$(DEPDIR)/xetpgid--pidns-translation.Po - -rm -f ./$(DEPDIR)/xetpgid.Po -+ -rm -f ./$(DEPDIR)/xetpriority--pidns-translation.Po - -rm -f ./$(DEPDIR)/xetpriority.Po - -rm -f ./$(DEPDIR)/xettimeofday.Po - -rm -f ./$(DEPDIR)/zeroargc.Po -@@ -12409,7 +12988,9 @@ - -rm -f ./$(DEPDIR)/fchown.Po - -rm -f ./$(DEPDIR)/fchown32.Po - -rm -f ./$(DEPDIR)/fchownat.Po -+ -rm -f ./$(DEPDIR)/fcntl--pidns-translation.Po - -rm -f ./$(DEPDIR)/fcntl.Po -+ -rm -f ./$(DEPDIR)/fcntl64--pidns-translation.Po - -rm -f ./$(DEPDIR)/fcntl64.Po - -rm -f ./$(DEPDIR)/fdatasync.Po - -rm -f ./$(DEPDIR)/fflush.Po -@@ -12420,6 +13001,7 @@ - -rm -f ./$(DEPDIR)/filter_seccomp-perf.Po - -rm -f ./$(DEPDIR)/finit_module.Po - -rm -f ./$(DEPDIR)/flock.Po -+ -rm -f ./$(DEPDIR)/fork--pidns-translation.Po - -rm -f ./$(DEPDIR)/fork-f.Po - -rm -f ./$(DEPDIR)/fsconfig-P.Po - -rm -f ./$(DEPDIR)/fsconfig.Po -@@ -12461,7 +13043,9 @@ - -rm -f ./$(DEPDIR)/getgroups.Po - -rm -f ./$(DEPDIR)/getgroups32.Po - -rm -f ./$(DEPDIR)/getpeername.Po -+ -rm -f ./$(DEPDIR)/getpgrp--pidns-translation.Po - -rm -f ./$(DEPDIR)/getpgrp.Po -+ -rm -f ./$(DEPDIR)/getpid--pidns-translation.Po - -rm -f ./$(DEPDIR)/getpid.Po - -rm -f ./$(DEPDIR)/getppid.Po - -rm -f ./$(DEPDIR)/getrandom.Po -@@ -12471,8 +13055,10 @@ - -rm -f ./$(DEPDIR)/getresuid32.Po - -rm -f ./$(DEPDIR)/getrlimit.Po - -rm -f ./$(DEPDIR)/getrusage.Po -+ -rm -f ./$(DEPDIR)/getsid--pidns-translation.Po - -rm -f ./$(DEPDIR)/getsid.Po - -rm -f ./$(DEPDIR)/getsockname.Po -+ -rm -f ./$(DEPDIR)/gettid--pidns-translation.Po - -rm -f ./$(DEPDIR)/gettid.Po - -rm -f ./$(DEPDIR)/getuid.Po - -rm -f ./$(DEPDIR)/getuid32.Po -@@ -12493,6 +13079,7 @@ - -rm -f ./$(DEPDIR)/io_uring_register.Po - -rm -f ./$(DEPDIR)/io_uring_setup.Po - -rm -f ./$(DEPDIR)/ioctl.Po -+ -rm -f ./$(DEPDIR)/ioctl_block--pidns-translation.Po - -rm -f ./$(DEPDIR)/ioctl_block.Po - -rm -f ./$(DEPDIR)/ioctl_dm-v.Po - -rm -f ./$(DEPDIR)/ioctl_dm.Po -@@ -12568,6 +13155,7 @@ - -rm -f ./$(DEPDIR)/ioctl_watchdog.Po - -rm -f ./$(DEPDIR)/ioperm.Po - -rm -f ./$(DEPDIR)/iopl.Po -+ -rm -f ./$(DEPDIR)/ioprio--pidns-translation.Po - -rm -f ./$(DEPDIR)/ioprio-Xabbrev.Po - -rm -f ./$(DEPDIR)/ioprio-Xraw.Po - -rm -f ./$(DEPDIR)/ioprio-Xverbose.Po -@@ -12591,6 +13179,7 @@ - -rm -f ./$(DEPDIR)/ipc_shm-Xverbose.Po - -rm -f ./$(DEPDIR)/ipc_shm.Po - -rm -f ./$(DEPDIR)/is_linux_mips_n64.Po -+ -rm -f ./$(DEPDIR)/kcmp-y--pidns-translation.Po - -rm -f ./$(DEPDIR)/kcmp-y.Po - -rm -f ./$(DEPDIR)/kcmp.Po - -rm -f ./$(DEPDIR)/kern_features.Po -@@ -12604,6 +13193,7 @@ - -rm -f ./$(DEPDIR)/keyctl-Xraw.Po - -rm -f ./$(DEPDIR)/keyctl-Xverbose.Po - -rm -f ./$(DEPDIR)/keyctl.Po -+ -rm -f ./$(DEPDIR)/kill--pidns-translation.Po - -rm -f ./$(DEPDIR)/kill.Po - -rm -f ./$(DEPDIR)/kill_child.Po - -rm -f ./$(DEPDIR)/ksysent.Po -@@ -12641,6 +13231,7 @@ - -rm -f ./$(DEPDIR)/libtests_a-test_printstrn.Po - -rm -f ./$(DEPDIR)/libtests_a-test_ucopy.Po - -rm -f ./$(DEPDIR)/libtests_a-tprintf.Po -+ -rm -f ./$(DEPDIR)/libtests_a-xmalloc_for_tests.Po - -rm -f ./$(DEPDIR)/link.Po - -rm -f ./$(DEPDIR)/linkat.Po - -rm -f ./$(DEPDIR)/list_sigaction_signum.Po -@@ -12663,6 +13254,7 @@ - -rm -f ./$(DEPDIR)/memfd_create-Xraw.Po - -rm -f ./$(DEPDIR)/memfd_create-Xverbose.Po - -rm -f ./$(DEPDIR)/memfd_create.Po -+ -rm -f ./$(DEPDIR)/migrate_pages--pidns-translation.Po - -rm -f ./$(DEPDIR)/migrate_pages.Po - -rm -f ./$(DEPDIR)/mincore.Po - -rm -f ./$(DEPDIR)/mkdir.Po -@@ -12691,6 +13283,7 @@ - -rm -f ./$(DEPDIR)/mount.Po - -rm -f ./$(DEPDIR)/move_mount-P.Po - -rm -f ./$(DEPDIR)/move_mount.Po -+ -rm -f ./$(DEPDIR)/move_pages--pidns-translation.Po - -rm -f ./$(DEPDIR)/move_pages-Xabbrev.Po - -rm -f ./$(DEPDIR)/move_pages-Xraw.Po - -rm -f ./$(DEPDIR)/move_pages-Xverbose.Po -@@ -12714,6 +13307,7 @@ - -rm -f ./$(DEPDIR)/net-packet_mreq-Xraw.Po - -rm -f ./$(DEPDIR)/net-packet_mreq-Xverbose.Po - -rm -f ./$(DEPDIR)/net-packet_mreq.Po -+ -rm -f ./$(DEPDIR)/net-sockaddr--pidns-translation.Po - -rm -f ./$(DEPDIR)/net-sockaddr.Po - -rm -f ./$(DEPDIR)/net-tpacket_req.Po - -rm -f ./$(DEPDIR)/net-tpacket_stats-success.Po -@@ -12723,6 +13317,7 @@ - -rm -f ./$(DEPDIR)/net-yy-inet6.Po - -rm -f ./$(DEPDIR)/net-yy-netlink.Po - -rm -f ./$(DEPDIR)/net-yy-unix.Po -+ -rm -f ./$(DEPDIR)/netlink_audit--pidns-translation.Po - -rm -f ./$(DEPDIR)/netlink_audit.Po - -rm -f ./$(DEPDIR)/netlink_crypto.Po - -rm -f ./$(DEPDIR)/netlink_generic.Po -@@ -12827,11 +13422,14 @@ - -rm -f ./$(DEPDIR)/pidfd_open--decode-fd-path.Po - -rm -f ./$(DEPDIR)/pidfd_open--decode-fd-pidfd.Po - -rm -f ./$(DEPDIR)/pidfd_open--decode-fd-socket.Po -+ -rm -f ./$(DEPDIR)/pidfd_open--pidns-translation.Po - -rm -f ./$(DEPDIR)/pidfd_open-P.Po - -rm -f ./$(DEPDIR)/pidfd_open-y.Po - -rm -f ./$(DEPDIR)/pidfd_open-yy.Po - -rm -f ./$(DEPDIR)/pidfd_open.Po -+ -rm -f ./$(DEPDIR)/pidfd_send_signal--pidns-translation.Po - -rm -f ./$(DEPDIR)/pidfd_send_signal.Po -+ -rm -f ./$(DEPDIR)/pidns-cache.Po - -rm -f ./$(DEPDIR)/pipe.Po - -rm -f ./$(DEPDIR)/pipe2.Po - -rm -f ./$(DEPDIR)/pkey_alloc.Po -@@ -12869,8 +13467,11 @@ - -rm -f ./$(DEPDIR)/printstrn-umoven-peekdata.Po - -rm -f ./$(DEPDIR)/printstrn-umoven-undumpable.Po - -rm -f ./$(DEPDIR)/printstrn-umoven.Po -+ -rm -f ./$(DEPDIR)/prlimit64--pidns-translation.Po - -rm -f ./$(DEPDIR)/prlimit64.Po -+ -rm -f ./$(DEPDIR)/process_vm_readv--pidns-translation.Po - -rm -f ./$(DEPDIR)/process_vm_readv.Po -+ -rm -f ./$(DEPDIR)/process_vm_writev--pidns-translation.Po - -rm -f ./$(DEPDIR)/process_vm_writev.Po - -rm -f ./$(DEPDIR)/pselect6.Po - -rm -f ./$(DEPDIR)/ptrace.Po -@@ -12919,10 +13520,12 @@ - -rm -f ./$(DEPDIR)/rt_sigaction.Po - -rm -f ./$(DEPDIR)/rt_sigpending.Po - -rm -f ./$(DEPDIR)/rt_sigprocmask.Po -+ -rm -f ./$(DEPDIR)/rt_sigqueueinfo--pidns-translation.Po - -rm -f ./$(DEPDIR)/rt_sigqueueinfo.Po - -rm -f ./$(DEPDIR)/rt_sigreturn.Po - -rm -f ./$(DEPDIR)/rt_sigsuspend.Po - -rm -f ./$(DEPDIR)/rt_sigtimedwait.Po -+ -rm -f ./$(DEPDIR)/rt_tgsigqueueinfo--pidns-translation.Po - -rm -f ./$(DEPDIR)/rt_tgsigqueueinfo.Po - -rm -f ./$(DEPDIR)/run_expect_termsig.Po - -rm -f ./$(DEPDIR)/s390_guarded_storage-v.Po -@@ -12933,9 +13536,13 @@ - -rm -f ./$(DEPDIR)/s390_sthyi.Po - -rm -f ./$(DEPDIR)/sched_get_priority_mxx.Po - -rm -f ./$(DEPDIR)/sched_rr_get_interval.Po -+ -rm -f ./$(DEPDIR)/sched_xetaffinity--pidns-translation.Po - -rm -f ./$(DEPDIR)/sched_xetaffinity.Po -+ -rm -f ./$(DEPDIR)/sched_xetattr--pidns-translation.Po - -rm -f ./$(DEPDIR)/sched_xetattr.Po -+ -rm -f ./$(DEPDIR)/sched_xetparam--pidns-translation.Po - -rm -f ./$(DEPDIR)/sched_xetparam.Po -+ -rm -f ./$(DEPDIR)/sched_xetscheduler--pidns-translation.Po - -rm -f ./$(DEPDIR)/sched_xetscheduler.Po - -rm -f ./$(DEPDIR)/sched_yield.Po - -rm -f ./$(DEPDIR)/scm_rights.Po -@@ -12989,6 +13596,7 @@ - -rm -f ./$(DEPDIR)/sigaltstack.Po - -rm -f ./$(DEPDIR)/siginfo.Po - -rm -f ./$(DEPDIR)/signal.Po -+ -rm -f ./$(DEPDIR)/signal_receive--pidns-translation.Po - -rm -f ./$(DEPDIR)/signal_receive.Po - -rm -f ./$(DEPDIR)/signalfd4.Po - -rm -f ./$(DEPDIR)/sigpending.Po -@@ -12998,6 +13606,7 @@ - -rm -f ./$(DEPDIR)/sleep.Po - -rm -f ./$(DEPDIR)/so_error.Po - -rm -f ./$(DEPDIR)/so_linger.Po -+ -rm -f ./$(DEPDIR)/so_peercred--pidns-translation.Po - -rm -f ./$(DEPDIR)/so_peercred-Xabbrev.Po - -rm -f ./$(DEPDIR)/so_peercred-Xraw.Po - -rm -f ./$(DEPDIR)/so_peercred-Xverbose.Po -@@ -13057,6 +13666,7 @@ - -rm -f ./$(DEPDIR)/syslog-success.Po - -rm -f ./$(DEPDIR)/syslog.Po - -rm -f ./$(DEPDIR)/tee.Po -+ -rm -f ./$(DEPDIR)/tgkill--pidns-translation.Po - -rm -f ./$(DEPDIR)/tgkill.Po - -rm -f ./$(DEPDIR)/threads-execve--quiet-thread-execve.Po - -rm -f ./$(DEPDIR)/threads-execve-q.Po -@@ -13069,6 +13679,7 @@ - -rm -f ./$(DEPDIR)/timerfd_xettime.Po - -rm -f ./$(DEPDIR)/times-fail.Po - -rm -f ./$(DEPDIR)/times.Po -+ -rm -f ./$(DEPDIR)/tkill--pidns-translation.Po - -rm -f ./$(DEPDIR)/tkill.Po - -rm -f ./$(DEPDIR)/tracer_ppid_pgid_sid.Po - -rm -f ./$(DEPDIR)/truncate.Po -@@ -13110,14 +13721,26 @@ - -rm -f ./$(DEPDIR)/waitpid.Po - -rm -f ./$(DEPDIR)/xattr-strings.Po - -rm -f ./$(DEPDIR)/xattr.Po -+ -rm -f ./$(DEPDIR)/xet_robust_list--pidns-translation.Po - -rm -f ./$(DEPDIR)/xet_robust_list.Po - -rm -f ./$(DEPDIR)/xet_thread_area_x86.Po - -rm -f ./$(DEPDIR)/xetitimer.Po -+ -rm -f ./$(DEPDIR)/xetpgid--pidns-translation.Po - -rm -f ./$(DEPDIR)/xetpgid.Po -+ -rm -f ./$(DEPDIR)/xetpriority--pidns-translation.Po - -rm -f ./$(DEPDIR)/xetpriority.Po - -rm -f ./$(DEPDIR)/xettimeofday.Po - -rm -f ./$(DEPDIR)/zeroargc.Po - -rm -f Makefile -+distclean-am: clean-am distclean-compile distclean-generic \ -+ distclean-tags -+ -+dvi: dvi-am -+ -+dvi-am: -+ -+html: html-am -+ -rm -f Makefile - maintainer-clean-am: distclean-am maintainer-clean-generic - - mostlyclean: mostlyclean-am -@@ -13407,9 +14030,15 @@ - $(srcdir)/fcntl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/fcntl--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/fcntl64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/fcntl64--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/fdatasync.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -13569,9 +14198,15 @@ - $(srcdir)/getpgrp.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/getpgrp--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/getpid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/getpid--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/getppid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -13599,6 +14234,9 @@ - $(srcdir)/getsid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/getsid--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/getsockname.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -13878,6 +14516,9 @@ - $(srcdir)/ioprio.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/ioprio--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/ioprio-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -13944,6 +14585,9 @@ - $(srcdir)/kcmp-y.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/kcmp-y--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/kern_features.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -13980,6 +14624,9 @@ - $(srcdir)/kill.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/kill--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/ksysent.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -14043,6 +14690,9 @@ - $(srcdir)/migrate_pages.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/migrate_pages--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/mincore.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -14133,6 +14783,9 @@ - $(srcdir)/move_pages-Xverbose.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/move_pages--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/mq.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -14190,6 +14843,9 @@ - $(srcdir)/net-sockaddr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/net-sockaddr--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/net-tpacket_req.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -14499,9 +15155,15 @@ - $(srcdir)/pidfd_open-yy.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/pidfd_open--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/pidfd_send_signal.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/pidfd_send_signal--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/pipe2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -14568,12 +15230,21 @@ - $(srcdir)/prlimit64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/prlimit64--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/process_vm_readv.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/process_vm_readv--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/process_vm_writev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/process_vm_writev--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/pselect6.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -14682,6 +15353,9 @@ - $(srcdir)/rt_sigqueueinfo.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/rt_sigqueueinfo--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/rt_sigreturn.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -14694,6 +15368,9 @@ - $(srcdir)/rt_tgsigqueueinfo.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/rt_tgsigqueueinfo--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/s390_guarded_storage.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -14724,15 +15401,27 @@ - $(srcdir)/sched_xetaffinity.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/sched_xetaffinity--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/sched_xetattr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/sched_xetattr--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/sched_xetparam.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/sched_xetparam--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/sched_xetscheduler.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/sched_xetscheduler--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/sched_yield.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -14871,6 +15560,9 @@ - $(srcdir)/signal_receive.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/signal_receive--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/signalfd4.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -14904,6 +15596,9 @@ - $(srcdir)/so_peercred-Xverbose.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/so_peercred--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/sock_filter-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -15120,6 +15815,9 @@ - $(srcdir)/tgkill.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/tgkill--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/threads-execve--quiet-thread-execve.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -15153,6 +15851,9 @@ - $(srcdir)/tkill.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/tkill--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/trace_clock.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -15201,6 +15902,9 @@ - $(srcdir)/trace_statfs_like.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/trie_test.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/truncate.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -15291,15 +15995,24 @@ - $(srcdir)/xet_robust_list.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/xet_robust_list--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/xetitimer.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - - $(srcdir)/xetpgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/xetpgid--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/xetpriority.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/xetpriority--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/xettimeofday.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -Index: strace-5.7/tests-m32/Makefile.in -=================================================================== ---- strace-5.7.orig/tests-m32/Makefile.in 2020-09-09 19:52:30.741668769 +0200 -+++ strace-5.7/tests-m32/Makefile.in 2020-09-09 20:23:32.889940661 +0200 -@@ -121,10 +121,17 @@ - clone3-success-Xabbrev$(EXEEXT) clone3-success-Xraw$(EXEEXT) \ - clone3-success-Xverbose$(EXEEXT) count-f$(EXEEXT) \ - delay$(EXEEXT) execve-v$(EXEEXT) execveat-v$(EXEEXT) \ -+ fcntl--pidns-translation$(EXEEXT) \ -+ fcntl64--pidns-translation$(EXEEXT) \ - filter_seccomp-flag$(EXEEXT) filter_seccomp-perf$(EXEEXT) \ -- filter-unavailable$(EXEEXT) fork-f$(EXEEXT) fsync-y$(EXEEXT) \ -- get_process_reaper$(EXEEXT) getpid$(EXEEXT) getppid$(EXEEXT) \ -- gettid$(EXEEXT) inject-nf$(EXEEXT) int_0x80$(EXEEXT) \ -+ filter-unavailable$(EXEEXT) fork-f$(EXEEXT) \ -+ fork--pidns-translation$(EXEEXT) fsync-y$(EXEEXT) \ -+ get_process_reaper$(EXEEXT) \ -+ getpgrp--pidns-translation$(EXEEXT) getpid$(EXEEXT) \ -+ getpid--pidns-translation$(EXEEXT) getppid$(EXEEXT) \ -+ getsid--pidns-translation$(EXEEXT) gettid$(EXEEXT) \ -+ gettid--pidns-translation$(EXEEXT) inject-nf$(EXEEXT) \ -+ int_0x80$(EXEEXT) ioctl_block--pidns-translation$(EXEEXT) \ - ioctl_dm-v$(EXEEXT) ioctl_evdev-success$(EXEEXT) \ - ioctl_evdev-success-Xabbrev$(EXEEXT) \ - ioctl_evdev-success-Xraw$(EXEEXT) \ -@@ -151,43 +158,68 @@ - ioctl_v4l2-success-v-Xabbrev$(EXEEXT) \ - ioctl_v4l2-success-v-Xraw$(EXEEXT) \ - ioctl_v4l2-success-v-Xverbose$(EXEEXT) \ -- is_linux_mips_n64$(EXEEXT) kill_child$(EXEEXT) \ -- ksysent$(EXEEXT) list_sigaction_signum$(EXEEXT) \ -- localtime$(EXEEXT) looping_threads$(EXEEXT) \ -- mmsg-silent$(EXEEXT) mmsg_name-v$(EXEEXT) \ -+ ioprio--pidns-translation$(EXEEXT) is_linux_mips_n64$(EXEEXT) \ -+ kcmp-y--pidns-translation$(EXEEXT) kill_child$(EXEEXT) \ -+ kill--pidns-translation$(EXEEXT) ksysent$(EXEEXT) \ -+ list_sigaction_signum$(EXEEXT) localtime$(EXEEXT) \ -+ looping_threads$(EXEEXT) \ -+ migrate_pages--pidns-translation$(EXEEXT) mmsg-silent$(EXEEXT) \ -+ mmsg_name-v$(EXEEXT) move_pages--pidns-translation$(EXEEXT) \ - msg_control-v$(EXEEXT) net-accept-connect$(EXEEXT) \ -+ net-sockaddr--pidns-translation$(EXEEXT) \ - net-tpacket_stats-success$(EXEEXT) nlattr_ifla_xdp-y$(EXEEXT) \ -+ netlink_audit--pidns-translation$(EXEEXT) \ - netlink_inet_diag$(EXEEXT) netlink_netlink_diag$(EXEEXT) \ - netlink_unix_diag$(EXEEXT) nsyscalls$(EXEEXT) \ - nsyscalls-d$(EXEEXT) oldselect-P$(EXEEXT) \ - oldselect-efault-P$(EXEEXT) orphaned_process_group$(EXEEXT) \ - pc$(EXEEXT) perf_event_open_nonverbose$(EXEEXT) \ -- perf_event_open_unabbrev$(EXEEXT) poll-P$(EXEEXT) \ -- ppoll-P$(EXEEXT) ppoll-v$(EXEEXT) \ -+ perf_event_open_unabbrev$(EXEEXT) \ -+ pidfd_open--pidns-translation$(EXEEXT) \ -+ pidfd_send_signal--pidns-translation$(EXEEXT) \ -+ pidns-cache$(EXEEXT) poll-P$(EXEEXT) ppoll-P$(EXEEXT) \ -+ ppoll-v$(EXEEXT) prlimit64--pidns-translation$(EXEEXT) \ - prctl-seccomp-filter-v$(EXEEXT) prctl-seccomp-strict$(EXEEXT) \ - prctl-spec-inject$(EXEEXT) print_maxfd$(EXEEXT) \ -- print_ppid_tracerpid$(EXEEXT) qual_fault$(EXEEXT) \ -- qual_inject-error-signal$(EXEEXT) qual_inject-retval$(EXEEXT) \ -- qual_inject-signal$(EXEEXT) qual_signal$(EXEEXT) \ -- quotactl-success$(EXEEXT) quotactl-success-v$(EXEEXT) \ -- quotactl-v$(EXEEXT) quotactl-xfs-success$(EXEEXT) \ -- quotactl-xfs-success-v$(EXEEXT) quotactl-xfs-v$(EXEEXT) \ -- redirect-fds$(EXEEXT) restart_syscall$(EXEEXT) \ -- run_expect_termsig$(EXEEXT) scm_rights$(EXEEXT) \ -- seccomp-filter-v$(EXEEXT) seccomp-strict$(EXEEXT) \ -- select-P$(EXEEXT) set_ptracer_any$(EXEEXT) \ -- set_sigblock$(EXEEXT) set_sigign$(EXEEXT) \ -- setpgrp-exec$(EXEEXT) signal_receive$(EXEEXT) sleep$(EXEEXT) \ -+ print_ppid_tracerpid$(EXEEXT) \ -+ process_vm_readv--pidns-translation$(EXEEXT) \ -+ process_vm_writev--pidns-translation$(EXEEXT) \ -+ qual_fault$(EXEEXT) qual_inject-error-signal$(EXEEXT) \ -+ qual_inject-retval$(EXEEXT) qual_inject-signal$(EXEEXT) \ -+ qual_signal$(EXEEXT) quotactl-success$(EXEEXT) \ -+ quotactl-success-v$(EXEEXT) quotactl-v$(EXEEXT) \ -+ quotactl-xfs-success$(EXEEXT) quotactl-xfs-success-v$(EXEEXT) \ -+ quotactl-xfs-v$(EXEEXT) redirect-fds$(EXEEXT) \ -+ restart_syscall$(EXEEXT) \ -+ rt_sigqueueinfo--pidns-translation$(EXEEXT) \ -+ rt_tgsigqueueinfo--pidns-translation$(EXEEXT) \ -+ run_expect_termsig$(EXEEXT) \ -+ sched_xetaffinity--pidns-translation$(EXEEXT) \ -+ sched_xetattr--pidns-translation$(EXEEXT) \ -+ sched_xetparam--pidns-translation$(EXEEXT) \ -+ sched_xetscheduler--pidns-translation$(EXEEXT) \ -+ scm_rights$(EXEEXT) seccomp-filter-v$(EXEEXT) \ -+ seccomp-strict$(EXEEXT) select-P$(EXEEXT) \ -+ set_ptracer_any$(EXEEXT) set_sigblock$(EXEEXT) \ -+ set_sigign$(EXEEXT) setpgrp-exec$(EXEEXT) \ -+ signal_receive$(EXEEXT) \ -+ signal_receive--pidns-translation$(EXEEXT) sleep$(EXEEXT) \ - stack-fcall$(EXEEXT) stack-fcall-attach$(EXEEXT) \ - stack-fcall-mangled$(EXEEXT) status-none-threads$(EXEEXT) \ -- status-unfinished-threads$(EXEEXT) syslog-success$(EXEEXT) \ -+ status-unfinished-threads$(EXEEXT) \ -+ so_peercred--pidns-translation$(EXEEXT) \ -+ syslog-success$(EXEEXT) tgkill--pidns-translation$(EXEEXT) \ - threads-execve$(EXEEXT) \ - threads-execve--quiet-thread-execve$(EXEEXT) \ - threads-execve-q$(EXEEXT) threads-execve-qq$(EXEEXT) \ -- threads-execve-qqq$(EXEEXT) tracer_ppid_pgid_sid$(EXEEXT) \ -+ threads-execve-qqq$(EXEEXT) tkill--pidns-translation$(EXEEXT) \ -+ tracer_ppid_pgid_sid$(EXEEXT) trie_test$(EXEEXT) \ - unblock_reset_raise$(EXEEXT) unix-pair-send-recv$(EXEEXT) \ - unix-pair-sendto-recvfrom$(EXEEXT) vfork-f$(EXEEXT) \ -- wait4-v$(EXEEXT) waitid-v$(EXEEXT) zeroargc$(EXEEXT) -+ wait4-v$(EXEEXT) waitid-v$(EXEEXT) \ -+ xetpgid--pidns-translation$(EXEEXT) \ -+ xetpriority--pidns-translation$(EXEEXT) \ -+ xet_robust_list--pidns-translation$(EXEEXT) zeroargc$(EXEEXT) - @ENABLE_STACKTRACE_TRUE@@USE_DEMANGLE_TRUE@am__append_1 = strace-k-demangle.test - TESTS = $(GEN_TESTS) $(DECODER_TESTS) $(MISC_TESTS) $(am__EXEEXT_2) - subdir = tests-m32 -@@ -545,7 +577,8 @@ - libtests_a-tail_alloc.$(OBJEXT) \ - libtests_a-test_printpath.$(OBJEXT) \ - libtests_a-test_printstrn.$(OBJEXT) \ -- libtests_a-test_ucopy.$(OBJEXT) libtests_a-tprintf.$(OBJEXT) -+ libtests_a-test_ucopy.$(OBJEXT) libtests_a-tprintf.$(OBJEXT) \ -+ libtests_a-xmalloc_for_tests.$(OBJEXT) - libtests_a_OBJECTS = $(am_libtests_a_OBJECTS) - _newselect_SOURCES = _newselect.c - _newselect_OBJECTS = _newselect.$(OBJEXT) -@@ -973,10 +1006,19 @@ - fcntl_OBJECTS = fcntl.$(OBJEXT) - fcntl_LDADD = $(LDADD) - fcntl_DEPENDENCIES = libtests.a -+fcntl__pidns_translation_SOURCES = fcntl--pidns-translation.c -+fcntl__pidns_translation_OBJECTS = fcntl--pidns-translation.$(OBJEXT) -+fcntl__pidns_translation_LDADD = $(LDADD) -+fcntl__pidns_translation_DEPENDENCIES = libtests.a - fcntl64_SOURCES = fcntl64.c - fcntl64_OBJECTS = fcntl64.$(OBJEXT) - fcntl64_LDADD = $(LDADD) - fcntl64_DEPENDENCIES = libtests.a -+fcntl64__pidns_translation_SOURCES = fcntl64--pidns-translation.c -+fcntl64__pidns_translation_OBJECTS = \ -+ fcntl64--pidns-translation.$(OBJEXT) -+fcntl64__pidns_translation_LDADD = $(LDADD) -+fcntl64__pidns_translation_DEPENDENCIES = libtests.a - fdatasync_SOURCES = fdatasync.c - fdatasync_OBJECTS = fdatasync.$(OBJEXT) - fdatasync_LDADD = $(LDADD) -@@ -1012,6 +1054,10 @@ - flock_OBJECTS = flock.$(OBJEXT) - flock_LDADD = $(LDADD) - flock_DEPENDENCIES = libtests.a -+fork__pidns_translation_SOURCES = fork--pidns-translation.c -+fork__pidns_translation_OBJECTS = fork--pidns-translation.$(OBJEXT) -+fork__pidns_translation_LDADD = $(LDADD) -+fork__pidns_translation_DEPENDENCIES = libtests.a - fork_f_SOURCES = fork-f.c - fork_f_OBJECTS = fork-f.$(OBJEXT) - fork_f_LDADD = $(LDADD) -@@ -1180,10 +1226,20 @@ - getpgrp_OBJECTS = getpgrp.$(OBJEXT) - getpgrp_LDADD = $(LDADD) - getpgrp_DEPENDENCIES = libtests.a -+getpgrp__pidns_translation_SOURCES = getpgrp--pidns-translation.c -+getpgrp__pidns_translation_OBJECTS = \ -+ getpgrp--pidns-translation.$(OBJEXT) -+getpgrp__pidns_translation_LDADD = $(LDADD) -+getpgrp__pidns_translation_DEPENDENCIES = libtests.a - getpid_SOURCES = getpid.c - getpid_OBJECTS = getpid.$(OBJEXT) - getpid_LDADD = $(LDADD) - getpid_DEPENDENCIES = libtests.a -+getpid__pidns_translation_SOURCES = getpid--pidns-translation.c -+getpid__pidns_translation_OBJECTS = \ -+ getpid--pidns-translation.$(OBJEXT) -+getpid__pidns_translation_LDADD = $(LDADD) -+getpid__pidns_translation_DEPENDENCIES = libtests.a - getppid_SOURCES = getppid.c - getppid_OBJECTS = getppid.$(OBJEXT) - getppid_LDADD = $(LDADD) -@@ -1220,6 +1276,11 @@ - getsid_OBJECTS = getsid.$(OBJEXT) - getsid_LDADD = $(LDADD) - getsid_DEPENDENCIES = libtests.a -+getsid__pidns_translation_SOURCES = getsid--pidns-translation.c -+getsid__pidns_translation_OBJECTS = \ -+ getsid--pidns-translation.$(OBJEXT) -+getsid__pidns_translation_LDADD = $(LDADD) -+getsid__pidns_translation_DEPENDENCIES = libtests.a - getsockname_SOURCES = getsockname.c - getsockname_OBJECTS = getsockname.$(OBJEXT) - getsockname_LDADD = $(LDADD) -@@ -1228,6 +1289,11 @@ - gettid_OBJECTS = gettid.$(OBJEXT) - gettid_LDADD = $(LDADD) - gettid_DEPENDENCIES = libtests.a -+gettid__pidns_translation_SOURCES = gettid--pidns-translation.c -+gettid__pidns_translation_OBJECTS = \ -+ gettid--pidns-translation.$(OBJEXT) -+gettid__pidns_translation_LDADD = $(LDADD) -+gettid__pidns_translation_DEPENDENCIES = libtests.a - getuid_SOURCES = getuid.c - getuid_OBJECTS = getuid.$(OBJEXT) - getuid_LDADD = $(LDADD) -@@ -1308,6 +1374,12 @@ - ioctl_block_OBJECTS = ioctl_block.$(OBJEXT) - ioctl_block_LDADD = $(LDADD) - ioctl_block_DEPENDENCIES = libtests.a -+ioctl_block__pidns_translation_SOURCES = \ -+ ioctl_block--pidns-translation.c -+ioctl_block__pidns_translation_OBJECTS = \ -+ ioctl_block--pidns-translation.$(OBJEXT) -+ioctl_block__pidns_translation_LDADD = $(LDADD) -+ioctl_block__pidns_translation_DEPENDENCIES = libtests.a - ioctl_dm_SOURCES = ioctl_dm.c - ioctl_dm_OBJECTS = ioctl_dm.$(OBJEXT) - ioctl_dm_LDADD = $(LDADD) -@@ -1628,6 +1700,11 @@ - ioprio_OBJECTS = ioprio.$(OBJEXT) - ioprio_LDADD = $(LDADD) - ioprio_DEPENDENCIES = libtests.a -+ioprio__pidns_translation_SOURCES = ioprio--pidns-translation.c -+ioprio__pidns_translation_OBJECTS = \ -+ ioprio--pidns-translation.$(OBJEXT) -+ioprio__pidns_translation_LDADD = $(LDADD) -+ioprio__pidns_translation_DEPENDENCIES = libtests.a - ioprio_Xabbrev_SOURCES = ioprio-Xabbrev.c - ioprio_Xabbrev_OBJECTS = ioprio-Xabbrev.$(OBJEXT) - ioprio_Xabbrev_LDADD = $(LDADD) -@@ -1724,6 +1801,11 @@ - kcmp_y_OBJECTS = kcmp-y.$(OBJEXT) - kcmp_y_LDADD = $(LDADD) - kcmp_y_DEPENDENCIES = libtests.a -+kcmp_y__pidns_translation_SOURCES = kcmp-y--pidns-translation.c -+kcmp_y__pidns_translation_OBJECTS = \ -+ kcmp-y--pidns-translation.$(OBJEXT) -+kcmp_y__pidns_translation_LDADD = $(LDADD) -+kcmp_y__pidns_translation_DEPENDENCIES = libtests.a - kern_features_SOURCES = kern_features.c - kern_features_OBJECTS = kern_features.$(OBJEXT) - kern_features_LDADD = $(LDADD) -@@ -1772,6 +1854,10 @@ - kill_OBJECTS = kill.$(OBJEXT) - kill_LDADD = $(LDADD) - kill_DEPENDENCIES = libtests.a -+kill__pidns_translation_SOURCES = kill--pidns-translation.c -+kill__pidns_translation_OBJECTS = kill--pidns-translation.$(OBJEXT) -+kill__pidns_translation_LDADD = $(LDADD) -+kill__pidns_translation_DEPENDENCIES = libtests.a - kill_child_SOURCES = kill_child.c - kill_child_OBJECTS = kill_child.$(OBJEXT) - kill_child_LDADD = $(LDADD) -@@ -1878,6 +1964,12 @@ - migrate_pages_OBJECTS = migrate_pages.$(OBJEXT) - migrate_pages_LDADD = $(LDADD) - migrate_pages_DEPENDENCIES = libtests.a -+migrate_pages__pidns_translation_SOURCES = \ -+ migrate_pages--pidns-translation.c -+migrate_pages__pidns_translation_OBJECTS = \ -+ migrate_pages--pidns-translation.$(OBJEXT) -+migrate_pages__pidns_translation_LDADD = $(LDADD) -+migrate_pages__pidns_translation_DEPENDENCIES = libtests.a - mincore_SOURCES = mincore.c - mincore_OBJECTS = mincore.$(OBJEXT) - mincore_LDADD = $(LDADD) -@@ -1990,6 +2082,12 @@ - move_pages_OBJECTS = move_pages.$(OBJEXT) - move_pages_LDADD = $(LDADD) - move_pages_DEPENDENCIES = libtests.a -+move_pages__pidns_translation_SOURCES = \ -+ move_pages--pidns-translation.c -+move_pages__pidns_translation_OBJECTS = \ -+ move_pages--pidns-translation.$(OBJEXT) -+move_pages__pidns_translation_LDADD = $(LDADD) -+move_pages__pidns_translation_DEPENDENCIES = libtests.a - move_pages_Xabbrev_SOURCES = move_pages-Xabbrev.c - move_pages_Xabbrev_OBJECTS = move_pages-Xabbrev.$(OBJEXT) - move_pages_Xabbrev_LDADD = $(LDADD) -@@ -2086,6 +2184,12 @@ - net_sockaddr_OBJECTS = net-sockaddr.$(OBJEXT) - net_sockaddr_LDADD = $(LDADD) - net_sockaddr_DEPENDENCIES = libtests.a -+net_sockaddr__pidns_translation_SOURCES = \ -+ net-sockaddr--pidns-translation.c -+net_sockaddr__pidns_translation_OBJECTS = \ -+ net-sockaddr--pidns-translation.$(OBJEXT) -+net_sockaddr__pidns_translation_LDADD = $(LDADD) -+net_sockaddr__pidns_translation_DEPENDENCIES = libtests.a - net_tpacket_req_SOURCES = net-tpacket_req.c - net_tpacket_req_OBJECTS = net-tpacket_req.$(OBJEXT) - net_tpacket_req_LDADD = $(LDADD) -@@ -2123,6 +2227,12 @@ - netlink_audit_OBJECTS = netlink_audit.$(OBJEXT) - netlink_audit_LDADD = $(LDADD) - netlink_audit_DEPENDENCIES = libtests.a -+netlink_audit__pidns_translation_SOURCES = \ -+ netlink_audit--pidns-translation.c -+netlink_audit__pidns_translation_OBJECTS = \ -+ netlink_audit--pidns-translation.$(OBJEXT) -+netlink_audit__pidns_translation_LDADD = $(LDADD) -+netlink_audit__pidns_translation_DEPENDENCIES = libtests.a - netlink_crypto_SOURCES = netlink_crypto.c - netlink_crypto_OBJECTS = netlink_crypto.$(OBJEXT) - netlink_crypto_LDADD = $(LDADD) -@@ -2543,6 +2653,12 @@ - pidfd_open--decode-fd-socket.$(OBJEXT) - pidfd_open__decode_fd_socket_LDADD = $(LDADD) - pidfd_open__decode_fd_socket_DEPENDENCIES = libtests.a -+pidfd_open__pidns_translation_SOURCES = \ -+ pidfd_open--pidns-translation.c -+pidfd_open__pidns_translation_OBJECTS = \ -+ pidfd_open--pidns-translation.$(OBJEXT) -+pidfd_open__pidns_translation_LDADD = $(LDADD) -+pidfd_open__pidns_translation_DEPENDENCIES = libtests.a - pidfd_open_P_SOURCES = pidfd_open-P.c - pidfd_open_P_OBJECTS = pidfd_open-P.$(OBJEXT) - pidfd_open_P_LDADD = $(LDADD) -@@ -2559,6 +2675,16 @@ - pidfd_send_signal_OBJECTS = pidfd_send_signal.$(OBJEXT) - pidfd_send_signal_LDADD = $(LDADD) - pidfd_send_signal_DEPENDENCIES = libtests.a -+pidfd_send_signal__pidns_translation_SOURCES = \ -+ pidfd_send_signal--pidns-translation.c -+pidfd_send_signal__pidns_translation_OBJECTS = \ -+ pidfd_send_signal--pidns-translation.$(OBJEXT) -+pidfd_send_signal__pidns_translation_LDADD = $(LDADD) -+pidfd_send_signal__pidns_translation_DEPENDENCIES = libtests.a -+pidns_cache_SOURCES = pidns-cache.c -+pidns_cache_OBJECTS = pidns-cache.$(OBJEXT) -+pidns_cache_LDADD = $(LDADD) -+pidns_cache_DEPENDENCIES = libtests.a - pipe_SOURCES = pipe.c - pipe_OBJECTS = pipe.$(OBJEXT) - pipe_LDADD = $(LDADD) -@@ -2717,14 +2843,31 @@ - prlimit64_OBJECTS = prlimit64.$(OBJEXT) - prlimit64_LDADD = $(LDADD) - prlimit64_DEPENDENCIES = libtests.a -+prlimit64__pidns_translation_SOURCES = prlimit64--pidns-translation.c -+prlimit64__pidns_translation_OBJECTS = \ -+ prlimit64--pidns-translation.$(OBJEXT) -+prlimit64__pidns_translation_LDADD = $(LDADD) -+prlimit64__pidns_translation_DEPENDENCIES = libtests.a - process_vm_readv_SOURCES = process_vm_readv.c - process_vm_readv_OBJECTS = process_vm_readv.$(OBJEXT) - process_vm_readv_LDADD = $(LDADD) - process_vm_readv_DEPENDENCIES = libtests.a -+process_vm_readv__pidns_translation_SOURCES = \ -+ process_vm_readv--pidns-translation.c -+process_vm_readv__pidns_translation_OBJECTS = \ -+ process_vm_readv--pidns-translation.$(OBJEXT) -+process_vm_readv__pidns_translation_LDADD = $(LDADD) -+process_vm_readv__pidns_translation_DEPENDENCIES = libtests.a - process_vm_writev_SOURCES = process_vm_writev.c - process_vm_writev_OBJECTS = process_vm_writev.$(OBJEXT) - process_vm_writev_LDADD = $(LDADD) - process_vm_writev_DEPENDENCIES = libtests.a -+process_vm_writev__pidns_translation_SOURCES = \ -+ process_vm_writev--pidns-translation.c -+process_vm_writev__pidns_translation_OBJECTS = \ -+ process_vm_writev--pidns-translation.$(OBJEXT) -+process_vm_writev__pidns_translation_LDADD = $(LDADD) -+process_vm_writev__pidns_translation_DEPENDENCIES = libtests.a - pselect6_SOURCES = pselect6.c - pselect6_OBJECTS = pselect6.$(OBJEXT) - pselect6_LDADD = $(LDADD) -@@ -2918,6 +3061,12 @@ - rt_sigqueueinfo_OBJECTS = rt_sigqueueinfo.$(OBJEXT) - rt_sigqueueinfo_LDADD = $(LDADD) - rt_sigqueueinfo_DEPENDENCIES = libtests.a -+rt_sigqueueinfo__pidns_translation_SOURCES = \ -+ rt_sigqueueinfo--pidns-translation.c -+rt_sigqueueinfo__pidns_translation_OBJECTS = \ -+ rt_sigqueueinfo--pidns-translation.$(OBJEXT) -+rt_sigqueueinfo__pidns_translation_LDADD = $(LDADD) -+rt_sigqueueinfo__pidns_translation_DEPENDENCIES = libtests.a - rt_sigreturn_SOURCES = rt_sigreturn.c - rt_sigreturn_OBJECTS = rt_sigreturn.$(OBJEXT) - rt_sigreturn_LDADD = $(LDADD) -@@ -2934,6 +3083,12 @@ - rt_tgsigqueueinfo_OBJECTS = rt_tgsigqueueinfo.$(OBJEXT) - rt_tgsigqueueinfo_LDADD = $(LDADD) - rt_tgsigqueueinfo_DEPENDENCIES = libtests.a -+rt_tgsigqueueinfo__pidns_translation_SOURCES = \ -+ rt_tgsigqueueinfo--pidns-translation.c -+rt_tgsigqueueinfo__pidns_translation_OBJECTS = \ -+ rt_tgsigqueueinfo--pidns-translation.$(OBJEXT) -+rt_tgsigqueueinfo__pidns_translation_LDADD = $(LDADD) -+rt_tgsigqueueinfo__pidns_translation_DEPENDENCIES = libtests.a - run_expect_termsig_SOURCES = run_expect_termsig.c - run_expect_termsig_OBJECTS = run_expect_termsig.$(OBJEXT) - run_expect_termsig_LDADD = $(LDADD) -@@ -2974,18 +3129,42 @@ - sched_xetaffinity_OBJECTS = sched_xetaffinity.$(OBJEXT) - sched_xetaffinity_LDADD = $(LDADD) - sched_xetaffinity_DEPENDENCIES = libtests.a -+sched_xetaffinity__pidns_translation_SOURCES = \ -+ sched_xetaffinity--pidns-translation.c -+sched_xetaffinity__pidns_translation_OBJECTS = \ -+ sched_xetaffinity--pidns-translation.$(OBJEXT) -+sched_xetaffinity__pidns_translation_LDADD = $(LDADD) -+sched_xetaffinity__pidns_translation_DEPENDENCIES = libtests.a - sched_xetattr_SOURCES = sched_xetattr.c - sched_xetattr_OBJECTS = sched_xetattr.$(OBJEXT) - sched_xetattr_LDADD = $(LDADD) - sched_xetattr_DEPENDENCIES = libtests.a -+sched_xetattr__pidns_translation_SOURCES = \ -+ sched_xetattr--pidns-translation.c -+sched_xetattr__pidns_translation_OBJECTS = \ -+ sched_xetattr--pidns-translation.$(OBJEXT) -+sched_xetattr__pidns_translation_LDADD = $(LDADD) -+sched_xetattr__pidns_translation_DEPENDENCIES = libtests.a - sched_xetparam_SOURCES = sched_xetparam.c - sched_xetparam_OBJECTS = sched_xetparam.$(OBJEXT) - sched_xetparam_LDADD = $(LDADD) - sched_xetparam_DEPENDENCIES = libtests.a -+sched_xetparam__pidns_translation_SOURCES = \ -+ sched_xetparam--pidns-translation.c -+sched_xetparam__pidns_translation_OBJECTS = \ -+ sched_xetparam--pidns-translation.$(OBJEXT) -+sched_xetparam__pidns_translation_LDADD = $(LDADD) -+sched_xetparam__pidns_translation_DEPENDENCIES = libtests.a - sched_xetscheduler_SOURCES = sched_xetscheduler.c - sched_xetscheduler_OBJECTS = sched_xetscheduler.$(OBJEXT) - sched_xetscheduler_LDADD = $(LDADD) - sched_xetscheduler_DEPENDENCIES = libtests.a -+sched_xetscheduler__pidns_translation_SOURCES = \ -+ sched_xetscheduler--pidns-translation.c -+sched_xetscheduler__pidns_translation_OBJECTS = \ -+ sched_xetscheduler--pidns-translation.$(OBJEXT) -+sched_xetscheduler__pidns_translation_LDADD = $(LDADD) -+sched_xetscheduler__pidns_translation_DEPENDENCIES = libtests.a - sched_yield_SOURCES = sched_yield.c - sched_yield_OBJECTS = sched_yield.$(OBJEXT) - sched_yield_LDADD = $(LDADD) -@@ -3198,6 +3377,12 @@ - signal_receive_OBJECTS = signal_receive.$(OBJEXT) - signal_receive_LDADD = $(LDADD) - signal_receive_DEPENDENCIES = libtests.a -+signal_receive__pidns_translation_SOURCES = \ -+ signal_receive--pidns-translation.c -+signal_receive__pidns_translation_OBJECTS = \ -+ signal_receive--pidns-translation.$(OBJEXT) -+signal_receive__pidns_translation_LDADD = $(LDADD) -+signal_receive__pidns_translation_DEPENDENCIES = libtests.a - signalfd4_SOURCES = signalfd4.c - signalfd4_OBJECTS = signalfd4.$(OBJEXT) - signalfd4_LDADD = $(LDADD) -@@ -3234,6 +3419,12 @@ - so_peercred_OBJECTS = so_peercred.$(OBJEXT) - so_peercred_LDADD = $(LDADD) - so_peercred_DEPENDENCIES = libtests.a -+so_peercred__pidns_translation_SOURCES = \ -+ so_peercred--pidns-translation.c -+so_peercred__pidns_translation_OBJECTS = \ -+ so_peercred--pidns-translation.$(OBJEXT) -+so_peercred__pidns_translation_LDADD = $(LDADD) -+so_peercred__pidns_translation_DEPENDENCIES = libtests.a - so_peercred_Xabbrev_SOURCES = so_peercred-Xabbrev.c - so_peercred_Xabbrev_OBJECTS = so_peercred-Xabbrev.$(OBJEXT) - so_peercred_Xabbrev_LDADD = $(LDADD) -@@ -3448,6 +3639,11 @@ - tgkill_OBJECTS = tgkill.$(OBJEXT) - tgkill_LDADD = $(LDADD) - tgkill_DEPENDENCIES = libtests.a -+tgkill__pidns_translation_SOURCES = tgkill--pidns-translation.c -+tgkill__pidns_translation_OBJECTS = \ -+ tgkill--pidns-translation.$(OBJEXT) -+tgkill__pidns_translation_LDADD = $(LDADD) -+tgkill__pidns_translation_DEPENDENCIES = libtests.a - threads_execve_SOURCES = threads-execve.c - threads_execve_OBJECTS = threads-execve.$(OBJEXT) - threads_execve_DEPENDENCIES = $(am__DEPENDENCIES_1) $(LDADD) -@@ -3493,10 +3689,20 @@ - tkill_OBJECTS = tkill.$(OBJEXT) - tkill_LDADD = $(LDADD) - tkill_DEPENDENCIES = libtests.a -+tkill__pidns_translation_SOURCES = tkill--pidns-translation.c -+tkill__pidns_translation_OBJECTS = tkill--pidns-translation.$(OBJEXT) -+tkill__pidns_translation_LDADD = $(LDADD) -+tkill__pidns_translation_DEPENDENCIES = libtests.a - tracer_ppid_pgid_sid_SOURCES = tracer_ppid_pgid_sid.c - tracer_ppid_pgid_sid_OBJECTS = tracer_ppid_pgid_sid.$(OBJEXT) - tracer_ppid_pgid_sid_LDADD = $(LDADD) - tracer_ppid_pgid_sid_DEPENDENCIES = libtests.a -+am_trie_test_OBJECTS = trie_test-trie_test.$(OBJEXT) \ -+ trie_test-trie_for_tests.$(OBJEXT) -+trie_test_OBJECTS = $(am_trie_test_OBJECTS) -+trie_test_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_1) -+trie_test_LINK = $(CCLD) $(trie_test_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ -+ $(LDFLAGS) -o $@ - truncate_SOURCES = truncate.c - truncate_OBJECTS = truncate.$(OBJEXT) - truncate_LDADD = $(LDADD) -@@ -3658,6 +3864,12 @@ - xet_robust_list_OBJECTS = xet_robust_list.$(OBJEXT) - xet_robust_list_LDADD = $(LDADD) - xet_robust_list_DEPENDENCIES = libtests.a -+xet_robust_list__pidns_translation_SOURCES = \ -+ xet_robust_list--pidns-translation.c -+xet_robust_list__pidns_translation_OBJECTS = \ -+ xet_robust_list--pidns-translation.$(OBJEXT) -+xet_robust_list__pidns_translation_LDADD = $(LDADD) -+xet_robust_list__pidns_translation_DEPENDENCIES = libtests.a - xet_thread_area_x86_SOURCES = xet_thread_area_x86.c - xet_thread_area_x86_OBJECTS = xet_thread_area_x86.$(OBJEXT) - xet_thread_area_x86_LDADD = $(LDADD) -@@ -3670,10 +3882,21 @@ - xetpgid_OBJECTS = xetpgid.$(OBJEXT) - xetpgid_LDADD = $(LDADD) - xetpgid_DEPENDENCIES = libtests.a -+xetpgid__pidns_translation_SOURCES = xetpgid--pidns-translation.c -+xetpgid__pidns_translation_OBJECTS = \ -+ xetpgid--pidns-translation.$(OBJEXT) -+xetpgid__pidns_translation_LDADD = $(LDADD) -+xetpgid__pidns_translation_DEPENDENCIES = libtests.a - xetpriority_SOURCES = xetpriority.c - xetpriority_OBJECTS = xetpriority.$(OBJEXT) - xetpriority_LDADD = $(LDADD) - xetpriority_DEPENDENCIES = libtests.a -+xetpriority__pidns_translation_SOURCES = \ -+ xetpriority--pidns-translation.c -+xetpriority__pidns_translation_OBJECTS = \ -+ xetpriority--pidns-translation.$(OBJEXT) -+xetpriority__pidns_translation_LDADD = $(LDADD) -+xetpriority__pidns_translation_DEPENDENCIES = libtests.a - xettimeofday_SOURCES = xettimeofday.c - xettimeofday_OBJECTS = xettimeofday.$(OBJEXT) - xettimeofday_LDADD = $(LDADD) -@@ -3759,13 +3982,15 @@ - ./$(DEPDIR)/fanotify_mark.Po ./$(DEPDIR)/fchdir.Po \ - ./$(DEPDIR)/fchmod.Po ./$(DEPDIR)/fchmodat.Po \ - ./$(DEPDIR)/fchown.Po ./$(DEPDIR)/fchown32.Po \ -- ./$(DEPDIR)/fchownat.Po ./$(DEPDIR)/fcntl.Po \ -- ./$(DEPDIR)/fcntl64.Po ./$(DEPDIR)/fdatasync.Po \ -+ ./$(DEPDIR)/fchownat.Po \ -+ ./$(DEPDIR)/fcntl--pidns-translation.Po ./$(DEPDIR)/fcntl.Po \ -+ ./$(DEPDIR)/fcntl64--pidns-translation.Po ./$(DEPDIR)/fcntl64.Po \ -+ ./$(DEPDIR)/fdatasync.Po \ - ./$(DEPDIR)/fflush.Po ./$(DEPDIR)/file_handle.Po \ - ./$(DEPDIR)/file_ioctl.Po ./$(DEPDIR)/filter-unavailable.Po \ - ./$(DEPDIR)/filter_seccomp-flag.Po \ - ./$(DEPDIR)/filter_seccomp-perf.Po ./$(DEPDIR)/finit_module.Po \ -- ./$(DEPDIR)/flock.Po ./$(DEPDIR)/fork-f.Po \ -+ ./$(DEPDIR)/flock.Po ./$(DEPDIR)/fork--pidns-translation.Po ./$(DEPDIR)/fork-f.Po \ - ./$(DEPDIR)/fsconfig-P.Po ./$(DEPDIR)/fsconfig.Po \ - ./$(DEPDIR)/fsmount.Po ./$(DEPDIR)/fsopen.Po \ - ./$(DEPDIR)/fspick-P.Po ./$(DEPDIR)/fspick.Po \ -@@ -3786,13 +4011,14 @@ - ./$(DEPDIR)/geteuid32.Po ./$(DEPDIR)/getgid.Po \ - ./$(DEPDIR)/getgid32.Po ./$(DEPDIR)/getgroups.Po \ - ./$(DEPDIR)/getgroups32.Po ./$(DEPDIR)/getpeername.Po \ -- ./$(DEPDIR)/getpgrp.Po ./$(DEPDIR)/getpid.Po \ -+ ./$(DEPDIR)/getpgrp--pidns-translation.Po ./$(DEPDIR)/getpgrp.Po \ -+ ./$(DEPDIR)/getpid--pidns-translation.Po ./$(DEPDIR)/getpid.Po \ - ./$(DEPDIR)/getppid.Po ./$(DEPDIR)/getrandom.Po \ - ./$(DEPDIR)/getresgid.Po ./$(DEPDIR)/getresgid32.Po \ - ./$(DEPDIR)/getresuid.Po ./$(DEPDIR)/getresuid32.Po \ - ./$(DEPDIR)/getrlimit.Po ./$(DEPDIR)/getrusage.Po \ -- ./$(DEPDIR)/getsid.Po ./$(DEPDIR)/getsockname.Po \ -- ./$(DEPDIR)/gettid.Po ./$(DEPDIR)/getuid.Po \ -+ ./$(DEPDIR)/getsid--pidns-translation.Po ./$(DEPDIR)/getsid.Po ./$(DEPDIR)/getsockname.Po \ -+ ./$(DEPDIR)/gettid--pidns-translation.Po ./$(DEPDIR)/gettid.Po ./$(DEPDIR)/getuid.Po \ - ./$(DEPDIR)/getuid32.Po ./$(DEPDIR)/getxgid.Po \ - ./$(DEPDIR)/getxpid.Po ./$(DEPDIR)/getxuid.Po \ - ./$(DEPDIR)/group_req.Po ./$(DEPDIR)/inet-cmsg.Po \ -@@ -3802,7 +4028,7 @@ - ./$(DEPDIR)/inotify_init1.Po ./$(DEPDIR)/int_0x80.Po \ - ./$(DEPDIR)/io_uring_enter.Po ./$(DEPDIR)/io_uring_register.Po \ - ./$(DEPDIR)/io_uring_setup.Po ./$(DEPDIR)/ioctl.Po \ -- ./$(DEPDIR)/ioctl_block.Po ./$(DEPDIR)/ioctl_dm-v.Po \ -+ ./$(DEPDIR)/ioctl_block--pidns-translation.Po ./$(DEPDIR)/ioctl_block.Po ./$(DEPDIR)/ioctl_dm-v.Po \ - ./$(DEPDIR)/ioctl_dm.Po ./$(DEPDIR)/ioctl_evdev-Xabbrev.Po \ - ./$(DEPDIR)/ioctl_evdev-Xraw.Po \ - ./$(DEPDIR)/ioctl_evdev-Xverbose.Po \ -@@ -3861,7 +4087,7 @@ - ./$(DEPDIR)/ioctl_v4l2-v-Xverbose.Po \ - ./$(DEPDIR)/ioctl_v4l2-v.Po ./$(DEPDIR)/ioctl_v4l2.Po \ - ./$(DEPDIR)/ioctl_watchdog.Po ./$(DEPDIR)/ioperm.Po \ -- ./$(DEPDIR)/iopl.Po ./$(DEPDIR)/ioprio-Xabbrev.Po \ -+ ./$(DEPDIR)/iopl.Po ./$(DEPDIR)/ioprio--pidns-translation.Po ./$(DEPDIR)/ioprio-Xabbrev.Po \ - ./$(DEPDIR)/ioprio-Xraw.Po ./$(DEPDIR)/ioprio-Xverbose.Po \ - ./$(DEPDIR)/ioprio.Po ./$(DEPDIR)/ip_mreq.Po \ - ./$(DEPDIR)/ipc.Po ./$(DEPDIR)/ipc_msg-Xabbrev.Po \ -@@ -3873,15 +4099,15 @@ - ./$(DEPDIR)/ipc_sem-Xverbose.Po ./$(DEPDIR)/ipc_sem.Po \ - ./$(DEPDIR)/ipc_shm-Xabbrev.Po ./$(DEPDIR)/ipc_shm-Xraw.Po \ - ./$(DEPDIR)/ipc_shm-Xverbose.Po ./$(DEPDIR)/ipc_shm.Po \ -- ./$(DEPDIR)/is_linux_mips_n64.Po ./$(DEPDIR)/kcmp-y.Po \ -- ./$(DEPDIR)/kcmp.Po ./$(DEPDIR)/kern_features.Po \ -+ ./$(DEPDIR)/is_linux_mips_n64.Po ./$(DEPDIR)/kcmp-y--pidns-translation.Po \ -+ ./$(DEPDIR)/kcmp-y.Po ./$(DEPDIR)/kcmp.Po ./$(DEPDIR)/kern_features.Po \ - ./$(DEPDIR)/kernel_version-Xabbrev.Po \ - ./$(DEPDIR)/kernel_version-Xraw.Po \ - ./$(DEPDIR)/kernel_version-Xverbose.Po \ - ./$(DEPDIR)/kernel_version.Po ./$(DEPDIR)/kexec_file_load.Po \ - ./$(DEPDIR)/kexec_load.Po ./$(DEPDIR)/keyctl-Xabbrev.Po \ - ./$(DEPDIR)/keyctl-Xraw.Po ./$(DEPDIR)/keyctl-Xverbose.Po \ -- ./$(DEPDIR)/keyctl.Po ./$(DEPDIR)/kill.Po \ -+ ./$(DEPDIR)/keyctl.Po ./$(DEPDIR)/kill--pidns-translation.Po ./$(DEPDIR)/kill.Po \ - ./$(DEPDIR)/kill_child.Po ./$(DEPDIR)/ksysent.Po \ - ./$(DEPDIR)/lchown.Po ./$(DEPDIR)/lchown32.Po \ - ./$(DEPDIR)/libtests_a-create_nl_socket.Po \ -@@ -3915,7 +4141,8 @@ - ./$(DEPDIR)/libtests_a-test_printpath.Po \ - ./$(DEPDIR)/libtests_a-test_printstrn.Po \ - ./$(DEPDIR)/libtests_a-test_ucopy.Po \ -- ./$(DEPDIR)/libtests_a-tprintf.Po ./$(DEPDIR)/link.Po \ -+ ./$(DEPDIR)/libtests_a-tprintf.Po \ -+ ./$(DEPDIR)/libtests_a-xmalloc_for_tests.Po ./$(DEPDIR)/link.Po \ - ./$(DEPDIR)/linkat.Po ./$(DEPDIR)/list_sigaction_signum.Po \ - ./$(DEPDIR)/llseek.Po ./$(DEPDIR)/localtime.Po \ - ./$(DEPDIR)/lookup_dcookie.Po ./$(DEPDIR)/looping_threads.Po \ -@@ -3928,7 +4155,9 @@ - ./$(DEPDIR)/membarrier.Po ./$(DEPDIR)/memfd_create-Xabbrev.Po \ - ./$(DEPDIR)/memfd_create-Xraw.Po \ - ./$(DEPDIR)/memfd_create-Xverbose.Po \ -- ./$(DEPDIR)/memfd_create.Po ./$(DEPDIR)/migrate_pages.Po \ -+ ./$(DEPDIR)/memfd_create.Po \ -+ ./$(DEPDIR)/migrate_pages--pidns-translation.Po \ -+ ./$(DEPDIR)/migrate_pages.Po \ - ./$(DEPDIR)/mincore.Po ./$(DEPDIR)/mkdir.Po \ - ./$(DEPDIR)/mkdirat.Po ./$(DEPDIR)/mknod.Po \ - ./$(DEPDIR)/mknodat.Po ./$(DEPDIR)/mlock.Po \ -@@ -3944,7 +4173,7 @@ - ./$(DEPDIR)/modify_ldt.Po ./$(DEPDIR)/mount-Xabbrev.Po \ - ./$(DEPDIR)/mount-Xraw.Po ./$(DEPDIR)/mount-Xverbose.Po \ - ./$(DEPDIR)/mount.Po ./$(DEPDIR)/move_mount-P.Po \ -- ./$(DEPDIR)/move_mount.Po ./$(DEPDIR)/move_pages-Xabbrev.Po \ -+ ./$(DEPDIR)/move_mount.Po ./$(DEPDIR)/move_pages--pidns-translation.Po ./$(DEPDIR)/move_pages-Xabbrev.Po \ - ./$(DEPDIR)/move_pages-Xraw.Po \ - ./$(DEPDIR)/move_pages-Xverbose.Po ./$(DEPDIR)/move_pages.Po \ - ./$(DEPDIR)/mq.Po ./$(DEPDIR)/mq_sendrecv-read.Po \ -@@ -3961,12 +4190,13 @@ - ./$(DEPDIR)/net-packet_mreq-Xabbrev.Po \ - ./$(DEPDIR)/net-packet_mreq-Xraw.Po \ - ./$(DEPDIR)/net-packet_mreq-Xverbose.Po \ -- ./$(DEPDIR)/net-packet_mreq.Po ./$(DEPDIR)/net-sockaddr.Po \ -+ ./$(DEPDIR)/net-packet_mreq.Po ./$(DEPDIR)/net-sockaddr--pidns-translation.Po ./$(DEPDIR)/net-sockaddr.Po \ - ./$(DEPDIR)/net-tpacket_req.Po \ - ./$(DEPDIR)/net-tpacket_stats-success.Po \ - ./$(DEPDIR)/net-tpacket_stats.Po ./$(DEPDIR)/net-y-unix.Po \ - ./$(DEPDIR)/net-yy-inet.Po ./$(DEPDIR)/net-yy-inet6.Po \ - ./$(DEPDIR)/net-yy-netlink.Po ./$(DEPDIR)/net-yy-unix.Po \ -+ ./$(DEPDIR)/netlink_audit--pidns-translation.Po \ - ./$(DEPDIR)/netlink_audit.Po ./$(DEPDIR)/netlink_crypto.Po \ - ./$(DEPDIR)/netlink_generic.Po \ - ./$(DEPDIR)/netlink_inet_diag.Po \ -@@ -4043,9 +4273,11 @@ - ./$(DEPDIR)/pidfd_open--decode-fd-path.Po \ - ./$(DEPDIR)/pidfd_open--decode-fd-pidfd.Po \ - ./$(DEPDIR)/pidfd_open--decode-fd-socket.Po \ -+ ./$(DEPDIR)/pidfd_open--pidns-translation.Po \ - ./$(DEPDIR)/pidfd_open-P.Po ./$(DEPDIR)/pidfd_open-y.Po \ - ./$(DEPDIR)/pidfd_open-yy.Po ./$(DEPDIR)/pidfd_open.Po \ -- ./$(DEPDIR)/pidfd_send_signal.Po ./$(DEPDIR)/pipe.Po \ -+ ./$(DEPDIR)/pidfd_send_signal--pidns-translation.Po \ -+ ./$(DEPDIR)/pidfd_send_signal.Po ./$(DEPDIR)/pidns-cache.Po ./$(DEPDIR)/pipe.Po \ - ./$(DEPDIR)/pipe2.Po ./$(DEPDIR)/pkey_alloc.Po \ - ./$(DEPDIR)/pkey_free.Po ./$(DEPDIR)/pkey_mprotect.Po \ - ./$(DEPDIR)/poll-P.Po ./$(DEPDIR)/poll.Po \ -@@ -4070,8 +4302,10 @@ - ./$(DEPDIR)/printsignal-Xverbose.Po ./$(DEPDIR)/printstr.Po \ - ./$(DEPDIR)/printstrn-umoven-peekdata.Po \ - ./$(DEPDIR)/printstrn-umoven-undumpable.Po \ -- ./$(DEPDIR)/printstrn-umoven.Po ./$(DEPDIR)/prlimit64.Po \ -+ ./$(DEPDIR)/printstrn-umoven.Po ./$(DEPDIR)/prlimit64--pidns-translation.Po ./$(DEPDIR)/prlimit64.Po \ -+ ./$(DEPDIR)/process_vm_readv--pidns-translation.Po \ - ./$(DEPDIR)/process_vm_readv.Po \ -+ ./$(DEPDIR)/process_vm_writev--pidns-translation.Po \ - ./$(DEPDIR)/process_vm_writev.Po ./$(DEPDIR)/pselect6.Po \ - ./$(DEPDIR)/ptrace.Po ./$(DEPDIR)/ptrace_syscall_info.Po \ - ./$(DEPDIR)/pwritev-pwritev.Po ./$(DEPDIR)/qual_fault.Po \ -@@ -4101,9 +4335,10 @@ - ./$(DEPDIR)/request_key.Po ./$(DEPDIR)/restart_syscall.Po \ - ./$(DEPDIR)/riscv_flush_icache.Po ./$(DEPDIR)/rmdir.Po \ - ./$(DEPDIR)/rt_sigaction.Po ./$(DEPDIR)/rt_sigpending.Po \ -- ./$(DEPDIR)/rt_sigprocmask.Po ./$(DEPDIR)/rt_sigqueueinfo.Po \ -+ ./$(DEPDIR)/rt_sigprocmask.Po ./$(DEPDIR)/rt_sigqueueinfo--pidns-translation.Po ./$(DEPDIR)/rt_sigqueueinfo.Po \ - ./$(DEPDIR)/rt_sigreturn.Po ./$(DEPDIR)/rt_sigsuspend.Po \ - ./$(DEPDIR)/rt_sigtimedwait.Po \ -+ ./$(DEPDIR)/rt_tgsigqueueinfo--pidns-translation.Po \ - ./$(DEPDIR)/rt_tgsigqueueinfo.Po \ - ./$(DEPDIR)/run_expect_termsig.Po \ - ./$(DEPDIR)/s390_guarded_storage-v.Po \ -@@ -4113,9 +4348,15 @@ - ./$(DEPDIR)/s390_sthyi.Po \ - ./$(DEPDIR)/sched_get_priority_mxx.Po \ - ./$(DEPDIR)/sched_rr_get_interval.Po \ -- ./$(DEPDIR)/sched_xetaffinity.Po ./$(DEPDIR)/sched_xetattr.Po \ -+ ./$(DEPDIR)/sched_xetaffinity--pidns-translation.Po \ -+ ./$(DEPDIR)/sched_xetaffinity.Po \ -+ ./$(DEPDIR)/sched_xetattr--pidns-translation.Po \ -+ ./$(DEPDIR)/sched_xetattr.Po \ -+ ./$(DEPDIR)/sched_xetparam--pidns-translation.Po \ - ./$(DEPDIR)/sched_xetparam.Po \ -- ./$(DEPDIR)/sched_xetscheduler.Po ./$(DEPDIR)/sched_yield.Po \ -+ ./$(DEPDIR)/sched_xetscheduler--pidns-translation.Po \ -+ ./$(DEPDIR)/sched_xetscheduler.Po \ -+ ./$(DEPDIR)/sched_yield.Po \ - ./$(DEPDIR)/scm_rights.Po ./$(DEPDIR)/seccomp-filter-v.Po \ - ./$(DEPDIR)/seccomp-filter.Po ./$(DEPDIR)/seccomp-strict.Po \ - ./$(DEPDIR)/seccomp_get_action_avail.Po \ -@@ -4143,11 +4384,12 @@ - ./$(DEPDIR)/shmxt.Po ./$(DEPDIR)/shutdown.Po \ - ./$(DEPDIR)/sigaction.Po ./$(DEPDIR)/sigaltstack.Po \ - ./$(DEPDIR)/siginfo.Po ./$(DEPDIR)/signal.Po \ -- ./$(DEPDIR)/signal_receive.Po ./$(DEPDIR)/signalfd4.Po \ -+ ./$(DEPDIR)/signal_receive--pidns-translation.Po ./$(DEPDIR)/signal_receive.Po ./$(DEPDIR)/signalfd4.Po \ - ./$(DEPDIR)/sigpending.Po ./$(DEPDIR)/sigprocmask.Po \ - ./$(DEPDIR)/sigreturn.Po ./$(DEPDIR)/sigsuspend.Po \ - ./$(DEPDIR)/sleep.Po ./$(DEPDIR)/so_error.Po \ -- ./$(DEPDIR)/so_linger.Po ./$(DEPDIR)/so_peercred-Xabbrev.Po \ -+ ./$(DEPDIR)/so_linger.Po ./$(DEPDIR)/so_peercred--pidns-translation.Po \ -+ ./$(DEPDIR)/so_peercred-Xabbrev.Po \ - ./$(DEPDIR)/so_peercred-Xraw.Po \ - ./$(DEPDIR)/so_peercred-Xverbose.Po ./$(DEPDIR)/so_peercred.Po \ - ./$(DEPDIR)/sock_filter-v-Xabbrev.Po \ -@@ -4186,7 +4428,7 @@ - ./$(DEPDIR)/symlinkat.Po ./$(DEPDIR)/sync.Po \ - ./$(DEPDIR)/sync_file_range.Po ./$(DEPDIR)/sync_file_range2.Po \ - ./$(DEPDIR)/sysinfo.Po ./$(DEPDIR)/syslog-success.Po \ -- ./$(DEPDIR)/syslog.Po ./$(DEPDIR)/tee.Po ./$(DEPDIR)/tgkill.Po \ -+ ./$(DEPDIR)/syslog.Po ./$(DEPDIR)/tee.Po ./$(DEPDIR)/tgkill--pidns-translation.Po ./$(DEPDIR)/tgkill.Po \ - ./$(DEPDIR)/threads-execve--quiet-thread-execve.Po \ - ./$(DEPDIR)/threads-execve-q.Po \ - ./$(DEPDIR)/threads-execve-qq.Po \ -@@ -4194,7 +4436,8 @@ - ./$(DEPDIR)/threads-execve.Po ./$(DEPDIR)/time.Po \ - ./$(DEPDIR)/timer_create.Po ./$(DEPDIR)/timer_xettime.Po \ - ./$(DEPDIR)/timerfd_xettime.Po ./$(DEPDIR)/times-fail.Po \ -- ./$(DEPDIR)/times.Po ./$(DEPDIR)/tkill.Po ./$(DEPDIR)/tracer_ppid_pgid_sid.Po \ -+ ./$(DEPDIR)/times.Po ./$(DEPDIR)/tkill--pidns-translation.Po \ -+ ./$(DEPDIR)/tkill.Po ./$(DEPDIR)/tracer_ppid_pgid_sid.Po \ - ./$(DEPDIR)/truncate.Po ./$(DEPDIR)/truncate64-truncate64.Po \ - ./$(DEPDIR)/ugetrlimit.Po ./$(DEPDIR)/uio-uio.Po \ - ./$(DEPDIR)/umask.Po ./$(DEPDIR)/umount.Po \ -@@ -4216,9 +4459,11 @@ - ./$(DEPDIR)/wait4-v.Po ./$(DEPDIR)/wait4.Po \ - ./$(DEPDIR)/waitid-v.Po ./$(DEPDIR)/waitid.Po \ - ./$(DEPDIR)/waitpid.Po ./$(DEPDIR)/xattr-strings.Po \ -- ./$(DEPDIR)/xattr.Po ./$(DEPDIR)/xet_robust_list.Po \ -+ ./$(DEPDIR)/xattr.Po ./$(DEPDIR)/xet_robust_list--pidns-translation.Po \ -+ ./$(DEPDIR)/xet_robust_list.Po \ - ./$(DEPDIR)/xet_thread_area_x86.Po ./$(DEPDIR)/xetitimer.Po \ -- ./$(DEPDIR)/xetpgid.Po ./$(DEPDIR)/xetpriority.Po \ -+ ./$(DEPDIR)/xetpgid--pidns-translation.Po ./$(DEPDIR)/xetpgid.Po \ -+ ./$(DEPDIR)/xetpriority--pidns-translation.Po ./$(DEPDIR)/xetpriority.Po \ - ./$(DEPDIR)/xettimeofday.Po ./$(DEPDIR)/zeroargc.Po - am__mv = mv -f - AM_V_lt = $(am__v_lt_@AM_V@) -@@ -4264,26 +4509,30 @@ - fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \ - fanotify_mark-Xabbrev.c fanotify_mark-Xraw.c \ - fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmodat.c fchown.c \ -- fchown32.c fchownat.c fcntl.c fcntl64.c fdatasync.c fflush.c \ -+ fchown32.c fchownat.c fcntl.c fcntl--pidns-translation.c \ -+ fcntl64.c fcntl64--pidns-translation.c fdatasync.c fflush.c \ - file_handle.c file_ioctl.c filter-unavailable.c \ - filter_seccomp-flag.c filter_seccomp-perf.c finit_module.c \ -- flock.c fork-f.c fsconfig.c fsconfig-P.c fsmount.c fsopen.c \ -- fspick.c fspick-P.c fstat.c fstat-Xabbrev.c fstat-Xraw.c \ -- fstat-Xverbose.c fstat64.c fstat64-Xabbrev.c fstat64-Xraw.c \ -- fstat64-Xverbose.c fstatat64.c fstatfs.c fstatfs64.c fsync.c \ -- fsync-y.c ftruncate.c ftruncate64.c futex.c futimesat.c \ -- get_mempolicy.c get_process_reaper.c getcpu.c getcwd.c \ -- getdents.c getdents-v.c getdents64.c getdents64-v.c getegid.c \ -- getegid32.c geteuid.c geteuid32.c getgid.c getgid32.c \ -- getgroups.c getgroups32.c getpeername.c getpgrp.c getpid.c \ -- getppid.c getrandom.c getresgid.c getresgid32.c getresuid.c \ -- getresuid32.c getrlimit.c getrusage.c getsid.c getsockname.c \ -- gettid.c getuid.c getuid32.c getxgid.c getxpid.c getxuid.c \ -- group_req.c inet-cmsg.c init_module.c inject-nf.c inotify.c \ -- inotify_init.c inotify_init-y.c inotify_init1.c \ -- inotify_init1-y.c int_0x80.c io_uring_enter.c \ -- io_uring_register.c io_uring_setup.c ioctl.c ioctl_block.c \ -- ioctl_dm.c ioctl_dm-v.c ioctl_evdev.c ioctl_evdev-Xabbrev.c \ -+ flock.c fork--pidns-translation.c fork-f.c fsconfig.c \ -+ fsconfig-P.c fsmount.c fsopen.c fspick.c fspick-P.c fstat.c \ -+ fstat-Xabbrev.c fstat-Xraw.c fstat-Xverbose.c fstat64.c \ -+ fstat64-Xabbrev.c fstat64-Xraw.c fstat64-Xverbose.c \ -+ fstatat64.c fstatfs.c fstatfs64.c fsync.c fsync-y.c \ -+ ftruncate.c ftruncate64.c futex.c futimesat.c get_mempolicy.c \ -+ get_process_reaper.c getcpu.c getcwd.c getdents.c getdents-v.c \ -+ getdents64.c getdents64-v.c getegid.c getegid32.c geteuid.c \ -+ geteuid32.c getgid.c getgid32.c getgroups.c getgroups32.c \ -+ getpeername.c getpgrp.c getpgrp--pidns-translation.c getpid.c \ -+ getpid--pidns-translation.c getppid.c getrandom.c getresgid.c \ -+ getresgid32.c getresuid.c getresuid32.c getrlimit.c \ -+ getrusage.c getsid.c getsid--pidns-translation.c getsockname.c \ -+ gettid.c gettid--pidns-translation.c getuid.c getuid32.c \ -+ getxgid.c getxpid.c getxuid.c group_req.c inet-cmsg.c \ -+ init_module.c inject-nf.c inotify.c inotify_init.c \ -+ inotify_init-y.c inotify_init1.c inotify_init1-y.c int_0x80.c \ -+ io_uring_enter.c io_uring_register.c io_uring_setup.c ioctl.c \ -+ ioctl_block.c ioctl_block--pidns-translation.c ioctl_dm.c \ -+ ioctl_dm-v.c ioctl_evdev.c ioctl_evdev-Xabbrev.c \ - ioctl_evdev-Xraw.c ioctl_evdev-Xverbose.c \ - ioctl_evdev-success.c ioctl_evdev-success-Xabbrev.c \ - ioctl_evdev-success-Xraw.c ioctl_evdev-success-Xverbose.c \ -@@ -4311,47 +4560,51 @@ - ioctl_v4l2-success-v-Xverbose.c ioctl_v4l2-v.c \ - ioctl_v4l2-v-Xabbrev.c ioctl_v4l2-v-Xraw.c \ - ioctl_v4l2-v-Xverbose.c ioctl_watchdog.c ioperm.c iopl.c \ -- ioprio.c ioprio-Xabbrev.c ioprio-Xraw.c ioprio-Xverbose.c \ -- ip_mreq.c ipc.c ipc_msg.c ipc_msg-Xabbrev.c ipc_msg-Xraw.c \ -- ipc_msg-Xverbose.c ipc_msgbuf.c ipc_msgbuf-Xabbrev.c \ -- ipc_msgbuf-Xraw.c ipc_msgbuf-Xverbose.c ipc_sem.c \ -- ipc_sem-Xabbrev.c ipc_sem-Xraw.c ipc_sem-Xverbose.c ipc_shm.c \ -- ipc_shm-Xabbrev.c ipc_shm-Xraw.c ipc_shm-Xverbose.c \ -- is_linux_mips_n64.c kcmp.c kcmp-y.c kern_features.c \ -+ ioprio.c ioprio--pidns-translation.c ioprio-Xabbrev.c \ -+ ioprio-Xraw.c ioprio-Xverbose.c ip_mreq.c ipc.c ipc_msg.c \ -+ ipc_msg-Xabbrev.c ipc_msg-Xraw.c ipc_msg-Xverbose.c \ -+ ipc_msgbuf.c ipc_msgbuf-Xabbrev.c ipc_msgbuf-Xraw.c \ -+ ipc_msgbuf-Xverbose.c ipc_sem.c ipc_sem-Xabbrev.c \ -+ ipc_sem-Xraw.c ipc_sem-Xverbose.c ipc_shm.c ipc_shm-Xabbrev.c \ -+ ipc_shm-Xraw.c ipc_shm-Xverbose.c is_linux_mips_n64.c kcmp.c \ -+ kcmp-y.c kcmp-y--pidns-translation.c kern_features.c \ - kernel_version.c kernel_version-Xabbrev.c \ - kernel_version-Xraw.c kernel_version-Xverbose.c \ - kexec_file_load.c kexec_load.c keyctl.c keyctl-Xabbrev.c \ -- keyctl-Xraw.c keyctl-Xverbose.c kill.c kill_child.c ksysent.c \ -- lchown.c lchown32.c link.c linkat.c list_sigaction_signum.c \ -- llseek.c localtime.c lookup_dcookie.c looping_threads.c \ -- lseek.c lstat.c lstat64.c madvise.c maybe_switch_current_tcp.c \ -+ keyctl-Xraw.c keyctl-Xverbose.c kill.c \ -+ kill--pidns-translation.c kill_child.c ksysent.c lchown.c \ -+ lchown32.c link.c linkat.c list_sigaction_signum.c llseek.c \ -+ localtime.c lookup_dcookie.c looping_threads.c lseek.c lstat.c \ -+ lstat64.c madvise.c maybe_switch_current_tcp.c \ - maybe_switch_current_tcp--quiet-thread-execve.c mbind.c \ - mbind-Xabbrev.c mbind-Xraw.c mbind-Xverbose.c membarrier.c \ - memfd_create.c memfd_create-Xabbrev.c memfd_create-Xraw.c \ -- memfd_create-Xverbose.c migrate_pages.c mincore.c mkdir.c \ -- mkdirat.c mknod.c mknodat.c mlock.c mlock2.c mlockall.c mmap.c \ -+ memfd_create-Xverbose.c migrate_pages.c \ -+ migrate_pages--pidns-translation.c mincore.c mkdir.c mkdirat.c \ -+ mknod.c mknodat.c mlock.c mlock2.c mlockall.c mmap.c \ - mmap-Xabbrev.c mmap-Xraw.c mmap-Xverbose.c mmap64.c \ - mmap64-Xabbrev.c mmap64-Xraw.c mmap64-Xverbose.c mmsg.c \ - mmsg-silent.c mmsg_name.c mmsg_name-v.c modify_ldt.c mount.c \ - mount-Xabbrev.c mount-Xraw.c mount-Xverbose.c move_mount.c \ -- move_mount-P.c move_pages.c move_pages-Xabbrev.c \ -- move_pages-Xraw.c move_pages-Xverbose.c mq.c mq_sendrecv.c \ -- mq_sendrecv-read.c mq_sendrecv-write.c msg_control.c \ -- msg_control-v.c msg_name.c munlockall.c nanosleep.c \ -- net--decode-fds-dev-netlink.c net--decode-fds-none-netlink.c \ -- net--decode-fds-path-netlink.c \ -+ move_mount-P.c move_pages.c move_pages--pidns-translation.c \ -+ move_pages-Xabbrev.c move_pages-Xraw.c move_pages-Xverbose.c \ -+ mq.c mq_sendrecv.c mq_sendrecv-read.c mq_sendrecv-write.c \ -+ msg_control.c msg_control-v.c msg_name.c munlockall.c \ -+ nanosleep.c net--decode-fds-dev-netlink.c \ -+ net--decode-fds-none-netlink.c net--decode-fds-path-netlink.c \ - net--decode-fds-socket-netlink.c net-accept-connect.c \ - net-icmp_filter.c net-packet_mreq.c net-packet_mreq-Xabbrev.c \ - net-packet_mreq-Xraw.c net-packet_mreq-Xverbose.c \ -- net-sockaddr.c net-tpacket_req.c net-tpacket_stats.c \ -+ net-sockaddr.c net-sockaddr--pidns-translation.c \ -+ net-tpacket_req.c net-tpacket_stats.c \ - net-tpacket_stats-success.c net-y-unix.c net-yy-inet.c \ - net-yy-inet6.c net-yy-netlink.c net-yy-unix.c netlink_audit.c \ -- netlink_crypto.c netlink_generic.c netlink_inet_diag.c \ -- netlink_kobject_uevent.c netlink_netfilter.c \ -- netlink_netlink_diag.c netlink_protocol.c netlink_route.c \ -- netlink_selinux.c netlink_sock_diag.c netlink_unix_diag.c \ -- netlink_xfrm.c newfstatat.c nfnetlink_acct.c \ -- nfnetlink_cthelper.c nfnetlink_ctnetlink.c \ -+ netlink_audit--pidns-translation.c netlink_crypto.c \ -+ netlink_generic.c netlink_inet_diag.c netlink_kobject_uevent.c \ -+ netlink_netfilter.c netlink_netlink_diag.c netlink_protocol.c \ -+ netlink_route.c netlink_selinux.c netlink_sock_diag.c \ -+ netlink_unix_diag.c netlink_xfrm.c newfstatat.c \ -+ nfnetlink_acct.c nfnetlink_cthelper.c nfnetlink_ctnetlink.c \ - nfnetlink_ctnetlink_exp.c nfnetlink_cttimeout.c \ - nfnetlink_ipset.c nfnetlink_nft_compat.c nfnetlink_nftables.c \ - nfnetlink_osf.c nfnetlink_queue.c nfnetlink_ulog.c nlattr.c \ -@@ -4381,12 +4634,13 @@ - personality-Xraw.c personality-Xverbose.c pidfd_getfd.c \ - pidfd_getfd-y.c pidfd_getfd-yy.c pidfd_open.c \ - pidfd_open--decode-fd-path.c pidfd_open--decode-fd-pidfd.c \ -- pidfd_open--decode-fd-socket.c pidfd_open-P.c pidfd_open-y.c \ -- pidfd_open-yy.c pidfd_send_signal.c pipe.c pipe2.c \ -- pkey_alloc.c pkey_free.c pkey_mprotect.c poll.c poll-P.c \ -- ppoll.c ppoll-P.c ppoll-v.c prctl-arg2-intptr.c \ -- prctl-dumpable.c prctl-name.c prctl-no-args.c \ -- prctl-pdeathsig.c prctl-seccomp-filter-v.c \ -+ pidfd_open--decode-fd-socket.c pidfd_open--pidns-translation.c \ -+ pidfd_open-P.c pidfd_open-y.c pidfd_open-yy.c \ -+ pidfd_send_signal.c pidfd_send_signal--pidns-translation.c \ -+ pidns-cache.c pipe.c pipe2.c pkey_alloc.c pkey_free.c \ -+ pkey_mprotect.c poll.c poll-P.c ppoll.c ppoll-P.c ppoll-v.c \ -+ prctl-arg2-intptr.c prctl-dumpable.c prctl-name.c \ -+ prctl-no-args.c prctl-pdeathsig.c prctl-seccomp-filter-v.c \ - prctl-seccomp-strict.c prctl-securebits.c prctl-spec-inject.c \ - prctl-tid_address.c prctl-tsc.c pread64-pwrite64.c preadv.c \ - preadv-pwritev.c preadv2-pwritev2.c print_maxfd.c \ -@@ -4395,8 +4649,10 @@ - printsignal-Xabbrev.c printsignal-Xraw.c \ - printsignal-Xverbose.c printstr.c printstrn-umoven.c \ - printstrn-umoven-peekdata.c printstrn-umoven-undumpable.c \ -- prlimit64.c process_vm_readv.c process_vm_writev.c pselect6.c \ -- ptrace.c ptrace_syscall_info.c pwritev.c qual_fault.c \ -+ prlimit64.c prlimit64--pidns-translation.c process_vm_readv.c \ -+ process_vm_readv--pidns-translation.c process_vm_writev.c \ -+ process_vm_writev--pidns-translation.c pselect6.c ptrace.c \ -+ ptrace_syscall_info.c pwritev.c qual_fault.c \ - qual_inject-error-signal.c qual_inject-retval.c \ - qual_inject-signal.c qual_signal.c quotactl.c \ - quotactl-Xabbrev.c quotactl-Xraw.c quotactl-Xverbose.c \ -@@ -4409,60 +4665,70 @@ - remap_file_pages-Xraw.c remap_file_pages-Xverbose.c rename.c \ - renameat.c renameat2.c request_key.c restart_syscall.c \ - riscv_flush_icache.c rmdir.c rt_sigaction.c rt_sigpending.c \ -- rt_sigprocmask.c rt_sigqueueinfo.c rt_sigreturn.c \ -+ rt_sigprocmask.c rt_sigqueueinfo.c \ -+ rt_sigqueueinfo--pidns-translation.c rt_sigreturn.c \ - rt_sigsuspend.c rt_sigtimedwait.c rt_tgsigqueueinfo.c \ -- run_expect_termsig.c s390_guarded_storage.c \ -- s390_guarded_storage-v.c s390_pci_mmio_read_write.c \ -- s390_runtime_instr.c s390_sthyi.c s390_sthyi-v.c \ -- sched_get_priority_mxx.c sched_rr_get_interval.c \ -- sched_xetaffinity.c sched_xetattr.c sched_xetparam.c \ -- sched_xetscheduler.c sched_yield.c scm_rights.c \ -- seccomp-filter.c seccomp-filter-v.c seccomp-strict.c \ -- seccomp_get_action_avail.c select.c select-P.c semop.c \ -- semop-indirect.c semtimedop.c sendfile.c sendfile64.c \ -- set_mempolicy.c set_mempolicy-Xabbrev.c set_mempolicy-Xraw.c \ -- set_mempolicy-Xverbose.c set_ptracer_any.c set_sigblock.c \ -- set_sigign.c setdomainname.c setfsgid.c setfsgid32.c \ -- setfsuid.c setfsuid32.c setgid.c setgid32.c setgroups.c \ -- setgroups32.c sethostname.c setns.c setpgrp-exec.c setregid.c \ -- setregid32.c setresgid.c setresgid32.c setresuid.c \ -- setresuid32.c setreuid.c setreuid32.c setrlimit.c \ -- setrlimit-Xabbrev.c setrlimit-Xraw.c setrlimit-Xverbose.c \ -- setuid.c setuid32.c shmxt.c shutdown.c sigaction.c \ -- sigaltstack.c siginfo.c signal.c signal_receive.c signalfd4.c \ -- sigpending.c sigprocmask.c sigreturn.c sigsuspend.c sleep.c \ -- so_error.c so_linger.c so_peercred.c so_peercred-Xabbrev.c \ -- so_peercred-Xraw.c so_peercred-Xverbose.c sock_filter-v.c \ -- sock_filter-v-Xabbrev.c sock_filter-v-Xraw.c \ -- sock_filter-v-Xverbose.c sockaddr_xlat-Xabbrev.c \ -- sockaddr_xlat-Xraw.c sockaddr_xlat-Xverbose.c socketcall.c \ -- sockopt-sol_netlink.c sockopt-timestamp.c splice.c \ -- $(stack_fcall_SOURCES) $(stack_fcall_attach_SOURCES) \ -- $(stack_fcall_mangled_SOURCES) stat.c stat64.c statfs.c \ -- statfs64.c status-all.c status-failed.c status-failed-long.c \ -- status-failed-status.c status-none.c status-none-f.c \ -- status-none-threads.c status-successful.c \ -- status-successful-long.c status-successful-status.c \ -- status-unfinished.c status-unfinished-threads.c statx.c \ -- strace--strings-in-hex.c strace--strings-in-hex-all.c \ -+ rt_tgsigqueueinfo--pidns-translation.c run_expect_termsig.c \ -+ s390_guarded_storage.c s390_guarded_storage-v.c \ -+ s390_pci_mmio_read_write.c s390_runtime_instr.c s390_sthyi.c \ -+ s390_sthyi-v.c sched_get_priority_mxx.c \ -+ sched_rr_get_interval.c sched_xetaffinity.c \ -+ sched_xetaffinity--pidns-translation.c sched_xetattr.c \ -+ sched_xetattr--pidns-translation.c sched_xetparam.c \ -+ sched_xetparam--pidns-translation.c sched_xetscheduler.c \ -+ sched_xetscheduler--pidns-translation.c sched_yield.c \ -+ scm_rights.c seccomp-filter.c seccomp-filter-v.c \ -+ seccomp-strict.c seccomp_get_action_avail.c select.c \ -+ select-P.c semop.c semop-indirect.c semtimedop.c sendfile.c \ -+ sendfile64.c set_mempolicy.c set_mempolicy-Xabbrev.c \ -+ set_mempolicy-Xraw.c set_mempolicy-Xverbose.c \ -+ set_ptracer_any.c set_sigblock.c set_sigign.c setdomainname.c \ -+ setfsgid.c setfsgid32.c setfsuid.c setfsuid32.c setgid.c \ -+ setgid32.c setgroups.c setgroups32.c sethostname.c setns.c \ -+ setpgrp-exec.c setregid.c setregid32.c setresgid.c \ -+ setresgid32.c setresuid.c setresuid32.c setreuid.c \ -+ setreuid32.c setrlimit.c setrlimit-Xabbrev.c setrlimit-Xraw.c \ -+ setrlimit-Xverbose.c setuid.c setuid32.c shmxt.c shutdown.c \ -+ sigaction.c sigaltstack.c siginfo.c signal.c signal_receive.c \ -+ signal_receive--pidns-translation.c signalfd4.c sigpending.c \ -+ sigprocmask.c sigreturn.c sigsuspend.c sleep.c so_error.c \ -+ so_linger.c so_peercred.c so_peercred--pidns-translation.c \ -+ so_peercred-Xabbrev.c so_peercred-Xraw.c \ -+ so_peercred-Xverbose.c sock_filter-v.c sock_filter-v-Xabbrev.c \ -+ sock_filter-v-Xraw.c sock_filter-v-Xverbose.c \ -+ sockaddr_xlat-Xabbrev.c sockaddr_xlat-Xraw.c \ -+ sockaddr_xlat-Xverbose.c socketcall.c sockopt-sol_netlink.c \ -+ sockopt-timestamp.c splice.c $(stack_fcall_SOURCES) \ -+ $(stack_fcall_attach_SOURCES) $(stack_fcall_mangled_SOURCES) \ -+ stat.c stat64.c statfs.c statfs64.c status-all.c \ -+ status-failed.c status-failed-long.c status-failed-status.c \ -+ status-none.c status-none-f.c status-none-threads.c \ -+ status-successful.c status-successful-long.c \ -+ status-successful-status.c status-unfinished.c \ -+ status-unfinished-threads.c statx.c strace--strings-in-hex.c \ -+ strace--strings-in-hex-all.c \ - strace--strings-in-hex-non-ascii.c strace-x.c strace-xx.c \ - swap.c sxetmask.c symlink.c symlinkat.c sync.c \ - sync_file_range.c sync_file_range2.c sysinfo.c syslog.c \ -- syslog-success.c tee.c tgkill.c threads-execve.c \ -- threads-execve--quiet-thread-execve.c threads-execve-q.c \ -- threads-execve-qq.c threads-execve-qqq.c time.c timer_create.c \ -- timer_xettime.c timerfd_xettime.c times.c times-fail.c tkill.c \ -- tracer_ppid_pgid_sid.c truncate.c truncate64.c ugetrlimit.c \ -- uio.c umask.c umount.c umount2.c umoven-illptr.c umovestr.c \ -- umovestr-illptr.c umovestr2.c umovestr3.c umovestr_cached.c \ -- umovestr_cached_adjacent.c uname.c unblock_reset_raise.c \ -- unix-pair-send-recv.c unix-pair-sendto-recvfrom.c unlink.c \ -- unlinkat.c unshare.c userfaultfd.c ustat.c utime.c utimensat.c \ -- utimensat-Xabbrev.c utimensat-Xraw.c utimensat-Xverbose.c \ -- utimes.c vfork-f.c vhangup.c vmsplice.c wait4.c wait4-v.c \ -- waitid.c waitid-v.c waitpid.c xattr.c xattr-strings.c \ -- xet_robust_list.c xet_thread_area_x86.c xetitimer.c xetpgid.c \ -- xetpriority.c xettimeofday.c zeroargc.c -+ syslog-success.c tee.c tgkill.c tgkill--pidns-translation.c \ -+ threads-execve.c threads-execve--quiet-thread-execve.c \ -+ threads-execve-q.c threads-execve-qq.c threads-execve-qqq.c \ -+ time.c timer_create.c timer_xettime.c timerfd_xettime.c \ -+ times.c times-fail.c tkill.c tkill--pidns-translation.c \ -+ tracer_ppid_pgid_sid.c $(trie_test_SOURCES) truncate.c \ -+ truncate64.c ugetrlimit.c uio.c umask.c umount.c umount2.c \ -+ umoven-illptr.c umovestr.c umovestr-illptr.c umovestr2.c \ -+ umovestr3.c umovestr_cached.c umovestr_cached_adjacent.c \ -+ uname.c unblock_reset_raise.c unix-pair-send-recv.c \ -+ unix-pair-sendto-recvfrom.c unlink.c unlinkat.c unshare.c \ -+ userfaultfd.c ustat.c utime.c utimensat.c utimensat-Xabbrev.c \ -+ utimensat-Xraw.c utimensat-Xverbose.c utimes.c vfork-f.c \ -+ vhangup.c vmsplice.c wait4.c wait4-v.c waitid.c waitid-v.c \ -+ waitpid.c xattr.c xattr-strings.c xet_robust_list.c \ -+ xet_robust_list--pidns-translation.c xet_thread_area_x86.c \ -+ xetitimer.c xetpgid.c xetpgid--pidns-translation.c \ -+ xetpriority.c xetpriority--pidns-translation.c xettimeofday.c \ -+ zeroargc.c - DIST_SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.c \ - accept.c accept4.c access.c acct.c add_key.c adjtimex.c aio.c \ - aio_pgetevents.c alarm.c answer.c attach-f-p.c \ -@@ -4490,26 +4756,30 @@ - fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \ - fanotify_mark-Xabbrev.c fanotify_mark-Xraw.c \ - fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmodat.c fchown.c \ -- fchown32.c fchownat.c fcntl.c fcntl64.c fdatasync.c fflush.c \ -+ fchown32.c fchownat.c fcntl.c fcntl--pidns-translation.c \ -+ fcntl64.c fcntl64--pidns-translation.c fdatasync.c fflush.c \ - file_handle.c file_ioctl.c filter-unavailable.c \ - filter_seccomp-flag.c filter_seccomp-perf.c finit_module.c \ -- flock.c fork-f.c fsconfig.c fsconfig-P.c fsmount.c fsopen.c \ -- fspick.c fspick-P.c fstat.c fstat-Xabbrev.c fstat-Xraw.c \ -- fstat-Xverbose.c fstat64.c fstat64-Xabbrev.c fstat64-Xraw.c \ -- fstat64-Xverbose.c fstatat64.c fstatfs.c fstatfs64.c fsync.c \ -- fsync-y.c ftruncate.c ftruncate64.c futex.c futimesat.c \ -- get_mempolicy.c get_process_reaper.c getcpu.c getcwd.c \ -- getdents.c getdents-v.c getdents64.c getdents64-v.c getegid.c \ -- getegid32.c geteuid.c geteuid32.c getgid.c getgid32.c \ -- getgroups.c getgroups32.c getpeername.c getpgrp.c getpid.c \ -- getppid.c getrandom.c getresgid.c getresgid32.c getresuid.c \ -- getresuid32.c getrlimit.c getrusage.c getsid.c getsockname.c \ -- gettid.c getuid.c getuid32.c getxgid.c getxpid.c getxuid.c \ -- group_req.c inet-cmsg.c init_module.c inject-nf.c inotify.c \ -- inotify_init.c inotify_init-y.c inotify_init1.c \ -- inotify_init1-y.c int_0x80.c io_uring_enter.c \ -- io_uring_register.c io_uring_setup.c ioctl.c ioctl_block.c \ -- ioctl_dm.c ioctl_dm-v.c ioctl_evdev.c ioctl_evdev-Xabbrev.c \ -+ flock.c fork--pidns-translation.c fork-f.c fsconfig.c \ -+ fsconfig-P.c fsmount.c fsopen.c fspick.c fspick-P.c fstat.c \ -+ fstat-Xabbrev.c fstat-Xraw.c fstat-Xverbose.c fstat64.c \ -+ fstat64-Xabbrev.c fstat64-Xraw.c fstat64-Xverbose.c \ -+ fstatat64.c fstatfs.c fstatfs64.c fsync.c fsync-y.c \ -+ ftruncate.c ftruncate64.c futex.c futimesat.c get_mempolicy.c \ -+ get_process_reaper.c getcpu.c getcwd.c getdents.c getdents-v.c \ -+ getdents64.c getdents64-v.c getegid.c getegid32.c geteuid.c \ -+ geteuid32.c getgid.c getgid32.c getgroups.c getgroups32.c \ -+ getpeername.c getpgrp.c getpgrp--pidns-translation.c getpid.c \ -+ getpid--pidns-translation.c getppid.c getrandom.c getresgid.c \ -+ getresgid32.c getresuid.c getresuid32.c getrlimit.c \ -+ getrusage.c getsid.c getsid--pidns-translation.c getsockname.c \ -+ gettid.c gettid--pidns-translation.c getuid.c getuid32.c \ -+ getxgid.c getxpid.c getxuid.c group_req.c inet-cmsg.c \ -+ init_module.c inject-nf.c inotify.c inotify_init.c \ -+ inotify_init-y.c inotify_init1.c inotify_init1-y.c int_0x80.c \ -+ io_uring_enter.c io_uring_register.c io_uring_setup.c ioctl.c \ -+ ioctl_block.c ioctl_block--pidns-translation.c ioctl_dm.c \ -+ ioctl_dm-v.c ioctl_evdev.c ioctl_evdev-Xabbrev.c \ - ioctl_evdev-Xraw.c ioctl_evdev-Xverbose.c \ - ioctl_evdev-success.c ioctl_evdev-success-Xabbrev.c \ - ioctl_evdev-success-Xraw.c ioctl_evdev-success-Xverbose.c \ -@@ -4537,47 +4807,51 @@ - ioctl_v4l2-success-v-Xverbose.c ioctl_v4l2-v.c \ - ioctl_v4l2-v-Xabbrev.c ioctl_v4l2-v-Xraw.c \ - ioctl_v4l2-v-Xverbose.c ioctl_watchdog.c ioperm.c iopl.c \ -- ioprio.c ioprio-Xabbrev.c ioprio-Xraw.c ioprio-Xverbose.c \ -- ip_mreq.c ipc.c ipc_msg.c ipc_msg-Xabbrev.c ipc_msg-Xraw.c \ -- ipc_msg-Xverbose.c ipc_msgbuf.c ipc_msgbuf-Xabbrev.c \ -- ipc_msgbuf-Xraw.c ipc_msgbuf-Xverbose.c ipc_sem.c \ -- ipc_sem-Xabbrev.c ipc_sem-Xraw.c ipc_sem-Xverbose.c ipc_shm.c \ -- ipc_shm-Xabbrev.c ipc_shm-Xraw.c ipc_shm-Xverbose.c \ -- is_linux_mips_n64.c kcmp.c kcmp-y.c kern_features.c \ -+ ioprio.c ioprio--pidns-translation.c ioprio-Xabbrev.c \ -+ ioprio-Xraw.c ioprio-Xverbose.c ip_mreq.c ipc.c ipc_msg.c \ -+ ipc_msg-Xabbrev.c ipc_msg-Xraw.c ipc_msg-Xverbose.c \ -+ ipc_msgbuf.c ipc_msgbuf-Xabbrev.c ipc_msgbuf-Xraw.c \ -+ ipc_msgbuf-Xverbose.c ipc_sem.c ipc_sem-Xabbrev.c \ -+ ipc_sem-Xraw.c ipc_sem-Xverbose.c ipc_shm.c ipc_shm-Xabbrev.c \ -+ ipc_shm-Xraw.c ipc_shm-Xverbose.c is_linux_mips_n64.c kcmp.c \ -+ kcmp-y.c kcmp-y--pidns-translation.c kern_features.c \ - kernel_version.c kernel_version-Xabbrev.c \ - kernel_version-Xraw.c kernel_version-Xverbose.c \ - kexec_file_load.c kexec_load.c keyctl.c keyctl-Xabbrev.c \ -- keyctl-Xraw.c keyctl-Xverbose.c kill.c kill_child.c ksysent.c \ -- lchown.c lchown32.c link.c linkat.c list_sigaction_signum.c \ -- llseek.c localtime.c lookup_dcookie.c looping_threads.c \ -- lseek.c lstat.c lstat64.c madvise.c maybe_switch_current_tcp.c \ -+ keyctl-Xraw.c keyctl-Xverbose.c kill.c \ -+ kill--pidns-translation.c kill_child.c ksysent.c lchown.c \ -+ lchown32.c link.c linkat.c list_sigaction_signum.c llseek.c \ -+ localtime.c lookup_dcookie.c looping_threads.c lseek.c lstat.c \ -+ lstat64.c madvise.c maybe_switch_current_tcp.c \ - maybe_switch_current_tcp--quiet-thread-execve.c mbind.c \ - mbind-Xabbrev.c mbind-Xraw.c mbind-Xverbose.c membarrier.c \ - memfd_create.c memfd_create-Xabbrev.c memfd_create-Xraw.c \ -- memfd_create-Xverbose.c migrate_pages.c mincore.c mkdir.c \ -- mkdirat.c mknod.c mknodat.c mlock.c mlock2.c mlockall.c mmap.c \ -+ memfd_create-Xverbose.c migrate_pages.c \ -+ migrate_pages--pidns-translation.c mincore.c mkdir.c mkdirat.c \ -+ mknod.c mknodat.c mlock.c mlock2.c mlockall.c mmap.c \ - mmap-Xabbrev.c mmap-Xraw.c mmap-Xverbose.c mmap64.c \ - mmap64-Xabbrev.c mmap64-Xraw.c mmap64-Xverbose.c mmsg.c \ - mmsg-silent.c mmsg_name.c mmsg_name-v.c modify_ldt.c mount.c \ - mount-Xabbrev.c mount-Xraw.c mount-Xverbose.c move_mount.c \ -- move_mount-P.c move_pages.c move_pages-Xabbrev.c \ -- move_pages-Xraw.c move_pages-Xverbose.c mq.c mq_sendrecv.c \ -- mq_sendrecv-read.c mq_sendrecv-write.c msg_control.c \ -- msg_control-v.c msg_name.c munlockall.c nanosleep.c \ -- net--decode-fds-dev-netlink.c net--decode-fds-none-netlink.c \ -- net--decode-fds-path-netlink.c \ -+ move_mount-P.c move_pages.c move_pages--pidns-translation.c \ -+ move_pages-Xabbrev.c move_pages-Xraw.c move_pages-Xverbose.c \ -+ mq.c mq_sendrecv.c mq_sendrecv-read.c mq_sendrecv-write.c \ -+ msg_control.c msg_control-v.c msg_name.c munlockall.c \ -+ nanosleep.c net--decode-fds-dev-netlink.c \ -+ net--decode-fds-none-netlink.c net--decode-fds-path-netlink.c \ - net--decode-fds-socket-netlink.c net-accept-connect.c \ - net-icmp_filter.c net-packet_mreq.c net-packet_mreq-Xabbrev.c \ - net-packet_mreq-Xraw.c net-packet_mreq-Xverbose.c \ -- net-sockaddr.c net-tpacket_req.c net-tpacket_stats.c \ -+ net-sockaddr.c net-sockaddr--pidns-translation.c \ -+ net-tpacket_req.c net-tpacket_stats.c \ - net-tpacket_stats-success.c net-y-unix.c net-yy-inet.c \ - net-yy-inet6.c net-yy-netlink.c net-yy-unix.c netlink_audit.c \ -- netlink_crypto.c netlink_generic.c netlink_inet_diag.c \ -- netlink_kobject_uevent.c netlink_netfilter.c \ -- netlink_netlink_diag.c netlink_protocol.c netlink_route.c \ -- netlink_selinux.c netlink_sock_diag.c netlink_unix_diag.c \ -- netlink_xfrm.c newfstatat.c nfnetlink_acct.c \ -- nfnetlink_cthelper.c nfnetlink_ctnetlink.c \ -+ netlink_audit--pidns-translation.c netlink_crypto.c \ -+ netlink_generic.c netlink_inet_diag.c netlink_kobject_uevent.c \ -+ netlink_netfilter.c netlink_netlink_diag.c netlink_protocol.c \ -+ netlink_route.c netlink_selinux.c netlink_sock_diag.c \ -+ netlink_unix_diag.c netlink_xfrm.c newfstatat.c \ -+ nfnetlink_acct.c nfnetlink_cthelper.c nfnetlink_ctnetlink.c \ - nfnetlink_ctnetlink_exp.c nfnetlink_cttimeout.c \ - nfnetlink_ipset.c nfnetlink_nft_compat.c nfnetlink_nftables.c \ - nfnetlink_osf.c nfnetlink_queue.c nfnetlink_ulog.c nlattr.c \ -@@ -4607,12 +4881,13 @@ - personality-Xraw.c personality-Xverbose.c pidfd_getfd.c \ - pidfd_getfd-y.c pidfd_getfd-yy.c pidfd_open.c \ - pidfd_open--decode-fd-path.c pidfd_open--decode-fd-pidfd.c \ -- pidfd_open--decode-fd-socket.c pidfd_open-P.c pidfd_open-y.c \ -- pidfd_open-yy.c pidfd_send_signal.c pipe.c pipe2.c \ -- pkey_alloc.c pkey_free.c pkey_mprotect.c poll.c poll-P.c \ -- ppoll.c ppoll-P.c ppoll-v.c prctl-arg2-intptr.c \ -- prctl-dumpable.c prctl-name.c prctl-no-args.c \ -- prctl-pdeathsig.c prctl-seccomp-filter-v.c \ -+ pidfd_open--decode-fd-socket.c pidfd_open--pidns-translation.c \ -+ pidfd_open-P.c pidfd_open-y.c pidfd_open-yy.c \ -+ pidfd_send_signal.c pidfd_send_signal--pidns-translation.c \ -+ pidns-cache.c pipe.c pipe2.c pkey_alloc.c pkey_free.c \ -+ pkey_mprotect.c poll.c poll-P.c ppoll.c ppoll-P.c ppoll-v.c \ -+ prctl-arg2-intptr.c prctl-dumpable.c prctl-name.c \ -+ prctl-no-args.c prctl-pdeathsig.c prctl-seccomp-filter-v.c \ - prctl-seccomp-strict.c prctl-securebits.c prctl-spec-inject.c \ - prctl-tid_address.c prctl-tsc.c pread64-pwrite64.c preadv.c \ - preadv-pwritev.c preadv2-pwritev2.c print_maxfd.c \ -@@ -4621,8 +4896,10 @@ - printsignal-Xabbrev.c printsignal-Xraw.c \ - printsignal-Xverbose.c printstr.c printstrn-umoven.c \ - printstrn-umoven-peekdata.c printstrn-umoven-undumpable.c \ -- prlimit64.c process_vm_readv.c process_vm_writev.c pselect6.c \ -- ptrace.c ptrace_syscall_info.c pwritev.c qual_fault.c \ -+ prlimit64.c prlimit64--pidns-translation.c process_vm_readv.c \ -+ process_vm_readv--pidns-translation.c process_vm_writev.c \ -+ process_vm_writev--pidns-translation.c pselect6.c ptrace.c \ -+ ptrace_syscall_info.c pwritev.c qual_fault.c \ - qual_inject-error-signal.c qual_inject-retval.c \ - qual_inject-signal.c qual_signal.c quotactl.c \ - quotactl-Xabbrev.c quotactl-Xraw.c quotactl-Xverbose.c \ -@@ -4635,60 +4912,70 @@ - remap_file_pages-Xraw.c remap_file_pages-Xverbose.c rename.c \ - renameat.c renameat2.c request_key.c restart_syscall.c \ - riscv_flush_icache.c rmdir.c rt_sigaction.c rt_sigpending.c \ -- rt_sigprocmask.c rt_sigqueueinfo.c rt_sigreturn.c \ -+ rt_sigprocmask.c rt_sigqueueinfo.c \ -+ rt_sigqueueinfo--pidns-translation.c rt_sigreturn.c \ - rt_sigsuspend.c rt_sigtimedwait.c rt_tgsigqueueinfo.c \ -- run_expect_termsig.c s390_guarded_storage.c \ -- s390_guarded_storage-v.c s390_pci_mmio_read_write.c \ -- s390_runtime_instr.c s390_sthyi.c s390_sthyi-v.c \ -- sched_get_priority_mxx.c sched_rr_get_interval.c \ -- sched_xetaffinity.c sched_xetattr.c sched_xetparam.c \ -- sched_xetscheduler.c sched_yield.c scm_rights.c \ -- seccomp-filter.c seccomp-filter-v.c seccomp-strict.c \ -- seccomp_get_action_avail.c select.c select-P.c semop.c \ -- semop-indirect.c semtimedop.c sendfile.c sendfile64.c \ -- set_mempolicy.c set_mempolicy-Xabbrev.c set_mempolicy-Xraw.c \ -- set_mempolicy-Xverbose.c set_ptracer_any.c set_sigblock.c \ -- set_sigign.c setdomainname.c setfsgid.c setfsgid32.c \ -- setfsuid.c setfsuid32.c setgid.c setgid32.c setgroups.c \ -- setgroups32.c sethostname.c setns.c setpgrp-exec.c setregid.c \ -- setregid32.c setresgid.c setresgid32.c setresuid.c \ -- setresuid32.c setreuid.c setreuid32.c setrlimit.c \ -- setrlimit-Xabbrev.c setrlimit-Xraw.c setrlimit-Xverbose.c \ -- setuid.c setuid32.c shmxt.c shutdown.c sigaction.c \ -- sigaltstack.c siginfo.c signal.c signal_receive.c signalfd4.c \ -- sigpending.c sigprocmask.c sigreturn.c sigsuspend.c sleep.c \ -- so_error.c so_linger.c so_peercred.c so_peercred-Xabbrev.c \ -- so_peercred-Xraw.c so_peercred-Xverbose.c sock_filter-v.c \ -- sock_filter-v-Xabbrev.c sock_filter-v-Xraw.c \ -- sock_filter-v-Xverbose.c sockaddr_xlat-Xabbrev.c \ -- sockaddr_xlat-Xraw.c sockaddr_xlat-Xverbose.c socketcall.c \ -- sockopt-sol_netlink.c sockopt-timestamp.c splice.c \ -- $(stack_fcall_SOURCES) $(stack_fcall_attach_SOURCES) \ -- $(stack_fcall_mangled_SOURCES) stat.c stat64.c statfs.c \ -- statfs64.c status-all.c status-failed.c status-failed-long.c \ -- status-failed-status.c status-none.c status-none-f.c \ -- status-none-threads.c status-successful.c \ -- status-successful-long.c status-successful-status.c \ -- status-unfinished.c status-unfinished-threads.c statx.c \ -- strace--strings-in-hex.c strace--strings-in-hex-all.c \ -+ rt_tgsigqueueinfo--pidns-translation.c run_expect_termsig.c \ -+ s390_guarded_storage.c s390_guarded_storage-v.c \ -+ s390_pci_mmio_read_write.c s390_runtime_instr.c s390_sthyi.c \ -+ s390_sthyi-v.c sched_get_priority_mxx.c \ -+ sched_rr_get_interval.c sched_xetaffinity.c \ -+ sched_xetaffinity--pidns-translation.c sched_xetattr.c \ -+ sched_xetattr--pidns-translation.c sched_xetparam.c \ -+ sched_xetparam--pidns-translation.c sched_xetscheduler.c \ -+ sched_xetscheduler--pidns-translation.c sched_yield.c \ -+ scm_rights.c seccomp-filter.c seccomp-filter-v.c \ -+ seccomp-strict.c seccomp_get_action_avail.c select.c \ -+ select-P.c semop.c semop-indirect.c semtimedop.c sendfile.c \ -+ sendfile64.c set_mempolicy.c set_mempolicy-Xabbrev.c \ -+ set_mempolicy-Xraw.c set_mempolicy-Xverbose.c \ -+ set_ptracer_any.c set_sigblock.c set_sigign.c setdomainname.c \ -+ setfsgid.c setfsgid32.c setfsuid.c setfsuid32.c setgid.c \ -+ setgid32.c setgroups.c setgroups32.c sethostname.c setns.c \ -+ setpgrp-exec.c setregid.c setregid32.c setresgid.c \ -+ setresgid32.c setresuid.c setresuid32.c setreuid.c \ -+ setreuid32.c setrlimit.c setrlimit-Xabbrev.c setrlimit-Xraw.c \ -+ setrlimit-Xverbose.c setuid.c setuid32.c shmxt.c shutdown.c \ -+ sigaction.c sigaltstack.c siginfo.c signal.c signal_receive.c \ -+ signal_receive--pidns-translation.c signalfd4.c sigpending.c \ -+ sigprocmask.c sigreturn.c sigsuspend.c sleep.c so_error.c \ -+ so_linger.c so_peercred.c so_peercred--pidns-translation.c \ -+ so_peercred-Xabbrev.c so_peercred-Xraw.c \ -+ so_peercred-Xverbose.c sock_filter-v.c sock_filter-v-Xabbrev.c \ -+ sock_filter-v-Xraw.c sock_filter-v-Xverbose.c \ -+ sockaddr_xlat-Xabbrev.c sockaddr_xlat-Xraw.c \ -+ sockaddr_xlat-Xverbose.c socketcall.c sockopt-sol_netlink.c \ -+ sockopt-timestamp.c splice.c $(stack_fcall_SOURCES) \ -+ $(stack_fcall_attach_SOURCES) $(stack_fcall_mangled_SOURCES) \ -+ stat.c stat64.c statfs.c statfs64.c status-all.c \ -+ status-failed.c status-failed-long.c status-failed-status.c \ -+ status-none.c status-none-f.c status-none-threads.c \ -+ status-successful.c status-successful-long.c \ -+ status-successful-status.c status-unfinished.c \ -+ status-unfinished-threads.c statx.c strace--strings-in-hex.c \ -+ strace--strings-in-hex-all.c \ - strace--strings-in-hex-non-ascii.c strace-x.c strace-xx.c \ - swap.c sxetmask.c symlink.c symlinkat.c sync.c \ - sync_file_range.c sync_file_range2.c sysinfo.c syslog.c \ -- syslog-success.c tee.c tgkill.c threads-execve.c \ -- threads-execve--quiet-thread-execve.c threads-execve-q.c \ -- threads-execve-qq.c threads-execve-qqq.c time.c timer_create.c \ -- timer_xettime.c timerfd_xettime.c times.c times-fail.c tkill.c \ -- tracer_ppid_pgid_sid.c truncate.c truncate64.c ugetrlimit.c \ -- uio.c umask.c umount.c umount2.c umoven-illptr.c umovestr.c \ -- umovestr-illptr.c umovestr2.c umovestr3.c umovestr_cached.c \ -- umovestr_cached_adjacent.c uname.c unblock_reset_raise.c \ -- unix-pair-send-recv.c unix-pair-sendto-recvfrom.c unlink.c \ -- unlinkat.c unshare.c userfaultfd.c ustat.c utime.c utimensat.c \ -- utimensat-Xabbrev.c utimensat-Xraw.c utimensat-Xverbose.c \ -- utimes.c vfork-f.c vhangup.c vmsplice.c wait4.c wait4-v.c \ -- waitid.c waitid-v.c waitpid.c xattr.c xattr-strings.c \ -- xet_robust_list.c xet_thread_area_x86.c xetitimer.c xetpgid.c \ -- xetpriority.c xettimeofday.c zeroargc.c -+ syslog-success.c tee.c tgkill.c tgkill--pidns-translation.c \ -+ threads-execve.c threads-execve--quiet-thread-execve.c \ -+ threads-execve-q.c threads-execve-qq.c threads-execve-qqq.c \ -+ time.c timer_create.c timer_xettime.c timerfd_xettime.c \ -+ times.c times-fail.c tkill.c tkill--pidns-translation.c \ -+ tracer_ppid_pgid_sid.c $(trie_test_SOURCES) truncate.c \ -+ truncate64.c ugetrlimit.c uio.c umask.c umount.c umount2.c \ -+ umoven-illptr.c umovestr.c umovestr-illptr.c umovestr2.c \ -+ umovestr3.c umovestr_cached.c umovestr_cached_adjacent.c \ -+ uname.c unblock_reset_raise.c unix-pair-send-recv.c \ -+ unix-pair-sendto-recvfrom.c unlink.c unlinkat.c unshare.c \ -+ userfaultfd.c ustat.c utime.c utimensat.c utimensat-Xabbrev.c \ -+ utimensat-Xraw.c utimensat-Xverbose.c utimes.c vfork-f.c \ -+ vhangup.c vmsplice.c wait4.c wait4-v.c waitid.c waitid-v.c \ -+ waitpid.c xattr.c xattr-strings.c xet_robust_list.c \ -+ xet_robust_list--pidns-translation.c xet_thread_area_x86.c \ -+ xetitimer.c xetpgid.c xetpgid--pidns-translation.c \ -+ xetpriority.c xetpriority--pidns-translation.c xettimeofday.c \ -+ zeroargc.c - am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ -@@ -5145,6 +5432,7 @@ - test_ucopy.h \ - tests.h \ - tprintf.c \ -+ xmalloc_for_tests.c \ - # end of libtests_a_SOURCES - - libtests_a_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64 -@@ -5825,6 +6113,10 @@ - stack-fcall-mangled-0.c stack-fcall-mangled-1.c \ - stack-fcall-mangled-2.c stack-fcall-mangled-3.c - -+trie_test_SOURCES = trie_test.c trie_for_tests.c -+trie_test_CPPFLAGS = $(AM_CPPFLAGS) $(CODE_COVERAGE_CPPFLAGS) -+trie_test_CFLAGS = $(AM_CFLAGS) $(CODE_COVERAGE_CFLAGS) -+trie_test_LDADD = $(LDADD) $(CODE_COVERAGE_LIBS) - - # Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in; do not edit. - GEN_TESTS = _newselect.gen.test _newselect-P.gen.test accept.gen.test \ -@@ -5861,13 +6153,14 @@ - fanotify_mark-Xverbose.gen.test fchdir.gen.test \ - fchmod.gen.test fchmodat.gen.test fchown.gen.test \ - fchown32.gen.test fchownat.gen.test fcntl.gen.test \ -- fcntl64.gen.test fdatasync.gen.test file_handle.gen.test \ -- file_ioctl.gen.test filter_seccomp.gen.test \ -- filter_seccomp-flag.gen.test finit_module.gen.test \ -- flock.gen.test fork-f.gen.test fsconfig.gen.test \ -- fsconfig-P.gen.test fsmount.gen.test fsopen.gen.test \ -- fspick.gen.test fspick-P.gen.test fstat.gen.test \ -- fstat-Xabbrev.gen.test fstat-Xraw.gen.test \ -+ fcntl--pidns-translation.gen.test fcntl64.gen.test \ -+ fcntl64--pidns-translation.gen.test fdatasync.gen.test \ -+ file_handle.gen.test file_ioctl.gen.test \ -+ filter_seccomp.gen.test filter_seccomp-flag.gen.test \ -+ finit_module.gen.test flock.gen.test fork-f.gen.test \ -+ fsconfig.gen.test fsconfig-P.gen.test fsmount.gen.test \ -+ fsopen.gen.test fspick.gen.test fspick-P.gen.test \ -+ fstat.gen.test fstat-Xabbrev.gen.test fstat-Xraw.gen.test \ - fstat-Xverbose.gen.test fstat64.gen.test \ - fstat64-Xabbrev.gen.test fstat64-Xraw.gen.test \ - fstat64-Xverbose.gen.test fstatat64.gen.test fstatfs.gen.test \ -@@ -5881,11 +6174,13 @@ - geteuid32-creds.gen.test getgid.gen.test getgid-creds.gen.test \ - getgid32.gen.test getgid32-creds.gen.test getgroups.gen.test \ - getgroups32.gen.test getpeername.gen.test getpgrp.gen.test \ -- getpid.gen.test getppid.gen.test getrandom.gen.test \ -- getresgid.gen.test getresgid32.gen.test getresuid.gen.test \ -- getresuid32.gen.test getrlimit.gen.test getrusage.gen.test \ -- getsid.gen.test getsockname.gen.test gettid.gen.test \ -- getuid-creds.gen.test getuid32.gen.test \ -+ getpgrp--pidns-translation.gen.test getpid.gen.test \ -+ getpid--pidns-translation.gen.test getppid.gen.test \ -+ getrandom.gen.test getresgid.gen.test getresgid32.gen.test \ -+ getresuid.gen.test getresuid32.gen.test getrlimit.gen.test \ -+ getrusage.gen.test getsid.gen.test \ -+ getsid--pidns-translation.gen.test getsockname.gen.test \ -+ gettid.gen.test getuid-creds.gen.test getuid32.gen.test \ - getuid32-creds.gen.test getxgid.gen.test getxpid.gen.test \ - getxuid.gen.test group_req.gen.test inet-cmsg.gen.test \ - init_module.gen.test inotify.gen.test inotify_init.gen.test \ -@@ -5937,9 +6232,9 @@ - ioctl_v4l2-success-v-Xraw.gen.test \ - ioctl_v4l2-success-v-Xverbose.gen.test ioctl_watchdog.gen.test \ - ioperm.gen.test iopl.gen.test ioprio.gen.test \ -- ioprio-Xabbrev.gen.test ioprio-Xraw.gen.test \ -- ioprio-Xverbose.gen.test ip_mreq.gen.test ipc.gen.test \ -- ipc_msg.gen.test ipc_msg-Xabbrev.gen.test \ -+ ioprio--pidns-translation.gen.test ioprio-Xabbrev.gen.test \ -+ ioprio-Xraw.gen.test ioprio-Xverbose.gen.test ip_mreq.gen.test \ -+ ipc.gen.test ipc_msg.gen.test ipc_msg-Xabbrev.gen.test \ - ipc_msg-Xraw.gen.test ipc_msg-Xverbose.gen.test \ - ipc_msgbuf-Xabbrev.gen.test ipc_msgbuf-Xraw.gen.test \ - ipc_msgbuf-Xverbose.gen.test ipc_sem.gen.test \ -@@ -5947,24 +6242,27 @@ - ipc_sem-Xverbose.gen.test ipc_shm.gen.test \ - ipc_shm-Xabbrev.gen.test ipc_shm-Xraw.gen.test \ - ipc_shm-Xverbose.gen.test kcmp.gen.test kcmp-y.gen.test \ -- kern_features.gen.test kernel_version.gen.test \ -- kernel_version-Xabbrev.gen.test kernel_version-Xraw.gen.test \ -- kernel_version-Xverbose.gen.test kexec_file_load.gen.test \ -- kexec_load.gen.test keyctl.gen.test keyctl-Xabbrev.gen.test \ -- keyctl-Xraw.gen.test keyctl-Xverbose.gen.test kill.gen.test \ -- ksysent.gen.test lchown.gen.test lchown32.gen.test \ -- link.gen.test linkat.gen.test lookup_dcookie.gen.test \ -- lstat.gen.test lstat64.gen.test madvise.gen.test \ -+ kcmp-y--pidns-translation.gen.test kern_features.gen.test \ -+ kernel_version.gen.test kernel_version-Xabbrev.gen.test \ -+ kernel_version-Xraw.gen.test kernel_version-Xverbose.gen.test \ -+ kexec_file_load.gen.test kexec_load.gen.test keyctl.gen.test \ -+ keyctl-Xabbrev.gen.test keyctl-Xraw.gen.test \ -+ keyctl-Xverbose.gen.test kill.gen.test \ -+ kill--pidns-translation.gen.test ksysent.gen.test \ -+ lchown.gen.test lchown32.gen.test link.gen.test \ -+ linkat.gen.test lookup_dcookie.gen.test lstat.gen.test \ -+ lstat64.gen.test madvise.gen.test \ - maybe_switch_current_tcp.gen.test \ - maybe_switch_current_tcp--quiet-thread-execve.gen.test \ - mbind.gen.test mbind-Xabbrev.gen.test mbind-Xraw.gen.test \ - mbind-Xverbose.gen.test membarrier.gen.test \ - memfd_create.gen.test memfd_create-Xabbrev.gen.test \ - memfd_create-Xraw.gen.test memfd_create-Xverbose.gen.test \ -- migrate_pages.gen.test mincore.gen.test mkdir.gen.test \ -- mkdirat.gen.test mknod.gen.test mknodat.gen.test \ -- mlock.gen.test mlock2.gen.test mlockall.gen.test \ -- mmap-Xabbrev.gen.test mmap-Xraw.gen.test \ -+ migrate_pages.gen.test \ -+ migrate_pages--pidns-translation.gen.test mincore.gen.test \ -+ mkdir.gen.test mkdirat.gen.test mknod.gen.test \ -+ mknodat.gen.test mlock.gen.test mlock2.gen.test \ -+ mlockall.gen.test mmap-Xabbrev.gen.test mmap-Xraw.gen.test \ - mmap-Xverbose.gen.test mmap64.gen.test mmap64-Xabbrev.gen.test \ - mmap64-Xraw.gen.test mmap64-Xverbose.gen.test mmsg.gen.test \ - mmsg-silent.gen.test mmsg_name.gen.test mmsg_name-v.gen.test \ -@@ -5972,17 +6270,19 @@ - mount-Xraw.gen.test mount-Xverbose.gen.test \ - move_mount.gen.test move_mount-P.gen.test move_pages.gen.test \ - move_pages-Xabbrev.gen.test move_pages-Xraw.gen.test \ -- move_pages-Xverbose.gen.test mq.gen.test mq_sendrecv.gen.test \ -- mq_sendrecv-read.gen.test mq_sendrecv-write.gen.test \ -- msg_control.gen.test msg_control-v.gen.test msg_name.gen.test \ -- munlockall.gen.test nanosleep.gen.test \ -- net--decode-fds-dev-netlink.gen.test \ -+ move_pages-Xverbose.gen.test \ -+ move_pages--pidns-translation.gen.test mq.gen.test \ -+ mq_sendrecv.gen.test mq_sendrecv-read.gen.test \ -+ mq_sendrecv-write.gen.test msg_control.gen.test \ -+ msg_control-v.gen.test msg_name.gen.test munlockall.gen.test \ -+ nanosleep.gen.test net--decode-fds-dev-netlink.gen.test \ - net--decode-fds-none-netlink.gen.test \ - net--decode-fds-path-netlink.gen.test \ - net--decode-fds-socket-netlink.gen.test \ - net-icmp_filter.gen.test net-packet_mreq.gen.test \ - net-packet_mreq-Xabbrev.gen.test net-packet_mreq-Xraw.gen.test \ - net-packet_mreq-Xverbose.gen.test net-sockaddr.gen.test \ -+ net-sockaddr--pidns-translation.gen.test \ - net-tpacket_req.gen.test net-tpacket_stats.gen.test \ - net-yy-inet6.gen.test netlink_audit.gen.test \ - netlink_crypto.gen.test netlink_generic.gen.test \ -@@ -6036,18 +6336,25 @@ - pidfd_open--decode-fd-pidfd.gen.test \ - pidfd_open--decode-fd-socket.gen.test pidfd_open-P.gen.test \ - pidfd_open-y.gen.test pidfd_open-yy.gen.test \ -- pidfd_send_signal.gen.test pipe2.gen.test pkey_alloc.gen.test \ -- pkey_free.gen.test pkey_mprotect.gen.test ppoll.gen.test \ -- ppoll-P.gen.test ppoll-v.gen.test pread64-pwrite64.gen.test \ -- preadv.gen.test preadv-pwritev.gen.test \ -- preadv2-pwritev2.gen.test printpath-umovestr.gen.test \ -+ pidfd_open--pidns-translation.gen.test \ -+ pidfd_send_signal.gen.test \ -+ pidfd_send_signal--pidns-translation.gen.test pipe2.gen.test \ -+ pkey_alloc.gen.test pkey_free.gen.test pkey_mprotect.gen.test \ -+ ppoll.gen.test ppoll-P.gen.test ppoll-v.gen.test \ -+ pread64-pwrite64.gen.test preadv.gen.test \ -+ preadv-pwritev.gen.test preadv2-pwritev2.gen.test \ -+ printpath-umovestr.gen.test \ - printpath-umovestr-peekdata.gen.test \ - printpath-umovestr-undumpable.gen.test \ - printsignal-Xabbrev.gen.test printsignal-Xraw.gen.test \ - printsignal-Xverbose.gen.test printstr.gen.test \ - printstrn-umoven.gen.test printstrn-umoven-peekdata.gen.test \ - printstrn-umoven-undumpable.gen.test prlimit64.gen.test \ -- process_vm_readv.gen.test process_vm_writev.gen.test \ -+ prlimit64--pidns-translation.gen.test \ -+ process_vm_readv.gen.test \ -+ process_vm_readv--pidns-translation.gen.test \ -+ process_vm_writev.gen.test \ -+ process_vm_writev--pidns-translation.gen.test \ - pselect6.gen.test ptrace.gen.test ptrace_syscall_info.gen.test \ - pwritev.gen.test quotactl.gen.test quotactl-Xabbrev.gen.test \ - quotactl-Xraw.gen.test quotactl-Xverbose.gen.test \ -@@ -6063,15 +6370,23 @@ - renameat.gen.test renameat2.gen.test request_key.gen.test \ - riscv_flush_icache.gen.test rmdir.gen.test \ - rt_sigpending.gen.test rt_sigprocmask.gen.test \ -- rt_sigqueueinfo.gen.test rt_sigreturn.gen.test \ -- rt_sigsuspend.gen.test rt_sigtimedwait.gen.test \ -- rt_tgsigqueueinfo.gen.test s390_guarded_storage.gen.test \ -- s390_guarded_storage-v.gen.test \ -+ rt_sigqueueinfo.gen.test \ -+ rt_sigqueueinfo--pidns-translation.gen.test \ -+ rt_sigreturn.gen.test rt_sigsuspend.gen.test \ -+ rt_sigtimedwait.gen.test rt_tgsigqueueinfo.gen.test \ -+ rt_tgsigqueueinfo--pidns-translation.gen.test \ -+ s390_guarded_storage.gen.test s390_guarded_storage-v.gen.test \ - s390_pci_mmio_read_write.gen.test s390_runtime_instr.gen.test \ - s390_sthyi.gen.test s390_sthyi-v.gen.test sched.gen.test \ - sched_get_priority_mxx.gen.test sched_rr_get_interval.gen.test \ -- sched_xetaffinity.gen.test sched_xetattr.gen.test \ -- sched_xetparam.gen.test sched_xetscheduler.gen.test \ -+ sched_xetaffinity.gen.test \ -+ sched_xetaffinity--pidns-translation.gen.test \ -+ sched_xetattr.gen.test \ -+ sched_xetattr--pidns-translation.gen.test \ -+ sched_xetparam.gen.test \ -+ sched_xetparam--pidns-translation.gen.test \ -+ sched_xetscheduler.gen.test \ -+ sched_xetscheduler--pidns-translation.gen.test \ - sched_yield.gen.test seccomp-filter.gen.test \ - seccomp-filter-v.gen.test seccomp_get_action_avail.gen.test \ - select.gen.test select-P.gen.test semop.gen.test \ -@@ -6089,18 +6404,20 @@ - setrlimit-Xraw.gen.test setrlimit-Xverbose.gen.test \ - setuid.gen.test setuid32.gen.test shmxt.gen.test \ - shutdown.gen.test sigaction.gen.test siginfo.gen.test \ -- signal.gen.test signal_receive.gen.test signalfd4.gen.test \ -+ signal.gen.test signal_receive.gen.test \ -+ signal_receive--pidns-translation.gen.test signalfd4.gen.test \ - sigpending.gen.test sigprocmask.gen.test sigreturn.gen.test \ - sigsuspend.gen.test so_error.gen.test so_linger.gen.test \ - so_peercred.gen.test so_peercred-Xabbrev.gen.test \ - so_peercred-Xraw.gen.test so_peercred-Xverbose.gen.test \ -- sock_filter-v.gen.test sock_filter-v-Xabbrev.gen.test \ -- sock_filter-v-Xraw.gen.test sock_filter-v-Xverbose.gen.test \ -- sockaddr_xlat-Xabbrev.gen.test sockaddr_xlat-Xraw.gen.test \ -- sockaddr_xlat-Xverbose.gen.test socketcall.gen.test \ -- sockopt-sol_netlink.gen.test sockopt-timestamp.gen.test \ -- splice.gen.test stat.gen.test stat64.gen.test statfs.gen.test \ -- statfs64.gen.test status-all.gen.test status-failed.gen.test \ -+ so_peercred--pidns-translation.gen.test sock_filter-v.gen.test \ -+ sock_filter-v-Xabbrev.gen.test sock_filter-v-Xraw.gen.test \ -+ sock_filter-v-Xverbose.gen.test sockaddr_xlat-Xabbrev.gen.test \ -+ sockaddr_xlat-Xraw.gen.test sockaddr_xlat-Xverbose.gen.test \ -+ socketcall.gen.test sockopt-sol_netlink.gen.test \ -+ sockopt-timestamp.gen.test splice.gen.test stat.gen.test \ -+ stat64.gen.test statfs.gen.test statfs64.gen.test \ -+ status-all.gen.test status-failed.gen.test \ - status-failed-long.gen.test status-failed-status.gen.test \ - status-none.gen.test status-successful.gen.test \ - status-successful-long.gen.test \ -@@ -6142,33 +6459,37 @@ - symlink.gen.test symlinkat.gen.test sync.gen.test \ - sync_file_range.gen.test sync_file_range2.gen.test \ - sysinfo.gen.test syslog.gen.test tee.gen.test tgkill.gen.test \ -+ tgkill--pidns-translation.gen.test \ - threads-execve--quiet-thread-execve.gen.test \ - threads-execve-q.gen.test threads-execve-qq.gen.test \ - threads-execve-qqq.gen.test time.gen.test \ - timer_create.gen.test timer_xettime.gen.test \ - timerfd_xettime.gen.test times.gen.test times-fail.gen.test \ -- tkill.gen.test trace_clock.gen.test trace_creds.gen.test \ -- trace_fstat.gen.test trace_fstatfs.gen.test \ -- trace_lstat.gen.test trace_personality_32.gen.test \ -- trace_personality_64.gen.test \ -+ tkill.gen.test tkill--pidns-translation.gen.test \ -+ trace_clock.gen.test trace_creds.gen.test trace_fstat.gen.test \ -+ trace_fstatfs.gen.test trace_lstat.gen.test \ -+ trace_personality_32.gen.test trace_personality_64.gen.test \ - trace_personality_regex_32.gen.test \ - trace_personality_regex_64.gen.test \ - trace_personality_regex_x32.gen.test \ - trace_personality_x32.gen.test trace_question.gen.test \ - trace_stat.gen.test trace_stat_like.gen.test \ - trace_statfs.gen.test trace_statfs_like.gen.test \ -- truncate.gen.test truncate64.gen.test ugetrlimit.gen.test \ -- umask.gen.test umoven-illptr.gen.test umovestr-illptr.gen.test \ -- umovestr3.gen.test umovestr_cached_adjacent.gen.test \ -- unlink.gen.test unlinkat.gen.test unshare.gen.test \ -- userfaultfd.gen.test ustat.gen.test utime.gen.test \ -- utimensat.gen.test utimensat-Xabbrev.gen.test \ -- utimensat-Xraw.gen.test utimensat-Xverbose.gen.test \ -- utimes.gen.test vfork-f.gen.test vhangup.gen.test \ -- vmsplice.gen.test wait4.gen.test wait4-v.gen.test \ -- waitid.gen.test waitid-v.gen.test waitpid.gen.test \ -- xattr.gen.test xattr-strings.gen.test xet_robust_list.gen.test \ -- xetitimer.gen.test xetpgid.gen.test xetpriority.gen.test \ -+ trie_test.gen.test truncate.gen.test truncate64.gen.test \ -+ ugetrlimit.gen.test umask.gen.test umoven-illptr.gen.test \ -+ umovestr-illptr.gen.test umovestr3.gen.test \ -+ umovestr_cached_adjacent.gen.test unlink.gen.test \ -+ unlinkat.gen.test unshare.gen.test userfaultfd.gen.test \ -+ ustat.gen.test utime.gen.test utimensat.gen.test \ -+ utimensat-Xabbrev.gen.test utimensat-Xraw.gen.test \ -+ utimensat-Xverbose.gen.test utimes.gen.test vfork-f.gen.test \ -+ vhangup.gen.test vmsplice.gen.test wait4.gen.test \ -+ wait4-v.gen.test waitid.gen.test waitid-v.gen.test \ -+ waitpid.gen.test xattr.gen.test xattr-strings.gen.test \ -+ xet_robust_list.gen.test \ -+ xet_robust_list--pidns-translation.gen.test xetitimer.gen.test \ -+ xetpgid.gen.test xetpgid--pidns-translation.gen.test \ -+ xetpriority.gen.test xetpriority--pidns-translation.gen.test \ - xettimeofday.gen.test - @ENABLE_STACKTRACE_FALSE@STACKTRACE_TESTS = - @ENABLE_STACKTRACE_TRUE@STACKTRACE_TESTS = strace-k.test \ -@@ -6198,6 +6519,7 @@ - int_0x80.test \ - inotify_init-y.test \ - ioctl.test \ -+ ioctl_block--pidns-translation.test \ - ioctl_evdev-success.test \ - ipc_msgbuf.test \ - kern_features-fault.test \ -@@ -6269,15 +6591,19 @@ - filtering_fd-syntax.test \ - filtering_syscall-syntax.test \ - first_exec_failure.test \ -+ fork--pidns-translation.test \ - get_regs.test \ -+ gettid--pidns-translation.test \ - inject-nf.test \ - interactive_block.test \ - kill_child.test \ - localtime.test \ - looping_threads.test \ -+ netlink_audit--pidns-translation.test \ - opipe.test \ - options-syntax.test \ - pc.test \ -+ pidns-cache.test \ - printpath-umovestr-legacy.test \ - printstrn-umoven-legacy.test \ - qual_fault-syntax.test \ -@@ -6350,6 +6676,7 @@ - filter_seccomp.in \ - filter_seccomp.sh \ - filter-unavailable.expected \ -+ fork--pidns-translation.awk \ - fstatat.c \ - fstatx.c \ - gen_pure_executables.sh \ -@@ -6935,10 +7262,18 @@ - @rm -f fcntl$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(fcntl_OBJECTS) $(fcntl_LDADD) $(LIBS) - -+fcntl--pidns-translation$(EXEEXT): $(fcntl__pidns_translation_OBJECTS) $(fcntl__pidns_translation_DEPENDENCIES) $(EXTRA_fcntl__pidns_translation_DEPENDENCIES) -+ @rm -f fcntl--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(fcntl__pidns_translation_OBJECTS) $(fcntl__pidns_translation_LDADD) $(LIBS) -+ - fcntl64$(EXEEXT): $(fcntl64_OBJECTS) $(fcntl64_DEPENDENCIES) $(EXTRA_fcntl64_DEPENDENCIES) - @rm -f fcntl64$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(fcntl64_OBJECTS) $(fcntl64_LDADD) $(LIBS) - -+fcntl64--pidns-translation$(EXEEXT): $(fcntl64__pidns_translation_OBJECTS) $(fcntl64__pidns_translation_DEPENDENCIES) $(EXTRA_fcntl64__pidns_translation_DEPENDENCIES) -+ @rm -f fcntl64--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(fcntl64__pidns_translation_OBJECTS) $(fcntl64__pidns_translation_LDADD) $(LIBS) -+ - fdatasync$(EXEEXT): $(fdatasync_OBJECTS) $(fdatasync_DEPENDENCIES) $(EXTRA_fdatasync_DEPENDENCIES) - @rm -f fdatasync$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(fdatasync_OBJECTS) $(fdatasync_LDADD) $(LIBS) -@@ -6975,6 +7310,10 @@ - @rm -f flock$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(flock_OBJECTS) $(flock_LDADD) $(LIBS) - -+fork--pidns-translation$(EXEEXT): $(fork__pidns_translation_OBJECTS) $(fork__pidns_translation_DEPENDENCIES) $(EXTRA_fork__pidns_translation_DEPENDENCIES) -+ @rm -f fork--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(fork__pidns_translation_OBJECTS) $(fork__pidns_translation_LDADD) $(LIBS) -+ - fork-f$(EXEEXT): $(fork_f_OBJECTS) $(fork_f_DEPENDENCIES) $(EXTRA_fork_f_DEPENDENCIES) - @rm -f fork-f$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(fork_f_OBJECTS) $(fork_f_LDADD) $(LIBS) -@@ -7143,10 +7482,18 @@ - @rm -f getpgrp$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(getpgrp_OBJECTS) $(getpgrp_LDADD) $(LIBS) - -+getpgrp--pidns-translation$(EXEEXT): $(getpgrp__pidns_translation_OBJECTS) $(getpgrp__pidns_translation_DEPENDENCIES) $(EXTRA_getpgrp__pidns_translation_DEPENDENCIES) -+ @rm -f getpgrp--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(getpgrp__pidns_translation_OBJECTS) $(getpgrp__pidns_translation_LDADD) $(LIBS) -+ - getpid$(EXEEXT): $(getpid_OBJECTS) $(getpid_DEPENDENCIES) $(EXTRA_getpid_DEPENDENCIES) - @rm -f getpid$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(getpid_OBJECTS) $(getpid_LDADD) $(LIBS) - -+getpid--pidns-translation$(EXEEXT): $(getpid__pidns_translation_OBJECTS) $(getpid__pidns_translation_DEPENDENCIES) $(EXTRA_getpid__pidns_translation_DEPENDENCIES) -+ @rm -f getpid--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(getpid__pidns_translation_OBJECTS) $(getpid__pidns_translation_LDADD) $(LIBS) -+ - getppid$(EXEEXT): $(getppid_OBJECTS) $(getppid_DEPENDENCIES) $(EXTRA_getppid_DEPENDENCIES) - @rm -f getppid$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(getppid_OBJECTS) $(getppid_LDADD) $(LIBS) -@@ -7183,6 +7530,10 @@ - @rm -f getsid$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(getsid_OBJECTS) $(getsid_LDADD) $(LIBS) - -+getsid--pidns-translation$(EXEEXT): $(getsid__pidns_translation_OBJECTS) $(getsid__pidns_translation_DEPENDENCIES) $(EXTRA_getsid__pidns_translation_DEPENDENCIES) -+ @rm -f getsid--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(getsid__pidns_translation_OBJECTS) $(getsid__pidns_translation_LDADD) $(LIBS) -+ - getsockname$(EXEEXT): $(getsockname_OBJECTS) $(getsockname_DEPENDENCIES) $(EXTRA_getsockname_DEPENDENCIES) - @rm -f getsockname$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(getsockname_OBJECTS) $(getsockname_LDADD) $(LIBS) -@@ -7191,6 +7542,10 @@ - @rm -f gettid$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(gettid_OBJECTS) $(gettid_LDADD) $(LIBS) - -+gettid--pidns-translation$(EXEEXT): $(gettid__pidns_translation_OBJECTS) $(gettid__pidns_translation_DEPENDENCIES) $(EXTRA_gettid__pidns_translation_DEPENDENCIES) -+ @rm -f gettid--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(gettid__pidns_translation_OBJECTS) $(gettid__pidns_translation_LDADD) $(LIBS) -+ - getuid$(EXEEXT): $(getuid_OBJECTS) $(getuid_DEPENDENCIES) $(EXTRA_getuid_DEPENDENCIES) - @rm -f getuid$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(getuid_OBJECTS) $(getuid_LDADD) $(LIBS) -@@ -7271,6 +7626,10 @@ - @rm -f ioctl_block$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(ioctl_block_OBJECTS) $(ioctl_block_LDADD) $(LIBS) - -+ioctl_block--pidns-translation$(EXEEXT): $(ioctl_block__pidns_translation_OBJECTS) $(ioctl_block__pidns_translation_DEPENDENCIES) $(EXTRA_ioctl_block__pidns_translation_DEPENDENCIES) -+ @rm -f ioctl_block--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(ioctl_block__pidns_translation_OBJECTS) $(ioctl_block__pidns_translation_LDADD) $(LIBS) -+ - ioctl_dm$(EXEEXT): $(ioctl_dm_OBJECTS) $(ioctl_dm_DEPENDENCIES) $(EXTRA_ioctl_dm_DEPENDENCIES) - @rm -f ioctl_dm$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(ioctl_dm_OBJECTS) $(ioctl_dm_LDADD) $(LIBS) -@@ -7571,6 +7930,10 @@ - @rm -f ioprio$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(ioprio_OBJECTS) $(ioprio_LDADD) $(LIBS) - -+ioprio--pidns-translation$(EXEEXT): $(ioprio__pidns_translation_OBJECTS) $(ioprio__pidns_translation_DEPENDENCIES) $(EXTRA_ioprio__pidns_translation_DEPENDENCIES) -+ @rm -f ioprio--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(ioprio__pidns_translation_OBJECTS) $(ioprio__pidns_translation_LDADD) $(LIBS) -+ - ioprio-Xabbrev$(EXEEXT): $(ioprio_Xabbrev_OBJECTS) $(ioprio_Xabbrev_DEPENDENCIES) $(EXTRA_ioprio_Xabbrev_DEPENDENCIES) - @rm -f ioprio-Xabbrev$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(ioprio_Xabbrev_OBJECTS) $(ioprio_Xabbrev_LDADD) $(LIBS) -@@ -7667,6 +8030,10 @@ - @rm -f kcmp-y$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(kcmp_y_OBJECTS) $(kcmp_y_LDADD) $(LIBS) - -+kcmp-y--pidns-translation$(EXEEXT): $(kcmp_y__pidns_translation_OBJECTS) $(kcmp_y__pidns_translation_DEPENDENCIES) $(EXTRA_kcmp_y__pidns_translation_DEPENDENCIES) -+ @rm -f kcmp-y--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(kcmp_y__pidns_translation_OBJECTS) $(kcmp_y__pidns_translation_LDADD) $(LIBS) -+ - kern_features$(EXEEXT): $(kern_features_OBJECTS) $(kern_features_DEPENDENCIES) $(EXTRA_kern_features_DEPENDENCIES) - @rm -f kern_features$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(kern_features_OBJECTS) $(kern_features_LDADD) $(LIBS) -@@ -7715,6 +8082,10 @@ - @rm -f kill$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(kill_OBJECTS) $(kill_LDADD) $(LIBS) - -+kill--pidns-translation$(EXEEXT): $(kill__pidns_translation_OBJECTS) $(kill__pidns_translation_DEPENDENCIES) $(EXTRA_kill__pidns_translation_DEPENDENCIES) -+ @rm -f kill--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(kill__pidns_translation_OBJECTS) $(kill__pidns_translation_LDADD) $(LIBS) -+ - kill_child$(EXEEXT): $(kill_child_OBJECTS) $(kill_child_DEPENDENCIES) $(EXTRA_kill_child_DEPENDENCIES) - @rm -f kill_child$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(kill_child_OBJECTS) $(kill_child_LDADD) $(LIBS) -@@ -7823,6 +8194,10 @@ - @rm -f migrate_pages$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(migrate_pages_OBJECTS) $(migrate_pages_LDADD) $(LIBS) - -+migrate_pages--pidns-translation$(EXEEXT): $(migrate_pages__pidns_translation_OBJECTS) $(migrate_pages__pidns_translation_DEPENDENCIES) $(EXTRA_migrate_pages__pidns_translation_DEPENDENCIES) -+ @rm -f migrate_pages--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(migrate_pages__pidns_translation_OBJECTS) $(migrate_pages__pidns_translation_LDADD) $(LIBS) -+ - mincore$(EXEEXT): $(mincore_OBJECTS) $(mincore_DEPENDENCIES) $(EXTRA_mincore_DEPENDENCIES) - @rm -f mincore$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(mincore_OBJECTS) $(mincore_LDADD) $(LIBS) -@@ -7935,6 +8310,10 @@ - @rm -f move_pages$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(move_pages_OBJECTS) $(move_pages_LDADD) $(LIBS) - -+move_pages--pidns-translation$(EXEEXT): $(move_pages__pidns_translation_OBJECTS) $(move_pages__pidns_translation_DEPENDENCIES) $(EXTRA_move_pages__pidns_translation_DEPENDENCIES) -+ @rm -f move_pages--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(move_pages__pidns_translation_OBJECTS) $(move_pages__pidns_translation_LDADD) $(LIBS) -+ - move_pages-Xabbrev$(EXEEXT): $(move_pages_Xabbrev_OBJECTS) $(move_pages_Xabbrev_DEPENDENCIES) $(EXTRA_move_pages_Xabbrev_DEPENDENCIES) - @rm -f move_pages-Xabbrev$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(move_pages_Xabbrev_OBJECTS) $(move_pages_Xabbrev_LDADD) $(LIBS) -@@ -8027,6 +8406,10 @@ - @rm -f net-sockaddr$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(net_sockaddr_OBJECTS) $(net_sockaddr_LDADD) $(LIBS) - -+net-sockaddr--pidns-translation$(EXEEXT): $(net_sockaddr__pidns_translation_OBJECTS) $(net_sockaddr__pidns_translation_DEPENDENCIES) $(EXTRA_net_sockaddr__pidns_translation_DEPENDENCIES) -+ @rm -f net-sockaddr--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(net_sockaddr__pidns_translation_OBJECTS) $(net_sockaddr__pidns_translation_LDADD) $(LIBS) -+ - net-tpacket_req$(EXEEXT): $(net_tpacket_req_OBJECTS) $(net_tpacket_req_DEPENDENCIES) $(EXTRA_net_tpacket_req_DEPENDENCIES) - @rm -f net-tpacket_req$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(net_tpacket_req_OBJECTS) $(net_tpacket_req_LDADD) $(LIBS) -@@ -8063,6 +8446,10 @@ - @rm -f netlink_audit$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(netlink_audit_OBJECTS) $(netlink_audit_LDADD) $(LIBS) - -+netlink_audit--pidns-translation$(EXEEXT): $(netlink_audit__pidns_translation_OBJECTS) $(netlink_audit__pidns_translation_DEPENDENCIES) $(EXTRA_netlink_audit__pidns_translation_DEPENDENCIES) -+ @rm -f netlink_audit--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(netlink_audit__pidns_translation_OBJECTS) $(netlink_audit__pidns_translation_LDADD) $(LIBS) -+ - netlink_crypto$(EXEEXT): $(netlink_crypto_OBJECTS) $(netlink_crypto_DEPENDENCIES) $(EXTRA_netlink_crypto_DEPENDENCIES) - @rm -f netlink_crypto$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(netlink_crypto_OBJECTS) $(netlink_crypto_LDADD) $(LIBS) -@@ -8479,6 +8866,10 @@ - @rm -f pidfd_open--decode-fd-socket$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(pidfd_open__decode_fd_socket_OBJECTS) $(pidfd_open__decode_fd_socket_LDADD) $(LIBS) - -+pidfd_open--pidns-translation$(EXEEXT): $(pidfd_open__pidns_translation_OBJECTS) $(pidfd_open__pidns_translation_DEPENDENCIES) $(EXTRA_pidfd_open__pidns_translation_DEPENDENCIES) -+ @rm -f pidfd_open--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(pidfd_open__pidns_translation_OBJECTS) $(pidfd_open__pidns_translation_LDADD) $(LIBS) -+ - pidfd_open-P$(EXEEXT): $(pidfd_open_P_OBJECTS) $(pidfd_open_P_DEPENDENCIES) $(EXTRA_pidfd_open_P_DEPENDENCIES) - @rm -f pidfd_open-P$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(pidfd_open_P_OBJECTS) $(pidfd_open_P_LDADD) $(LIBS) -@@ -8495,6 +8886,14 @@ - @rm -f pidfd_send_signal$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(pidfd_send_signal_OBJECTS) $(pidfd_send_signal_LDADD) $(LIBS) - -+pidfd_send_signal--pidns-translation$(EXEEXT): $(pidfd_send_signal__pidns_translation_OBJECTS) $(pidfd_send_signal__pidns_translation_DEPENDENCIES) $(EXTRA_pidfd_send_signal__pidns_translation_DEPENDENCIES) -+ @rm -f pidfd_send_signal--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(pidfd_send_signal__pidns_translation_OBJECTS) $(pidfd_send_signal__pidns_translation_LDADD) $(LIBS) -+ -+pidns-cache$(EXEEXT): $(pidns_cache_OBJECTS) $(pidns_cache_DEPENDENCIES) $(EXTRA_pidns_cache_DEPENDENCIES) -+ @rm -f pidns-cache$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(pidns_cache_OBJECTS) $(pidns_cache_LDADD) $(LIBS) -+ - pipe$(EXEEXT): $(pipe_OBJECTS) $(pipe_DEPENDENCIES) $(EXTRA_pipe_DEPENDENCIES) - @rm -f pipe$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(pipe_OBJECTS) $(pipe_LDADD) $(LIBS) -@@ -8647,14 +9046,26 @@ - @rm -f prlimit64$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(prlimit64_OBJECTS) $(prlimit64_LDADD) $(LIBS) - -+prlimit64--pidns-translation$(EXEEXT): $(prlimit64__pidns_translation_OBJECTS) $(prlimit64__pidns_translation_DEPENDENCIES) $(EXTRA_prlimit64__pidns_translation_DEPENDENCIES) -+ @rm -f prlimit64--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(prlimit64__pidns_translation_OBJECTS) $(prlimit64__pidns_translation_LDADD) $(LIBS) -+ - process_vm_readv$(EXEEXT): $(process_vm_readv_OBJECTS) $(process_vm_readv_DEPENDENCIES) $(EXTRA_process_vm_readv_DEPENDENCIES) - @rm -f process_vm_readv$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(process_vm_readv_OBJECTS) $(process_vm_readv_LDADD) $(LIBS) - -+process_vm_readv--pidns-translation$(EXEEXT): $(process_vm_readv__pidns_translation_OBJECTS) $(process_vm_readv__pidns_translation_DEPENDENCIES) $(EXTRA_process_vm_readv__pidns_translation_DEPENDENCIES) -+ @rm -f process_vm_readv--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(process_vm_readv__pidns_translation_OBJECTS) $(process_vm_readv__pidns_translation_LDADD) $(LIBS) -+ - process_vm_writev$(EXEEXT): $(process_vm_writev_OBJECTS) $(process_vm_writev_DEPENDENCIES) $(EXTRA_process_vm_writev_DEPENDENCIES) - @rm -f process_vm_writev$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(process_vm_writev_OBJECTS) $(process_vm_writev_LDADD) $(LIBS) - -+process_vm_writev--pidns-translation$(EXEEXT): $(process_vm_writev__pidns_translation_OBJECTS) $(process_vm_writev__pidns_translation_DEPENDENCIES) $(EXTRA_process_vm_writev__pidns_translation_DEPENDENCIES) -+ @rm -f process_vm_writev--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(process_vm_writev__pidns_translation_OBJECTS) $(process_vm_writev__pidns_translation_LDADD) $(LIBS) -+ - pselect6$(EXEEXT): $(pselect6_OBJECTS) $(pselect6_DEPENDENCIES) $(EXTRA_pselect6_DEPENDENCIES) - @rm -f pselect6$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(pselect6_OBJECTS) $(pselect6_LDADD) $(LIBS) -@@ -8847,6 +9258,10 @@ - @rm -f rt_sigqueueinfo$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(rt_sigqueueinfo_OBJECTS) $(rt_sigqueueinfo_LDADD) $(LIBS) - -+rt_sigqueueinfo--pidns-translation$(EXEEXT): $(rt_sigqueueinfo__pidns_translation_OBJECTS) $(rt_sigqueueinfo__pidns_translation_DEPENDENCIES) $(EXTRA_rt_sigqueueinfo__pidns_translation_DEPENDENCIES) -+ @rm -f rt_sigqueueinfo--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(rt_sigqueueinfo__pidns_translation_OBJECTS) $(rt_sigqueueinfo__pidns_translation_LDADD) $(LIBS) -+ - rt_sigreturn$(EXEEXT): $(rt_sigreturn_OBJECTS) $(rt_sigreturn_DEPENDENCIES) $(EXTRA_rt_sigreturn_DEPENDENCIES) - @rm -f rt_sigreturn$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(rt_sigreturn_OBJECTS) $(rt_sigreturn_LDADD) $(LIBS) -@@ -8863,6 +9278,10 @@ - @rm -f rt_tgsigqueueinfo$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(rt_tgsigqueueinfo_OBJECTS) $(rt_tgsigqueueinfo_LDADD) $(LIBS) - -+rt_tgsigqueueinfo--pidns-translation$(EXEEXT): $(rt_tgsigqueueinfo__pidns_translation_OBJECTS) $(rt_tgsigqueueinfo__pidns_translation_DEPENDENCIES) $(EXTRA_rt_tgsigqueueinfo__pidns_translation_DEPENDENCIES) -+ @rm -f rt_tgsigqueueinfo--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(rt_tgsigqueueinfo__pidns_translation_OBJECTS) $(rt_tgsigqueueinfo__pidns_translation_LDADD) $(LIBS) -+ - run_expect_termsig$(EXEEXT): $(run_expect_termsig_OBJECTS) $(run_expect_termsig_DEPENDENCIES) $(EXTRA_run_expect_termsig_DEPENDENCIES) - @rm -f run_expect_termsig$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(run_expect_termsig_OBJECTS) $(run_expect_termsig_LDADD) $(LIBS) -@@ -8903,18 +9322,34 @@ - @rm -f sched_xetaffinity$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(sched_xetaffinity_OBJECTS) $(sched_xetaffinity_LDADD) $(LIBS) - -+sched_xetaffinity--pidns-translation$(EXEEXT): $(sched_xetaffinity__pidns_translation_OBJECTS) $(sched_xetaffinity__pidns_translation_DEPENDENCIES) $(EXTRA_sched_xetaffinity__pidns_translation_DEPENDENCIES) -+ @rm -f sched_xetaffinity--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(sched_xetaffinity__pidns_translation_OBJECTS) $(sched_xetaffinity__pidns_translation_LDADD) $(LIBS) -+ - sched_xetattr$(EXEEXT): $(sched_xetattr_OBJECTS) $(sched_xetattr_DEPENDENCIES) $(EXTRA_sched_xetattr_DEPENDENCIES) - @rm -f sched_xetattr$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(sched_xetattr_OBJECTS) $(sched_xetattr_LDADD) $(LIBS) - -+sched_xetattr--pidns-translation$(EXEEXT): $(sched_xetattr__pidns_translation_OBJECTS) $(sched_xetattr__pidns_translation_DEPENDENCIES) $(EXTRA_sched_xetattr__pidns_translation_DEPENDENCIES) -+ @rm -f sched_xetattr--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(sched_xetattr__pidns_translation_OBJECTS) $(sched_xetattr__pidns_translation_LDADD) $(LIBS) -+ - sched_xetparam$(EXEEXT): $(sched_xetparam_OBJECTS) $(sched_xetparam_DEPENDENCIES) $(EXTRA_sched_xetparam_DEPENDENCIES) - @rm -f sched_xetparam$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(sched_xetparam_OBJECTS) $(sched_xetparam_LDADD) $(LIBS) - -+sched_xetparam--pidns-translation$(EXEEXT): $(sched_xetparam__pidns_translation_OBJECTS) $(sched_xetparam__pidns_translation_DEPENDENCIES) $(EXTRA_sched_xetparam__pidns_translation_DEPENDENCIES) -+ @rm -f sched_xetparam--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(sched_xetparam__pidns_translation_OBJECTS) $(sched_xetparam__pidns_translation_LDADD) $(LIBS) -+ - sched_xetscheduler$(EXEEXT): $(sched_xetscheduler_OBJECTS) $(sched_xetscheduler_DEPENDENCIES) $(EXTRA_sched_xetscheduler_DEPENDENCIES) - @rm -f sched_xetscheduler$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(sched_xetscheduler_OBJECTS) $(sched_xetscheduler_LDADD) $(LIBS) - -+sched_xetscheduler--pidns-translation$(EXEEXT): $(sched_xetscheduler__pidns_translation_OBJECTS) $(sched_xetscheduler__pidns_translation_DEPENDENCIES) $(EXTRA_sched_xetscheduler__pidns_translation_DEPENDENCIES) -+ @rm -f sched_xetscheduler--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(sched_xetscheduler__pidns_translation_OBJECTS) $(sched_xetscheduler__pidns_translation_LDADD) $(LIBS) -+ - sched_yield$(EXEEXT): $(sched_yield_OBJECTS) $(sched_yield_DEPENDENCIES) $(EXTRA_sched_yield_DEPENDENCIES) - @rm -f sched_yield$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(sched_yield_OBJECTS) $(sched_yield_LDADD) $(LIBS) -@@ -9127,6 +9562,10 @@ - @rm -f signal_receive$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(signal_receive_OBJECTS) $(signal_receive_LDADD) $(LIBS) - -+signal_receive--pidns-translation$(EXEEXT): $(signal_receive__pidns_translation_OBJECTS) $(signal_receive__pidns_translation_DEPENDENCIES) $(EXTRA_signal_receive__pidns_translation_DEPENDENCIES) -+ @rm -f signal_receive--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(signal_receive__pidns_translation_OBJECTS) $(signal_receive__pidns_translation_LDADD) $(LIBS) -+ - signalfd4$(EXEEXT): $(signalfd4_OBJECTS) $(signalfd4_DEPENDENCIES) $(EXTRA_signalfd4_DEPENDENCIES) - @rm -f signalfd4$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(signalfd4_OBJECTS) $(signalfd4_LDADD) $(LIBS) -@@ -9163,6 +9602,10 @@ - @rm -f so_peercred$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(so_peercred_OBJECTS) $(so_peercred_LDADD) $(LIBS) - -+so_peercred--pidns-translation$(EXEEXT): $(so_peercred__pidns_translation_OBJECTS) $(so_peercred__pidns_translation_DEPENDENCIES) $(EXTRA_so_peercred__pidns_translation_DEPENDENCIES) -+ @rm -f so_peercred--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(so_peercred__pidns_translation_OBJECTS) $(so_peercred__pidns_translation_LDADD) $(LIBS) -+ - so_peercred-Xabbrev$(EXEEXT): $(so_peercred_Xabbrev_OBJECTS) $(so_peercred_Xabbrev_DEPENDENCIES) $(EXTRA_so_peercred_Xabbrev_DEPENDENCIES) - @rm -f so_peercred-Xabbrev$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(so_peercred_Xabbrev_OBJECTS) $(so_peercred_Xabbrev_LDADD) $(LIBS) -@@ -9367,6 +9810,10 @@ - @rm -f tgkill$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tgkill_OBJECTS) $(tgkill_LDADD) $(LIBS) - -+tgkill--pidns-translation$(EXEEXT): $(tgkill__pidns_translation_OBJECTS) $(tgkill__pidns_translation_DEPENDENCIES) $(EXTRA_tgkill__pidns_translation_DEPENDENCIES) -+ @rm -f tgkill--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(tgkill__pidns_translation_OBJECTS) $(tgkill__pidns_translation_LDADD) $(LIBS) -+ - threads-execve$(EXEEXT): $(threads_execve_OBJECTS) $(threads_execve_DEPENDENCIES) $(EXTRA_threads_execve_DEPENDENCIES) - @rm -f threads-execve$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(threads_execve_OBJECTS) $(threads_execve_LDADD) $(LIBS) -@@ -9415,10 +9862,18 @@ - @rm -f tkill$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tkill_OBJECTS) $(tkill_LDADD) $(LIBS) - -+tkill--pidns-translation$(EXEEXT): $(tkill__pidns_translation_OBJECTS) $(tkill__pidns_translation_DEPENDENCIES) $(EXTRA_tkill__pidns_translation_DEPENDENCIES) -+ @rm -f tkill--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(tkill__pidns_translation_OBJECTS) $(tkill__pidns_translation_LDADD) $(LIBS) -+ - tracer_ppid_pgid_sid$(EXEEXT): $(tracer_ppid_pgid_sid_OBJECTS) $(tracer_ppid_pgid_sid_DEPENDENCIES) $(EXTRA_tracer_ppid_pgid_sid_DEPENDENCIES) - @rm -f tracer_ppid_pgid_sid$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tracer_ppid_pgid_sid_OBJECTS) $(tracer_ppid_pgid_sid_LDADD) $(LIBS) - -+trie_test$(EXEEXT): $(trie_test_OBJECTS) $(trie_test_DEPENDENCIES) $(EXTRA_trie_test_DEPENDENCIES) -+ @rm -f trie_test$(EXEEXT) -+ $(AM_V_CCLD)$(trie_test_LINK) $(trie_test_OBJECTS) $(trie_test_LDADD) $(LIBS) -+ - truncate$(EXEEXT): $(truncate_OBJECTS) $(truncate_DEPENDENCIES) $(EXTRA_truncate_DEPENDENCIES) - @rm -f truncate$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(truncate_OBJECTS) $(truncate_LDADD) $(LIBS) -@@ -9579,6 +10034,10 @@ - @rm -f xet_robust_list$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(xet_robust_list_OBJECTS) $(xet_robust_list_LDADD) $(LIBS) - -+xet_robust_list--pidns-translation$(EXEEXT): $(xet_robust_list__pidns_translation_OBJECTS) $(xet_robust_list__pidns_translation_DEPENDENCIES) $(EXTRA_xet_robust_list__pidns_translation_DEPENDENCIES) -+ @rm -f xet_robust_list--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(xet_robust_list__pidns_translation_OBJECTS) $(xet_robust_list__pidns_translation_LDADD) $(LIBS) -+ - xet_thread_area_x86$(EXEEXT): $(xet_thread_area_x86_OBJECTS) $(xet_thread_area_x86_DEPENDENCIES) $(EXTRA_xet_thread_area_x86_DEPENDENCIES) - @rm -f xet_thread_area_x86$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(xet_thread_area_x86_OBJECTS) $(xet_thread_area_x86_LDADD) $(LIBS) -@@ -9591,10 +10050,18 @@ - @rm -f xetpgid$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(xetpgid_OBJECTS) $(xetpgid_LDADD) $(LIBS) - -+xetpgid--pidns-translation$(EXEEXT): $(xetpgid__pidns_translation_OBJECTS) $(xetpgid__pidns_translation_DEPENDENCIES) $(EXTRA_xetpgid__pidns_translation_DEPENDENCIES) -+ @rm -f xetpgid--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(xetpgid__pidns_translation_OBJECTS) $(xetpgid__pidns_translation_LDADD) $(LIBS) -+ - xetpriority$(EXEEXT): $(xetpriority_OBJECTS) $(xetpriority_DEPENDENCIES) $(EXTRA_xetpriority_DEPENDENCIES) - @rm -f xetpriority$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(xetpriority_OBJECTS) $(xetpriority_LDADD) $(LIBS) - -+xetpriority--pidns-translation$(EXEEXT): $(xetpriority__pidns_translation_OBJECTS) $(xetpriority__pidns_translation_DEPENDENCIES) $(EXTRA_xetpriority__pidns_translation_DEPENDENCIES) -+ @rm -f xetpriority--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(xetpriority__pidns_translation_OBJECTS) $(xetpriority__pidns_translation_LDADD) $(LIBS) -+ - xettimeofday$(EXEEXT): $(xettimeofday_OBJECTS) $(xettimeofday_DEPENDENCIES) $(EXTRA_xettimeofday_DEPENDENCIES) - @rm -f xettimeofday$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(xettimeofday_OBJECTS) $(xettimeofday_LDADD) $(LIBS) -@@ -9714,7 +10181,9 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchown.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchown32.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl64--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl64.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fdatasync.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fflush.Po@am__quote@ # am--include-marker -@@ -9725,6 +10194,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filter_seccomp-perf.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/finit_module.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/flock.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fork--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fork-f.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fsconfig-P.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fsconfig.Po@am__quote@ # am--include-marker -@@ -9766,7 +10236,9 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getgroups.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getgroups32.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getpeername.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getpgrp--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getpgrp.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getpid--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getpid.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getppid.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getrandom.Po@am__quote@ # am--include-marker -@@ -9776,8 +10248,10 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getresuid32.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getrlimit.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getrusage.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getsid--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getsid.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getsockname.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gettid--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gettid.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getuid.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getuid32.Po@am__quote@ # am--include-marker -@@ -9798,6 +10272,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/io_uring_register.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/io_uring_setup.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_block--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_block.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_dm-v.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_dm.Po@am__quote@ # am--include-marker -@@ -9873,6 +10348,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_watchdog.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioperm.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iopl.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioprio--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioprio-Xabbrev.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioprio-Xraw.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioprio-Xverbose.Po@am__quote@ # am--include-marker -@@ -9896,6 +10372,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_shm-Xverbose.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_shm.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/is_linux_mips_n64.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kcmp-y--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kcmp-y.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kcmp.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kern_features.Po@am__quote@ # am--include-marker -@@ -9909,6 +10386,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/keyctl-Xraw.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/keyctl-Xverbose.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/keyctl.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kill--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kill.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kill_child.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ksysent.Po@am__quote@ # am--include-marker -@@ -9946,6 +10424,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-test_printstrn.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-test_ucopy.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-tprintf.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-xmalloc_for_tests.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/link.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/list_sigaction_signum.Po@am__quote@ # am--include-marker -@@ -9968,6 +10447,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memfd_create-Xraw.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memfd_create-Xverbose.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memfd_create.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/migrate_pages--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/migrate_pages.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mincore.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mkdir.Po@am__quote@ # am--include-marker -@@ -9996,6 +10476,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/move_mount-P.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/move_mount.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/move_pages--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/move_pages-Xabbrev.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/move_pages-Xraw.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/move_pages-Xverbose.Po@am__quote@ # am--include-marker -@@ -10019,6 +10500,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-packet_mreq-Xraw.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-packet_mreq-Xverbose.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-packet_mreq.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-sockaddr--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-sockaddr.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-tpacket_req.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-tpacket_stats-success.Po@am__quote@ # am--include-marker -@@ -10028,6 +10510,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-yy-inet6.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-yy-netlink.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-yy-unix.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netlink_audit--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netlink_audit.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netlink_crypto.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netlink_generic.Po@am__quote@ # am--include-marker -@@ -10132,11 +10615,14 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidfd_open--decode-fd-path.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidfd_open--decode-fd-pidfd.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidfd_open--decode-fd-socket.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidfd_open--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidfd_open-P.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidfd_open-y.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidfd_open-yy.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidfd_open.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidfd_send_signal--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidfd_send_signal.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidns-cache.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pipe.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pipe2.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pkey_alloc.Po@am__quote@ # am--include-marker -@@ -10174,8 +10660,11 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/printstrn-umoven-peekdata.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/printstrn-umoven-undumpable.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/printstrn-umoven.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prlimit64--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prlimit64.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/process_vm_readv--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/process_vm_readv.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/process_vm_writev--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/process_vm_writev.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pselect6.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ptrace.Po@am__quote@ # am--include-marker -@@ -10224,10 +10713,12 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigaction.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigpending.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigprocmask.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigqueueinfo--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigqueueinfo.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigreturn.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigsuspend.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigtimedwait.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_tgsigqueueinfo--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_tgsigqueueinfo.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/run_expect_termsig.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/s390_guarded_storage-v.Po@am__quote@ # am--include-marker -@@ -10238,9 +10729,13 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/s390_sthyi.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_get_priority_mxx.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_rr_get_interval.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_xetaffinity--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_xetaffinity.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_xetattr--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_xetattr.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_xetparam--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_xetparam.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_xetscheduler--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_xetscheduler.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_yield.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scm_rights.Po@am__quote@ # am--include-marker -@@ -10294,6 +10789,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sigaltstack.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/siginfo.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/signal.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/signal_receive--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/signal_receive.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/signalfd4.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sigpending.Po@am__quote@ # am--include-marker -@@ -10303,6 +10799,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sleep.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/so_error.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/so_linger.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/so_peercred--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/so_peercred-Xabbrev.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/so_peercred-Xraw.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/so_peercred-Xverbose.Po@am__quote@ # am--include-marker -@@ -10362,6 +10859,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/syslog-success.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/syslog.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tee.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tgkill--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tgkill.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/threads-execve--quiet-thread-execve.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/threads-execve-q.Po@am__quote@ # am--include-marker -@@ -10374,6 +10872,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/timerfd_xettime.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/times-fail.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/times.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tkill--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tkill.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tracer_ppid_pgid_sid.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/truncate.Po@am__quote@ # am--include-marker -@@ -10415,10 +10914,13 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/waitpid.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xattr-strings.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xattr.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xet_robust_list--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xet_robust_list.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xet_thread_area_x86.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xetitimer.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xetpgid--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xetpgid.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xetpriority--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xetpriority.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xettimeofday.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/zeroargc.Po@am__quote@ # am--include-marker -@@ -10893,6 +11395,20 @@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-tprintf.obj `if test -f 'tprintf.c'; then $(CYGPATH_W) 'tprintf.c'; else $(CYGPATH_W) '$(srcdir)/tprintf.c'; fi` - -+libtests_a-xmalloc_for_tests.o: xmalloc_for_tests.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-xmalloc_for_tests.o -MD -MP -MF $(DEPDIR)/libtests_a-xmalloc_for_tests.Tpo -c -o libtests_a-xmalloc_for_tests.o `test -f 'xmalloc_for_tests.c' || echo '$(srcdir)/'`xmalloc_for_tests.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-xmalloc_for_tests.Tpo $(DEPDIR)/libtests_a-xmalloc_for_tests.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='xmalloc_for_tests.c' object='libtests_a-xmalloc_for_tests.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-xmalloc_for_tests.o `test -f 'xmalloc_for_tests.c' || echo '$(srcdir)/'`xmalloc_for_tests.c -+ -+libtests_a-xmalloc_for_tests.obj: xmalloc_for_tests.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-xmalloc_for_tests.obj -MD -MP -MF $(DEPDIR)/libtests_a-xmalloc_for_tests.Tpo -c -o libtests_a-xmalloc_for_tests.obj `if test -f 'xmalloc_for_tests.c'; then $(CYGPATH_W) 'xmalloc_for_tests.c'; else $(CYGPATH_W) '$(srcdir)/xmalloc_for_tests.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-xmalloc_for_tests.Tpo $(DEPDIR)/libtests_a-xmalloc_for_tests.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='xmalloc_for_tests.c' object='libtests_a-xmalloc_for_tests.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-xmalloc_for_tests.obj `if test -f 'xmalloc_for_tests.c'; then $(CYGPATH_W) 'xmalloc_for_tests.c'; else $(CYGPATH_W) '$(srcdir)/xmalloc_for_tests.c'; fi` -+ - fstat64-fstat64.o: fstat64.c - @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(fstat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT fstat64-fstat64.o -MD -MP -MF $(DEPDIR)/fstat64-fstat64.Tpo -c -o fstat64-fstat64.o `test -f 'fstat64.c' || echo '$(srcdir)/'`fstat64.c - @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/fstat64-fstat64.Tpo $(DEPDIR)/fstat64-fstat64.Po -@@ -11103,6 +11619,34 @@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(statfs_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o statfs-statfs.obj `if test -f 'statfs.c'; then $(CYGPATH_W) 'statfs.c'; else $(CYGPATH_W) '$(srcdir)/statfs.c'; fi` - -+trie_test-trie_test.o: trie_test.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(trie_test_CPPFLAGS) $(CPPFLAGS) $(trie_test_CFLAGS) $(CFLAGS) -MT trie_test-trie_test.o -MD -MP -MF $(DEPDIR)/trie_test-trie_test.Tpo -c -o trie_test-trie_test.o `test -f 'trie_test.c' || echo '$(srcdir)/'`trie_test.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/trie_test-trie_test.Tpo $(DEPDIR)/trie_test-trie_test.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='trie_test.c' object='trie_test-trie_test.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(trie_test_CPPFLAGS) $(CPPFLAGS) $(trie_test_CFLAGS) $(CFLAGS) -c -o trie_test-trie_test.o `test -f 'trie_test.c' || echo '$(srcdir)/'`trie_test.c -+ -+trie_test-trie_test.obj: trie_test.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(trie_test_CPPFLAGS) $(CPPFLAGS) $(trie_test_CFLAGS) $(CFLAGS) -MT trie_test-trie_test.obj -MD -MP -MF $(DEPDIR)/trie_test-trie_test.Tpo -c -o trie_test-trie_test.obj `if test -f 'trie_test.c'; then $(CYGPATH_W) 'trie_test.c'; else $(CYGPATH_W) '$(srcdir)/trie_test.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/trie_test-trie_test.Tpo $(DEPDIR)/trie_test-trie_test.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='trie_test.c' object='trie_test-trie_test.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(trie_test_CPPFLAGS) $(CPPFLAGS) $(trie_test_CFLAGS) $(CFLAGS) -c -o trie_test-trie_test.obj `if test -f 'trie_test.c'; then $(CYGPATH_W) 'trie_test.c'; else $(CYGPATH_W) '$(srcdir)/trie_test.c'; fi` -+ -+trie_test-trie_for_tests.o: trie_for_tests.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(trie_test_CPPFLAGS) $(CPPFLAGS) $(trie_test_CFLAGS) $(CFLAGS) -MT trie_test-trie_for_tests.o -MD -MP -MF $(DEPDIR)/trie_test-trie_for_tests.Tpo -c -o trie_test-trie_for_tests.o `test -f 'trie_for_tests.c' || echo '$(srcdir)/'`trie_for_tests.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/trie_test-trie_for_tests.Tpo $(DEPDIR)/trie_test-trie_for_tests.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='trie_for_tests.c' object='trie_test-trie_for_tests.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(trie_test_CPPFLAGS) $(CPPFLAGS) $(trie_test_CFLAGS) $(CFLAGS) -c -o trie_test-trie_for_tests.o `test -f 'trie_for_tests.c' || echo '$(srcdir)/'`trie_for_tests.c -+ -+trie_test-trie_for_tests.obj: trie_for_tests.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(trie_test_CPPFLAGS) $(CPPFLAGS) $(trie_test_CFLAGS) $(CFLAGS) -MT trie_test-trie_for_tests.obj -MD -MP -MF $(DEPDIR)/trie_test-trie_for_tests.Tpo -c -o trie_test-trie_for_tests.obj `if test -f 'trie_for_tests.c'; then $(CYGPATH_W) 'trie_for_tests.c'; else $(CYGPATH_W) '$(srcdir)/trie_for_tests.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/trie_test-trie_for_tests.Tpo $(DEPDIR)/trie_test-trie_for_tests.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='trie_for_tests.c' object='trie_test-trie_for_tests.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(trie_test_CPPFLAGS) $(CPPFLAGS) $(trie_test_CFLAGS) $(CFLAGS) -c -o trie_test-trie_for_tests.obj `if test -f 'trie_for_tests.c'; then $(CYGPATH_W) 'trie_for_tests.c'; else $(CYGPATH_W) '$(srcdir)/trie_for_tests.c'; fi` -+ - truncate64-truncate64.o: truncate64.c - @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(truncate64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT truncate64-truncate64.o -MD -MP -MF $(DEPDIR)/truncate64-truncate64.Tpo -c -o truncate64-truncate64.o `test -f 'truncate64.c' || echo '$(srcdir)/'`truncate64.c - @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/truncate64-truncate64.Tpo $(DEPDIR)/truncate64-truncate64.Po -@@ -11551,7 +12095,9 @@ - -rm -f ./$(DEPDIR)/fchown.Po - -rm -f ./$(DEPDIR)/fchown32.Po - -rm -f ./$(DEPDIR)/fchownat.Po -+ -rm -f ./$(DEPDIR)/fcntl--pidns-translation.Po - -rm -f ./$(DEPDIR)/fcntl.Po -+ -rm -f ./$(DEPDIR)/fcntl64--pidns-translation.Po - -rm -f ./$(DEPDIR)/fcntl64.Po - -rm -f ./$(DEPDIR)/fdatasync.Po - -rm -f ./$(DEPDIR)/fflush.Po -@@ -11562,6 +12108,7 @@ - -rm -f ./$(DEPDIR)/filter_seccomp-perf.Po - -rm -f ./$(DEPDIR)/finit_module.Po - -rm -f ./$(DEPDIR)/flock.Po -+ -rm -f ./$(DEPDIR)/fork--pidns-translation.Po - -rm -f ./$(DEPDIR)/fork-f.Po - -rm -f ./$(DEPDIR)/fsconfig-P.Po - -rm -f ./$(DEPDIR)/fsconfig.Po -@@ -11603,7 +12150,9 @@ - -rm -f ./$(DEPDIR)/getgroups.Po - -rm -f ./$(DEPDIR)/getgroups32.Po - -rm -f ./$(DEPDIR)/getpeername.Po -+ -rm -f ./$(DEPDIR)/getpgrp--pidns-translation.Po - -rm -f ./$(DEPDIR)/getpgrp.Po -+ -rm -f ./$(DEPDIR)/getpid--pidns-translation.Po - -rm -f ./$(DEPDIR)/getpid.Po - -rm -f ./$(DEPDIR)/getppid.Po - -rm -f ./$(DEPDIR)/getrandom.Po -@@ -11613,8 +12162,10 @@ - -rm -f ./$(DEPDIR)/getresuid32.Po - -rm -f ./$(DEPDIR)/getrlimit.Po - -rm -f ./$(DEPDIR)/getrusage.Po -+ -rm -f ./$(DEPDIR)/getsid--pidns-translation.Po - -rm -f ./$(DEPDIR)/getsid.Po - -rm -f ./$(DEPDIR)/getsockname.Po -+ -rm -f ./$(DEPDIR)/gettid--pidns-translation.Po - -rm -f ./$(DEPDIR)/gettid.Po - -rm -f ./$(DEPDIR)/getuid.Po - -rm -f ./$(DEPDIR)/getuid32.Po -@@ -11635,6 +12186,7 @@ - -rm -f ./$(DEPDIR)/io_uring_register.Po - -rm -f ./$(DEPDIR)/io_uring_setup.Po - -rm -f ./$(DEPDIR)/ioctl.Po -+ -rm -f ./$(DEPDIR)/ioctl_block--pidns-translation.Po - -rm -f ./$(DEPDIR)/ioctl_block.Po - -rm -f ./$(DEPDIR)/ioctl_dm-v.Po - -rm -f ./$(DEPDIR)/ioctl_dm.Po -@@ -11710,6 +12262,7 @@ - -rm -f ./$(DEPDIR)/ioctl_watchdog.Po - -rm -f ./$(DEPDIR)/ioperm.Po - -rm -f ./$(DEPDIR)/iopl.Po -+ -rm -f ./$(DEPDIR)/ioprio--pidns-translation.Po - -rm -f ./$(DEPDIR)/ioprio-Xabbrev.Po - -rm -f ./$(DEPDIR)/ioprio-Xraw.Po - -rm -f ./$(DEPDIR)/ioprio-Xverbose.Po -@@ -11733,6 +12286,7 @@ - -rm -f ./$(DEPDIR)/ipc_shm-Xverbose.Po - -rm -f ./$(DEPDIR)/ipc_shm.Po - -rm -f ./$(DEPDIR)/is_linux_mips_n64.Po -+ -rm -f ./$(DEPDIR)/kcmp-y--pidns-translation.Po - -rm -f ./$(DEPDIR)/kcmp-y.Po - -rm -f ./$(DEPDIR)/kcmp.Po - -rm -f ./$(DEPDIR)/kern_features.Po -@@ -11746,6 +12300,7 @@ - -rm -f ./$(DEPDIR)/keyctl-Xraw.Po - -rm -f ./$(DEPDIR)/keyctl-Xverbose.Po - -rm -f ./$(DEPDIR)/keyctl.Po -+ -rm -f ./$(DEPDIR)/kill--pidns-translation.Po - -rm -f ./$(DEPDIR)/kill.Po - -rm -f ./$(DEPDIR)/kill_child.Po - -rm -f ./$(DEPDIR)/ksysent.Po -@@ -11783,6 +12338,7 @@ - -rm -f ./$(DEPDIR)/libtests_a-test_printstrn.Po - -rm -f ./$(DEPDIR)/libtests_a-test_ucopy.Po - -rm -f ./$(DEPDIR)/libtests_a-tprintf.Po -+ -rm -f ./$(DEPDIR)/libtests_a-xmalloc_for_tests.Po - -rm -f ./$(DEPDIR)/link.Po - -rm -f ./$(DEPDIR)/linkat.Po - -rm -f ./$(DEPDIR)/list_sigaction_signum.Po -@@ -11805,6 +12361,7 @@ - -rm -f ./$(DEPDIR)/memfd_create-Xraw.Po - -rm -f ./$(DEPDIR)/memfd_create-Xverbose.Po - -rm -f ./$(DEPDIR)/memfd_create.Po -+ -rm -f ./$(DEPDIR)/migrate_pages--pidns-translation.Po - -rm -f ./$(DEPDIR)/migrate_pages.Po - -rm -f ./$(DEPDIR)/mincore.Po - -rm -f ./$(DEPDIR)/mkdir.Po -@@ -11833,6 +12390,7 @@ - -rm -f ./$(DEPDIR)/mount.Po - -rm -f ./$(DEPDIR)/move_mount-P.Po - -rm -f ./$(DEPDIR)/move_mount.Po -+ -rm -f ./$(DEPDIR)/move_pages--pidns-translation.Po - -rm -f ./$(DEPDIR)/move_pages-Xabbrev.Po - -rm -f ./$(DEPDIR)/move_pages-Xraw.Po - -rm -f ./$(DEPDIR)/move_pages-Xverbose.Po -@@ -11856,6 +12414,7 @@ - -rm -f ./$(DEPDIR)/net-packet_mreq-Xraw.Po - -rm -f ./$(DEPDIR)/net-packet_mreq-Xverbose.Po - -rm -f ./$(DEPDIR)/net-packet_mreq.Po -+ -rm -f ./$(DEPDIR)/net-sockaddr--pidns-translation.Po - -rm -f ./$(DEPDIR)/net-sockaddr.Po - -rm -f ./$(DEPDIR)/net-tpacket_req.Po - -rm -f ./$(DEPDIR)/net-tpacket_stats-success.Po -@@ -11865,6 +12424,7 @@ - -rm -f ./$(DEPDIR)/net-yy-inet6.Po - -rm -f ./$(DEPDIR)/net-yy-netlink.Po - -rm -f ./$(DEPDIR)/net-yy-unix.Po -+ -rm -f ./$(DEPDIR)/netlink_audit--pidns-translation.Po - -rm -f ./$(DEPDIR)/netlink_audit.Po - -rm -f ./$(DEPDIR)/netlink_crypto.Po - -rm -f ./$(DEPDIR)/netlink_generic.Po -@@ -11969,11 +12529,14 @@ - -rm -f ./$(DEPDIR)/pidfd_open--decode-fd-path.Po - -rm -f ./$(DEPDIR)/pidfd_open--decode-fd-pidfd.Po - -rm -f ./$(DEPDIR)/pidfd_open--decode-fd-socket.Po -+ -rm -f ./$(DEPDIR)/pidfd_open--pidns-translation.Po - -rm -f ./$(DEPDIR)/pidfd_open-P.Po - -rm -f ./$(DEPDIR)/pidfd_open-y.Po - -rm -f ./$(DEPDIR)/pidfd_open-yy.Po - -rm -f ./$(DEPDIR)/pidfd_open.Po -+ -rm -f ./$(DEPDIR)/pidfd_send_signal--pidns-translation.Po - -rm -f ./$(DEPDIR)/pidfd_send_signal.Po -+ -rm -f ./$(DEPDIR)/pidns-cache.Po - -rm -f ./$(DEPDIR)/pipe.Po - -rm -f ./$(DEPDIR)/pipe2.Po - -rm -f ./$(DEPDIR)/pkey_alloc.Po -@@ -12011,8 +12574,11 @@ - -rm -f ./$(DEPDIR)/printstrn-umoven-peekdata.Po - -rm -f ./$(DEPDIR)/printstrn-umoven-undumpable.Po - -rm -f ./$(DEPDIR)/printstrn-umoven.Po -+ -rm -f ./$(DEPDIR)/prlimit64--pidns-translation.Po - -rm -f ./$(DEPDIR)/prlimit64.Po -+ -rm -f ./$(DEPDIR)/process_vm_readv--pidns-translation.Po - -rm -f ./$(DEPDIR)/process_vm_readv.Po -+ -rm -f ./$(DEPDIR)/process_vm_writev--pidns-translation.Po - -rm -f ./$(DEPDIR)/process_vm_writev.Po - -rm -f ./$(DEPDIR)/pselect6.Po - -rm -f ./$(DEPDIR)/ptrace.Po -@@ -12061,10 +12627,12 @@ - -rm -f ./$(DEPDIR)/rt_sigaction.Po - -rm -f ./$(DEPDIR)/rt_sigpending.Po - -rm -f ./$(DEPDIR)/rt_sigprocmask.Po -+ -rm -f ./$(DEPDIR)/rt_sigqueueinfo--pidns-translation.Po - -rm -f ./$(DEPDIR)/rt_sigqueueinfo.Po - -rm -f ./$(DEPDIR)/rt_sigreturn.Po - -rm -f ./$(DEPDIR)/rt_sigsuspend.Po - -rm -f ./$(DEPDIR)/rt_sigtimedwait.Po -+ -rm -f ./$(DEPDIR)/rt_tgsigqueueinfo--pidns-translation.Po - -rm -f ./$(DEPDIR)/rt_tgsigqueueinfo.Po - -rm -f ./$(DEPDIR)/run_expect_termsig.Po - -rm -f ./$(DEPDIR)/s390_guarded_storage-v.Po -@@ -12075,9 +12643,13 @@ - -rm -f ./$(DEPDIR)/s390_sthyi.Po - -rm -f ./$(DEPDIR)/sched_get_priority_mxx.Po - -rm -f ./$(DEPDIR)/sched_rr_get_interval.Po -+ -rm -f ./$(DEPDIR)/sched_xetaffinity--pidns-translation.Po - -rm -f ./$(DEPDIR)/sched_xetaffinity.Po -+ -rm -f ./$(DEPDIR)/sched_xetattr--pidns-translation.Po - -rm -f ./$(DEPDIR)/sched_xetattr.Po -+ -rm -f ./$(DEPDIR)/sched_xetparam--pidns-translation.Po - -rm -f ./$(DEPDIR)/sched_xetparam.Po -+ -rm -f ./$(DEPDIR)/sched_xetscheduler--pidns-translation.Po - -rm -f ./$(DEPDIR)/sched_xetscheduler.Po - -rm -f ./$(DEPDIR)/sched_yield.Po - -rm -f ./$(DEPDIR)/scm_rights.Po -@@ -12131,6 +12703,7 @@ - -rm -f ./$(DEPDIR)/sigaltstack.Po - -rm -f ./$(DEPDIR)/siginfo.Po - -rm -f ./$(DEPDIR)/signal.Po -+ -rm -f ./$(DEPDIR)/signal_receive--pidns-translation.Po - -rm -f ./$(DEPDIR)/signal_receive.Po - -rm -f ./$(DEPDIR)/signalfd4.Po - -rm -f ./$(DEPDIR)/sigpending.Po -@@ -12140,6 +12713,7 @@ - -rm -f ./$(DEPDIR)/sleep.Po - -rm -f ./$(DEPDIR)/so_error.Po - -rm -f ./$(DEPDIR)/so_linger.Po -+ -rm -f ./$(DEPDIR)/so_peercred--pidns-translation.Po - -rm -f ./$(DEPDIR)/so_peercred-Xabbrev.Po - -rm -f ./$(DEPDIR)/so_peercred-Xraw.Po - -rm -f ./$(DEPDIR)/so_peercred-Xverbose.Po -@@ -12199,6 +12773,7 @@ - -rm -f ./$(DEPDIR)/syslog-success.Po - -rm -f ./$(DEPDIR)/syslog.Po - -rm -f ./$(DEPDIR)/tee.Po -+ -rm -f ./$(DEPDIR)/tgkill--pidns-translation.Po - -rm -f ./$(DEPDIR)/tgkill.Po - -rm -f ./$(DEPDIR)/threads-execve--quiet-thread-execve.Po - -rm -f ./$(DEPDIR)/threads-execve-q.Po -@@ -12211,6 +12786,7 @@ - -rm -f ./$(DEPDIR)/timerfd_xettime.Po - -rm -f ./$(DEPDIR)/times-fail.Po - -rm -f ./$(DEPDIR)/times.Po -+ -rm -f ./$(DEPDIR)/tkill--pidns-translation.Po - -rm -f ./$(DEPDIR)/tkill.Po - -rm -f ./$(DEPDIR)/tracer_ppid_pgid_sid.Po - -rm -f ./$(DEPDIR)/truncate.Po -@@ -12252,10 +12828,13 @@ - -rm -f ./$(DEPDIR)/waitpid.Po - -rm -f ./$(DEPDIR)/xattr-strings.Po - -rm -f ./$(DEPDIR)/xattr.Po -+ -rm -f ./$(DEPDIR)/xet_robust_list--pidns-translation.Po - -rm -f ./$(DEPDIR)/xet_robust_list.Po - -rm -f ./$(DEPDIR)/xet_thread_area_x86.Po - -rm -f ./$(DEPDIR)/xetitimer.Po -+ -rm -f ./$(DEPDIR)/xetpgid--pidns-translation.Po - -rm -f ./$(DEPDIR)/xetpgid.Po -+ -rm -f ./$(DEPDIR)/xetpriority--pidns-translation.Po - -rm -f ./$(DEPDIR)/xetpriority.Po - -rm -f ./$(DEPDIR)/xettimeofday.Po - -rm -f ./$(DEPDIR)/zeroargc.Po -@@ -12409,7 +12988,9 @@ - -rm -f ./$(DEPDIR)/fchown.Po - -rm -f ./$(DEPDIR)/fchown32.Po - -rm -f ./$(DEPDIR)/fchownat.Po -+ -rm -f ./$(DEPDIR)/fcntl--pidns-translation.Po - -rm -f ./$(DEPDIR)/fcntl.Po -+ -rm -f ./$(DEPDIR)/fcntl64--pidns-translation.Po - -rm -f ./$(DEPDIR)/fcntl64.Po - -rm -f ./$(DEPDIR)/fdatasync.Po - -rm -f ./$(DEPDIR)/fflush.Po -@@ -12420,6 +13001,7 @@ - -rm -f ./$(DEPDIR)/filter_seccomp-perf.Po - -rm -f ./$(DEPDIR)/finit_module.Po - -rm -f ./$(DEPDIR)/flock.Po -+ -rm -f ./$(DEPDIR)/fork--pidns-translation.Po - -rm -f ./$(DEPDIR)/fork-f.Po - -rm -f ./$(DEPDIR)/fsconfig-P.Po - -rm -f ./$(DEPDIR)/fsconfig.Po -@@ -12461,7 +13043,9 @@ - -rm -f ./$(DEPDIR)/getgroups.Po - -rm -f ./$(DEPDIR)/getgroups32.Po - -rm -f ./$(DEPDIR)/getpeername.Po -+ -rm -f ./$(DEPDIR)/getpgrp--pidns-translation.Po - -rm -f ./$(DEPDIR)/getpgrp.Po -+ -rm -f ./$(DEPDIR)/getpid--pidns-translation.Po - -rm -f ./$(DEPDIR)/getpid.Po - -rm -f ./$(DEPDIR)/getppid.Po - -rm -f ./$(DEPDIR)/getrandom.Po -@@ -12471,8 +13055,10 @@ - -rm -f ./$(DEPDIR)/getresuid32.Po - -rm -f ./$(DEPDIR)/getrlimit.Po - -rm -f ./$(DEPDIR)/getrusage.Po -+ -rm -f ./$(DEPDIR)/getsid--pidns-translation.Po - -rm -f ./$(DEPDIR)/getsid.Po - -rm -f ./$(DEPDIR)/getsockname.Po -+ -rm -f ./$(DEPDIR)/gettid--pidns-translation.Po - -rm -f ./$(DEPDIR)/gettid.Po - -rm -f ./$(DEPDIR)/getuid.Po - -rm -f ./$(DEPDIR)/getuid32.Po -@@ -12493,6 +13079,7 @@ - -rm -f ./$(DEPDIR)/io_uring_register.Po - -rm -f ./$(DEPDIR)/io_uring_setup.Po - -rm -f ./$(DEPDIR)/ioctl.Po -+ -rm -f ./$(DEPDIR)/ioctl_block--pidns-translation.Po - -rm -f ./$(DEPDIR)/ioctl_block.Po - -rm -f ./$(DEPDIR)/ioctl_dm-v.Po - -rm -f ./$(DEPDIR)/ioctl_dm.Po -@@ -12568,6 +13155,7 @@ - -rm -f ./$(DEPDIR)/ioctl_watchdog.Po - -rm -f ./$(DEPDIR)/ioperm.Po - -rm -f ./$(DEPDIR)/iopl.Po -+ -rm -f ./$(DEPDIR)/ioprio--pidns-translation.Po - -rm -f ./$(DEPDIR)/ioprio-Xabbrev.Po - -rm -f ./$(DEPDIR)/ioprio-Xraw.Po - -rm -f ./$(DEPDIR)/ioprio-Xverbose.Po -@@ -12591,6 +13179,7 @@ - -rm -f ./$(DEPDIR)/ipc_shm-Xverbose.Po - -rm -f ./$(DEPDIR)/ipc_shm.Po - -rm -f ./$(DEPDIR)/is_linux_mips_n64.Po -+ -rm -f ./$(DEPDIR)/kcmp-y--pidns-translation.Po - -rm -f ./$(DEPDIR)/kcmp-y.Po - -rm -f ./$(DEPDIR)/kcmp.Po - -rm -f ./$(DEPDIR)/kern_features.Po -@@ -12604,6 +13193,7 @@ - -rm -f ./$(DEPDIR)/keyctl-Xraw.Po - -rm -f ./$(DEPDIR)/keyctl-Xverbose.Po - -rm -f ./$(DEPDIR)/keyctl.Po -+ -rm -f ./$(DEPDIR)/kill--pidns-translation.Po - -rm -f ./$(DEPDIR)/kill.Po - -rm -f ./$(DEPDIR)/kill_child.Po - -rm -f ./$(DEPDIR)/ksysent.Po -@@ -12641,6 +13231,7 @@ - -rm -f ./$(DEPDIR)/libtests_a-test_printstrn.Po - -rm -f ./$(DEPDIR)/libtests_a-test_ucopy.Po - -rm -f ./$(DEPDIR)/libtests_a-tprintf.Po -+ -rm -f ./$(DEPDIR)/libtests_a-xmalloc_for_tests.Po - -rm -f ./$(DEPDIR)/link.Po - -rm -f ./$(DEPDIR)/linkat.Po - -rm -f ./$(DEPDIR)/list_sigaction_signum.Po -@@ -12663,6 +13254,7 @@ - -rm -f ./$(DEPDIR)/memfd_create-Xraw.Po - -rm -f ./$(DEPDIR)/memfd_create-Xverbose.Po - -rm -f ./$(DEPDIR)/memfd_create.Po -+ -rm -f ./$(DEPDIR)/migrate_pages--pidns-translation.Po - -rm -f ./$(DEPDIR)/migrate_pages.Po - -rm -f ./$(DEPDIR)/mincore.Po - -rm -f ./$(DEPDIR)/mkdir.Po -@@ -12691,6 +13283,7 @@ - -rm -f ./$(DEPDIR)/mount.Po - -rm -f ./$(DEPDIR)/move_mount-P.Po - -rm -f ./$(DEPDIR)/move_mount.Po -+ -rm -f ./$(DEPDIR)/move_pages--pidns-translation.Po - -rm -f ./$(DEPDIR)/move_pages-Xabbrev.Po - -rm -f ./$(DEPDIR)/move_pages-Xraw.Po - -rm -f ./$(DEPDIR)/move_pages-Xverbose.Po -@@ -12714,6 +13307,7 @@ - -rm -f ./$(DEPDIR)/net-packet_mreq-Xraw.Po - -rm -f ./$(DEPDIR)/net-packet_mreq-Xverbose.Po - -rm -f ./$(DEPDIR)/net-packet_mreq.Po -+ -rm -f ./$(DEPDIR)/net-sockaddr--pidns-translation.Po - -rm -f ./$(DEPDIR)/net-sockaddr.Po - -rm -f ./$(DEPDIR)/net-tpacket_req.Po - -rm -f ./$(DEPDIR)/net-tpacket_stats-success.Po -@@ -12723,6 +13317,7 @@ - -rm -f ./$(DEPDIR)/net-yy-inet6.Po - -rm -f ./$(DEPDIR)/net-yy-netlink.Po - -rm -f ./$(DEPDIR)/net-yy-unix.Po -+ -rm -f ./$(DEPDIR)/netlink_audit--pidns-translation.Po - -rm -f ./$(DEPDIR)/netlink_audit.Po - -rm -f ./$(DEPDIR)/netlink_crypto.Po - -rm -f ./$(DEPDIR)/netlink_generic.Po -@@ -12827,11 +13422,14 @@ - -rm -f ./$(DEPDIR)/pidfd_open--decode-fd-path.Po - -rm -f ./$(DEPDIR)/pidfd_open--decode-fd-pidfd.Po - -rm -f ./$(DEPDIR)/pidfd_open--decode-fd-socket.Po -+ -rm -f ./$(DEPDIR)/pidfd_open--pidns-translation.Po - -rm -f ./$(DEPDIR)/pidfd_open-P.Po - -rm -f ./$(DEPDIR)/pidfd_open-y.Po - -rm -f ./$(DEPDIR)/pidfd_open-yy.Po - -rm -f ./$(DEPDIR)/pidfd_open.Po -+ -rm -f ./$(DEPDIR)/pidfd_send_signal--pidns-translation.Po - -rm -f ./$(DEPDIR)/pidfd_send_signal.Po -+ -rm -f ./$(DEPDIR)/pidns-cache.Po - -rm -f ./$(DEPDIR)/pipe.Po - -rm -f ./$(DEPDIR)/pipe2.Po - -rm -f ./$(DEPDIR)/pkey_alloc.Po -@@ -12869,8 +13467,11 @@ - -rm -f ./$(DEPDIR)/printstrn-umoven-peekdata.Po - -rm -f ./$(DEPDIR)/printstrn-umoven-undumpable.Po - -rm -f ./$(DEPDIR)/printstrn-umoven.Po -+ -rm -f ./$(DEPDIR)/prlimit64--pidns-translation.Po - -rm -f ./$(DEPDIR)/prlimit64.Po -+ -rm -f ./$(DEPDIR)/process_vm_readv--pidns-translation.Po - -rm -f ./$(DEPDIR)/process_vm_readv.Po -+ -rm -f ./$(DEPDIR)/process_vm_writev--pidns-translation.Po - -rm -f ./$(DEPDIR)/process_vm_writev.Po - -rm -f ./$(DEPDIR)/pselect6.Po - -rm -f ./$(DEPDIR)/ptrace.Po -@@ -12919,10 +13520,12 @@ - -rm -f ./$(DEPDIR)/rt_sigaction.Po - -rm -f ./$(DEPDIR)/rt_sigpending.Po - -rm -f ./$(DEPDIR)/rt_sigprocmask.Po -+ -rm -f ./$(DEPDIR)/rt_sigqueueinfo--pidns-translation.Po - -rm -f ./$(DEPDIR)/rt_sigqueueinfo.Po - -rm -f ./$(DEPDIR)/rt_sigreturn.Po - -rm -f ./$(DEPDIR)/rt_sigsuspend.Po - -rm -f ./$(DEPDIR)/rt_sigtimedwait.Po -+ -rm -f ./$(DEPDIR)/rt_tgsigqueueinfo--pidns-translation.Po - -rm -f ./$(DEPDIR)/rt_tgsigqueueinfo.Po - -rm -f ./$(DEPDIR)/run_expect_termsig.Po - -rm -f ./$(DEPDIR)/s390_guarded_storage-v.Po -@@ -12933,9 +13536,13 @@ - -rm -f ./$(DEPDIR)/s390_sthyi.Po - -rm -f ./$(DEPDIR)/sched_get_priority_mxx.Po - -rm -f ./$(DEPDIR)/sched_rr_get_interval.Po -+ -rm -f ./$(DEPDIR)/sched_xetaffinity--pidns-translation.Po - -rm -f ./$(DEPDIR)/sched_xetaffinity.Po -+ -rm -f ./$(DEPDIR)/sched_xetattr--pidns-translation.Po - -rm -f ./$(DEPDIR)/sched_xetattr.Po -+ -rm -f ./$(DEPDIR)/sched_xetparam--pidns-translation.Po - -rm -f ./$(DEPDIR)/sched_xetparam.Po -+ -rm -f ./$(DEPDIR)/sched_xetscheduler--pidns-translation.Po - -rm -f ./$(DEPDIR)/sched_xetscheduler.Po - -rm -f ./$(DEPDIR)/sched_yield.Po - -rm -f ./$(DEPDIR)/scm_rights.Po -@@ -12989,6 +13596,7 @@ - -rm -f ./$(DEPDIR)/sigaltstack.Po - -rm -f ./$(DEPDIR)/siginfo.Po - -rm -f ./$(DEPDIR)/signal.Po -+ -rm -f ./$(DEPDIR)/signal_receive--pidns-translation.Po - -rm -f ./$(DEPDIR)/signal_receive.Po - -rm -f ./$(DEPDIR)/signalfd4.Po - -rm -f ./$(DEPDIR)/sigpending.Po -@@ -12998,6 +13606,7 @@ - -rm -f ./$(DEPDIR)/sleep.Po - -rm -f ./$(DEPDIR)/so_error.Po - -rm -f ./$(DEPDIR)/so_linger.Po -+ -rm -f ./$(DEPDIR)/so_peercred--pidns-translation.Po - -rm -f ./$(DEPDIR)/so_peercred-Xabbrev.Po - -rm -f ./$(DEPDIR)/so_peercred-Xraw.Po - -rm -f ./$(DEPDIR)/so_peercred-Xverbose.Po -@@ -13057,6 +13666,7 @@ - -rm -f ./$(DEPDIR)/syslog-success.Po - -rm -f ./$(DEPDIR)/syslog.Po - -rm -f ./$(DEPDIR)/tee.Po -+ -rm -f ./$(DEPDIR)/tgkill--pidns-translation.Po - -rm -f ./$(DEPDIR)/tgkill.Po - -rm -f ./$(DEPDIR)/threads-execve--quiet-thread-execve.Po - -rm -f ./$(DEPDIR)/threads-execve-q.Po -@@ -13069,6 +13679,7 @@ - -rm -f ./$(DEPDIR)/timerfd_xettime.Po - -rm -f ./$(DEPDIR)/times-fail.Po - -rm -f ./$(DEPDIR)/times.Po -+ -rm -f ./$(DEPDIR)/tkill--pidns-translation.Po - -rm -f ./$(DEPDIR)/tkill.Po - -rm -f ./$(DEPDIR)/tracer_ppid_pgid_sid.Po - -rm -f ./$(DEPDIR)/truncate.Po -@@ -13110,14 +13721,26 @@ - -rm -f ./$(DEPDIR)/waitpid.Po - -rm -f ./$(DEPDIR)/xattr-strings.Po - -rm -f ./$(DEPDIR)/xattr.Po -+ -rm -f ./$(DEPDIR)/xet_robust_list--pidns-translation.Po - -rm -f ./$(DEPDIR)/xet_robust_list.Po - -rm -f ./$(DEPDIR)/xet_thread_area_x86.Po - -rm -f ./$(DEPDIR)/xetitimer.Po -+ -rm -f ./$(DEPDIR)/xetpgid--pidns-translation.Po - -rm -f ./$(DEPDIR)/xetpgid.Po -+ -rm -f ./$(DEPDIR)/xetpriority--pidns-translation.Po - -rm -f ./$(DEPDIR)/xetpriority.Po - -rm -f ./$(DEPDIR)/xettimeofday.Po - -rm -f ./$(DEPDIR)/zeroargc.Po - -rm -f Makefile -+distclean-am: clean-am distclean-compile distclean-generic \ -+ distclean-tags -+ -+dvi: dvi-am -+ -+dvi-am: -+ -+html: html-am -+ -rm -f Makefile - maintainer-clean-am: distclean-am maintainer-clean-generic - - mostlyclean: mostlyclean-am -@@ -13407,9 +14030,15 @@ - $(srcdir)/fcntl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/fcntl--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/fcntl64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/fcntl64--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/fdatasync.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -13569,9 +14198,15 @@ - $(srcdir)/getpgrp.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/getpgrp--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/getpid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/getpid--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/getppid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -13599,6 +14234,9 @@ - $(srcdir)/getsid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/getsid--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/getsockname.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -13878,6 +14516,9 @@ - $(srcdir)/ioprio.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/ioprio--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/ioprio-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -13944,6 +14585,9 @@ - $(srcdir)/kcmp-y.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/kcmp-y--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/kern_features.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -13980,6 +14624,9 @@ - $(srcdir)/kill.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/kill--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/ksysent.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -14043,6 +14690,9 @@ - $(srcdir)/migrate_pages.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/migrate_pages--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/mincore.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -14133,6 +14783,9 @@ - $(srcdir)/move_pages-Xverbose.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/move_pages--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/mq.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -14190,6 +14843,9 @@ - $(srcdir)/net-sockaddr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/net-sockaddr--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/net-tpacket_req.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -14499,9 +15155,15 @@ - $(srcdir)/pidfd_open-yy.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/pidfd_open--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/pidfd_send_signal.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/pidfd_send_signal--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/pipe2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -14568,12 +15230,21 @@ - $(srcdir)/prlimit64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/prlimit64--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/process_vm_readv.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/process_vm_readv--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/process_vm_writev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/process_vm_writev--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/pselect6.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -14682,6 +15353,9 @@ - $(srcdir)/rt_sigqueueinfo.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/rt_sigqueueinfo--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/rt_sigreturn.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -14694,6 +15368,9 @@ - $(srcdir)/rt_tgsigqueueinfo.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/rt_tgsigqueueinfo--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/s390_guarded_storage.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -14724,15 +15401,27 @@ - $(srcdir)/sched_xetaffinity.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/sched_xetaffinity--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/sched_xetattr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/sched_xetattr--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/sched_xetparam.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/sched_xetparam--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/sched_xetscheduler.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/sched_xetscheduler--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/sched_yield.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -14871,6 +15560,9 @@ - $(srcdir)/signal_receive.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/signal_receive--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/signalfd4.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -14904,6 +15596,9 @@ - $(srcdir)/so_peercred-Xverbose.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/so_peercred--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/sock_filter-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -15120,6 +15815,9 @@ - $(srcdir)/tgkill.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/tgkill--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/threads-execve--quiet-thread-execve.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -15153,6 +15851,9 @@ - $(srcdir)/tkill.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/tkill--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/trace_clock.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -15201,6 +15902,9 @@ - $(srcdir)/trace_statfs_like.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/trie_test.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/truncate.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -15291,15 +15995,24 @@ - $(srcdir)/xet_robust_list.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/xet_robust_list--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/xetitimer.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - - $(srcdir)/xetpgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/xetpgid--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/xetpriority.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/xetpriority--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/xettimeofday.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -Index: strace-5.7/tests-mx32/Makefile.in -=================================================================== ---- strace-5.7.orig/tests-mx32/Makefile.in 2020-09-09 19:52:30.790668799 +0200 -+++ strace-5.7/tests-mx32/Makefile.in 2020-09-09 20:23:25.738934694 +0200 -@@ -121,10 +121,17 @@ - clone3-success-Xabbrev$(EXEEXT) clone3-success-Xraw$(EXEEXT) \ - clone3-success-Xverbose$(EXEEXT) count-f$(EXEEXT) \ - delay$(EXEEXT) execve-v$(EXEEXT) execveat-v$(EXEEXT) \ -+ fcntl--pidns-translation$(EXEEXT) \ -+ fcntl64--pidns-translation$(EXEEXT) \ - filter_seccomp-flag$(EXEEXT) filter_seccomp-perf$(EXEEXT) \ -- filter-unavailable$(EXEEXT) fork-f$(EXEEXT) fsync-y$(EXEEXT) \ -- get_process_reaper$(EXEEXT) getpid$(EXEEXT) getppid$(EXEEXT) \ -- gettid$(EXEEXT) inject-nf$(EXEEXT) int_0x80$(EXEEXT) \ -+ filter-unavailable$(EXEEXT) fork-f$(EXEEXT) \ -+ fork--pidns-translation$(EXEEXT) fsync-y$(EXEEXT) \ -+ get_process_reaper$(EXEEXT) \ -+ getpgrp--pidns-translation$(EXEEXT) getpid$(EXEEXT) \ -+ getpid--pidns-translation$(EXEEXT) getppid$(EXEEXT) \ -+ getsid--pidns-translation$(EXEEXT) gettid$(EXEEXT) \ -+ gettid--pidns-translation$(EXEEXT) inject-nf$(EXEEXT) \ -+ int_0x80$(EXEEXT) ioctl_block--pidns-translation$(EXEEXT) \ - ioctl_dm-v$(EXEEXT) ioctl_evdev-success$(EXEEXT) \ - ioctl_evdev-success-Xabbrev$(EXEEXT) \ - ioctl_evdev-success-Xraw$(EXEEXT) \ -@@ -151,43 +158,68 @@ - ioctl_v4l2-success-v-Xabbrev$(EXEEXT) \ - ioctl_v4l2-success-v-Xraw$(EXEEXT) \ - ioctl_v4l2-success-v-Xverbose$(EXEEXT) \ -- is_linux_mips_n64$(EXEEXT) kill_child$(EXEEXT) \ -- ksysent$(EXEEXT) list_sigaction_signum$(EXEEXT) \ -- localtime$(EXEEXT) looping_threads$(EXEEXT) \ -- mmsg-silent$(EXEEXT) mmsg_name-v$(EXEEXT) \ -+ ioprio--pidns-translation$(EXEEXT) is_linux_mips_n64$(EXEEXT) \ -+ kcmp-y--pidns-translation$(EXEEXT) kill_child$(EXEEXT) \ -+ kill--pidns-translation$(EXEEXT) ksysent$(EXEEXT) \ -+ list_sigaction_signum$(EXEEXT) localtime$(EXEEXT) \ -+ looping_threads$(EXEEXT) \ -+ migrate_pages--pidns-translation$(EXEEXT) mmsg-silent$(EXEEXT) \ -+ mmsg_name-v$(EXEEXT) move_pages--pidns-translation$(EXEEXT) \ - msg_control-v$(EXEEXT) net-accept-connect$(EXEEXT) \ -+ net-sockaddr--pidns-translation$(EXEEXT) \ - net-tpacket_stats-success$(EXEEXT) nlattr_ifla_xdp-y$(EXEEXT) \ -+ netlink_audit--pidns-translation$(EXEEXT) \ - netlink_inet_diag$(EXEEXT) netlink_netlink_diag$(EXEEXT) \ - netlink_unix_diag$(EXEEXT) nsyscalls$(EXEEXT) \ - nsyscalls-d$(EXEEXT) oldselect-P$(EXEEXT) \ - oldselect-efault-P$(EXEEXT) orphaned_process_group$(EXEEXT) \ - pc$(EXEEXT) perf_event_open_nonverbose$(EXEEXT) \ -- perf_event_open_unabbrev$(EXEEXT) poll-P$(EXEEXT) \ -- ppoll-P$(EXEEXT) ppoll-v$(EXEEXT) \ -+ perf_event_open_unabbrev$(EXEEXT) \ -+ pidfd_open--pidns-translation$(EXEEXT) \ -+ pidfd_send_signal--pidns-translation$(EXEEXT) \ -+ pidns-cache$(EXEEXT) poll-P$(EXEEXT) ppoll-P$(EXEEXT) \ -+ ppoll-v$(EXEEXT) prlimit64--pidns-translation$(EXEEXT) \ - prctl-seccomp-filter-v$(EXEEXT) prctl-seccomp-strict$(EXEEXT) \ - prctl-spec-inject$(EXEEXT) print_maxfd$(EXEEXT) \ -- print_ppid_tracerpid$(EXEEXT) qual_fault$(EXEEXT) \ -- qual_inject-error-signal$(EXEEXT) qual_inject-retval$(EXEEXT) \ -- qual_inject-signal$(EXEEXT) qual_signal$(EXEEXT) \ -- quotactl-success$(EXEEXT) quotactl-success-v$(EXEEXT) \ -- quotactl-v$(EXEEXT) quotactl-xfs-success$(EXEEXT) \ -- quotactl-xfs-success-v$(EXEEXT) quotactl-xfs-v$(EXEEXT) \ -- redirect-fds$(EXEEXT) restart_syscall$(EXEEXT) \ -- run_expect_termsig$(EXEEXT) scm_rights$(EXEEXT) \ -- seccomp-filter-v$(EXEEXT) seccomp-strict$(EXEEXT) \ -- select-P$(EXEEXT) set_ptracer_any$(EXEEXT) \ -- set_sigblock$(EXEEXT) set_sigign$(EXEEXT) \ -- setpgrp-exec$(EXEEXT) signal_receive$(EXEEXT) sleep$(EXEEXT) \ -+ print_ppid_tracerpid$(EXEEXT) \ -+ process_vm_readv--pidns-translation$(EXEEXT) \ -+ process_vm_writev--pidns-translation$(EXEEXT) \ -+ qual_fault$(EXEEXT) qual_inject-error-signal$(EXEEXT) \ -+ qual_inject-retval$(EXEEXT) qual_inject-signal$(EXEEXT) \ -+ qual_signal$(EXEEXT) quotactl-success$(EXEEXT) \ -+ quotactl-success-v$(EXEEXT) quotactl-v$(EXEEXT) \ -+ quotactl-xfs-success$(EXEEXT) quotactl-xfs-success-v$(EXEEXT) \ -+ quotactl-xfs-v$(EXEEXT) redirect-fds$(EXEEXT) \ -+ restart_syscall$(EXEEXT) \ -+ rt_sigqueueinfo--pidns-translation$(EXEEXT) \ -+ rt_tgsigqueueinfo--pidns-translation$(EXEEXT) \ -+ run_expect_termsig$(EXEEXT) \ -+ sched_xetaffinity--pidns-translation$(EXEEXT) \ -+ sched_xetattr--pidns-translation$(EXEEXT) \ -+ sched_xetparam--pidns-translation$(EXEEXT) \ -+ sched_xetscheduler--pidns-translation$(EXEEXT) \ -+ scm_rights$(EXEEXT) seccomp-filter-v$(EXEEXT) \ -+ seccomp-strict$(EXEEXT) select-P$(EXEEXT) \ -+ set_ptracer_any$(EXEEXT) set_sigblock$(EXEEXT) \ -+ set_sigign$(EXEEXT) setpgrp-exec$(EXEEXT) \ -+ signal_receive$(EXEEXT) \ -+ signal_receive--pidns-translation$(EXEEXT) sleep$(EXEEXT) \ - stack-fcall$(EXEEXT) stack-fcall-attach$(EXEEXT) \ - stack-fcall-mangled$(EXEEXT) status-none-threads$(EXEEXT) \ -- status-unfinished-threads$(EXEEXT) syslog-success$(EXEEXT) \ -+ status-unfinished-threads$(EXEEXT) \ -+ so_peercred--pidns-translation$(EXEEXT) \ -+ syslog-success$(EXEEXT) tgkill--pidns-translation$(EXEEXT) \ - threads-execve$(EXEEXT) \ - threads-execve--quiet-thread-execve$(EXEEXT) \ - threads-execve-q$(EXEEXT) threads-execve-qq$(EXEEXT) \ -- threads-execve-qqq$(EXEEXT) tracer_ppid_pgid_sid$(EXEEXT) \ -+ threads-execve-qqq$(EXEEXT) tkill--pidns-translation$(EXEEXT) \ -+ tracer_ppid_pgid_sid$(EXEEXT) trie_test$(EXEEXT) \ - unblock_reset_raise$(EXEEXT) unix-pair-send-recv$(EXEEXT) \ - unix-pair-sendto-recvfrom$(EXEEXT) vfork-f$(EXEEXT) \ -- wait4-v$(EXEEXT) waitid-v$(EXEEXT) zeroargc$(EXEEXT) -+ wait4-v$(EXEEXT) waitid-v$(EXEEXT) \ -+ xetpgid--pidns-translation$(EXEEXT) \ -+ xetpriority--pidns-translation$(EXEEXT) \ -+ xet_robust_list--pidns-translation$(EXEEXT) zeroargc$(EXEEXT) - @ENABLE_STACKTRACE_TRUE@@USE_DEMANGLE_TRUE@am__append_1 = strace-k-demangle.test - TESTS = $(GEN_TESTS) $(DECODER_TESTS) $(MISC_TESTS) $(am__EXEEXT_2) - subdir = tests-mx32 -@@ -545,7 +577,8 @@ - libtests_a-tail_alloc.$(OBJEXT) \ - libtests_a-test_printpath.$(OBJEXT) \ - libtests_a-test_printstrn.$(OBJEXT) \ -- libtests_a-test_ucopy.$(OBJEXT) libtests_a-tprintf.$(OBJEXT) -+ libtests_a-test_ucopy.$(OBJEXT) libtests_a-tprintf.$(OBJEXT) \ -+ libtests_a-xmalloc_for_tests.$(OBJEXT) - libtests_a_OBJECTS = $(am_libtests_a_OBJECTS) - _newselect_SOURCES = _newselect.c - _newselect_OBJECTS = _newselect.$(OBJEXT) -@@ -973,10 +1006,19 @@ - fcntl_OBJECTS = fcntl.$(OBJEXT) - fcntl_LDADD = $(LDADD) - fcntl_DEPENDENCIES = libtests.a -+fcntl__pidns_translation_SOURCES = fcntl--pidns-translation.c -+fcntl__pidns_translation_OBJECTS = fcntl--pidns-translation.$(OBJEXT) -+fcntl__pidns_translation_LDADD = $(LDADD) -+fcntl__pidns_translation_DEPENDENCIES = libtests.a - fcntl64_SOURCES = fcntl64.c - fcntl64_OBJECTS = fcntl64.$(OBJEXT) - fcntl64_LDADD = $(LDADD) - fcntl64_DEPENDENCIES = libtests.a -+fcntl64__pidns_translation_SOURCES = fcntl64--pidns-translation.c -+fcntl64__pidns_translation_OBJECTS = \ -+ fcntl64--pidns-translation.$(OBJEXT) -+fcntl64__pidns_translation_LDADD = $(LDADD) -+fcntl64__pidns_translation_DEPENDENCIES = libtests.a - fdatasync_SOURCES = fdatasync.c - fdatasync_OBJECTS = fdatasync.$(OBJEXT) - fdatasync_LDADD = $(LDADD) -@@ -1012,6 +1054,10 @@ - flock_OBJECTS = flock.$(OBJEXT) - flock_LDADD = $(LDADD) - flock_DEPENDENCIES = libtests.a -+fork__pidns_translation_SOURCES = fork--pidns-translation.c -+fork__pidns_translation_OBJECTS = fork--pidns-translation.$(OBJEXT) -+fork__pidns_translation_LDADD = $(LDADD) -+fork__pidns_translation_DEPENDENCIES = libtests.a - fork_f_SOURCES = fork-f.c - fork_f_OBJECTS = fork-f.$(OBJEXT) - fork_f_LDADD = $(LDADD) -@@ -1180,10 +1226,20 @@ - getpgrp_OBJECTS = getpgrp.$(OBJEXT) - getpgrp_LDADD = $(LDADD) - getpgrp_DEPENDENCIES = libtests.a -+getpgrp__pidns_translation_SOURCES = getpgrp--pidns-translation.c -+getpgrp__pidns_translation_OBJECTS = \ -+ getpgrp--pidns-translation.$(OBJEXT) -+getpgrp__pidns_translation_LDADD = $(LDADD) -+getpgrp__pidns_translation_DEPENDENCIES = libtests.a - getpid_SOURCES = getpid.c - getpid_OBJECTS = getpid.$(OBJEXT) - getpid_LDADD = $(LDADD) - getpid_DEPENDENCIES = libtests.a -+getpid__pidns_translation_SOURCES = getpid--pidns-translation.c -+getpid__pidns_translation_OBJECTS = \ -+ getpid--pidns-translation.$(OBJEXT) -+getpid__pidns_translation_LDADD = $(LDADD) -+getpid__pidns_translation_DEPENDENCIES = libtests.a - getppid_SOURCES = getppid.c - getppid_OBJECTS = getppid.$(OBJEXT) - getppid_LDADD = $(LDADD) -@@ -1220,6 +1276,11 @@ - getsid_OBJECTS = getsid.$(OBJEXT) - getsid_LDADD = $(LDADD) - getsid_DEPENDENCIES = libtests.a -+getsid__pidns_translation_SOURCES = getsid--pidns-translation.c -+getsid__pidns_translation_OBJECTS = \ -+ getsid--pidns-translation.$(OBJEXT) -+getsid__pidns_translation_LDADD = $(LDADD) -+getsid__pidns_translation_DEPENDENCIES = libtests.a - getsockname_SOURCES = getsockname.c - getsockname_OBJECTS = getsockname.$(OBJEXT) - getsockname_LDADD = $(LDADD) -@@ -1228,6 +1289,11 @@ - gettid_OBJECTS = gettid.$(OBJEXT) - gettid_LDADD = $(LDADD) - gettid_DEPENDENCIES = libtests.a -+gettid__pidns_translation_SOURCES = gettid--pidns-translation.c -+gettid__pidns_translation_OBJECTS = \ -+ gettid--pidns-translation.$(OBJEXT) -+gettid__pidns_translation_LDADD = $(LDADD) -+gettid__pidns_translation_DEPENDENCIES = libtests.a - getuid_SOURCES = getuid.c - getuid_OBJECTS = getuid.$(OBJEXT) - getuid_LDADD = $(LDADD) -@@ -1308,6 +1374,12 @@ - ioctl_block_OBJECTS = ioctl_block.$(OBJEXT) - ioctl_block_LDADD = $(LDADD) - ioctl_block_DEPENDENCIES = libtests.a -+ioctl_block__pidns_translation_SOURCES = \ -+ ioctl_block--pidns-translation.c -+ioctl_block__pidns_translation_OBJECTS = \ -+ ioctl_block--pidns-translation.$(OBJEXT) -+ioctl_block__pidns_translation_LDADD = $(LDADD) -+ioctl_block__pidns_translation_DEPENDENCIES = libtests.a - ioctl_dm_SOURCES = ioctl_dm.c - ioctl_dm_OBJECTS = ioctl_dm.$(OBJEXT) - ioctl_dm_LDADD = $(LDADD) -@@ -1628,6 +1700,11 @@ - ioprio_OBJECTS = ioprio.$(OBJEXT) - ioprio_LDADD = $(LDADD) - ioprio_DEPENDENCIES = libtests.a -+ioprio__pidns_translation_SOURCES = ioprio--pidns-translation.c -+ioprio__pidns_translation_OBJECTS = \ -+ ioprio--pidns-translation.$(OBJEXT) -+ioprio__pidns_translation_LDADD = $(LDADD) -+ioprio__pidns_translation_DEPENDENCIES = libtests.a - ioprio_Xabbrev_SOURCES = ioprio-Xabbrev.c - ioprio_Xabbrev_OBJECTS = ioprio-Xabbrev.$(OBJEXT) - ioprio_Xabbrev_LDADD = $(LDADD) -@@ -1724,6 +1801,11 @@ - kcmp_y_OBJECTS = kcmp-y.$(OBJEXT) - kcmp_y_LDADD = $(LDADD) - kcmp_y_DEPENDENCIES = libtests.a -+kcmp_y__pidns_translation_SOURCES = kcmp-y--pidns-translation.c -+kcmp_y__pidns_translation_OBJECTS = \ -+ kcmp-y--pidns-translation.$(OBJEXT) -+kcmp_y__pidns_translation_LDADD = $(LDADD) -+kcmp_y__pidns_translation_DEPENDENCIES = libtests.a - kern_features_SOURCES = kern_features.c - kern_features_OBJECTS = kern_features.$(OBJEXT) - kern_features_LDADD = $(LDADD) -@@ -1772,6 +1854,10 @@ - kill_OBJECTS = kill.$(OBJEXT) - kill_LDADD = $(LDADD) - kill_DEPENDENCIES = libtests.a -+kill__pidns_translation_SOURCES = kill--pidns-translation.c -+kill__pidns_translation_OBJECTS = kill--pidns-translation.$(OBJEXT) -+kill__pidns_translation_LDADD = $(LDADD) -+kill__pidns_translation_DEPENDENCIES = libtests.a - kill_child_SOURCES = kill_child.c - kill_child_OBJECTS = kill_child.$(OBJEXT) - kill_child_LDADD = $(LDADD) -@@ -1878,6 +1964,12 @@ - migrate_pages_OBJECTS = migrate_pages.$(OBJEXT) - migrate_pages_LDADD = $(LDADD) - migrate_pages_DEPENDENCIES = libtests.a -+migrate_pages__pidns_translation_SOURCES = \ -+ migrate_pages--pidns-translation.c -+migrate_pages__pidns_translation_OBJECTS = \ -+ migrate_pages--pidns-translation.$(OBJEXT) -+migrate_pages__pidns_translation_LDADD = $(LDADD) -+migrate_pages__pidns_translation_DEPENDENCIES = libtests.a - mincore_SOURCES = mincore.c - mincore_OBJECTS = mincore.$(OBJEXT) - mincore_LDADD = $(LDADD) -@@ -1990,6 +2082,12 @@ - move_pages_OBJECTS = move_pages.$(OBJEXT) - move_pages_LDADD = $(LDADD) - move_pages_DEPENDENCIES = libtests.a -+move_pages__pidns_translation_SOURCES = \ -+ move_pages--pidns-translation.c -+move_pages__pidns_translation_OBJECTS = \ -+ move_pages--pidns-translation.$(OBJEXT) -+move_pages__pidns_translation_LDADD = $(LDADD) -+move_pages__pidns_translation_DEPENDENCIES = libtests.a - move_pages_Xabbrev_SOURCES = move_pages-Xabbrev.c - move_pages_Xabbrev_OBJECTS = move_pages-Xabbrev.$(OBJEXT) - move_pages_Xabbrev_LDADD = $(LDADD) -@@ -2086,6 +2184,12 @@ - net_sockaddr_OBJECTS = net-sockaddr.$(OBJEXT) - net_sockaddr_LDADD = $(LDADD) - net_sockaddr_DEPENDENCIES = libtests.a -+net_sockaddr__pidns_translation_SOURCES = \ -+ net-sockaddr--pidns-translation.c -+net_sockaddr__pidns_translation_OBJECTS = \ -+ net-sockaddr--pidns-translation.$(OBJEXT) -+net_sockaddr__pidns_translation_LDADD = $(LDADD) -+net_sockaddr__pidns_translation_DEPENDENCIES = libtests.a - net_tpacket_req_SOURCES = net-tpacket_req.c - net_tpacket_req_OBJECTS = net-tpacket_req.$(OBJEXT) - net_tpacket_req_LDADD = $(LDADD) -@@ -2123,6 +2227,12 @@ - netlink_audit_OBJECTS = netlink_audit.$(OBJEXT) - netlink_audit_LDADD = $(LDADD) - netlink_audit_DEPENDENCIES = libtests.a -+netlink_audit__pidns_translation_SOURCES = \ -+ netlink_audit--pidns-translation.c -+netlink_audit__pidns_translation_OBJECTS = \ -+ netlink_audit--pidns-translation.$(OBJEXT) -+netlink_audit__pidns_translation_LDADD = $(LDADD) -+netlink_audit__pidns_translation_DEPENDENCIES = libtests.a - netlink_crypto_SOURCES = netlink_crypto.c - netlink_crypto_OBJECTS = netlink_crypto.$(OBJEXT) - netlink_crypto_LDADD = $(LDADD) -@@ -2543,6 +2653,12 @@ - pidfd_open--decode-fd-socket.$(OBJEXT) - pidfd_open__decode_fd_socket_LDADD = $(LDADD) - pidfd_open__decode_fd_socket_DEPENDENCIES = libtests.a -+pidfd_open__pidns_translation_SOURCES = \ -+ pidfd_open--pidns-translation.c -+pidfd_open__pidns_translation_OBJECTS = \ -+ pidfd_open--pidns-translation.$(OBJEXT) -+pidfd_open__pidns_translation_LDADD = $(LDADD) -+pidfd_open__pidns_translation_DEPENDENCIES = libtests.a - pidfd_open_P_SOURCES = pidfd_open-P.c - pidfd_open_P_OBJECTS = pidfd_open-P.$(OBJEXT) - pidfd_open_P_LDADD = $(LDADD) -@@ -2559,6 +2675,16 @@ - pidfd_send_signal_OBJECTS = pidfd_send_signal.$(OBJEXT) - pidfd_send_signal_LDADD = $(LDADD) - pidfd_send_signal_DEPENDENCIES = libtests.a -+pidfd_send_signal__pidns_translation_SOURCES = \ -+ pidfd_send_signal--pidns-translation.c -+pidfd_send_signal__pidns_translation_OBJECTS = \ -+ pidfd_send_signal--pidns-translation.$(OBJEXT) -+pidfd_send_signal__pidns_translation_LDADD = $(LDADD) -+pidfd_send_signal__pidns_translation_DEPENDENCIES = libtests.a -+pidns_cache_SOURCES = pidns-cache.c -+pidns_cache_OBJECTS = pidns-cache.$(OBJEXT) -+pidns_cache_LDADD = $(LDADD) -+pidns_cache_DEPENDENCIES = libtests.a - pipe_SOURCES = pipe.c - pipe_OBJECTS = pipe.$(OBJEXT) - pipe_LDADD = $(LDADD) -@@ -2717,14 +2843,31 @@ - prlimit64_OBJECTS = prlimit64.$(OBJEXT) - prlimit64_LDADD = $(LDADD) - prlimit64_DEPENDENCIES = libtests.a -+prlimit64__pidns_translation_SOURCES = prlimit64--pidns-translation.c -+prlimit64__pidns_translation_OBJECTS = \ -+ prlimit64--pidns-translation.$(OBJEXT) -+prlimit64__pidns_translation_LDADD = $(LDADD) -+prlimit64__pidns_translation_DEPENDENCIES = libtests.a - process_vm_readv_SOURCES = process_vm_readv.c - process_vm_readv_OBJECTS = process_vm_readv.$(OBJEXT) - process_vm_readv_LDADD = $(LDADD) - process_vm_readv_DEPENDENCIES = libtests.a -+process_vm_readv__pidns_translation_SOURCES = \ -+ process_vm_readv--pidns-translation.c -+process_vm_readv__pidns_translation_OBJECTS = \ -+ process_vm_readv--pidns-translation.$(OBJEXT) -+process_vm_readv__pidns_translation_LDADD = $(LDADD) -+process_vm_readv__pidns_translation_DEPENDENCIES = libtests.a - process_vm_writev_SOURCES = process_vm_writev.c - process_vm_writev_OBJECTS = process_vm_writev.$(OBJEXT) - process_vm_writev_LDADD = $(LDADD) - process_vm_writev_DEPENDENCIES = libtests.a -+process_vm_writev__pidns_translation_SOURCES = \ -+ process_vm_writev--pidns-translation.c -+process_vm_writev__pidns_translation_OBJECTS = \ -+ process_vm_writev--pidns-translation.$(OBJEXT) -+process_vm_writev__pidns_translation_LDADD = $(LDADD) -+process_vm_writev__pidns_translation_DEPENDENCIES = libtests.a - pselect6_SOURCES = pselect6.c - pselect6_OBJECTS = pselect6.$(OBJEXT) - pselect6_LDADD = $(LDADD) -@@ -2918,6 +3061,12 @@ - rt_sigqueueinfo_OBJECTS = rt_sigqueueinfo.$(OBJEXT) - rt_sigqueueinfo_LDADD = $(LDADD) - rt_sigqueueinfo_DEPENDENCIES = libtests.a -+rt_sigqueueinfo__pidns_translation_SOURCES = \ -+ rt_sigqueueinfo--pidns-translation.c -+rt_sigqueueinfo__pidns_translation_OBJECTS = \ -+ rt_sigqueueinfo--pidns-translation.$(OBJEXT) -+rt_sigqueueinfo__pidns_translation_LDADD = $(LDADD) -+rt_sigqueueinfo__pidns_translation_DEPENDENCIES = libtests.a - rt_sigreturn_SOURCES = rt_sigreturn.c - rt_sigreturn_OBJECTS = rt_sigreturn.$(OBJEXT) - rt_sigreturn_LDADD = $(LDADD) -@@ -2934,6 +3083,12 @@ - rt_tgsigqueueinfo_OBJECTS = rt_tgsigqueueinfo.$(OBJEXT) - rt_tgsigqueueinfo_LDADD = $(LDADD) - rt_tgsigqueueinfo_DEPENDENCIES = libtests.a -+rt_tgsigqueueinfo__pidns_translation_SOURCES = \ -+ rt_tgsigqueueinfo--pidns-translation.c -+rt_tgsigqueueinfo__pidns_translation_OBJECTS = \ -+ rt_tgsigqueueinfo--pidns-translation.$(OBJEXT) -+rt_tgsigqueueinfo__pidns_translation_LDADD = $(LDADD) -+rt_tgsigqueueinfo__pidns_translation_DEPENDENCIES = libtests.a - run_expect_termsig_SOURCES = run_expect_termsig.c - run_expect_termsig_OBJECTS = run_expect_termsig.$(OBJEXT) - run_expect_termsig_LDADD = $(LDADD) -@@ -2974,18 +3129,42 @@ - sched_xetaffinity_OBJECTS = sched_xetaffinity.$(OBJEXT) - sched_xetaffinity_LDADD = $(LDADD) - sched_xetaffinity_DEPENDENCIES = libtests.a -+sched_xetaffinity__pidns_translation_SOURCES = \ -+ sched_xetaffinity--pidns-translation.c -+sched_xetaffinity__pidns_translation_OBJECTS = \ -+ sched_xetaffinity--pidns-translation.$(OBJEXT) -+sched_xetaffinity__pidns_translation_LDADD = $(LDADD) -+sched_xetaffinity__pidns_translation_DEPENDENCIES = libtests.a - sched_xetattr_SOURCES = sched_xetattr.c - sched_xetattr_OBJECTS = sched_xetattr.$(OBJEXT) - sched_xetattr_LDADD = $(LDADD) - sched_xetattr_DEPENDENCIES = libtests.a -+sched_xetattr__pidns_translation_SOURCES = \ -+ sched_xetattr--pidns-translation.c -+sched_xetattr__pidns_translation_OBJECTS = \ -+ sched_xetattr--pidns-translation.$(OBJEXT) -+sched_xetattr__pidns_translation_LDADD = $(LDADD) -+sched_xetattr__pidns_translation_DEPENDENCIES = libtests.a - sched_xetparam_SOURCES = sched_xetparam.c - sched_xetparam_OBJECTS = sched_xetparam.$(OBJEXT) - sched_xetparam_LDADD = $(LDADD) - sched_xetparam_DEPENDENCIES = libtests.a -+sched_xetparam__pidns_translation_SOURCES = \ -+ sched_xetparam--pidns-translation.c -+sched_xetparam__pidns_translation_OBJECTS = \ -+ sched_xetparam--pidns-translation.$(OBJEXT) -+sched_xetparam__pidns_translation_LDADD = $(LDADD) -+sched_xetparam__pidns_translation_DEPENDENCIES = libtests.a - sched_xetscheduler_SOURCES = sched_xetscheduler.c - sched_xetscheduler_OBJECTS = sched_xetscheduler.$(OBJEXT) - sched_xetscheduler_LDADD = $(LDADD) - sched_xetscheduler_DEPENDENCIES = libtests.a -+sched_xetscheduler__pidns_translation_SOURCES = \ -+ sched_xetscheduler--pidns-translation.c -+sched_xetscheduler__pidns_translation_OBJECTS = \ -+ sched_xetscheduler--pidns-translation.$(OBJEXT) -+sched_xetscheduler__pidns_translation_LDADD = $(LDADD) -+sched_xetscheduler__pidns_translation_DEPENDENCIES = libtests.a - sched_yield_SOURCES = sched_yield.c - sched_yield_OBJECTS = sched_yield.$(OBJEXT) - sched_yield_LDADD = $(LDADD) -@@ -3198,6 +3377,12 @@ - signal_receive_OBJECTS = signal_receive.$(OBJEXT) - signal_receive_LDADD = $(LDADD) - signal_receive_DEPENDENCIES = libtests.a -+signal_receive__pidns_translation_SOURCES = \ -+ signal_receive--pidns-translation.c -+signal_receive__pidns_translation_OBJECTS = \ -+ signal_receive--pidns-translation.$(OBJEXT) -+signal_receive__pidns_translation_LDADD = $(LDADD) -+signal_receive__pidns_translation_DEPENDENCIES = libtests.a - signalfd4_SOURCES = signalfd4.c - signalfd4_OBJECTS = signalfd4.$(OBJEXT) - signalfd4_LDADD = $(LDADD) -@@ -3234,6 +3419,12 @@ - so_peercred_OBJECTS = so_peercred.$(OBJEXT) - so_peercred_LDADD = $(LDADD) - so_peercred_DEPENDENCIES = libtests.a -+so_peercred__pidns_translation_SOURCES = \ -+ so_peercred--pidns-translation.c -+so_peercred__pidns_translation_OBJECTS = \ -+ so_peercred--pidns-translation.$(OBJEXT) -+so_peercred__pidns_translation_LDADD = $(LDADD) -+so_peercred__pidns_translation_DEPENDENCIES = libtests.a - so_peercred_Xabbrev_SOURCES = so_peercred-Xabbrev.c - so_peercred_Xabbrev_OBJECTS = so_peercred-Xabbrev.$(OBJEXT) - so_peercred_Xabbrev_LDADD = $(LDADD) -@@ -3448,6 +3639,11 @@ - tgkill_OBJECTS = tgkill.$(OBJEXT) - tgkill_LDADD = $(LDADD) - tgkill_DEPENDENCIES = libtests.a -+tgkill__pidns_translation_SOURCES = tgkill--pidns-translation.c -+tgkill__pidns_translation_OBJECTS = \ -+ tgkill--pidns-translation.$(OBJEXT) -+tgkill__pidns_translation_LDADD = $(LDADD) -+tgkill__pidns_translation_DEPENDENCIES = libtests.a - threads_execve_SOURCES = threads-execve.c - threads_execve_OBJECTS = threads-execve.$(OBJEXT) - threads_execve_DEPENDENCIES = $(am__DEPENDENCIES_1) $(LDADD) -@@ -3493,10 +3689,20 @@ - tkill_OBJECTS = tkill.$(OBJEXT) - tkill_LDADD = $(LDADD) - tkill_DEPENDENCIES = libtests.a -+tkill__pidns_translation_SOURCES = tkill--pidns-translation.c -+tkill__pidns_translation_OBJECTS = tkill--pidns-translation.$(OBJEXT) -+tkill__pidns_translation_LDADD = $(LDADD) -+tkill__pidns_translation_DEPENDENCIES = libtests.a - tracer_ppid_pgid_sid_SOURCES = tracer_ppid_pgid_sid.c - tracer_ppid_pgid_sid_OBJECTS = tracer_ppid_pgid_sid.$(OBJEXT) - tracer_ppid_pgid_sid_LDADD = $(LDADD) - tracer_ppid_pgid_sid_DEPENDENCIES = libtests.a -+am_trie_test_OBJECTS = trie_test-trie_test.$(OBJEXT) \ -+ trie_test-trie_for_tests.$(OBJEXT) -+trie_test_OBJECTS = $(am_trie_test_OBJECTS) -+trie_test_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_1) -+trie_test_LINK = $(CCLD) $(trie_test_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ -+ $(LDFLAGS) -o $@ - truncate_SOURCES = truncate.c - truncate_OBJECTS = truncate.$(OBJEXT) - truncate_LDADD = $(LDADD) -@@ -3658,6 +3864,12 @@ - xet_robust_list_OBJECTS = xet_robust_list.$(OBJEXT) - xet_robust_list_LDADD = $(LDADD) - xet_robust_list_DEPENDENCIES = libtests.a -+xet_robust_list__pidns_translation_SOURCES = \ -+ xet_robust_list--pidns-translation.c -+xet_robust_list__pidns_translation_OBJECTS = \ -+ xet_robust_list--pidns-translation.$(OBJEXT) -+xet_robust_list__pidns_translation_LDADD = $(LDADD) -+xet_robust_list__pidns_translation_DEPENDENCIES = libtests.a - xet_thread_area_x86_SOURCES = xet_thread_area_x86.c - xet_thread_area_x86_OBJECTS = xet_thread_area_x86.$(OBJEXT) - xet_thread_area_x86_LDADD = $(LDADD) -@@ -3670,10 +3882,21 @@ - xetpgid_OBJECTS = xetpgid.$(OBJEXT) - xetpgid_LDADD = $(LDADD) - xetpgid_DEPENDENCIES = libtests.a -+xetpgid__pidns_translation_SOURCES = xetpgid--pidns-translation.c -+xetpgid__pidns_translation_OBJECTS = \ -+ xetpgid--pidns-translation.$(OBJEXT) -+xetpgid__pidns_translation_LDADD = $(LDADD) -+xetpgid__pidns_translation_DEPENDENCIES = libtests.a - xetpriority_SOURCES = xetpriority.c - xetpriority_OBJECTS = xetpriority.$(OBJEXT) - xetpriority_LDADD = $(LDADD) - xetpriority_DEPENDENCIES = libtests.a -+xetpriority__pidns_translation_SOURCES = \ -+ xetpriority--pidns-translation.c -+xetpriority__pidns_translation_OBJECTS = \ -+ xetpriority--pidns-translation.$(OBJEXT) -+xetpriority__pidns_translation_LDADD = $(LDADD) -+xetpriority__pidns_translation_DEPENDENCIES = libtests.a - xettimeofday_SOURCES = xettimeofday.c - xettimeofday_OBJECTS = xettimeofday.$(OBJEXT) - xettimeofday_LDADD = $(LDADD) -@@ -3759,13 +3982,15 @@ - ./$(DEPDIR)/fanotify_mark.Po ./$(DEPDIR)/fchdir.Po \ - ./$(DEPDIR)/fchmod.Po ./$(DEPDIR)/fchmodat.Po \ - ./$(DEPDIR)/fchown.Po ./$(DEPDIR)/fchown32.Po \ -- ./$(DEPDIR)/fchownat.Po ./$(DEPDIR)/fcntl.Po \ -- ./$(DEPDIR)/fcntl64.Po ./$(DEPDIR)/fdatasync.Po \ -+ ./$(DEPDIR)/fchownat.Po \ -+ ./$(DEPDIR)/fcntl--pidns-translation.Po ./$(DEPDIR)/fcntl.Po \ -+ ./$(DEPDIR)/fcntl64--pidns-translation.Po ./$(DEPDIR)/fcntl64.Po \ -+ ./$(DEPDIR)/fdatasync.Po \ - ./$(DEPDIR)/fflush.Po ./$(DEPDIR)/file_handle.Po \ - ./$(DEPDIR)/file_ioctl.Po ./$(DEPDIR)/filter-unavailable.Po \ - ./$(DEPDIR)/filter_seccomp-flag.Po \ - ./$(DEPDIR)/filter_seccomp-perf.Po ./$(DEPDIR)/finit_module.Po \ -- ./$(DEPDIR)/flock.Po ./$(DEPDIR)/fork-f.Po \ -+ ./$(DEPDIR)/flock.Po ./$(DEPDIR)/fork--pidns-translation.Po ./$(DEPDIR)/fork-f.Po \ - ./$(DEPDIR)/fsconfig-P.Po ./$(DEPDIR)/fsconfig.Po \ - ./$(DEPDIR)/fsmount.Po ./$(DEPDIR)/fsopen.Po \ - ./$(DEPDIR)/fspick-P.Po ./$(DEPDIR)/fspick.Po \ -@@ -3786,13 +4011,14 @@ - ./$(DEPDIR)/geteuid32.Po ./$(DEPDIR)/getgid.Po \ - ./$(DEPDIR)/getgid32.Po ./$(DEPDIR)/getgroups.Po \ - ./$(DEPDIR)/getgroups32.Po ./$(DEPDIR)/getpeername.Po \ -- ./$(DEPDIR)/getpgrp.Po ./$(DEPDIR)/getpid.Po \ -+ ./$(DEPDIR)/getpgrp--pidns-translation.Po ./$(DEPDIR)/getpgrp.Po \ -+ ./$(DEPDIR)/getpid--pidns-translation.Po ./$(DEPDIR)/getpid.Po \ - ./$(DEPDIR)/getppid.Po ./$(DEPDIR)/getrandom.Po \ - ./$(DEPDIR)/getresgid.Po ./$(DEPDIR)/getresgid32.Po \ - ./$(DEPDIR)/getresuid.Po ./$(DEPDIR)/getresuid32.Po \ - ./$(DEPDIR)/getrlimit.Po ./$(DEPDIR)/getrusage.Po \ -- ./$(DEPDIR)/getsid.Po ./$(DEPDIR)/getsockname.Po \ -- ./$(DEPDIR)/gettid.Po ./$(DEPDIR)/getuid.Po \ -+ ./$(DEPDIR)/getsid--pidns-translation.Po ./$(DEPDIR)/getsid.Po ./$(DEPDIR)/getsockname.Po \ -+ ./$(DEPDIR)/gettid--pidns-translation.Po ./$(DEPDIR)/gettid.Po ./$(DEPDIR)/getuid.Po \ - ./$(DEPDIR)/getuid32.Po ./$(DEPDIR)/getxgid.Po \ - ./$(DEPDIR)/getxpid.Po ./$(DEPDIR)/getxuid.Po \ - ./$(DEPDIR)/group_req.Po ./$(DEPDIR)/inet-cmsg.Po \ -@@ -3802,7 +4028,7 @@ - ./$(DEPDIR)/inotify_init1.Po ./$(DEPDIR)/int_0x80.Po \ - ./$(DEPDIR)/io_uring_enter.Po ./$(DEPDIR)/io_uring_register.Po \ - ./$(DEPDIR)/io_uring_setup.Po ./$(DEPDIR)/ioctl.Po \ -- ./$(DEPDIR)/ioctl_block.Po ./$(DEPDIR)/ioctl_dm-v.Po \ -+ ./$(DEPDIR)/ioctl_block--pidns-translation.Po ./$(DEPDIR)/ioctl_block.Po ./$(DEPDIR)/ioctl_dm-v.Po \ - ./$(DEPDIR)/ioctl_dm.Po ./$(DEPDIR)/ioctl_evdev-Xabbrev.Po \ - ./$(DEPDIR)/ioctl_evdev-Xraw.Po \ - ./$(DEPDIR)/ioctl_evdev-Xverbose.Po \ -@@ -3861,7 +4087,7 @@ - ./$(DEPDIR)/ioctl_v4l2-v-Xverbose.Po \ - ./$(DEPDIR)/ioctl_v4l2-v.Po ./$(DEPDIR)/ioctl_v4l2.Po \ - ./$(DEPDIR)/ioctl_watchdog.Po ./$(DEPDIR)/ioperm.Po \ -- ./$(DEPDIR)/iopl.Po ./$(DEPDIR)/ioprio-Xabbrev.Po \ -+ ./$(DEPDIR)/iopl.Po ./$(DEPDIR)/ioprio--pidns-translation.Po ./$(DEPDIR)/ioprio-Xabbrev.Po \ - ./$(DEPDIR)/ioprio-Xraw.Po ./$(DEPDIR)/ioprio-Xverbose.Po \ - ./$(DEPDIR)/ioprio.Po ./$(DEPDIR)/ip_mreq.Po \ - ./$(DEPDIR)/ipc.Po ./$(DEPDIR)/ipc_msg-Xabbrev.Po \ -@@ -3873,15 +4099,15 @@ - ./$(DEPDIR)/ipc_sem-Xverbose.Po ./$(DEPDIR)/ipc_sem.Po \ - ./$(DEPDIR)/ipc_shm-Xabbrev.Po ./$(DEPDIR)/ipc_shm-Xraw.Po \ - ./$(DEPDIR)/ipc_shm-Xverbose.Po ./$(DEPDIR)/ipc_shm.Po \ -- ./$(DEPDIR)/is_linux_mips_n64.Po ./$(DEPDIR)/kcmp-y.Po \ -- ./$(DEPDIR)/kcmp.Po ./$(DEPDIR)/kern_features.Po \ -+ ./$(DEPDIR)/is_linux_mips_n64.Po ./$(DEPDIR)/kcmp-y--pidns-translation.Po \ -+ ./$(DEPDIR)/kcmp-y.Po ./$(DEPDIR)/kcmp.Po ./$(DEPDIR)/kern_features.Po \ - ./$(DEPDIR)/kernel_version-Xabbrev.Po \ - ./$(DEPDIR)/kernel_version-Xraw.Po \ - ./$(DEPDIR)/kernel_version-Xverbose.Po \ - ./$(DEPDIR)/kernel_version.Po ./$(DEPDIR)/kexec_file_load.Po \ - ./$(DEPDIR)/kexec_load.Po ./$(DEPDIR)/keyctl-Xabbrev.Po \ - ./$(DEPDIR)/keyctl-Xraw.Po ./$(DEPDIR)/keyctl-Xverbose.Po \ -- ./$(DEPDIR)/keyctl.Po ./$(DEPDIR)/kill.Po \ -+ ./$(DEPDIR)/keyctl.Po ./$(DEPDIR)/kill--pidns-translation.Po ./$(DEPDIR)/kill.Po \ - ./$(DEPDIR)/kill_child.Po ./$(DEPDIR)/ksysent.Po \ - ./$(DEPDIR)/lchown.Po ./$(DEPDIR)/lchown32.Po \ - ./$(DEPDIR)/libtests_a-create_nl_socket.Po \ -@@ -3915,7 +4141,8 @@ - ./$(DEPDIR)/libtests_a-test_printpath.Po \ - ./$(DEPDIR)/libtests_a-test_printstrn.Po \ - ./$(DEPDIR)/libtests_a-test_ucopy.Po \ -- ./$(DEPDIR)/libtests_a-tprintf.Po ./$(DEPDIR)/link.Po \ -+ ./$(DEPDIR)/libtests_a-tprintf.Po \ -+ ./$(DEPDIR)/libtests_a-xmalloc_for_tests.Po ./$(DEPDIR)/link.Po \ - ./$(DEPDIR)/linkat.Po ./$(DEPDIR)/list_sigaction_signum.Po \ - ./$(DEPDIR)/llseek.Po ./$(DEPDIR)/localtime.Po \ - ./$(DEPDIR)/lookup_dcookie.Po ./$(DEPDIR)/looping_threads.Po \ -@@ -3928,7 +4155,9 @@ - ./$(DEPDIR)/membarrier.Po ./$(DEPDIR)/memfd_create-Xabbrev.Po \ - ./$(DEPDIR)/memfd_create-Xraw.Po \ - ./$(DEPDIR)/memfd_create-Xverbose.Po \ -- ./$(DEPDIR)/memfd_create.Po ./$(DEPDIR)/migrate_pages.Po \ -+ ./$(DEPDIR)/memfd_create.Po \ -+ ./$(DEPDIR)/migrate_pages--pidns-translation.Po \ -+ ./$(DEPDIR)/migrate_pages.Po \ - ./$(DEPDIR)/mincore.Po ./$(DEPDIR)/mkdir.Po \ - ./$(DEPDIR)/mkdirat.Po ./$(DEPDIR)/mknod.Po \ - ./$(DEPDIR)/mknodat.Po ./$(DEPDIR)/mlock.Po \ -@@ -3944,7 +4173,7 @@ - ./$(DEPDIR)/modify_ldt.Po ./$(DEPDIR)/mount-Xabbrev.Po \ - ./$(DEPDIR)/mount-Xraw.Po ./$(DEPDIR)/mount-Xverbose.Po \ - ./$(DEPDIR)/mount.Po ./$(DEPDIR)/move_mount-P.Po \ -- ./$(DEPDIR)/move_mount.Po ./$(DEPDIR)/move_pages-Xabbrev.Po \ -+ ./$(DEPDIR)/move_mount.Po ./$(DEPDIR)/move_pages--pidns-translation.Po ./$(DEPDIR)/move_pages-Xabbrev.Po \ - ./$(DEPDIR)/move_pages-Xraw.Po \ - ./$(DEPDIR)/move_pages-Xverbose.Po ./$(DEPDIR)/move_pages.Po \ - ./$(DEPDIR)/mq.Po ./$(DEPDIR)/mq_sendrecv-read.Po \ -@@ -3961,12 +4190,13 @@ - ./$(DEPDIR)/net-packet_mreq-Xabbrev.Po \ - ./$(DEPDIR)/net-packet_mreq-Xraw.Po \ - ./$(DEPDIR)/net-packet_mreq-Xverbose.Po \ -- ./$(DEPDIR)/net-packet_mreq.Po ./$(DEPDIR)/net-sockaddr.Po \ -+ ./$(DEPDIR)/net-packet_mreq.Po ./$(DEPDIR)/net-sockaddr--pidns-translation.Po ./$(DEPDIR)/net-sockaddr.Po \ - ./$(DEPDIR)/net-tpacket_req.Po \ - ./$(DEPDIR)/net-tpacket_stats-success.Po \ - ./$(DEPDIR)/net-tpacket_stats.Po ./$(DEPDIR)/net-y-unix.Po \ - ./$(DEPDIR)/net-yy-inet.Po ./$(DEPDIR)/net-yy-inet6.Po \ - ./$(DEPDIR)/net-yy-netlink.Po ./$(DEPDIR)/net-yy-unix.Po \ -+ ./$(DEPDIR)/netlink_audit--pidns-translation.Po \ - ./$(DEPDIR)/netlink_audit.Po ./$(DEPDIR)/netlink_crypto.Po \ - ./$(DEPDIR)/netlink_generic.Po \ - ./$(DEPDIR)/netlink_inet_diag.Po \ -@@ -4043,9 +4273,11 @@ - ./$(DEPDIR)/pidfd_open--decode-fd-path.Po \ - ./$(DEPDIR)/pidfd_open--decode-fd-pidfd.Po \ - ./$(DEPDIR)/pidfd_open--decode-fd-socket.Po \ -+ ./$(DEPDIR)/pidfd_open--pidns-translation.Po \ - ./$(DEPDIR)/pidfd_open-P.Po ./$(DEPDIR)/pidfd_open-y.Po \ - ./$(DEPDIR)/pidfd_open-yy.Po ./$(DEPDIR)/pidfd_open.Po \ -- ./$(DEPDIR)/pidfd_send_signal.Po ./$(DEPDIR)/pipe.Po \ -+ ./$(DEPDIR)/pidfd_send_signal--pidns-translation.Po \ -+ ./$(DEPDIR)/pidfd_send_signal.Po ./$(DEPDIR)/pidns-cache.Po ./$(DEPDIR)/pipe.Po \ - ./$(DEPDIR)/pipe2.Po ./$(DEPDIR)/pkey_alloc.Po \ - ./$(DEPDIR)/pkey_free.Po ./$(DEPDIR)/pkey_mprotect.Po \ - ./$(DEPDIR)/poll-P.Po ./$(DEPDIR)/poll.Po \ -@@ -4070,8 +4302,10 @@ - ./$(DEPDIR)/printsignal-Xverbose.Po ./$(DEPDIR)/printstr.Po \ - ./$(DEPDIR)/printstrn-umoven-peekdata.Po \ - ./$(DEPDIR)/printstrn-umoven-undumpable.Po \ -- ./$(DEPDIR)/printstrn-umoven.Po ./$(DEPDIR)/prlimit64.Po \ -+ ./$(DEPDIR)/printstrn-umoven.Po ./$(DEPDIR)/prlimit64--pidns-translation.Po ./$(DEPDIR)/prlimit64.Po \ -+ ./$(DEPDIR)/process_vm_readv--pidns-translation.Po \ - ./$(DEPDIR)/process_vm_readv.Po \ -+ ./$(DEPDIR)/process_vm_writev--pidns-translation.Po \ - ./$(DEPDIR)/process_vm_writev.Po ./$(DEPDIR)/pselect6.Po \ - ./$(DEPDIR)/ptrace.Po ./$(DEPDIR)/ptrace_syscall_info.Po \ - ./$(DEPDIR)/pwritev-pwritev.Po ./$(DEPDIR)/qual_fault.Po \ -@@ -4101,9 +4335,10 @@ - ./$(DEPDIR)/request_key.Po ./$(DEPDIR)/restart_syscall.Po \ - ./$(DEPDIR)/riscv_flush_icache.Po ./$(DEPDIR)/rmdir.Po \ - ./$(DEPDIR)/rt_sigaction.Po ./$(DEPDIR)/rt_sigpending.Po \ -- ./$(DEPDIR)/rt_sigprocmask.Po ./$(DEPDIR)/rt_sigqueueinfo.Po \ -+ ./$(DEPDIR)/rt_sigprocmask.Po ./$(DEPDIR)/rt_sigqueueinfo--pidns-translation.Po ./$(DEPDIR)/rt_sigqueueinfo.Po \ - ./$(DEPDIR)/rt_sigreturn.Po ./$(DEPDIR)/rt_sigsuspend.Po \ - ./$(DEPDIR)/rt_sigtimedwait.Po \ -+ ./$(DEPDIR)/rt_tgsigqueueinfo--pidns-translation.Po \ - ./$(DEPDIR)/rt_tgsigqueueinfo.Po \ - ./$(DEPDIR)/run_expect_termsig.Po \ - ./$(DEPDIR)/s390_guarded_storage-v.Po \ -@@ -4113,9 +4348,15 @@ - ./$(DEPDIR)/s390_sthyi.Po \ - ./$(DEPDIR)/sched_get_priority_mxx.Po \ - ./$(DEPDIR)/sched_rr_get_interval.Po \ -- ./$(DEPDIR)/sched_xetaffinity.Po ./$(DEPDIR)/sched_xetattr.Po \ -+ ./$(DEPDIR)/sched_xetaffinity--pidns-translation.Po \ -+ ./$(DEPDIR)/sched_xetaffinity.Po \ -+ ./$(DEPDIR)/sched_xetattr--pidns-translation.Po \ -+ ./$(DEPDIR)/sched_xetattr.Po \ -+ ./$(DEPDIR)/sched_xetparam--pidns-translation.Po \ - ./$(DEPDIR)/sched_xetparam.Po \ -- ./$(DEPDIR)/sched_xetscheduler.Po ./$(DEPDIR)/sched_yield.Po \ -+ ./$(DEPDIR)/sched_xetscheduler--pidns-translation.Po \ -+ ./$(DEPDIR)/sched_xetscheduler.Po \ -+ ./$(DEPDIR)/sched_yield.Po \ - ./$(DEPDIR)/scm_rights.Po ./$(DEPDIR)/seccomp-filter-v.Po \ - ./$(DEPDIR)/seccomp-filter.Po ./$(DEPDIR)/seccomp-strict.Po \ - ./$(DEPDIR)/seccomp_get_action_avail.Po \ -@@ -4143,11 +4384,12 @@ - ./$(DEPDIR)/shmxt.Po ./$(DEPDIR)/shutdown.Po \ - ./$(DEPDIR)/sigaction.Po ./$(DEPDIR)/sigaltstack.Po \ - ./$(DEPDIR)/siginfo.Po ./$(DEPDIR)/signal.Po \ -- ./$(DEPDIR)/signal_receive.Po ./$(DEPDIR)/signalfd4.Po \ -+ ./$(DEPDIR)/signal_receive--pidns-translation.Po ./$(DEPDIR)/signal_receive.Po ./$(DEPDIR)/signalfd4.Po \ - ./$(DEPDIR)/sigpending.Po ./$(DEPDIR)/sigprocmask.Po \ - ./$(DEPDIR)/sigreturn.Po ./$(DEPDIR)/sigsuspend.Po \ - ./$(DEPDIR)/sleep.Po ./$(DEPDIR)/so_error.Po \ -- ./$(DEPDIR)/so_linger.Po ./$(DEPDIR)/so_peercred-Xabbrev.Po \ -+ ./$(DEPDIR)/so_linger.Po ./$(DEPDIR)/so_peercred--pidns-translation.Po \ -+ ./$(DEPDIR)/so_peercred-Xabbrev.Po \ - ./$(DEPDIR)/so_peercred-Xraw.Po \ - ./$(DEPDIR)/so_peercred-Xverbose.Po ./$(DEPDIR)/so_peercred.Po \ - ./$(DEPDIR)/sock_filter-v-Xabbrev.Po \ -@@ -4186,7 +4428,7 @@ - ./$(DEPDIR)/symlinkat.Po ./$(DEPDIR)/sync.Po \ - ./$(DEPDIR)/sync_file_range.Po ./$(DEPDIR)/sync_file_range2.Po \ - ./$(DEPDIR)/sysinfo.Po ./$(DEPDIR)/syslog-success.Po \ -- ./$(DEPDIR)/syslog.Po ./$(DEPDIR)/tee.Po ./$(DEPDIR)/tgkill.Po \ -+ ./$(DEPDIR)/syslog.Po ./$(DEPDIR)/tee.Po ./$(DEPDIR)/tgkill--pidns-translation.Po ./$(DEPDIR)/tgkill.Po \ - ./$(DEPDIR)/threads-execve--quiet-thread-execve.Po \ - ./$(DEPDIR)/threads-execve-q.Po \ - ./$(DEPDIR)/threads-execve-qq.Po \ -@@ -4194,7 +4436,8 @@ - ./$(DEPDIR)/threads-execve.Po ./$(DEPDIR)/time.Po \ - ./$(DEPDIR)/timer_create.Po ./$(DEPDIR)/timer_xettime.Po \ - ./$(DEPDIR)/timerfd_xettime.Po ./$(DEPDIR)/times-fail.Po \ -- ./$(DEPDIR)/times.Po ./$(DEPDIR)/tkill.Po ./$(DEPDIR)/tracer_ppid_pgid_sid.Po \ -+ ./$(DEPDIR)/times.Po ./$(DEPDIR)/tkill--pidns-translation.Po \ -+ ./$(DEPDIR)/tkill.Po ./$(DEPDIR)/tracer_ppid_pgid_sid.Po \ - ./$(DEPDIR)/truncate.Po ./$(DEPDIR)/truncate64-truncate64.Po \ - ./$(DEPDIR)/ugetrlimit.Po ./$(DEPDIR)/uio-uio.Po \ - ./$(DEPDIR)/umask.Po ./$(DEPDIR)/umount.Po \ -@@ -4216,9 +4459,11 @@ - ./$(DEPDIR)/wait4-v.Po ./$(DEPDIR)/wait4.Po \ - ./$(DEPDIR)/waitid-v.Po ./$(DEPDIR)/waitid.Po \ - ./$(DEPDIR)/waitpid.Po ./$(DEPDIR)/xattr-strings.Po \ -- ./$(DEPDIR)/xattr.Po ./$(DEPDIR)/xet_robust_list.Po \ -+ ./$(DEPDIR)/xattr.Po ./$(DEPDIR)/xet_robust_list--pidns-translation.Po \ -+ ./$(DEPDIR)/xet_robust_list.Po \ - ./$(DEPDIR)/xet_thread_area_x86.Po ./$(DEPDIR)/xetitimer.Po \ -- ./$(DEPDIR)/xetpgid.Po ./$(DEPDIR)/xetpriority.Po \ -+ ./$(DEPDIR)/xetpgid--pidns-translation.Po ./$(DEPDIR)/xetpgid.Po \ -+ ./$(DEPDIR)/xetpriority--pidns-translation.Po ./$(DEPDIR)/xetpriority.Po \ - ./$(DEPDIR)/xettimeofday.Po ./$(DEPDIR)/zeroargc.Po - am__mv = mv -f - AM_V_lt = $(am__v_lt_@AM_V@) -@@ -4264,26 +4509,30 @@ - fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \ - fanotify_mark-Xabbrev.c fanotify_mark-Xraw.c \ - fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmodat.c fchown.c \ -- fchown32.c fchownat.c fcntl.c fcntl64.c fdatasync.c fflush.c \ -+ fchown32.c fchownat.c fcntl.c fcntl--pidns-translation.c \ -+ fcntl64.c fcntl64--pidns-translation.c fdatasync.c fflush.c \ - file_handle.c file_ioctl.c filter-unavailable.c \ - filter_seccomp-flag.c filter_seccomp-perf.c finit_module.c \ -- flock.c fork-f.c fsconfig.c fsconfig-P.c fsmount.c fsopen.c \ -- fspick.c fspick-P.c fstat.c fstat-Xabbrev.c fstat-Xraw.c \ -- fstat-Xverbose.c fstat64.c fstat64-Xabbrev.c fstat64-Xraw.c \ -- fstat64-Xverbose.c fstatat64.c fstatfs.c fstatfs64.c fsync.c \ -- fsync-y.c ftruncate.c ftruncate64.c futex.c futimesat.c \ -- get_mempolicy.c get_process_reaper.c getcpu.c getcwd.c \ -- getdents.c getdents-v.c getdents64.c getdents64-v.c getegid.c \ -- getegid32.c geteuid.c geteuid32.c getgid.c getgid32.c \ -- getgroups.c getgroups32.c getpeername.c getpgrp.c getpid.c \ -- getppid.c getrandom.c getresgid.c getresgid32.c getresuid.c \ -- getresuid32.c getrlimit.c getrusage.c getsid.c getsockname.c \ -- gettid.c getuid.c getuid32.c getxgid.c getxpid.c getxuid.c \ -- group_req.c inet-cmsg.c init_module.c inject-nf.c inotify.c \ -- inotify_init.c inotify_init-y.c inotify_init1.c \ -- inotify_init1-y.c int_0x80.c io_uring_enter.c \ -- io_uring_register.c io_uring_setup.c ioctl.c ioctl_block.c \ -- ioctl_dm.c ioctl_dm-v.c ioctl_evdev.c ioctl_evdev-Xabbrev.c \ -+ flock.c fork--pidns-translation.c fork-f.c fsconfig.c \ -+ fsconfig-P.c fsmount.c fsopen.c fspick.c fspick-P.c fstat.c \ -+ fstat-Xabbrev.c fstat-Xraw.c fstat-Xverbose.c fstat64.c \ -+ fstat64-Xabbrev.c fstat64-Xraw.c fstat64-Xverbose.c \ -+ fstatat64.c fstatfs.c fstatfs64.c fsync.c fsync-y.c \ -+ ftruncate.c ftruncate64.c futex.c futimesat.c get_mempolicy.c \ -+ get_process_reaper.c getcpu.c getcwd.c getdents.c getdents-v.c \ -+ getdents64.c getdents64-v.c getegid.c getegid32.c geteuid.c \ -+ geteuid32.c getgid.c getgid32.c getgroups.c getgroups32.c \ -+ getpeername.c getpgrp.c getpgrp--pidns-translation.c getpid.c \ -+ getpid--pidns-translation.c getppid.c getrandom.c getresgid.c \ -+ getresgid32.c getresuid.c getresuid32.c getrlimit.c \ -+ getrusage.c getsid.c getsid--pidns-translation.c getsockname.c \ -+ gettid.c gettid--pidns-translation.c getuid.c getuid32.c \ -+ getxgid.c getxpid.c getxuid.c group_req.c inet-cmsg.c \ -+ init_module.c inject-nf.c inotify.c inotify_init.c \ -+ inotify_init-y.c inotify_init1.c inotify_init1-y.c int_0x80.c \ -+ io_uring_enter.c io_uring_register.c io_uring_setup.c ioctl.c \ -+ ioctl_block.c ioctl_block--pidns-translation.c ioctl_dm.c \ -+ ioctl_dm-v.c ioctl_evdev.c ioctl_evdev-Xabbrev.c \ - ioctl_evdev-Xraw.c ioctl_evdev-Xverbose.c \ - ioctl_evdev-success.c ioctl_evdev-success-Xabbrev.c \ - ioctl_evdev-success-Xraw.c ioctl_evdev-success-Xverbose.c \ -@@ -4311,47 +4560,51 @@ - ioctl_v4l2-success-v-Xverbose.c ioctl_v4l2-v.c \ - ioctl_v4l2-v-Xabbrev.c ioctl_v4l2-v-Xraw.c \ - ioctl_v4l2-v-Xverbose.c ioctl_watchdog.c ioperm.c iopl.c \ -- ioprio.c ioprio-Xabbrev.c ioprio-Xraw.c ioprio-Xverbose.c \ -- ip_mreq.c ipc.c ipc_msg.c ipc_msg-Xabbrev.c ipc_msg-Xraw.c \ -- ipc_msg-Xverbose.c ipc_msgbuf.c ipc_msgbuf-Xabbrev.c \ -- ipc_msgbuf-Xraw.c ipc_msgbuf-Xverbose.c ipc_sem.c \ -- ipc_sem-Xabbrev.c ipc_sem-Xraw.c ipc_sem-Xverbose.c ipc_shm.c \ -- ipc_shm-Xabbrev.c ipc_shm-Xraw.c ipc_shm-Xverbose.c \ -- is_linux_mips_n64.c kcmp.c kcmp-y.c kern_features.c \ -+ ioprio.c ioprio--pidns-translation.c ioprio-Xabbrev.c \ -+ ioprio-Xraw.c ioprio-Xverbose.c ip_mreq.c ipc.c ipc_msg.c \ -+ ipc_msg-Xabbrev.c ipc_msg-Xraw.c ipc_msg-Xverbose.c \ -+ ipc_msgbuf.c ipc_msgbuf-Xabbrev.c ipc_msgbuf-Xraw.c \ -+ ipc_msgbuf-Xverbose.c ipc_sem.c ipc_sem-Xabbrev.c \ -+ ipc_sem-Xraw.c ipc_sem-Xverbose.c ipc_shm.c ipc_shm-Xabbrev.c \ -+ ipc_shm-Xraw.c ipc_shm-Xverbose.c is_linux_mips_n64.c kcmp.c \ -+ kcmp-y.c kcmp-y--pidns-translation.c kern_features.c \ - kernel_version.c kernel_version-Xabbrev.c \ - kernel_version-Xraw.c kernel_version-Xverbose.c \ - kexec_file_load.c kexec_load.c keyctl.c keyctl-Xabbrev.c \ -- keyctl-Xraw.c keyctl-Xverbose.c kill.c kill_child.c ksysent.c \ -- lchown.c lchown32.c link.c linkat.c list_sigaction_signum.c \ -- llseek.c localtime.c lookup_dcookie.c looping_threads.c \ -- lseek.c lstat.c lstat64.c madvise.c maybe_switch_current_tcp.c \ -+ keyctl-Xraw.c keyctl-Xverbose.c kill.c \ -+ kill--pidns-translation.c kill_child.c ksysent.c lchown.c \ -+ lchown32.c link.c linkat.c list_sigaction_signum.c llseek.c \ -+ localtime.c lookup_dcookie.c looping_threads.c lseek.c lstat.c \ -+ lstat64.c madvise.c maybe_switch_current_tcp.c \ - maybe_switch_current_tcp--quiet-thread-execve.c mbind.c \ - mbind-Xabbrev.c mbind-Xraw.c mbind-Xverbose.c membarrier.c \ - memfd_create.c memfd_create-Xabbrev.c memfd_create-Xraw.c \ -- memfd_create-Xverbose.c migrate_pages.c mincore.c mkdir.c \ -- mkdirat.c mknod.c mknodat.c mlock.c mlock2.c mlockall.c mmap.c \ -+ memfd_create-Xverbose.c migrate_pages.c \ -+ migrate_pages--pidns-translation.c mincore.c mkdir.c mkdirat.c \ -+ mknod.c mknodat.c mlock.c mlock2.c mlockall.c mmap.c \ - mmap-Xabbrev.c mmap-Xraw.c mmap-Xverbose.c mmap64.c \ - mmap64-Xabbrev.c mmap64-Xraw.c mmap64-Xverbose.c mmsg.c \ - mmsg-silent.c mmsg_name.c mmsg_name-v.c modify_ldt.c mount.c \ - mount-Xabbrev.c mount-Xraw.c mount-Xverbose.c move_mount.c \ -- move_mount-P.c move_pages.c move_pages-Xabbrev.c \ -- move_pages-Xraw.c move_pages-Xverbose.c mq.c mq_sendrecv.c \ -- mq_sendrecv-read.c mq_sendrecv-write.c msg_control.c \ -- msg_control-v.c msg_name.c munlockall.c nanosleep.c \ -- net--decode-fds-dev-netlink.c net--decode-fds-none-netlink.c \ -- net--decode-fds-path-netlink.c \ -+ move_mount-P.c move_pages.c move_pages--pidns-translation.c \ -+ move_pages-Xabbrev.c move_pages-Xraw.c move_pages-Xverbose.c \ -+ mq.c mq_sendrecv.c mq_sendrecv-read.c mq_sendrecv-write.c \ -+ msg_control.c msg_control-v.c msg_name.c munlockall.c \ -+ nanosleep.c net--decode-fds-dev-netlink.c \ -+ net--decode-fds-none-netlink.c net--decode-fds-path-netlink.c \ - net--decode-fds-socket-netlink.c net-accept-connect.c \ - net-icmp_filter.c net-packet_mreq.c net-packet_mreq-Xabbrev.c \ - net-packet_mreq-Xraw.c net-packet_mreq-Xverbose.c \ -- net-sockaddr.c net-tpacket_req.c net-tpacket_stats.c \ -+ net-sockaddr.c net-sockaddr--pidns-translation.c \ -+ net-tpacket_req.c net-tpacket_stats.c \ - net-tpacket_stats-success.c net-y-unix.c net-yy-inet.c \ - net-yy-inet6.c net-yy-netlink.c net-yy-unix.c netlink_audit.c \ -- netlink_crypto.c netlink_generic.c netlink_inet_diag.c \ -- netlink_kobject_uevent.c netlink_netfilter.c \ -- netlink_netlink_diag.c netlink_protocol.c netlink_route.c \ -- netlink_selinux.c netlink_sock_diag.c netlink_unix_diag.c \ -- netlink_xfrm.c newfstatat.c nfnetlink_acct.c \ -- nfnetlink_cthelper.c nfnetlink_ctnetlink.c \ -+ netlink_audit--pidns-translation.c netlink_crypto.c \ -+ netlink_generic.c netlink_inet_diag.c netlink_kobject_uevent.c \ -+ netlink_netfilter.c netlink_netlink_diag.c netlink_protocol.c \ -+ netlink_route.c netlink_selinux.c netlink_sock_diag.c \ -+ netlink_unix_diag.c netlink_xfrm.c newfstatat.c \ -+ nfnetlink_acct.c nfnetlink_cthelper.c nfnetlink_ctnetlink.c \ - nfnetlink_ctnetlink_exp.c nfnetlink_cttimeout.c \ - nfnetlink_ipset.c nfnetlink_nft_compat.c nfnetlink_nftables.c \ - nfnetlink_osf.c nfnetlink_queue.c nfnetlink_ulog.c nlattr.c \ -@@ -4381,12 +4634,13 @@ - personality-Xraw.c personality-Xverbose.c pidfd_getfd.c \ - pidfd_getfd-y.c pidfd_getfd-yy.c pidfd_open.c \ - pidfd_open--decode-fd-path.c pidfd_open--decode-fd-pidfd.c \ -- pidfd_open--decode-fd-socket.c pidfd_open-P.c pidfd_open-y.c \ -- pidfd_open-yy.c pidfd_send_signal.c pipe.c pipe2.c \ -- pkey_alloc.c pkey_free.c pkey_mprotect.c poll.c poll-P.c \ -- ppoll.c ppoll-P.c ppoll-v.c prctl-arg2-intptr.c \ -- prctl-dumpable.c prctl-name.c prctl-no-args.c \ -- prctl-pdeathsig.c prctl-seccomp-filter-v.c \ -+ pidfd_open--decode-fd-socket.c pidfd_open--pidns-translation.c \ -+ pidfd_open-P.c pidfd_open-y.c pidfd_open-yy.c \ -+ pidfd_send_signal.c pidfd_send_signal--pidns-translation.c \ -+ pidns-cache.c pipe.c pipe2.c pkey_alloc.c pkey_free.c \ -+ pkey_mprotect.c poll.c poll-P.c ppoll.c ppoll-P.c ppoll-v.c \ -+ prctl-arg2-intptr.c prctl-dumpable.c prctl-name.c \ -+ prctl-no-args.c prctl-pdeathsig.c prctl-seccomp-filter-v.c \ - prctl-seccomp-strict.c prctl-securebits.c prctl-spec-inject.c \ - prctl-tid_address.c prctl-tsc.c pread64-pwrite64.c preadv.c \ - preadv-pwritev.c preadv2-pwritev2.c print_maxfd.c \ -@@ -4395,8 +4649,10 @@ - printsignal-Xabbrev.c printsignal-Xraw.c \ - printsignal-Xverbose.c printstr.c printstrn-umoven.c \ - printstrn-umoven-peekdata.c printstrn-umoven-undumpable.c \ -- prlimit64.c process_vm_readv.c process_vm_writev.c pselect6.c \ -- ptrace.c ptrace_syscall_info.c pwritev.c qual_fault.c \ -+ prlimit64.c prlimit64--pidns-translation.c process_vm_readv.c \ -+ process_vm_readv--pidns-translation.c process_vm_writev.c \ -+ process_vm_writev--pidns-translation.c pselect6.c ptrace.c \ -+ ptrace_syscall_info.c pwritev.c qual_fault.c \ - qual_inject-error-signal.c qual_inject-retval.c \ - qual_inject-signal.c qual_signal.c quotactl.c \ - quotactl-Xabbrev.c quotactl-Xraw.c quotactl-Xverbose.c \ -@@ -4409,60 +4665,70 @@ - remap_file_pages-Xraw.c remap_file_pages-Xverbose.c rename.c \ - renameat.c renameat2.c request_key.c restart_syscall.c \ - riscv_flush_icache.c rmdir.c rt_sigaction.c rt_sigpending.c \ -- rt_sigprocmask.c rt_sigqueueinfo.c rt_sigreturn.c \ -+ rt_sigprocmask.c rt_sigqueueinfo.c \ -+ rt_sigqueueinfo--pidns-translation.c rt_sigreturn.c \ - rt_sigsuspend.c rt_sigtimedwait.c rt_tgsigqueueinfo.c \ -- run_expect_termsig.c s390_guarded_storage.c \ -- s390_guarded_storage-v.c s390_pci_mmio_read_write.c \ -- s390_runtime_instr.c s390_sthyi.c s390_sthyi-v.c \ -- sched_get_priority_mxx.c sched_rr_get_interval.c \ -- sched_xetaffinity.c sched_xetattr.c sched_xetparam.c \ -- sched_xetscheduler.c sched_yield.c scm_rights.c \ -- seccomp-filter.c seccomp-filter-v.c seccomp-strict.c \ -- seccomp_get_action_avail.c select.c select-P.c semop.c \ -- semop-indirect.c semtimedop.c sendfile.c sendfile64.c \ -- set_mempolicy.c set_mempolicy-Xabbrev.c set_mempolicy-Xraw.c \ -- set_mempolicy-Xverbose.c set_ptracer_any.c set_sigblock.c \ -- set_sigign.c setdomainname.c setfsgid.c setfsgid32.c \ -- setfsuid.c setfsuid32.c setgid.c setgid32.c setgroups.c \ -- setgroups32.c sethostname.c setns.c setpgrp-exec.c setregid.c \ -- setregid32.c setresgid.c setresgid32.c setresuid.c \ -- setresuid32.c setreuid.c setreuid32.c setrlimit.c \ -- setrlimit-Xabbrev.c setrlimit-Xraw.c setrlimit-Xverbose.c \ -- setuid.c setuid32.c shmxt.c shutdown.c sigaction.c \ -- sigaltstack.c siginfo.c signal.c signal_receive.c signalfd4.c \ -- sigpending.c sigprocmask.c sigreturn.c sigsuspend.c sleep.c \ -- so_error.c so_linger.c so_peercred.c so_peercred-Xabbrev.c \ -- so_peercred-Xraw.c so_peercred-Xverbose.c sock_filter-v.c \ -- sock_filter-v-Xabbrev.c sock_filter-v-Xraw.c \ -- sock_filter-v-Xverbose.c sockaddr_xlat-Xabbrev.c \ -- sockaddr_xlat-Xraw.c sockaddr_xlat-Xverbose.c socketcall.c \ -- sockopt-sol_netlink.c sockopt-timestamp.c splice.c \ -- $(stack_fcall_SOURCES) $(stack_fcall_attach_SOURCES) \ -- $(stack_fcall_mangled_SOURCES) stat.c stat64.c statfs.c \ -- statfs64.c status-all.c status-failed.c status-failed-long.c \ -- status-failed-status.c status-none.c status-none-f.c \ -- status-none-threads.c status-successful.c \ -- status-successful-long.c status-successful-status.c \ -- status-unfinished.c status-unfinished-threads.c statx.c \ -- strace--strings-in-hex.c strace--strings-in-hex-all.c \ -+ rt_tgsigqueueinfo--pidns-translation.c run_expect_termsig.c \ -+ s390_guarded_storage.c s390_guarded_storage-v.c \ -+ s390_pci_mmio_read_write.c s390_runtime_instr.c s390_sthyi.c \ -+ s390_sthyi-v.c sched_get_priority_mxx.c \ -+ sched_rr_get_interval.c sched_xetaffinity.c \ -+ sched_xetaffinity--pidns-translation.c sched_xetattr.c \ -+ sched_xetattr--pidns-translation.c sched_xetparam.c \ -+ sched_xetparam--pidns-translation.c sched_xetscheduler.c \ -+ sched_xetscheduler--pidns-translation.c sched_yield.c \ -+ scm_rights.c seccomp-filter.c seccomp-filter-v.c \ -+ seccomp-strict.c seccomp_get_action_avail.c select.c \ -+ select-P.c semop.c semop-indirect.c semtimedop.c sendfile.c \ -+ sendfile64.c set_mempolicy.c set_mempolicy-Xabbrev.c \ -+ set_mempolicy-Xraw.c set_mempolicy-Xverbose.c \ -+ set_ptracer_any.c set_sigblock.c set_sigign.c setdomainname.c \ -+ setfsgid.c setfsgid32.c setfsuid.c setfsuid32.c setgid.c \ -+ setgid32.c setgroups.c setgroups32.c sethostname.c setns.c \ -+ setpgrp-exec.c setregid.c setregid32.c setresgid.c \ -+ setresgid32.c setresuid.c setresuid32.c setreuid.c \ -+ setreuid32.c setrlimit.c setrlimit-Xabbrev.c setrlimit-Xraw.c \ -+ setrlimit-Xverbose.c setuid.c setuid32.c shmxt.c shutdown.c \ -+ sigaction.c sigaltstack.c siginfo.c signal.c signal_receive.c \ -+ signal_receive--pidns-translation.c signalfd4.c sigpending.c \ -+ sigprocmask.c sigreturn.c sigsuspend.c sleep.c so_error.c \ -+ so_linger.c so_peercred.c so_peercred--pidns-translation.c \ -+ so_peercred-Xabbrev.c so_peercred-Xraw.c \ -+ so_peercred-Xverbose.c sock_filter-v.c sock_filter-v-Xabbrev.c \ -+ sock_filter-v-Xraw.c sock_filter-v-Xverbose.c \ -+ sockaddr_xlat-Xabbrev.c sockaddr_xlat-Xraw.c \ -+ sockaddr_xlat-Xverbose.c socketcall.c sockopt-sol_netlink.c \ -+ sockopt-timestamp.c splice.c $(stack_fcall_SOURCES) \ -+ $(stack_fcall_attach_SOURCES) $(stack_fcall_mangled_SOURCES) \ -+ stat.c stat64.c statfs.c statfs64.c status-all.c \ -+ status-failed.c status-failed-long.c status-failed-status.c \ -+ status-none.c status-none-f.c status-none-threads.c \ -+ status-successful.c status-successful-long.c \ -+ status-successful-status.c status-unfinished.c \ -+ status-unfinished-threads.c statx.c strace--strings-in-hex.c \ -+ strace--strings-in-hex-all.c \ - strace--strings-in-hex-non-ascii.c strace-x.c strace-xx.c \ - swap.c sxetmask.c symlink.c symlinkat.c sync.c \ - sync_file_range.c sync_file_range2.c sysinfo.c syslog.c \ -- syslog-success.c tee.c tgkill.c threads-execve.c \ -- threads-execve--quiet-thread-execve.c threads-execve-q.c \ -- threads-execve-qq.c threads-execve-qqq.c time.c timer_create.c \ -- timer_xettime.c timerfd_xettime.c times.c times-fail.c tkill.c \ -- tracer_ppid_pgid_sid.c truncate.c truncate64.c ugetrlimit.c \ -- uio.c umask.c umount.c umount2.c umoven-illptr.c umovestr.c \ -- umovestr-illptr.c umovestr2.c umovestr3.c umovestr_cached.c \ -- umovestr_cached_adjacent.c uname.c unblock_reset_raise.c \ -- unix-pair-send-recv.c unix-pair-sendto-recvfrom.c unlink.c \ -- unlinkat.c unshare.c userfaultfd.c ustat.c utime.c utimensat.c \ -- utimensat-Xabbrev.c utimensat-Xraw.c utimensat-Xverbose.c \ -- utimes.c vfork-f.c vhangup.c vmsplice.c wait4.c wait4-v.c \ -- waitid.c waitid-v.c waitpid.c xattr.c xattr-strings.c \ -- xet_robust_list.c xet_thread_area_x86.c xetitimer.c xetpgid.c \ -- xetpriority.c xettimeofday.c zeroargc.c -+ syslog-success.c tee.c tgkill.c tgkill--pidns-translation.c \ -+ threads-execve.c threads-execve--quiet-thread-execve.c \ -+ threads-execve-q.c threads-execve-qq.c threads-execve-qqq.c \ -+ time.c timer_create.c timer_xettime.c timerfd_xettime.c \ -+ times.c times-fail.c tkill.c tkill--pidns-translation.c \ -+ tracer_ppid_pgid_sid.c $(trie_test_SOURCES) truncate.c \ -+ truncate64.c ugetrlimit.c uio.c umask.c umount.c umount2.c \ -+ umoven-illptr.c umovestr.c umovestr-illptr.c umovestr2.c \ -+ umovestr3.c umovestr_cached.c umovestr_cached_adjacent.c \ -+ uname.c unblock_reset_raise.c unix-pair-send-recv.c \ -+ unix-pair-sendto-recvfrom.c unlink.c unlinkat.c unshare.c \ -+ userfaultfd.c ustat.c utime.c utimensat.c utimensat-Xabbrev.c \ -+ utimensat-Xraw.c utimensat-Xverbose.c utimes.c vfork-f.c \ -+ vhangup.c vmsplice.c wait4.c wait4-v.c waitid.c waitid-v.c \ -+ waitpid.c xattr.c xattr-strings.c xet_robust_list.c \ -+ xet_robust_list--pidns-translation.c xet_thread_area_x86.c \ -+ xetitimer.c xetpgid.c xetpgid--pidns-translation.c \ -+ xetpriority.c xetpriority--pidns-translation.c xettimeofday.c \ -+ zeroargc.c - DIST_SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.c \ - accept.c accept4.c access.c acct.c add_key.c adjtimex.c aio.c \ - aio_pgetevents.c alarm.c answer.c attach-f-p.c \ -@@ -4490,26 +4756,30 @@ - fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \ - fanotify_mark-Xabbrev.c fanotify_mark-Xraw.c \ - fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmodat.c fchown.c \ -- fchown32.c fchownat.c fcntl.c fcntl64.c fdatasync.c fflush.c \ -+ fchown32.c fchownat.c fcntl.c fcntl--pidns-translation.c \ -+ fcntl64.c fcntl64--pidns-translation.c fdatasync.c fflush.c \ - file_handle.c file_ioctl.c filter-unavailable.c \ - filter_seccomp-flag.c filter_seccomp-perf.c finit_module.c \ -- flock.c fork-f.c fsconfig.c fsconfig-P.c fsmount.c fsopen.c \ -- fspick.c fspick-P.c fstat.c fstat-Xabbrev.c fstat-Xraw.c \ -- fstat-Xverbose.c fstat64.c fstat64-Xabbrev.c fstat64-Xraw.c \ -- fstat64-Xverbose.c fstatat64.c fstatfs.c fstatfs64.c fsync.c \ -- fsync-y.c ftruncate.c ftruncate64.c futex.c futimesat.c \ -- get_mempolicy.c get_process_reaper.c getcpu.c getcwd.c \ -- getdents.c getdents-v.c getdents64.c getdents64-v.c getegid.c \ -- getegid32.c geteuid.c geteuid32.c getgid.c getgid32.c \ -- getgroups.c getgroups32.c getpeername.c getpgrp.c getpid.c \ -- getppid.c getrandom.c getresgid.c getresgid32.c getresuid.c \ -- getresuid32.c getrlimit.c getrusage.c getsid.c getsockname.c \ -- gettid.c getuid.c getuid32.c getxgid.c getxpid.c getxuid.c \ -- group_req.c inet-cmsg.c init_module.c inject-nf.c inotify.c \ -- inotify_init.c inotify_init-y.c inotify_init1.c \ -- inotify_init1-y.c int_0x80.c io_uring_enter.c \ -- io_uring_register.c io_uring_setup.c ioctl.c ioctl_block.c \ -- ioctl_dm.c ioctl_dm-v.c ioctl_evdev.c ioctl_evdev-Xabbrev.c \ -+ flock.c fork--pidns-translation.c fork-f.c fsconfig.c \ -+ fsconfig-P.c fsmount.c fsopen.c fspick.c fspick-P.c fstat.c \ -+ fstat-Xabbrev.c fstat-Xraw.c fstat-Xverbose.c fstat64.c \ -+ fstat64-Xabbrev.c fstat64-Xraw.c fstat64-Xverbose.c \ -+ fstatat64.c fstatfs.c fstatfs64.c fsync.c fsync-y.c \ -+ ftruncate.c ftruncate64.c futex.c futimesat.c get_mempolicy.c \ -+ get_process_reaper.c getcpu.c getcwd.c getdents.c getdents-v.c \ -+ getdents64.c getdents64-v.c getegid.c getegid32.c geteuid.c \ -+ geteuid32.c getgid.c getgid32.c getgroups.c getgroups32.c \ -+ getpeername.c getpgrp.c getpgrp--pidns-translation.c getpid.c \ -+ getpid--pidns-translation.c getppid.c getrandom.c getresgid.c \ -+ getresgid32.c getresuid.c getresuid32.c getrlimit.c \ -+ getrusage.c getsid.c getsid--pidns-translation.c getsockname.c \ -+ gettid.c gettid--pidns-translation.c getuid.c getuid32.c \ -+ getxgid.c getxpid.c getxuid.c group_req.c inet-cmsg.c \ -+ init_module.c inject-nf.c inotify.c inotify_init.c \ -+ inotify_init-y.c inotify_init1.c inotify_init1-y.c int_0x80.c \ -+ io_uring_enter.c io_uring_register.c io_uring_setup.c ioctl.c \ -+ ioctl_block.c ioctl_block--pidns-translation.c ioctl_dm.c \ -+ ioctl_dm-v.c ioctl_evdev.c ioctl_evdev-Xabbrev.c \ - ioctl_evdev-Xraw.c ioctl_evdev-Xverbose.c \ - ioctl_evdev-success.c ioctl_evdev-success-Xabbrev.c \ - ioctl_evdev-success-Xraw.c ioctl_evdev-success-Xverbose.c \ -@@ -4537,47 +4807,51 @@ - ioctl_v4l2-success-v-Xverbose.c ioctl_v4l2-v.c \ - ioctl_v4l2-v-Xabbrev.c ioctl_v4l2-v-Xraw.c \ - ioctl_v4l2-v-Xverbose.c ioctl_watchdog.c ioperm.c iopl.c \ -- ioprio.c ioprio-Xabbrev.c ioprio-Xraw.c ioprio-Xverbose.c \ -- ip_mreq.c ipc.c ipc_msg.c ipc_msg-Xabbrev.c ipc_msg-Xraw.c \ -- ipc_msg-Xverbose.c ipc_msgbuf.c ipc_msgbuf-Xabbrev.c \ -- ipc_msgbuf-Xraw.c ipc_msgbuf-Xverbose.c ipc_sem.c \ -- ipc_sem-Xabbrev.c ipc_sem-Xraw.c ipc_sem-Xverbose.c ipc_shm.c \ -- ipc_shm-Xabbrev.c ipc_shm-Xraw.c ipc_shm-Xverbose.c \ -- is_linux_mips_n64.c kcmp.c kcmp-y.c kern_features.c \ -+ ioprio.c ioprio--pidns-translation.c ioprio-Xabbrev.c \ -+ ioprio-Xraw.c ioprio-Xverbose.c ip_mreq.c ipc.c ipc_msg.c \ -+ ipc_msg-Xabbrev.c ipc_msg-Xraw.c ipc_msg-Xverbose.c \ -+ ipc_msgbuf.c ipc_msgbuf-Xabbrev.c ipc_msgbuf-Xraw.c \ -+ ipc_msgbuf-Xverbose.c ipc_sem.c ipc_sem-Xabbrev.c \ -+ ipc_sem-Xraw.c ipc_sem-Xverbose.c ipc_shm.c ipc_shm-Xabbrev.c \ -+ ipc_shm-Xraw.c ipc_shm-Xverbose.c is_linux_mips_n64.c kcmp.c \ -+ kcmp-y.c kcmp-y--pidns-translation.c kern_features.c \ - kernel_version.c kernel_version-Xabbrev.c \ - kernel_version-Xraw.c kernel_version-Xverbose.c \ - kexec_file_load.c kexec_load.c keyctl.c keyctl-Xabbrev.c \ -- keyctl-Xraw.c keyctl-Xverbose.c kill.c kill_child.c ksysent.c \ -- lchown.c lchown32.c link.c linkat.c list_sigaction_signum.c \ -- llseek.c localtime.c lookup_dcookie.c looping_threads.c \ -- lseek.c lstat.c lstat64.c madvise.c maybe_switch_current_tcp.c \ -+ keyctl-Xraw.c keyctl-Xverbose.c kill.c \ -+ kill--pidns-translation.c kill_child.c ksysent.c lchown.c \ -+ lchown32.c link.c linkat.c list_sigaction_signum.c llseek.c \ -+ localtime.c lookup_dcookie.c looping_threads.c lseek.c lstat.c \ -+ lstat64.c madvise.c maybe_switch_current_tcp.c \ - maybe_switch_current_tcp--quiet-thread-execve.c mbind.c \ - mbind-Xabbrev.c mbind-Xraw.c mbind-Xverbose.c membarrier.c \ - memfd_create.c memfd_create-Xabbrev.c memfd_create-Xraw.c \ -- memfd_create-Xverbose.c migrate_pages.c mincore.c mkdir.c \ -- mkdirat.c mknod.c mknodat.c mlock.c mlock2.c mlockall.c mmap.c \ -+ memfd_create-Xverbose.c migrate_pages.c \ -+ migrate_pages--pidns-translation.c mincore.c mkdir.c mkdirat.c \ -+ mknod.c mknodat.c mlock.c mlock2.c mlockall.c mmap.c \ - mmap-Xabbrev.c mmap-Xraw.c mmap-Xverbose.c mmap64.c \ - mmap64-Xabbrev.c mmap64-Xraw.c mmap64-Xverbose.c mmsg.c \ - mmsg-silent.c mmsg_name.c mmsg_name-v.c modify_ldt.c mount.c \ - mount-Xabbrev.c mount-Xraw.c mount-Xverbose.c move_mount.c \ -- move_mount-P.c move_pages.c move_pages-Xabbrev.c \ -- move_pages-Xraw.c move_pages-Xverbose.c mq.c mq_sendrecv.c \ -- mq_sendrecv-read.c mq_sendrecv-write.c msg_control.c \ -- msg_control-v.c msg_name.c munlockall.c nanosleep.c \ -- net--decode-fds-dev-netlink.c net--decode-fds-none-netlink.c \ -- net--decode-fds-path-netlink.c \ -+ move_mount-P.c move_pages.c move_pages--pidns-translation.c \ -+ move_pages-Xabbrev.c move_pages-Xraw.c move_pages-Xverbose.c \ -+ mq.c mq_sendrecv.c mq_sendrecv-read.c mq_sendrecv-write.c \ -+ msg_control.c msg_control-v.c msg_name.c munlockall.c \ -+ nanosleep.c net--decode-fds-dev-netlink.c \ -+ net--decode-fds-none-netlink.c net--decode-fds-path-netlink.c \ - net--decode-fds-socket-netlink.c net-accept-connect.c \ - net-icmp_filter.c net-packet_mreq.c net-packet_mreq-Xabbrev.c \ - net-packet_mreq-Xraw.c net-packet_mreq-Xverbose.c \ -- net-sockaddr.c net-tpacket_req.c net-tpacket_stats.c \ -+ net-sockaddr.c net-sockaddr--pidns-translation.c \ -+ net-tpacket_req.c net-tpacket_stats.c \ - net-tpacket_stats-success.c net-y-unix.c net-yy-inet.c \ - net-yy-inet6.c net-yy-netlink.c net-yy-unix.c netlink_audit.c \ -- netlink_crypto.c netlink_generic.c netlink_inet_diag.c \ -- netlink_kobject_uevent.c netlink_netfilter.c \ -- netlink_netlink_diag.c netlink_protocol.c netlink_route.c \ -- netlink_selinux.c netlink_sock_diag.c netlink_unix_diag.c \ -- netlink_xfrm.c newfstatat.c nfnetlink_acct.c \ -- nfnetlink_cthelper.c nfnetlink_ctnetlink.c \ -+ netlink_audit--pidns-translation.c netlink_crypto.c \ -+ netlink_generic.c netlink_inet_diag.c netlink_kobject_uevent.c \ -+ netlink_netfilter.c netlink_netlink_diag.c netlink_protocol.c \ -+ netlink_route.c netlink_selinux.c netlink_sock_diag.c \ -+ netlink_unix_diag.c netlink_xfrm.c newfstatat.c \ -+ nfnetlink_acct.c nfnetlink_cthelper.c nfnetlink_ctnetlink.c \ - nfnetlink_ctnetlink_exp.c nfnetlink_cttimeout.c \ - nfnetlink_ipset.c nfnetlink_nft_compat.c nfnetlink_nftables.c \ - nfnetlink_osf.c nfnetlink_queue.c nfnetlink_ulog.c nlattr.c \ -@@ -4607,12 +4881,13 @@ - personality-Xraw.c personality-Xverbose.c pidfd_getfd.c \ - pidfd_getfd-y.c pidfd_getfd-yy.c pidfd_open.c \ - pidfd_open--decode-fd-path.c pidfd_open--decode-fd-pidfd.c \ -- pidfd_open--decode-fd-socket.c pidfd_open-P.c pidfd_open-y.c \ -- pidfd_open-yy.c pidfd_send_signal.c pipe.c pipe2.c \ -- pkey_alloc.c pkey_free.c pkey_mprotect.c poll.c poll-P.c \ -- ppoll.c ppoll-P.c ppoll-v.c prctl-arg2-intptr.c \ -- prctl-dumpable.c prctl-name.c prctl-no-args.c \ -- prctl-pdeathsig.c prctl-seccomp-filter-v.c \ -+ pidfd_open--decode-fd-socket.c pidfd_open--pidns-translation.c \ -+ pidfd_open-P.c pidfd_open-y.c pidfd_open-yy.c \ -+ pidfd_send_signal.c pidfd_send_signal--pidns-translation.c \ -+ pidns-cache.c pipe.c pipe2.c pkey_alloc.c pkey_free.c \ -+ pkey_mprotect.c poll.c poll-P.c ppoll.c ppoll-P.c ppoll-v.c \ -+ prctl-arg2-intptr.c prctl-dumpable.c prctl-name.c \ -+ prctl-no-args.c prctl-pdeathsig.c prctl-seccomp-filter-v.c \ - prctl-seccomp-strict.c prctl-securebits.c prctl-spec-inject.c \ - prctl-tid_address.c prctl-tsc.c pread64-pwrite64.c preadv.c \ - preadv-pwritev.c preadv2-pwritev2.c print_maxfd.c \ -@@ -4621,8 +4896,10 @@ - printsignal-Xabbrev.c printsignal-Xraw.c \ - printsignal-Xverbose.c printstr.c printstrn-umoven.c \ - printstrn-umoven-peekdata.c printstrn-umoven-undumpable.c \ -- prlimit64.c process_vm_readv.c process_vm_writev.c pselect6.c \ -- ptrace.c ptrace_syscall_info.c pwritev.c qual_fault.c \ -+ prlimit64.c prlimit64--pidns-translation.c process_vm_readv.c \ -+ process_vm_readv--pidns-translation.c process_vm_writev.c \ -+ process_vm_writev--pidns-translation.c pselect6.c ptrace.c \ -+ ptrace_syscall_info.c pwritev.c qual_fault.c \ - qual_inject-error-signal.c qual_inject-retval.c \ - qual_inject-signal.c qual_signal.c quotactl.c \ - quotactl-Xabbrev.c quotactl-Xraw.c quotactl-Xverbose.c \ -@@ -4635,60 +4912,70 @@ - remap_file_pages-Xraw.c remap_file_pages-Xverbose.c rename.c \ - renameat.c renameat2.c request_key.c restart_syscall.c \ - riscv_flush_icache.c rmdir.c rt_sigaction.c rt_sigpending.c \ -- rt_sigprocmask.c rt_sigqueueinfo.c rt_sigreturn.c \ -+ rt_sigprocmask.c rt_sigqueueinfo.c \ -+ rt_sigqueueinfo--pidns-translation.c rt_sigreturn.c \ - rt_sigsuspend.c rt_sigtimedwait.c rt_tgsigqueueinfo.c \ -- run_expect_termsig.c s390_guarded_storage.c \ -- s390_guarded_storage-v.c s390_pci_mmio_read_write.c \ -- s390_runtime_instr.c s390_sthyi.c s390_sthyi-v.c \ -- sched_get_priority_mxx.c sched_rr_get_interval.c \ -- sched_xetaffinity.c sched_xetattr.c sched_xetparam.c \ -- sched_xetscheduler.c sched_yield.c scm_rights.c \ -- seccomp-filter.c seccomp-filter-v.c seccomp-strict.c \ -- seccomp_get_action_avail.c select.c select-P.c semop.c \ -- semop-indirect.c semtimedop.c sendfile.c sendfile64.c \ -- set_mempolicy.c set_mempolicy-Xabbrev.c set_mempolicy-Xraw.c \ -- set_mempolicy-Xverbose.c set_ptracer_any.c set_sigblock.c \ -- set_sigign.c setdomainname.c setfsgid.c setfsgid32.c \ -- setfsuid.c setfsuid32.c setgid.c setgid32.c setgroups.c \ -- setgroups32.c sethostname.c setns.c setpgrp-exec.c setregid.c \ -- setregid32.c setresgid.c setresgid32.c setresuid.c \ -- setresuid32.c setreuid.c setreuid32.c setrlimit.c \ -- setrlimit-Xabbrev.c setrlimit-Xraw.c setrlimit-Xverbose.c \ -- setuid.c setuid32.c shmxt.c shutdown.c sigaction.c \ -- sigaltstack.c siginfo.c signal.c signal_receive.c signalfd4.c \ -- sigpending.c sigprocmask.c sigreturn.c sigsuspend.c sleep.c \ -- so_error.c so_linger.c so_peercred.c so_peercred-Xabbrev.c \ -- so_peercred-Xraw.c so_peercred-Xverbose.c sock_filter-v.c \ -- sock_filter-v-Xabbrev.c sock_filter-v-Xraw.c \ -- sock_filter-v-Xverbose.c sockaddr_xlat-Xabbrev.c \ -- sockaddr_xlat-Xraw.c sockaddr_xlat-Xverbose.c socketcall.c \ -- sockopt-sol_netlink.c sockopt-timestamp.c splice.c \ -- $(stack_fcall_SOURCES) $(stack_fcall_attach_SOURCES) \ -- $(stack_fcall_mangled_SOURCES) stat.c stat64.c statfs.c \ -- statfs64.c status-all.c status-failed.c status-failed-long.c \ -- status-failed-status.c status-none.c status-none-f.c \ -- status-none-threads.c status-successful.c \ -- status-successful-long.c status-successful-status.c \ -- status-unfinished.c status-unfinished-threads.c statx.c \ -- strace--strings-in-hex.c strace--strings-in-hex-all.c \ -+ rt_tgsigqueueinfo--pidns-translation.c run_expect_termsig.c \ -+ s390_guarded_storage.c s390_guarded_storage-v.c \ -+ s390_pci_mmio_read_write.c s390_runtime_instr.c s390_sthyi.c \ -+ s390_sthyi-v.c sched_get_priority_mxx.c \ -+ sched_rr_get_interval.c sched_xetaffinity.c \ -+ sched_xetaffinity--pidns-translation.c sched_xetattr.c \ -+ sched_xetattr--pidns-translation.c sched_xetparam.c \ -+ sched_xetparam--pidns-translation.c sched_xetscheduler.c \ -+ sched_xetscheduler--pidns-translation.c sched_yield.c \ -+ scm_rights.c seccomp-filter.c seccomp-filter-v.c \ -+ seccomp-strict.c seccomp_get_action_avail.c select.c \ -+ select-P.c semop.c semop-indirect.c semtimedop.c sendfile.c \ -+ sendfile64.c set_mempolicy.c set_mempolicy-Xabbrev.c \ -+ set_mempolicy-Xraw.c set_mempolicy-Xverbose.c \ -+ set_ptracer_any.c set_sigblock.c set_sigign.c setdomainname.c \ -+ setfsgid.c setfsgid32.c setfsuid.c setfsuid32.c setgid.c \ -+ setgid32.c setgroups.c setgroups32.c sethostname.c setns.c \ -+ setpgrp-exec.c setregid.c setregid32.c setresgid.c \ -+ setresgid32.c setresuid.c setresuid32.c setreuid.c \ -+ setreuid32.c setrlimit.c setrlimit-Xabbrev.c setrlimit-Xraw.c \ -+ setrlimit-Xverbose.c setuid.c setuid32.c shmxt.c shutdown.c \ -+ sigaction.c sigaltstack.c siginfo.c signal.c signal_receive.c \ -+ signal_receive--pidns-translation.c signalfd4.c sigpending.c \ -+ sigprocmask.c sigreturn.c sigsuspend.c sleep.c so_error.c \ -+ so_linger.c so_peercred.c so_peercred--pidns-translation.c \ -+ so_peercred-Xabbrev.c so_peercred-Xraw.c \ -+ so_peercred-Xverbose.c sock_filter-v.c sock_filter-v-Xabbrev.c \ -+ sock_filter-v-Xraw.c sock_filter-v-Xverbose.c \ -+ sockaddr_xlat-Xabbrev.c sockaddr_xlat-Xraw.c \ -+ sockaddr_xlat-Xverbose.c socketcall.c sockopt-sol_netlink.c \ -+ sockopt-timestamp.c splice.c $(stack_fcall_SOURCES) \ -+ $(stack_fcall_attach_SOURCES) $(stack_fcall_mangled_SOURCES) \ -+ stat.c stat64.c statfs.c statfs64.c status-all.c \ -+ status-failed.c status-failed-long.c status-failed-status.c \ -+ status-none.c status-none-f.c status-none-threads.c \ -+ status-successful.c status-successful-long.c \ -+ status-successful-status.c status-unfinished.c \ -+ status-unfinished-threads.c statx.c strace--strings-in-hex.c \ -+ strace--strings-in-hex-all.c \ - strace--strings-in-hex-non-ascii.c strace-x.c strace-xx.c \ - swap.c sxetmask.c symlink.c symlinkat.c sync.c \ - sync_file_range.c sync_file_range2.c sysinfo.c syslog.c \ -- syslog-success.c tee.c tgkill.c threads-execve.c \ -- threads-execve--quiet-thread-execve.c threads-execve-q.c \ -- threads-execve-qq.c threads-execve-qqq.c time.c timer_create.c \ -- timer_xettime.c timerfd_xettime.c times.c times-fail.c tkill.c \ -- tracer_ppid_pgid_sid.c truncate.c truncate64.c ugetrlimit.c \ -- uio.c umask.c umount.c umount2.c umoven-illptr.c umovestr.c \ -- umovestr-illptr.c umovestr2.c umovestr3.c umovestr_cached.c \ -- umovestr_cached_adjacent.c uname.c unblock_reset_raise.c \ -- unix-pair-send-recv.c unix-pair-sendto-recvfrom.c unlink.c \ -- unlinkat.c unshare.c userfaultfd.c ustat.c utime.c utimensat.c \ -- utimensat-Xabbrev.c utimensat-Xraw.c utimensat-Xverbose.c \ -- utimes.c vfork-f.c vhangup.c vmsplice.c wait4.c wait4-v.c \ -- waitid.c waitid-v.c waitpid.c xattr.c xattr-strings.c \ -- xet_robust_list.c xet_thread_area_x86.c xetitimer.c xetpgid.c \ -- xetpriority.c xettimeofday.c zeroargc.c -+ syslog-success.c tee.c tgkill.c tgkill--pidns-translation.c \ -+ threads-execve.c threads-execve--quiet-thread-execve.c \ -+ threads-execve-q.c threads-execve-qq.c threads-execve-qqq.c \ -+ time.c timer_create.c timer_xettime.c timerfd_xettime.c \ -+ times.c times-fail.c tkill.c tkill--pidns-translation.c \ -+ tracer_ppid_pgid_sid.c $(trie_test_SOURCES) truncate.c \ -+ truncate64.c ugetrlimit.c uio.c umask.c umount.c umount2.c \ -+ umoven-illptr.c umovestr.c umovestr-illptr.c umovestr2.c \ -+ umovestr3.c umovestr_cached.c umovestr_cached_adjacent.c \ -+ uname.c unblock_reset_raise.c unix-pair-send-recv.c \ -+ unix-pair-sendto-recvfrom.c unlink.c unlinkat.c unshare.c \ -+ userfaultfd.c ustat.c utime.c utimensat.c utimensat-Xabbrev.c \ -+ utimensat-Xraw.c utimensat-Xverbose.c utimes.c vfork-f.c \ -+ vhangup.c vmsplice.c wait4.c wait4-v.c waitid.c waitid-v.c \ -+ waitpid.c xattr.c xattr-strings.c xet_robust_list.c \ -+ xet_robust_list--pidns-translation.c xet_thread_area_x86.c \ -+ xetitimer.c xetpgid.c xetpgid--pidns-translation.c \ -+ xetpriority.c xetpriority--pidns-translation.c xettimeofday.c \ -+ zeroargc.c - am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ -@@ -5145,6 +5432,7 @@ - test_ucopy.h \ - tests.h \ - tprintf.c \ -+ xmalloc_for_tests.c \ - # end of libtests_a_SOURCES - - libtests_a_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64 -@@ -5825,6 +6113,10 @@ - stack-fcall-mangled-0.c stack-fcall-mangled-1.c \ - stack-fcall-mangled-2.c stack-fcall-mangled-3.c - -+trie_test_SOURCES = trie_test.c trie_for_tests.c -+trie_test_CPPFLAGS = $(AM_CPPFLAGS) $(CODE_COVERAGE_CPPFLAGS) -+trie_test_CFLAGS = $(AM_CFLAGS) $(CODE_COVERAGE_CFLAGS) -+trie_test_LDADD = $(LDADD) $(CODE_COVERAGE_LIBS) - - # Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in; do not edit. - GEN_TESTS = _newselect.gen.test _newselect-P.gen.test accept.gen.test \ -@@ -5861,13 +6153,14 @@ - fanotify_mark-Xverbose.gen.test fchdir.gen.test \ - fchmod.gen.test fchmodat.gen.test fchown.gen.test \ - fchown32.gen.test fchownat.gen.test fcntl.gen.test \ -- fcntl64.gen.test fdatasync.gen.test file_handle.gen.test \ -- file_ioctl.gen.test filter_seccomp.gen.test \ -- filter_seccomp-flag.gen.test finit_module.gen.test \ -- flock.gen.test fork-f.gen.test fsconfig.gen.test \ -- fsconfig-P.gen.test fsmount.gen.test fsopen.gen.test \ -- fspick.gen.test fspick-P.gen.test fstat.gen.test \ -- fstat-Xabbrev.gen.test fstat-Xraw.gen.test \ -+ fcntl--pidns-translation.gen.test fcntl64.gen.test \ -+ fcntl64--pidns-translation.gen.test fdatasync.gen.test \ -+ file_handle.gen.test file_ioctl.gen.test \ -+ filter_seccomp.gen.test filter_seccomp-flag.gen.test \ -+ finit_module.gen.test flock.gen.test fork-f.gen.test \ -+ fsconfig.gen.test fsconfig-P.gen.test fsmount.gen.test \ -+ fsopen.gen.test fspick.gen.test fspick-P.gen.test \ -+ fstat.gen.test fstat-Xabbrev.gen.test fstat-Xraw.gen.test \ - fstat-Xverbose.gen.test fstat64.gen.test \ - fstat64-Xabbrev.gen.test fstat64-Xraw.gen.test \ - fstat64-Xverbose.gen.test fstatat64.gen.test fstatfs.gen.test \ -@@ -5881,11 +6174,13 @@ - geteuid32-creds.gen.test getgid.gen.test getgid-creds.gen.test \ - getgid32.gen.test getgid32-creds.gen.test getgroups.gen.test \ - getgroups32.gen.test getpeername.gen.test getpgrp.gen.test \ -- getpid.gen.test getppid.gen.test getrandom.gen.test \ -- getresgid.gen.test getresgid32.gen.test getresuid.gen.test \ -- getresuid32.gen.test getrlimit.gen.test getrusage.gen.test \ -- getsid.gen.test getsockname.gen.test gettid.gen.test \ -- getuid-creds.gen.test getuid32.gen.test \ -+ getpgrp--pidns-translation.gen.test getpid.gen.test \ -+ getpid--pidns-translation.gen.test getppid.gen.test \ -+ getrandom.gen.test getresgid.gen.test getresgid32.gen.test \ -+ getresuid.gen.test getresuid32.gen.test getrlimit.gen.test \ -+ getrusage.gen.test getsid.gen.test \ -+ getsid--pidns-translation.gen.test getsockname.gen.test \ -+ gettid.gen.test getuid-creds.gen.test getuid32.gen.test \ - getuid32-creds.gen.test getxgid.gen.test getxpid.gen.test \ - getxuid.gen.test group_req.gen.test inet-cmsg.gen.test \ - init_module.gen.test inotify.gen.test inotify_init.gen.test \ -@@ -5937,9 +6232,9 @@ - ioctl_v4l2-success-v-Xraw.gen.test \ - ioctl_v4l2-success-v-Xverbose.gen.test ioctl_watchdog.gen.test \ - ioperm.gen.test iopl.gen.test ioprio.gen.test \ -- ioprio-Xabbrev.gen.test ioprio-Xraw.gen.test \ -- ioprio-Xverbose.gen.test ip_mreq.gen.test ipc.gen.test \ -- ipc_msg.gen.test ipc_msg-Xabbrev.gen.test \ -+ ioprio--pidns-translation.gen.test ioprio-Xabbrev.gen.test \ -+ ioprio-Xraw.gen.test ioprio-Xverbose.gen.test ip_mreq.gen.test \ -+ ipc.gen.test ipc_msg.gen.test ipc_msg-Xabbrev.gen.test \ - ipc_msg-Xraw.gen.test ipc_msg-Xverbose.gen.test \ - ipc_msgbuf-Xabbrev.gen.test ipc_msgbuf-Xraw.gen.test \ - ipc_msgbuf-Xverbose.gen.test ipc_sem.gen.test \ -@@ -5947,24 +6242,27 @@ - ipc_sem-Xverbose.gen.test ipc_shm.gen.test \ - ipc_shm-Xabbrev.gen.test ipc_shm-Xraw.gen.test \ - ipc_shm-Xverbose.gen.test kcmp.gen.test kcmp-y.gen.test \ -- kern_features.gen.test kernel_version.gen.test \ -- kernel_version-Xabbrev.gen.test kernel_version-Xraw.gen.test \ -- kernel_version-Xverbose.gen.test kexec_file_load.gen.test \ -- kexec_load.gen.test keyctl.gen.test keyctl-Xabbrev.gen.test \ -- keyctl-Xraw.gen.test keyctl-Xverbose.gen.test kill.gen.test \ -- ksysent.gen.test lchown.gen.test lchown32.gen.test \ -- link.gen.test linkat.gen.test lookup_dcookie.gen.test \ -- lstat.gen.test lstat64.gen.test madvise.gen.test \ -+ kcmp-y--pidns-translation.gen.test kern_features.gen.test \ -+ kernel_version.gen.test kernel_version-Xabbrev.gen.test \ -+ kernel_version-Xraw.gen.test kernel_version-Xverbose.gen.test \ -+ kexec_file_load.gen.test kexec_load.gen.test keyctl.gen.test \ -+ keyctl-Xabbrev.gen.test keyctl-Xraw.gen.test \ -+ keyctl-Xverbose.gen.test kill.gen.test \ -+ kill--pidns-translation.gen.test ksysent.gen.test \ -+ lchown.gen.test lchown32.gen.test link.gen.test \ -+ linkat.gen.test lookup_dcookie.gen.test lstat.gen.test \ -+ lstat64.gen.test madvise.gen.test \ - maybe_switch_current_tcp.gen.test \ - maybe_switch_current_tcp--quiet-thread-execve.gen.test \ - mbind.gen.test mbind-Xabbrev.gen.test mbind-Xraw.gen.test \ - mbind-Xverbose.gen.test membarrier.gen.test \ - memfd_create.gen.test memfd_create-Xabbrev.gen.test \ - memfd_create-Xraw.gen.test memfd_create-Xverbose.gen.test \ -- migrate_pages.gen.test mincore.gen.test mkdir.gen.test \ -- mkdirat.gen.test mknod.gen.test mknodat.gen.test \ -- mlock.gen.test mlock2.gen.test mlockall.gen.test \ -- mmap-Xabbrev.gen.test mmap-Xraw.gen.test \ -+ migrate_pages.gen.test \ -+ migrate_pages--pidns-translation.gen.test mincore.gen.test \ -+ mkdir.gen.test mkdirat.gen.test mknod.gen.test \ -+ mknodat.gen.test mlock.gen.test mlock2.gen.test \ -+ mlockall.gen.test mmap-Xabbrev.gen.test mmap-Xraw.gen.test \ - mmap-Xverbose.gen.test mmap64.gen.test mmap64-Xabbrev.gen.test \ - mmap64-Xraw.gen.test mmap64-Xverbose.gen.test mmsg.gen.test \ - mmsg-silent.gen.test mmsg_name.gen.test mmsg_name-v.gen.test \ -@@ -5972,17 +6270,19 @@ - mount-Xraw.gen.test mount-Xverbose.gen.test \ - move_mount.gen.test move_mount-P.gen.test move_pages.gen.test \ - move_pages-Xabbrev.gen.test move_pages-Xraw.gen.test \ -- move_pages-Xverbose.gen.test mq.gen.test mq_sendrecv.gen.test \ -- mq_sendrecv-read.gen.test mq_sendrecv-write.gen.test \ -- msg_control.gen.test msg_control-v.gen.test msg_name.gen.test \ -- munlockall.gen.test nanosleep.gen.test \ -- net--decode-fds-dev-netlink.gen.test \ -+ move_pages-Xverbose.gen.test \ -+ move_pages--pidns-translation.gen.test mq.gen.test \ -+ mq_sendrecv.gen.test mq_sendrecv-read.gen.test \ -+ mq_sendrecv-write.gen.test msg_control.gen.test \ -+ msg_control-v.gen.test msg_name.gen.test munlockall.gen.test \ -+ nanosleep.gen.test net--decode-fds-dev-netlink.gen.test \ - net--decode-fds-none-netlink.gen.test \ - net--decode-fds-path-netlink.gen.test \ - net--decode-fds-socket-netlink.gen.test \ - net-icmp_filter.gen.test net-packet_mreq.gen.test \ - net-packet_mreq-Xabbrev.gen.test net-packet_mreq-Xraw.gen.test \ - net-packet_mreq-Xverbose.gen.test net-sockaddr.gen.test \ -+ net-sockaddr--pidns-translation.gen.test \ - net-tpacket_req.gen.test net-tpacket_stats.gen.test \ - net-yy-inet6.gen.test netlink_audit.gen.test \ - netlink_crypto.gen.test netlink_generic.gen.test \ -@@ -6036,18 +6336,25 @@ - pidfd_open--decode-fd-pidfd.gen.test \ - pidfd_open--decode-fd-socket.gen.test pidfd_open-P.gen.test \ - pidfd_open-y.gen.test pidfd_open-yy.gen.test \ -- pidfd_send_signal.gen.test pipe2.gen.test pkey_alloc.gen.test \ -- pkey_free.gen.test pkey_mprotect.gen.test ppoll.gen.test \ -- ppoll-P.gen.test ppoll-v.gen.test pread64-pwrite64.gen.test \ -- preadv.gen.test preadv-pwritev.gen.test \ -- preadv2-pwritev2.gen.test printpath-umovestr.gen.test \ -+ pidfd_open--pidns-translation.gen.test \ -+ pidfd_send_signal.gen.test \ -+ pidfd_send_signal--pidns-translation.gen.test pipe2.gen.test \ -+ pkey_alloc.gen.test pkey_free.gen.test pkey_mprotect.gen.test \ -+ ppoll.gen.test ppoll-P.gen.test ppoll-v.gen.test \ -+ pread64-pwrite64.gen.test preadv.gen.test \ -+ preadv-pwritev.gen.test preadv2-pwritev2.gen.test \ -+ printpath-umovestr.gen.test \ - printpath-umovestr-peekdata.gen.test \ - printpath-umovestr-undumpable.gen.test \ - printsignal-Xabbrev.gen.test printsignal-Xraw.gen.test \ - printsignal-Xverbose.gen.test printstr.gen.test \ - printstrn-umoven.gen.test printstrn-umoven-peekdata.gen.test \ - printstrn-umoven-undumpable.gen.test prlimit64.gen.test \ -- process_vm_readv.gen.test process_vm_writev.gen.test \ -+ prlimit64--pidns-translation.gen.test \ -+ process_vm_readv.gen.test \ -+ process_vm_readv--pidns-translation.gen.test \ -+ process_vm_writev.gen.test \ -+ process_vm_writev--pidns-translation.gen.test \ - pselect6.gen.test ptrace.gen.test ptrace_syscall_info.gen.test \ - pwritev.gen.test quotactl.gen.test quotactl-Xabbrev.gen.test \ - quotactl-Xraw.gen.test quotactl-Xverbose.gen.test \ -@@ -6063,15 +6370,23 @@ - renameat.gen.test renameat2.gen.test request_key.gen.test \ - riscv_flush_icache.gen.test rmdir.gen.test \ - rt_sigpending.gen.test rt_sigprocmask.gen.test \ -- rt_sigqueueinfo.gen.test rt_sigreturn.gen.test \ -- rt_sigsuspend.gen.test rt_sigtimedwait.gen.test \ -- rt_tgsigqueueinfo.gen.test s390_guarded_storage.gen.test \ -- s390_guarded_storage-v.gen.test \ -+ rt_sigqueueinfo.gen.test \ -+ rt_sigqueueinfo--pidns-translation.gen.test \ -+ rt_sigreturn.gen.test rt_sigsuspend.gen.test \ -+ rt_sigtimedwait.gen.test rt_tgsigqueueinfo.gen.test \ -+ rt_tgsigqueueinfo--pidns-translation.gen.test \ -+ s390_guarded_storage.gen.test s390_guarded_storage-v.gen.test \ - s390_pci_mmio_read_write.gen.test s390_runtime_instr.gen.test \ - s390_sthyi.gen.test s390_sthyi-v.gen.test sched.gen.test \ - sched_get_priority_mxx.gen.test sched_rr_get_interval.gen.test \ -- sched_xetaffinity.gen.test sched_xetattr.gen.test \ -- sched_xetparam.gen.test sched_xetscheduler.gen.test \ -+ sched_xetaffinity.gen.test \ -+ sched_xetaffinity--pidns-translation.gen.test \ -+ sched_xetattr.gen.test \ -+ sched_xetattr--pidns-translation.gen.test \ -+ sched_xetparam.gen.test \ -+ sched_xetparam--pidns-translation.gen.test \ -+ sched_xetscheduler.gen.test \ -+ sched_xetscheduler--pidns-translation.gen.test \ - sched_yield.gen.test seccomp-filter.gen.test \ - seccomp-filter-v.gen.test seccomp_get_action_avail.gen.test \ - select.gen.test select-P.gen.test semop.gen.test \ -@@ -6089,18 +6404,20 @@ - setrlimit-Xraw.gen.test setrlimit-Xverbose.gen.test \ - setuid.gen.test setuid32.gen.test shmxt.gen.test \ - shutdown.gen.test sigaction.gen.test siginfo.gen.test \ -- signal.gen.test signal_receive.gen.test signalfd4.gen.test \ -+ signal.gen.test signal_receive.gen.test \ -+ signal_receive--pidns-translation.gen.test signalfd4.gen.test \ - sigpending.gen.test sigprocmask.gen.test sigreturn.gen.test \ - sigsuspend.gen.test so_error.gen.test so_linger.gen.test \ - so_peercred.gen.test so_peercred-Xabbrev.gen.test \ - so_peercred-Xraw.gen.test so_peercred-Xverbose.gen.test \ -- sock_filter-v.gen.test sock_filter-v-Xabbrev.gen.test \ -- sock_filter-v-Xraw.gen.test sock_filter-v-Xverbose.gen.test \ -- sockaddr_xlat-Xabbrev.gen.test sockaddr_xlat-Xraw.gen.test \ -- sockaddr_xlat-Xverbose.gen.test socketcall.gen.test \ -- sockopt-sol_netlink.gen.test sockopt-timestamp.gen.test \ -- splice.gen.test stat.gen.test stat64.gen.test statfs.gen.test \ -- statfs64.gen.test status-all.gen.test status-failed.gen.test \ -+ so_peercred--pidns-translation.gen.test sock_filter-v.gen.test \ -+ sock_filter-v-Xabbrev.gen.test sock_filter-v-Xraw.gen.test \ -+ sock_filter-v-Xverbose.gen.test sockaddr_xlat-Xabbrev.gen.test \ -+ sockaddr_xlat-Xraw.gen.test sockaddr_xlat-Xverbose.gen.test \ -+ socketcall.gen.test sockopt-sol_netlink.gen.test \ -+ sockopt-timestamp.gen.test splice.gen.test stat.gen.test \ -+ stat64.gen.test statfs.gen.test statfs64.gen.test \ -+ status-all.gen.test status-failed.gen.test \ - status-failed-long.gen.test status-failed-status.gen.test \ - status-none.gen.test status-successful.gen.test \ - status-successful-long.gen.test \ -@@ -6142,33 +6459,37 @@ - symlink.gen.test symlinkat.gen.test sync.gen.test \ - sync_file_range.gen.test sync_file_range2.gen.test \ - sysinfo.gen.test syslog.gen.test tee.gen.test tgkill.gen.test \ -+ tgkill--pidns-translation.gen.test \ - threads-execve--quiet-thread-execve.gen.test \ - threads-execve-q.gen.test threads-execve-qq.gen.test \ - threads-execve-qqq.gen.test time.gen.test \ - timer_create.gen.test timer_xettime.gen.test \ - timerfd_xettime.gen.test times.gen.test times-fail.gen.test \ -- tkill.gen.test trace_clock.gen.test trace_creds.gen.test \ -- trace_fstat.gen.test trace_fstatfs.gen.test \ -- trace_lstat.gen.test trace_personality_32.gen.test \ -- trace_personality_64.gen.test \ -+ tkill.gen.test tkill--pidns-translation.gen.test \ -+ trace_clock.gen.test trace_creds.gen.test trace_fstat.gen.test \ -+ trace_fstatfs.gen.test trace_lstat.gen.test \ -+ trace_personality_32.gen.test trace_personality_64.gen.test \ - trace_personality_regex_32.gen.test \ - trace_personality_regex_64.gen.test \ - trace_personality_regex_x32.gen.test \ - trace_personality_x32.gen.test trace_question.gen.test \ - trace_stat.gen.test trace_stat_like.gen.test \ - trace_statfs.gen.test trace_statfs_like.gen.test \ -- truncate.gen.test truncate64.gen.test ugetrlimit.gen.test \ -- umask.gen.test umoven-illptr.gen.test umovestr-illptr.gen.test \ -- umovestr3.gen.test umovestr_cached_adjacent.gen.test \ -- unlink.gen.test unlinkat.gen.test unshare.gen.test \ -- userfaultfd.gen.test ustat.gen.test utime.gen.test \ -- utimensat.gen.test utimensat-Xabbrev.gen.test \ -- utimensat-Xraw.gen.test utimensat-Xverbose.gen.test \ -- utimes.gen.test vfork-f.gen.test vhangup.gen.test \ -- vmsplice.gen.test wait4.gen.test wait4-v.gen.test \ -- waitid.gen.test waitid-v.gen.test waitpid.gen.test \ -- xattr.gen.test xattr-strings.gen.test xet_robust_list.gen.test \ -- xetitimer.gen.test xetpgid.gen.test xetpriority.gen.test \ -+ trie_test.gen.test truncate.gen.test truncate64.gen.test \ -+ ugetrlimit.gen.test umask.gen.test umoven-illptr.gen.test \ -+ umovestr-illptr.gen.test umovestr3.gen.test \ -+ umovestr_cached_adjacent.gen.test unlink.gen.test \ -+ unlinkat.gen.test unshare.gen.test userfaultfd.gen.test \ -+ ustat.gen.test utime.gen.test utimensat.gen.test \ -+ utimensat-Xabbrev.gen.test utimensat-Xraw.gen.test \ -+ utimensat-Xverbose.gen.test utimes.gen.test vfork-f.gen.test \ -+ vhangup.gen.test vmsplice.gen.test wait4.gen.test \ -+ wait4-v.gen.test waitid.gen.test waitid-v.gen.test \ -+ waitpid.gen.test xattr.gen.test xattr-strings.gen.test \ -+ xet_robust_list.gen.test \ -+ xet_robust_list--pidns-translation.gen.test xetitimer.gen.test \ -+ xetpgid.gen.test xetpgid--pidns-translation.gen.test \ -+ xetpriority.gen.test xetpriority--pidns-translation.gen.test \ - xettimeofday.gen.test - @ENABLE_STACKTRACE_FALSE@STACKTRACE_TESTS = - @ENABLE_STACKTRACE_TRUE@STACKTRACE_TESTS = strace-k.test \ -@@ -6198,6 +6519,7 @@ - int_0x80.test \ - inotify_init-y.test \ - ioctl.test \ -+ ioctl_block--pidns-translation.test \ - ioctl_evdev-success.test \ - ipc_msgbuf.test \ - kern_features-fault.test \ -@@ -6269,15 +6591,19 @@ - filtering_fd-syntax.test \ - filtering_syscall-syntax.test \ - first_exec_failure.test \ -+ fork--pidns-translation.test \ - get_regs.test \ -+ gettid--pidns-translation.test \ - inject-nf.test \ - interactive_block.test \ - kill_child.test \ - localtime.test \ - looping_threads.test \ -+ netlink_audit--pidns-translation.test \ - opipe.test \ - options-syntax.test \ - pc.test \ -+ pidns-cache.test \ - printpath-umovestr-legacy.test \ - printstrn-umoven-legacy.test \ - qual_fault-syntax.test \ -@@ -6350,6 +6676,7 @@ - filter_seccomp.in \ - filter_seccomp.sh \ - filter-unavailable.expected \ -+ fork--pidns-translation.awk \ - fstatat.c \ - fstatx.c \ - gen_pure_executables.sh \ -@@ -6935,10 +7262,18 @@ - @rm -f fcntl$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(fcntl_OBJECTS) $(fcntl_LDADD) $(LIBS) - -+fcntl--pidns-translation$(EXEEXT): $(fcntl__pidns_translation_OBJECTS) $(fcntl__pidns_translation_DEPENDENCIES) $(EXTRA_fcntl__pidns_translation_DEPENDENCIES) -+ @rm -f fcntl--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(fcntl__pidns_translation_OBJECTS) $(fcntl__pidns_translation_LDADD) $(LIBS) -+ - fcntl64$(EXEEXT): $(fcntl64_OBJECTS) $(fcntl64_DEPENDENCIES) $(EXTRA_fcntl64_DEPENDENCIES) - @rm -f fcntl64$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(fcntl64_OBJECTS) $(fcntl64_LDADD) $(LIBS) - -+fcntl64--pidns-translation$(EXEEXT): $(fcntl64__pidns_translation_OBJECTS) $(fcntl64__pidns_translation_DEPENDENCIES) $(EXTRA_fcntl64__pidns_translation_DEPENDENCIES) -+ @rm -f fcntl64--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(fcntl64__pidns_translation_OBJECTS) $(fcntl64__pidns_translation_LDADD) $(LIBS) -+ - fdatasync$(EXEEXT): $(fdatasync_OBJECTS) $(fdatasync_DEPENDENCIES) $(EXTRA_fdatasync_DEPENDENCIES) - @rm -f fdatasync$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(fdatasync_OBJECTS) $(fdatasync_LDADD) $(LIBS) -@@ -6975,6 +7310,10 @@ - @rm -f flock$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(flock_OBJECTS) $(flock_LDADD) $(LIBS) - -+fork--pidns-translation$(EXEEXT): $(fork__pidns_translation_OBJECTS) $(fork__pidns_translation_DEPENDENCIES) $(EXTRA_fork__pidns_translation_DEPENDENCIES) -+ @rm -f fork--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(fork__pidns_translation_OBJECTS) $(fork__pidns_translation_LDADD) $(LIBS) -+ - fork-f$(EXEEXT): $(fork_f_OBJECTS) $(fork_f_DEPENDENCIES) $(EXTRA_fork_f_DEPENDENCIES) - @rm -f fork-f$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(fork_f_OBJECTS) $(fork_f_LDADD) $(LIBS) -@@ -7143,10 +7482,18 @@ - @rm -f getpgrp$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(getpgrp_OBJECTS) $(getpgrp_LDADD) $(LIBS) - -+getpgrp--pidns-translation$(EXEEXT): $(getpgrp__pidns_translation_OBJECTS) $(getpgrp__pidns_translation_DEPENDENCIES) $(EXTRA_getpgrp__pidns_translation_DEPENDENCIES) -+ @rm -f getpgrp--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(getpgrp__pidns_translation_OBJECTS) $(getpgrp__pidns_translation_LDADD) $(LIBS) -+ - getpid$(EXEEXT): $(getpid_OBJECTS) $(getpid_DEPENDENCIES) $(EXTRA_getpid_DEPENDENCIES) - @rm -f getpid$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(getpid_OBJECTS) $(getpid_LDADD) $(LIBS) - -+getpid--pidns-translation$(EXEEXT): $(getpid__pidns_translation_OBJECTS) $(getpid__pidns_translation_DEPENDENCIES) $(EXTRA_getpid__pidns_translation_DEPENDENCIES) -+ @rm -f getpid--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(getpid__pidns_translation_OBJECTS) $(getpid__pidns_translation_LDADD) $(LIBS) -+ - getppid$(EXEEXT): $(getppid_OBJECTS) $(getppid_DEPENDENCIES) $(EXTRA_getppid_DEPENDENCIES) - @rm -f getppid$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(getppid_OBJECTS) $(getppid_LDADD) $(LIBS) -@@ -7183,6 +7530,10 @@ - @rm -f getsid$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(getsid_OBJECTS) $(getsid_LDADD) $(LIBS) - -+getsid--pidns-translation$(EXEEXT): $(getsid__pidns_translation_OBJECTS) $(getsid__pidns_translation_DEPENDENCIES) $(EXTRA_getsid__pidns_translation_DEPENDENCIES) -+ @rm -f getsid--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(getsid__pidns_translation_OBJECTS) $(getsid__pidns_translation_LDADD) $(LIBS) -+ - getsockname$(EXEEXT): $(getsockname_OBJECTS) $(getsockname_DEPENDENCIES) $(EXTRA_getsockname_DEPENDENCIES) - @rm -f getsockname$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(getsockname_OBJECTS) $(getsockname_LDADD) $(LIBS) -@@ -7191,6 +7542,10 @@ - @rm -f gettid$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(gettid_OBJECTS) $(gettid_LDADD) $(LIBS) - -+gettid--pidns-translation$(EXEEXT): $(gettid__pidns_translation_OBJECTS) $(gettid__pidns_translation_DEPENDENCIES) $(EXTRA_gettid__pidns_translation_DEPENDENCIES) -+ @rm -f gettid--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(gettid__pidns_translation_OBJECTS) $(gettid__pidns_translation_LDADD) $(LIBS) -+ - getuid$(EXEEXT): $(getuid_OBJECTS) $(getuid_DEPENDENCIES) $(EXTRA_getuid_DEPENDENCIES) - @rm -f getuid$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(getuid_OBJECTS) $(getuid_LDADD) $(LIBS) -@@ -7271,6 +7626,10 @@ - @rm -f ioctl_block$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(ioctl_block_OBJECTS) $(ioctl_block_LDADD) $(LIBS) - -+ioctl_block--pidns-translation$(EXEEXT): $(ioctl_block__pidns_translation_OBJECTS) $(ioctl_block__pidns_translation_DEPENDENCIES) $(EXTRA_ioctl_block__pidns_translation_DEPENDENCIES) -+ @rm -f ioctl_block--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(ioctl_block__pidns_translation_OBJECTS) $(ioctl_block__pidns_translation_LDADD) $(LIBS) -+ - ioctl_dm$(EXEEXT): $(ioctl_dm_OBJECTS) $(ioctl_dm_DEPENDENCIES) $(EXTRA_ioctl_dm_DEPENDENCIES) - @rm -f ioctl_dm$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(ioctl_dm_OBJECTS) $(ioctl_dm_LDADD) $(LIBS) -@@ -7571,6 +7930,10 @@ - @rm -f ioprio$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(ioprio_OBJECTS) $(ioprio_LDADD) $(LIBS) - -+ioprio--pidns-translation$(EXEEXT): $(ioprio__pidns_translation_OBJECTS) $(ioprio__pidns_translation_DEPENDENCIES) $(EXTRA_ioprio__pidns_translation_DEPENDENCIES) -+ @rm -f ioprio--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(ioprio__pidns_translation_OBJECTS) $(ioprio__pidns_translation_LDADD) $(LIBS) -+ - ioprio-Xabbrev$(EXEEXT): $(ioprio_Xabbrev_OBJECTS) $(ioprio_Xabbrev_DEPENDENCIES) $(EXTRA_ioprio_Xabbrev_DEPENDENCIES) - @rm -f ioprio-Xabbrev$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(ioprio_Xabbrev_OBJECTS) $(ioprio_Xabbrev_LDADD) $(LIBS) -@@ -7667,6 +8030,10 @@ - @rm -f kcmp-y$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(kcmp_y_OBJECTS) $(kcmp_y_LDADD) $(LIBS) - -+kcmp-y--pidns-translation$(EXEEXT): $(kcmp_y__pidns_translation_OBJECTS) $(kcmp_y__pidns_translation_DEPENDENCIES) $(EXTRA_kcmp_y__pidns_translation_DEPENDENCIES) -+ @rm -f kcmp-y--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(kcmp_y__pidns_translation_OBJECTS) $(kcmp_y__pidns_translation_LDADD) $(LIBS) -+ - kern_features$(EXEEXT): $(kern_features_OBJECTS) $(kern_features_DEPENDENCIES) $(EXTRA_kern_features_DEPENDENCIES) - @rm -f kern_features$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(kern_features_OBJECTS) $(kern_features_LDADD) $(LIBS) -@@ -7715,6 +8082,10 @@ - @rm -f kill$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(kill_OBJECTS) $(kill_LDADD) $(LIBS) - -+kill--pidns-translation$(EXEEXT): $(kill__pidns_translation_OBJECTS) $(kill__pidns_translation_DEPENDENCIES) $(EXTRA_kill__pidns_translation_DEPENDENCIES) -+ @rm -f kill--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(kill__pidns_translation_OBJECTS) $(kill__pidns_translation_LDADD) $(LIBS) -+ - kill_child$(EXEEXT): $(kill_child_OBJECTS) $(kill_child_DEPENDENCIES) $(EXTRA_kill_child_DEPENDENCIES) - @rm -f kill_child$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(kill_child_OBJECTS) $(kill_child_LDADD) $(LIBS) -@@ -7823,6 +8194,10 @@ - @rm -f migrate_pages$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(migrate_pages_OBJECTS) $(migrate_pages_LDADD) $(LIBS) - -+migrate_pages--pidns-translation$(EXEEXT): $(migrate_pages__pidns_translation_OBJECTS) $(migrate_pages__pidns_translation_DEPENDENCIES) $(EXTRA_migrate_pages__pidns_translation_DEPENDENCIES) -+ @rm -f migrate_pages--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(migrate_pages__pidns_translation_OBJECTS) $(migrate_pages__pidns_translation_LDADD) $(LIBS) -+ - mincore$(EXEEXT): $(mincore_OBJECTS) $(mincore_DEPENDENCIES) $(EXTRA_mincore_DEPENDENCIES) - @rm -f mincore$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(mincore_OBJECTS) $(mincore_LDADD) $(LIBS) -@@ -7935,6 +8310,10 @@ - @rm -f move_pages$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(move_pages_OBJECTS) $(move_pages_LDADD) $(LIBS) - -+move_pages--pidns-translation$(EXEEXT): $(move_pages__pidns_translation_OBJECTS) $(move_pages__pidns_translation_DEPENDENCIES) $(EXTRA_move_pages__pidns_translation_DEPENDENCIES) -+ @rm -f move_pages--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(move_pages__pidns_translation_OBJECTS) $(move_pages__pidns_translation_LDADD) $(LIBS) -+ - move_pages-Xabbrev$(EXEEXT): $(move_pages_Xabbrev_OBJECTS) $(move_pages_Xabbrev_DEPENDENCIES) $(EXTRA_move_pages_Xabbrev_DEPENDENCIES) - @rm -f move_pages-Xabbrev$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(move_pages_Xabbrev_OBJECTS) $(move_pages_Xabbrev_LDADD) $(LIBS) -@@ -8027,6 +8406,10 @@ - @rm -f net-sockaddr$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(net_sockaddr_OBJECTS) $(net_sockaddr_LDADD) $(LIBS) - -+net-sockaddr--pidns-translation$(EXEEXT): $(net_sockaddr__pidns_translation_OBJECTS) $(net_sockaddr__pidns_translation_DEPENDENCIES) $(EXTRA_net_sockaddr__pidns_translation_DEPENDENCIES) -+ @rm -f net-sockaddr--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(net_sockaddr__pidns_translation_OBJECTS) $(net_sockaddr__pidns_translation_LDADD) $(LIBS) -+ - net-tpacket_req$(EXEEXT): $(net_tpacket_req_OBJECTS) $(net_tpacket_req_DEPENDENCIES) $(EXTRA_net_tpacket_req_DEPENDENCIES) - @rm -f net-tpacket_req$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(net_tpacket_req_OBJECTS) $(net_tpacket_req_LDADD) $(LIBS) -@@ -8063,6 +8446,10 @@ - @rm -f netlink_audit$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(netlink_audit_OBJECTS) $(netlink_audit_LDADD) $(LIBS) - -+netlink_audit--pidns-translation$(EXEEXT): $(netlink_audit__pidns_translation_OBJECTS) $(netlink_audit__pidns_translation_DEPENDENCIES) $(EXTRA_netlink_audit__pidns_translation_DEPENDENCIES) -+ @rm -f netlink_audit--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(netlink_audit__pidns_translation_OBJECTS) $(netlink_audit__pidns_translation_LDADD) $(LIBS) -+ - netlink_crypto$(EXEEXT): $(netlink_crypto_OBJECTS) $(netlink_crypto_DEPENDENCIES) $(EXTRA_netlink_crypto_DEPENDENCIES) - @rm -f netlink_crypto$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(netlink_crypto_OBJECTS) $(netlink_crypto_LDADD) $(LIBS) -@@ -8479,6 +8866,10 @@ - @rm -f pidfd_open--decode-fd-socket$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(pidfd_open__decode_fd_socket_OBJECTS) $(pidfd_open__decode_fd_socket_LDADD) $(LIBS) - -+pidfd_open--pidns-translation$(EXEEXT): $(pidfd_open__pidns_translation_OBJECTS) $(pidfd_open__pidns_translation_DEPENDENCIES) $(EXTRA_pidfd_open__pidns_translation_DEPENDENCIES) -+ @rm -f pidfd_open--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(pidfd_open__pidns_translation_OBJECTS) $(pidfd_open__pidns_translation_LDADD) $(LIBS) -+ - pidfd_open-P$(EXEEXT): $(pidfd_open_P_OBJECTS) $(pidfd_open_P_DEPENDENCIES) $(EXTRA_pidfd_open_P_DEPENDENCIES) - @rm -f pidfd_open-P$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(pidfd_open_P_OBJECTS) $(pidfd_open_P_LDADD) $(LIBS) -@@ -8495,6 +8886,14 @@ - @rm -f pidfd_send_signal$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(pidfd_send_signal_OBJECTS) $(pidfd_send_signal_LDADD) $(LIBS) - -+pidfd_send_signal--pidns-translation$(EXEEXT): $(pidfd_send_signal__pidns_translation_OBJECTS) $(pidfd_send_signal__pidns_translation_DEPENDENCIES) $(EXTRA_pidfd_send_signal__pidns_translation_DEPENDENCIES) -+ @rm -f pidfd_send_signal--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(pidfd_send_signal__pidns_translation_OBJECTS) $(pidfd_send_signal__pidns_translation_LDADD) $(LIBS) -+ -+pidns-cache$(EXEEXT): $(pidns_cache_OBJECTS) $(pidns_cache_DEPENDENCIES) $(EXTRA_pidns_cache_DEPENDENCIES) -+ @rm -f pidns-cache$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(pidns_cache_OBJECTS) $(pidns_cache_LDADD) $(LIBS) -+ - pipe$(EXEEXT): $(pipe_OBJECTS) $(pipe_DEPENDENCIES) $(EXTRA_pipe_DEPENDENCIES) - @rm -f pipe$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(pipe_OBJECTS) $(pipe_LDADD) $(LIBS) -@@ -8647,14 +9046,26 @@ - @rm -f prlimit64$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(prlimit64_OBJECTS) $(prlimit64_LDADD) $(LIBS) - -+prlimit64--pidns-translation$(EXEEXT): $(prlimit64__pidns_translation_OBJECTS) $(prlimit64__pidns_translation_DEPENDENCIES) $(EXTRA_prlimit64__pidns_translation_DEPENDENCIES) -+ @rm -f prlimit64--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(prlimit64__pidns_translation_OBJECTS) $(prlimit64__pidns_translation_LDADD) $(LIBS) -+ - process_vm_readv$(EXEEXT): $(process_vm_readv_OBJECTS) $(process_vm_readv_DEPENDENCIES) $(EXTRA_process_vm_readv_DEPENDENCIES) - @rm -f process_vm_readv$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(process_vm_readv_OBJECTS) $(process_vm_readv_LDADD) $(LIBS) - -+process_vm_readv--pidns-translation$(EXEEXT): $(process_vm_readv__pidns_translation_OBJECTS) $(process_vm_readv__pidns_translation_DEPENDENCIES) $(EXTRA_process_vm_readv__pidns_translation_DEPENDENCIES) -+ @rm -f process_vm_readv--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(process_vm_readv__pidns_translation_OBJECTS) $(process_vm_readv__pidns_translation_LDADD) $(LIBS) -+ - process_vm_writev$(EXEEXT): $(process_vm_writev_OBJECTS) $(process_vm_writev_DEPENDENCIES) $(EXTRA_process_vm_writev_DEPENDENCIES) - @rm -f process_vm_writev$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(process_vm_writev_OBJECTS) $(process_vm_writev_LDADD) $(LIBS) - -+process_vm_writev--pidns-translation$(EXEEXT): $(process_vm_writev__pidns_translation_OBJECTS) $(process_vm_writev__pidns_translation_DEPENDENCIES) $(EXTRA_process_vm_writev__pidns_translation_DEPENDENCIES) -+ @rm -f process_vm_writev--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(process_vm_writev__pidns_translation_OBJECTS) $(process_vm_writev__pidns_translation_LDADD) $(LIBS) -+ - pselect6$(EXEEXT): $(pselect6_OBJECTS) $(pselect6_DEPENDENCIES) $(EXTRA_pselect6_DEPENDENCIES) - @rm -f pselect6$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(pselect6_OBJECTS) $(pselect6_LDADD) $(LIBS) -@@ -8847,6 +9258,10 @@ - @rm -f rt_sigqueueinfo$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(rt_sigqueueinfo_OBJECTS) $(rt_sigqueueinfo_LDADD) $(LIBS) - -+rt_sigqueueinfo--pidns-translation$(EXEEXT): $(rt_sigqueueinfo__pidns_translation_OBJECTS) $(rt_sigqueueinfo__pidns_translation_DEPENDENCIES) $(EXTRA_rt_sigqueueinfo__pidns_translation_DEPENDENCIES) -+ @rm -f rt_sigqueueinfo--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(rt_sigqueueinfo__pidns_translation_OBJECTS) $(rt_sigqueueinfo__pidns_translation_LDADD) $(LIBS) -+ - rt_sigreturn$(EXEEXT): $(rt_sigreturn_OBJECTS) $(rt_sigreturn_DEPENDENCIES) $(EXTRA_rt_sigreturn_DEPENDENCIES) - @rm -f rt_sigreturn$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(rt_sigreturn_OBJECTS) $(rt_sigreturn_LDADD) $(LIBS) -@@ -8863,6 +9278,10 @@ - @rm -f rt_tgsigqueueinfo$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(rt_tgsigqueueinfo_OBJECTS) $(rt_tgsigqueueinfo_LDADD) $(LIBS) - -+rt_tgsigqueueinfo--pidns-translation$(EXEEXT): $(rt_tgsigqueueinfo__pidns_translation_OBJECTS) $(rt_tgsigqueueinfo__pidns_translation_DEPENDENCIES) $(EXTRA_rt_tgsigqueueinfo__pidns_translation_DEPENDENCIES) -+ @rm -f rt_tgsigqueueinfo--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(rt_tgsigqueueinfo__pidns_translation_OBJECTS) $(rt_tgsigqueueinfo__pidns_translation_LDADD) $(LIBS) -+ - run_expect_termsig$(EXEEXT): $(run_expect_termsig_OBJECTS) $(run_expect_termsig_DEPENDENCIES) $(EXTRA_run_expect_termsig_DEPENDENCIES) - @rm -f run_expect_termsig$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(run_expect_termsig_OBJECTS) $(run_expect_termsig_LDADD) $(LIBS) -@@ -8903,18 +9322,34 @@ - @rm -f sched_xetaffinity$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(sched_xetaffinity_OBJECTS) $(sched_xetaffinity_LDADD) $(LIBS) - -+sched_xetaffinity--pidns-translation$(EXEEXT): $(sched_xetaffinity__pidns_translation_OBJECTS) $(sched_xetaffinity__pidns_translation_DEPENDENCIES) $(EXTRA_sched_xetaffinity__pidns_translation_DEPENDENCIES) -+ @rm -f sched_xetaffinity--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(sched_xetaffinity__pidns_translation_OBJECTS) $(sched_xetaffinity__pidns_translation_LDADD) $(LIBS) -+ - sched_xetattr$(EXEEXT): $(sched_xetattr_OBJECTS) $(sched_xetattr_DEPENDENCIES) $(EXTRA_sched_xetattr_DEPENDENCIES) - @rm -f sched_xetattr$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(sched_xetattr_OBJECTS) $(sched_xetattr_LDADD) $(LIBS) - -+sched_xetattr--pidns-translation$(EXEEXT): $(sched_xetattr__pidns_translation_OBJECTS) $(sched_xetattr__pidns_translation_DEPENDENCIES) $(EXTRA_sched_xetattr__pidns_translation_DEPENDENCIES) -+ @rm -f sched_xetattr--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(sched_xetattr__pidns_translation_OBJECTS) $(sched_xetattr__pidns_translation_LDADD) $(LIBS) -+ - sched_xetparam$(EXEEXT): $(sched_xetparam_OBJECTS) $(sched_xetparam_DEPENDENCIES) $(EXTRA_sched_xetparam_DEPENDENCIES) - @rm -f sched_xetparam$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(sched_xetparam_OBJECTS) $(sched_xetparam_LDADD) $(LIBS) - -+sched_xetparam--pidns-translation$(EXEEXT): $(sched_xetparam__pidns_translation_OBJECTS) $(sched_xetparam__pidns_translation_DEPENDENCIES) $(EXTRA_sched_xetparam__pidns_translation_DEPENDENCIES) -+ @rm -f sched_xetparam--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(sched_xetparam__pidns_translation_OBJECTS) $(sched_xetparam__pidns_translation_LDADD) $(LIBS) -+ - sched_xetscheduler$(EXEEXT): $(sched_xetscheduler_OBJECTS) $(sched_xetscheduler_DEPENDENCIES) $(EXTRA_sched_xetscheduler_DEPENDENCIES) - @rm -f sched_xetscheduler$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(sched_xetscheduler_OBJECTS) $(sched_xetscheduler_LDADD) $(LIBS) - -+sched_xetscheduler--pidns-translation$(EXEEXT): $(sched_xetscheduler__pidns_translation_OBJECTS) $(sched_xetscheduler__pidns_translation_DEPENDENCIES) $(EXTRA_sched_xetscheduler__pidns_translation_DEPENDENCIES) -+ @rm -f sched_xetscheduler--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(sched_xetscheduler__pidns_translation_OBJECTS) $(sched_xetscheduler__pidns_translation_LDADD) $(LIBS) -+ - sched_yield$(EXEEXT): $(sched_yield_OBJECTS) $(sched_yield_DEPENDENCIES) $(EXTRA_sched_yield_DEPENDENCIES) - @rm -f sched_yield$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(sched_yield_OBJECTS) $(sched_yield_LDADD) $(LIBS) -@@ -9127,6 +9562,10 @@ - @rm -f signal_receive$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(signal_receive_OBJECTS) $(signal_receive_LDADD) $(LIBS) - -+signal_receive--pidns-translation$(EXEEXT): $(signal_receive__pidns_translation_OBJECTS) $(signal_receive__pidns_translation_DEPENDENCIES) $(EXTRA_signal_receive__pidns_translation_DEPENDENCIES) -+ @rm -f signal_receive--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(signal_receive__pidns_translation_OBJECTS) $(signal_receive__pidns_translation_LDADD) $(LIBS) -+ - signalfd4$(EXEEXT): $(signalfd4_OBJECTS) $(signalfd4_DEPENDENCIES) $(EXTRA_signalfd4_DEPENDENCIES) - @rm -f signalfd4$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(signalfd4_OBJECTS) $(signalfd4_LDADD) $(LIBS) -@@ -9163,6 +9602,10 @@ - @rm -f so_peercred$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(so_peercred_OBJECTS) $(so_peercred_LDADD) $(LIBS) - -+so_peercred--pidns-translation$(EXEEXT): $(so_peercred__pidns_translation_OBJECTS) $(so_peercred__pidns_translation_DEPENDENCIES) $(EXTRA_so_peercred__pidns_translation_DEPENDENCIES) -+ @rm -f so_peercred--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(so_peercred__pidns_translation_OBJECTS) $(so_peercred__pidns_translation_LDADD) $(LIBS) -+ - so_peercred-Xabbrev$(EXEEXT): $(so_peercred_Xabbrev_OBJECTS) $(so_peercred_Xabbrev_DEPENDENCIES) $(EXTRA_so_peercred_Xabbrev_DEPENDENCIES) - @rm -f so_peercred-Xabbrev$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(so_peercred_Xabbrev_OBJECTS) $(so_peercred_Xabbrev_LDADD) $(LIBS) -@@ -9367,6 +9810,10 @@ - @rm -f tgkill$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tgkill_OBJECTS) $(tgkill_LDADD) $(LIBS) - -+tgkill--pidns-translation$(EXEEXT): $(tgkill__pidns_translation_OBJECTS) $(tgkill__pidns_translation_DEPENDENCIES) $(EXTRA_tgkill__pidns_translation_DEPENDENCIES) -+ @rm -f tgkill--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(tgkill__pidns_translation_OBJECTS) $(tgkill__pidns_translation_LDADD) $(LIBS) -+ - threads-execve$(EXEEXT): $(threads_execve_OBJECTS) $(threads_execve_DEPENDENCIES) $(EXTRA_threads_execve_DEPENDENCIES) - @rm -f threads-execve$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(threads_execve_OBJECTS) $(threads_execve_LDADD) $(LIBS) -@@ -9415,10 +9862,18 @@ - @rm -f tkill$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tkill_OBJECTS) $(tkill_LDADD) $(LIBS) - -+tkill--pidns-translation$(EXEEXT): $(tkill__pidns_translation_OBJECTS) $(tkill__pidns_translation_DEPENDENCIES) $(EXTRA_tkill__pidns_translation_DEPENDENCIES) -+ @rm -f tkill--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(tkill__pidns_translation_OBJECTS) $(tkill__pidns_translation_LDADD) $(LIBS) -+ - tracer_ppid_pgid_sid$(EXEEXT): $(tracer_ppid_pgid_sid_OBJECTS) $(tracer_ppid_pgid_sid_DEPENDENCIES) $(EXTRA_tracer_ppid_pgid_sid_DEPENDENCIES) - @rm -f tracer_ppid_pgid_sid$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tracer_ppid_pgid_sid_OBJECTS) $(tracer_ppid_pgid_sid_LDADD) $(LIBS) - -+trie_test$(EXEEXT): $(trie_test_OBJECTS) $(trie_test_DEPENDENCIES) $(EXTRA_trie_test_DEPENDENCIES) -+ @rm -f trie_test$(EXEEXT) -+ $(AM_V_CCLD)$(trie_test_LINK) $(trie_test_OBJECTS) $(trie_test_LDADD) $(LIBS) -+ - truncate$(EXEEXT): $(truncate_OBJECTS) $(truncate_DEPENDENCIES) $(EXTRA_truncate_DEPENDENCIES) - @rm -f truncate$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(truncate_OBJECTS) $(truncate_LDADD) $(LIBS) -@@ -9579,6 +10034,10 @@ - @rm -f xet_robust_list$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(xet_robust_list_OBJECTS) $(xet_robust_list_LDADD) $(LIBS) - -+xet_robust_list--pidns-translation$(EXEEXT): $(xet_robust_list__pidns_translation_OBJECTS) $(xet_robust_list__pidns_translation_DEPENDENCIES) $(EXTRA_xet_robust_list__pidns_translation_DEPENDENCIES) -+ @rm -f xet_robust_list--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(xet_robust_list__pidns_translation_OBJECTS) $(xet_robust_list__pidns_translation_LDADD) $(LIBS) -+ - xet_thread_area_x86$(EXEEXT): $(xet_thread_area_x86_OBJECTS) $(xet_thread_area_x86_DEPENDENCIES) $(EXTRA_xet_thread_area_x86_DEPENDENCIES) - @rm -f xet_thread_area_x86$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(xet_thread_area_x86_OBJECTS) $(xet_thread_area_x86_LDADD) $(LIBS) -@@ -9591,10 +10050,18 @@ - @rm -f xetpgid$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(xetpgid_OBJECTS) $(xetpgid_LDADD) $(LIBS) - -+xetpgid--pidns-translation$(EXEEXT): $(xetpgid__pidns_translation_OBJECTS) $(xetpgid__pidns_translation_DEPENDENCIES) $(EXTRA_xetpgid__pidns_translation_DEPENDENCIES) -+ @rm -f xetpgid--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(xetpgid__pidns_translation_OBJECTS) $(xetpgid__pidns_translation_LDADD) $(LIBS) -+ - xetpriority$(EXEEXT): $(xetpriority_OBJECTS) $(xetpriority_DEPENDENCIES) $(EXTRA_xetpriority_DEPENDENCIES) - @rm -f xetpriority$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(xetpriority_OBJECTS) $(xetpriority_LDADD) $(LIBS) - -+xetpriority--pidns-translation$(EXEEXT): $(xetpriority__pidns_translation_OBJECTS) $(xetpriority__pidns_translation_DEPENDENCIES) $(EXTRA_xetpriority__pidns_translation_DEPENDENCIES) -+ @rm -f xetpriority--pidns-translation$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(xetpriority__pidns_translation_OBJECTS) $(xetpriority__pidns_translation_LDADD) $(LIBS) -+ - xettimeofday$(EXEEXT): $(xettimeofday_OBJECTS) $(xettimeofday_DEPENDENCIES) $(EXTRA_xettimeofday_DEPENDENCIES) - @rm -f xettimeofday$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(xettimeofday_OBJECTS) $(xettimeofday_LDADD) $(LIBS) -@@ -9714,7 +10181,9 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchown.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchown32.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl64--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl64.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fdatasync.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fflush.Po@am__quote@ # am--include-marker -@@ -9725,6 +10194,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filter_seccomp-perf.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/finit_module.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/flock.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fork--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fork-f.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fsconfig-P.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fsconfig.Po@am__quote@ # am--include-marker -@@ -9766,7 +10236,9 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getgroups.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getgroups32.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getpeername.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getpgrp--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getpgrp.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getpid--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getpid.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getppid.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getrandom.Po@am__quote@ # am--include-marker -@@ -9776,8 +10248,10 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getresuid32.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getrlimit.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getrusage.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getsid--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getsid.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getsockname.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gettid--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gettid.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getuid.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getuid32.Po@am__quote@ # am--include-marker -@@ -9798,6 +10272,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/io_uring_register.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/io_uring_setup.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_block--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_block.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_dm-v.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_dm.Po@am__quote@ # am--include-marker -@@ -9873,6 +10348,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_watchdog.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioperm.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iopl.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioprio--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioprio-Xabbrev.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioprio-Xraw.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioprio-Xverbose.Po@am__quote@ # am--include-marker -@@ -9896,6 +10372,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_shm-Xverbose.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_shm.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/is_linux_mips_n64.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kcmp-y--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kcmp-y.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kcmp.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kern_features.Po@am__quote@ # am--include-marker -@@ -9909,6 +10386,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/keyctl-Xraw.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/keyctl-Xverbose.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/keyctl.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kill--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kill.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kill_child.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ksysent.Po@am__quote@ # am--include-marker -@@ -9946,6 +10424,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-test_printstrn.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-test_ucopy.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-tprintf.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-xmalloc_for_tests.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/link.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/list_sigaction_signum.Po@am__quote@ # am--include-marker -@@ -9968,6 +10447,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memfd_create-Xraw.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memfd_create-Xverbose.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memfd_create.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/migrate_pages--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/migrate_pages.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mincore.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mkdir.Po@am__quote@ # am--include-marker -@@ -9996,6 +10476,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/move_mount-P.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/move_mount.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/move_pages--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/move_pages-Xabbrev.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/move_pages-Xraw.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/move_pages-Xverbose.Po@am__quote@ # am--include-marker -@@ -10019,6 +10500,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-packet_mreq-Xraw.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-packet_mreq-Xverbose.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-packet_mreq.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-sockaddr--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-sockaddr.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-tpacket_req.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-tpacket_stats-success.Po@am__quote@ # am--include-marker -@@ -10028,6 +10510,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-yy-inet6.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-yy-netlink.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-yy-unix.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netlink_audit--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netlink_audit.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netlink_crypto.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netlink_generic.Po@am__quote@ # am--include-marker -@@ -10132,11 +10615,14 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidfd_open--decode-fd-path.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidfd_open--decode-fd-pidfd.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidfd_open--decode-fd-socket.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidfd_open--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidfd_open-P.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidfd_open-y.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidfd_open-yy.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidfd_open.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidfd_send_signal--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidfd_send_signal.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidns-cache.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pipe.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pipe2.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pkey_alloc.Po@am__quote@ # am--include-marker -@@ -10174,8 +10660,11 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/printstrn-umoven-peekdata.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/printstrn-umoven-undumpable.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/printstrn-umoven.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prlimit64--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prlimit64.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/process_vm_readv--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/process_vm_readv.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/process_vm_writev--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/process_vm_writev.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pselect6.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ptrace.Po@am__quote@ # am--include-marker -@@ -10224,10 +10713,12 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigaction.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigpending.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigprocmask.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigqueueinfo--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigqueueinfo.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigreturn.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigsuspend.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigtimedwait.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_tgsigqueueinfo--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_tgsigqueueinfo.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/run_expect_termsig.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/s390_guarded_storage-v.Po@am__quote@ # am--include-marker -@@ -10238,9 +10729,13 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/s390_sthyi.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_get_priority_mxx.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_rr_get_interval.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_xetaffinity--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_xetaffinity.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_xetattr--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_xetattr.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_xetparam--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_xetparam.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_xetscheduler--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_xetscheduler.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_yield.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scm_rights.Po@am__quote@ # am--include-marker -@@ -10294,6 +10789,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sigaltstack.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/siginfo.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/signal.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/signal_receive--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/signal_receive.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/signalfd4.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sigpending.Po@am__quote@ # am--include-marker -@@ -10303,6 +10799,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sleep.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/so_error.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/so_linger.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/so_peercred--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/so_peercred-Xabbrev.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/so_peercred-Xraw.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/so_peercred-Xverbose.Po@am__quote@ # am--include-marker -@@ -10362,6 +10859,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/syslog-success.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/syslog.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tee.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tgkill--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tgkill.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/threads-execve--quiet-thread-execve.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/threads-execve-q.Po@am__quote@ # am--include-marker -@@ -10374,6 +10872,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/timerfd_xettime.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/times-fail.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/times.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tkill--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tkill.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tracer_ppid_pgid_sid.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/truncate.Po@am__quote@ # am--include-marker -@@ -10415,10 +10914,13 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/waitpid.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xattr-strings.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xattr.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xet_robust_list--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xet_robust_list.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xet_thread_area_x86.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xetitimer.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xetpgid--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xetpgid.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xetpriority--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xetpriority.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xettimeofday.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/zeroargc.Po@am__quote@ # am--include-marker -@@ -10893,6 +11395,20 @@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-tprintf.obj `if test -f 'tprintf.c'; then $(CYGPATH_W) 'tprintf.c'; else $(CYGPATH_W) '$(srcdir)/tprintf.c'; fi` - -+libtests_a-xmalloc_for_tests.o: xmalloc_for_tests.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-xmalloc_for_tests.o -MD -MP -MF $(DEPDIR)/libtests_a-xmalloc_for_tests.Tpo -c -o libtests_a-xmalloc_for_tests.o `test -f 'xmalloc_for_tests.c' || echo '$(srcdir)/'`xmalloc_for_tests.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-xmalloc_for_tests.Tpo $(DEPDIR)/libtests_a-xmalloc_for_tests.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='xmalloc_for_tests.c' object='libtests_a-xmalloc_for_tests.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-xmalloc_for_tests.o `test -f 'xmalloc_for_tests.c' || echo '$(srcdir)/'`xmalloc_for_tests.c -+ -+libtests_a-xmalloc_for_tests.obj: xmalloc_for_tests.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-xmalloc_for_tests.obj -MD -MP -MF $(DEPDIR)/libtests_a-xmalloc_for_tests.Tpo -c -o libtests_a-xmalloc_for_tests.obj `if test -f 'xmalloc_for_tests.c'; then $(CYGPATH_W) 'xmalloc_for_tests.c'; else $(CYGPATH_W) '$(srcdir)/xmalloc_for_tests.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-xmalloc_for_tests.Tpo $(DEPDIR)/libtests_a-xmalloc_for_tests.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='xmalloc_for_tests.c' object='libtests_a-xmalloc_for_tests.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-xmalloc_for_tests.obj `if test -f 'xmalloc_for_tests.c'; then $(CYGPATH_W) 'xmalloc_for_tests.c'; else $(CYGPATH_W) '$(srcdir)/xmalloc_for_tests.c'; fi` -+ - fstat64-fstat64.o: fstat64.c - @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(fstat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT fstat64-fstat64.o -MD -MP -MF $(DEPDIR)/fstat64-fstat64.Tpo -c -o fstat64-fstat64.o `test -f 'fstat64.c' || echo '$(srcdir)/'`fstat64.c - @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/fstat64-fstat64.Tpo $(DEPDIR)/fstat64-fstat64.Po -@@ -11103,6 +11619,34 @@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(statfs_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o statfs-statfs.obj `if test -f 'statfs.c'; then $(CYGPATH_W) 'statfs.c'; else $(CYGPATH_W) '$(srcdir)/statfs.c'; fi` - -+trie_test-trie_test.o: trie_test.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(trie_test_CPPFLAGS) $(CPPFLAGS) $(trie_test_CFLAGS) $(CFLAGS) -MT trie_test-trie_test.o -MD -MP -MF $(DEPDIR)/trie_test-trie_test.Tpo -c -o trie_test-trie_test.o `test -f 'trie_test.c' || echo '$(srcdir)/'`trie_test.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/trie_test-trie_test.Tpo $(DEPDIR)/trie_test-trie_test.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='trie_test.c' object='trie_test-trie_test.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(trie_test_CPPFLAGS) $(CPPFLAGS) $(trie_test_CFLAGS) $(CFLAGS) -c -o trie_test-trie_test.o `test -f 'trie_test.c' || echo '$(srcdir)/'`trie_test.c -+ -+trie_test-trie_test.obj: trie_test.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(trie_test_CPPFLAGS) $(CPPFLAGS) $(trie_test_CFLAGS) $(CFLAGS) -MT trie_test-trie_test.obj -MD -MP -MF $(DEPDIR)/trie_test-trie_test.Tpo -c -o trie_test-trie_test.obj `if test -f 'trie_test.c'; then $(CYGPATH_W) 'trie_test.c'; else $(CYGPATH_W) '$(srcdir)/trie_test.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/trie_test-trie_test.Tpo $(DEPDIR)/trie_test-trie_test.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='trie_test.c' object='trie_test-trie_test.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(trie_test_CPPFLAGS) $(CPPFLAGS) $(trie_test_CFLAGS) $(CFLAGS) -c -o trie_test-trie_test.obj `if test -f 'trie_test.c'; then $(CYGPATH_W) 'trie_test.c'; else $(CYGPATH_W) '$(srcdir)/trie_test.c'; fi` -+ -+trie_test-trie_for_tests.o: trie_for_tests.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(trie_test_CPPFLAGS) $(CPPFLAGS) $(trie_test_CFLAGS) $(CFLAGS) -MT trie_test-trie_for_tests.o -MD -MP -MF $(DEPDIR)/trie_test-trie_for_tests.Tpo -c -o trie_test-trie_for_tests.o `test -f 'trie_for_tests.c' || echo '$(srcdir)/'`trie_for_tests.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/trie_test-trie_for_tests.Tpo $(DEPDIR)/trie_test-trie_for_tests.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='trie_for_tests.c' object='trie_test-trie_for_tests.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(trie_test_CPPFLAGS) $(CPPFLAGS) $(trie_test_CFLAGS) $(CFLAGS) -c -o trie_test-trie_for_tests.o `test -f 'trie_for_tests.c' || echo '$(srcdir)/'`trie_for_tests.c -+ -+trie_test-trie_for_tests.obj: trie_for_tests.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(trie_test_CPPFLAGS) $(CPPFLAGS) $(trie_test_CFLAGS) $(CFLAGS) -MT trie_test-trie_for_tests.obj -MD -MP -MF $(DEPDIR)/trie_test-trie_for_tests.Tpo -c -o trie_test-trie_for_tests.obj `if test -f 'trie_for_tests.c'; then $(CYGPATH_W) 'trie_for_tests.c'; else $(CYGPATH_W) '$(srcdir)/trie_for_tests.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/trie_test-trie_for_tests.Tpo $(DEPDIR)/trie_test-trie_for_tests.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='trie_for_tests.c' object='trie_test-trie_for_tests.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(trie_test_CPPFLAGS) $(CPPFLAGS) $(trie_test_CFLAGS) $(CFLAGS) -c -o trie_test-trie_for_tests.obj `if test -f 'trie_for_tests.c'; then $(CYGPATH_W) 'trie_for_tests.c'; else $(CYGPATH_W) '$(srcdir)/trie_for_tests.c'; fi` -+ - truncate64-truncate64.o: truncate64.c - @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(truncate64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT truncate64-truncate64.o -MD -MP -MF $(DEPDIR)/truncate64-truncate64.Tpo -c -o truncate64-truncate64.o `test -f 'truncate64.c' || echo '$(srcdir)/'`truncate64.c - @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/truncate64-truncate64.Tpo $(DEPDIR)/truncate64-truncate64.Po -@@ -11551,7 +12095,9 @@ - -rm -f ./$(DEPDIR)/fchown.Po - -rm -f ./$(DEPDIR)/fchown32.Po - -rm -f ./$(DEPDIR)/fchownat.Po -+ -rm -f ./$(DEPDIR)/fcntl--pidns-translation.Po - -rm -f ./$(DEPDIR)/fcntl.Po -+ -rm -f ./$(DEPDIR)/fcntl64--pidns-translation.Po - -rm -f ./$(DEPDIR)/fcntl64.Po - -rm -f ./$(DEPDIR)/fdatasync.Po - -rm -f ./$(DEPDIR)/fflush.Po -@@ -11562,6 +12108,7 @@ - -rm -f ./$(DEPDIR)/filter_seccomp-perf.Po - -rm -f ./$(DEPDIR)/finit_module.Po - -rm -f ./$(DEPDIR)/flock.Po -+ -rm -f ./$(DEPDIR)/fork--pidns-translation.Po - -rm -f ./$(DEPDIR)/fork-f.Po - -rm -f ./$(DEPDIR)/fsconfig-P.Po - -rm -f ./$(DEPDIR)/fsconfig.Po -@@ -11603,7 +12150,9 @@ - -rm -f ./$(DEPDIR)/getgroups.Po - -rm -f ./$(DEPDIR)/getgroups32.Po - -rm -f ./$(DEPDIR)/getpeername.Po -+ -rm -f ./$(DEPDIR)/getpgrp--pidns-translation.Po - -rm -f ./$(DEPDIR)/getpgrp.Po -+ -rm -f ./$(DEPDIR)/getpid--pidns-translation.Po - -rm -f ./$(DEPDIR)/getpid.Po - -rm -f ./$(DEPDIR)/getppid.Po - -rm -f ./$(DEPDIR)/getrandom.Po -@@ -11613,8 +12162,10 @@ - -rm -f ./$(DEPDIR)/getresuid32.Po - -rm -f ./$(DEPDIR)/getrlimit.Po - -rm -f ./$(DEPDIR)/getrusage.Po -+ -rm -f ./$(DEPDIR)/getsid--pidns-translation.Po - -rm -f ./$(DEPDIR)/getsid.Po - -rm -f ./$(DEPDIR)/getsockname.Po -+ -rm -f ./$(DEPDIR)/gettid--pidns-translation.Po - -rm -f ./$(DEPDIR)/gettid.Po - -rm -f ./$(DEPDIR)/getuid.Po - -rm -f ./$(DEPDIR)/getuid32.Po -@@ -11635,6 +12186,7 @@ - -rm -f ./$(DEPDIR)/io_uring_register.Po - -rm -f ./$(DEPDIR)/io_uring_setup.Po - -rm -f ./$(DEPDIR)/ioctl.Po -+ -rm -f ./$(DEPDIR)/ioctl_block--pidns-translation.Po - -rm -f ./$(DEPDIR)/ioctl_block.Po - -rm -f ./$(DEPDIR)/ioctl_dm-v.Po - -rm -f ./$(DEPDIR)/ioctl_dm.Po -@@ -11710,6 +12262,7 @@ - -rm -f ./$(DEPDIR)/ioctl_watchdog.Po - -rm -f ./$(DEPDIR)/ioperm.Po - -rm -f ./$(DEPDIR)/iopl.Po -+ -rm -f ./$(DEPDIR)/ioprio--pidns-translation.Po - -rm -f ./$(DEPDIR)/ioprio-Xabbrev.Po - -rm -f ./$(DEPDIR)/ioprio-Xraw.Po - -rm -f ./$(DEPDIR)/ioprio-Xverbose.Po -@@ -11733,6 +12286,7 @@ - -rm -f ./$(DEPDIR)/ipc_shm-Xverbose.Po - -rm -f ./$(DEPDIR)/ipc_shm.Po - -rm -f ./$(DEPDIR)/is_linux_mips_n64.Po -+ -rm -f ./$(DEPDIR)/kcmp-y--pidns-translation.Po - -rm -f ./$(DEPDIR)/kcmp-y.Po - -rm -f ./$(DEPDIR)/kcmp.Po - -rm -f ./$(DEPDIR)/kern_features.Po -@@ -11746,6 +12300,7 @@ - -rm -f ./$(DEPDIR)/keyctl-Xraw.Po - -rm -f ./$(DEPDIR)/keyctl-Xverbose.Po - -rm -f ./$(DEPDIR)/keyctl.Po -+ -rm -f ./$(DEPDIR)/kill--pidns-translation.Po - -rm -f ./$(DEPDIR)/kill.Po - -rm -f ./$(DEPDIR)/kill_child.Po - -rm -f ./$(DEPDIR)/ksysent.Po -@@ -11783,6 +12338,7 @@ - -rm -f ./$(DEPDIR)/libtests_a-test_printstrn.Po - -rm -f ./$(DEPDIR)/libtests_a-test_ucopy.Po - -rm -f ./$(DEPDIR)/libtests_a-tprintf.Po -+ -rm -f ./$(DEPDIR)/libtests_a-xmalloc_for_tests.Po - -rm -f ./$(DEPDIR)/link.Po - -rm -f ./$(DEPDIR)/linkat.Po - -rm -f ./$(DEPDIR)/list_sigaction_signum.Po -@@ -11805,6 +12361,7 @@ - -rm -f ./$(DEPDIR)/memfd_create-Xraw.Po - -rm -f ./$(DEPDIR)/memfd_create-Xverbose.Po - -rm -f ./$(DEPDIR)/memfd_create.Po -+ -rm -f ./$(DEPDIR)/migrate_pages--pidns-translation.Po - -rm -f ./$(DEPDIR)/migrate_pages.Po - -rm -f ./$(DEPDIR)/mincore.Po - -rm -f ./$(DEPDIR)/mkdir.Po -@@ -11833,6 +12390,7 @@ - -rm -f ./$(DEPDIR)/mount.Po - -rm -f ./$(DEPDIR)/move_mount-P.Po - -rm -f ./$(DEPDIR)/move_mount.Po -+ -rm -f ./$(DEPDIR)/move_pages--pidns-translation.Po - -rm -f ./$(DEPDIR)/move_pages-Xabbrev.Po - -rm -f ./$(DEPDIR)/move_pages-Xraw.Po - -rm -f ./$(DEPDIR)/move_pages-Xverbose.Po -@@ -11856,6 +12414,7 @@ - -rm -f ./$(DEPDIR)/net-packet_mreq-Xraw.Po - -rm -f ./$(DEPDIR)/net-packet_mreq-Xverbose.Po - -rm -f ./$(DEPDIR)/net-packet_mreq.Po -+ -rm -f ./$(DEPDIR)/net-sockaddr--pidns-translation.Po - -rm -f ./$(DEPDIR)/net-sockaddr.Po - -rm -f ./$(DEPDIR)/net-tpacket_req.Po - -rm -f ./$(DEPDIR)/net-tpacket_stats-success.Po -@@ -11865,6 +12424,7 @@ - -rm -f ./$(DEPDIR)/net-yy-inet6.Po - -rm -f ./$(DEPDIR)/net-yy-netlink.Po - -rm -f ./$(DEPDIR)/net-yy-unix.Po -+ -rm -f ./$(DEPDIR)/netlink_audit--pidns-translation.Po - -rm -f ./$(DEPDIR)/netlink_audit.Po - -rm -f ./$(DEPDIR)/netlink_crypto.Po - -rm -f ./$(DEPDIR)/netlink_generic.Po -@@ -11969,11 +12529,14 @@ - -rm -f ./$(DEPDIR)/pidfd_open--decode-fd-path.Po - -rm -f ./$(DEPDIR)/pidfd_open--decode-fd-pidfd.Po - -rm -f ./$(DEPDIR)/pidfd_open--decode-fd-socket.Po -+ -rm -f ./$(DEPDIR)/pidfd_open--pidns-translation.Po - -rm -f ./$(DEPDIR)/pidfd_open-P.Po - -rm -f ./$(DEPDIR)/pidfd_open-y.Po - -rm -f ./$(DEPDIR)/pidfd_open-yy.Po - -rm -f ./$(DEPDIR)/pidfd_open.Po -+ -rm -f ./$(DEPDIR)/pidfd_send_signal--pidns-translation.Po - -rm -f ./$(DEPDIR)/pidfd_send_signal.Po -+ -rm -f ./$(DEPDIR)/pidns-cache.Po - -rm -f ./$(DEPDIR)/pipe.Po - -rm -f ./$(DEPDIR)/pipe2.Po - -rm -f ./$(DEPDIR)/pkey_alloc.Po -@@ -12011,8 +12574,11 @@ - -rm -f ./$(DEPDIR)/printstrn-umoven-peekdata.Po - -rm -f ./$(DEPDIR)/printstrn-umoven-undumpable.Po - -rm -f ./$(DEPDIR)/printstrn-umoven.Po -+ -rm -f ./$(DEPDIR)/prlimit64--pidns-translation.Po - -rm -f ./$(DEPDIR)/prlimit64.Po -+ -rm -f ./$(DEPDIR)/process_vm_readv--pidns-translation.Po - -rm -f ./$(DEPDIR)/process_vm_readv.Po -+ -rm -f ./$(DEPDIR)/process_vm_writev--pidns-translation.Po - -rm -f ./$(DEPDIR)/process_vm_writev.Po - -rm -f ./$(DEPDIR)/pselect6.Po - -rm -f ./$(DEPDIR)/ptrace.Po -@@ -12061,10 +12627,12 @@ - -rm -f ./$(DEPDIR)/rt_sigaction.Po - -rm -f ./$(DEPDIR)/rt_sigpending.Po - -rm -f ./$(DEPDIR)/rt_sigprocmask.Po -+ -rm -f ./$(DEPDIR)/rt_sigqueueinfo--pidns-translation.Po - -rm -f ./$(DEPDIR)/rt_sigqueueinfo.Po - -rm -f ./$(DEPDIR)/rt_sigreturn.Po - -rm -f ./$(DEPDIR)/rt_sigsuspend.Po - -rm -f ./$(DEPDIR)/rt_sigtimedwait.Po -+ -rm -f ./$(DEPDIR)/rt_tgsigqueueinfo--pidns-translation.Po - -rm -f ./$(DEPDIR)/rt_tgsigqueueinfo.Po - -rm -f ./$(DEPDIR)/run_expect_termsig.Po - -rm -f ./$(DEPDIR)/s390_guarded_storage-v.Po -@@ -12075,9 +12643,13 @@ - -rm -f ./$(DEPDIR)/s390_sthyi.Po - -rm -f ./$(DEPDIR)/sched_get_priority_mxx.Po - -rm -f ./$(DEPDIR)/sched_rr_get_interval.Po -+ -rm -f ./$(DEPDIR)/sched_xetaffinity--pidns-translation.Po - -rm -f ./$(DEPDIR)/sched_xetaffinity.Po -+ -rm -f ./$(DEPDIR)/sched_xetattr--pidns-translation.Po - -rm -f ./$(DEPDIR)/sched_xetattr.Po -+ -rm -f ./$(DEPDIR)/sched_xetparam--pidns-translation.Po - -rm -f ./$(DEPDIR)/sched_xetparam.Po -+ -rm -f ./$(DEPDIR)/sched_xetscheduler--pidns-translation.Po - -rm -f ./$(DEPDIR)/sched_xetscheduler.Po - -rm -f ./$(DEPDIR)/sched_yield.Po - -rm -f ./$(DEPDIR)/scm_rights.Po -@@ -12131,6 +12703,7 @@ - -rm -f ./$(DEPDIR)/sigaltstack.Po - -rm -f ./$(DEPDIR)/siginfo.Po - -rm -f ./$(DEPDIR)/signal.Po -+ -rm -f ./$(DEPDIR)/signal_receive--pidns-translation.Po - -rm -f ./$(DEPDIR)/signal_receive.Po - -rm -f ./$(DEPDIR)/signalfd4.Po - -rm -f ./$(DEPDIR)/sigpending.Po -@@ -12140,6 +12713,7 @@ - -rm -f ./$(DEPDIR)/sleep.Po - -rm -f ./$(DEPDIR)/so_error.Po - -rm -f ./$(DEPDIR)/so_linger.Po -+ -rm -f ./$(DEPDIR)/so_peercred--pidns-translation.Po - -rm -f ./$(DEPDIR)/so_peercred-Xabbrev.Po - -rm -f ./$(DEPDIR)/so_peercred-Xraw.Po - -rm -f ./$(DEPDIR)/so_peercred-Xverbose.Po -@@ -12199,6 +12773,7 @@ - -rm -f ./$(DEPDIR)/syslog-success.Po - -rm -f ./$(DEPDIR)/syslog.Po - -rm -f ./$(DEPDIR)/tee.Po -+ -rm -f ./$(DEPDIR)/tgkill--pidns-translation.Po - -rm -f ./$(DEPDIR)/tgkill.Po - -rm -f ./$(DEPDIR)/threads-execve--quiet-thread-execve.Po - -rm -f ./$(DEPDIR)/threads-execve-q.Po -@@ -12211,6 +12786,7 @@ - -rm -f ./$(DEPDIR)/timerfd_xettime.Po - -rm -f ./$(DEPDIR)/times-fail.Po - -rm -f ./$(DEPDIR)/times.Po -+ -rm -f ./$(DEPDIR)/tkill--pidns-translation.Po - -rm -f ./$(DEPDIR)/tkill.Po - -rm -f ./$(DEPDIR)/tracer_ppid_pgid_sid.Po - -rm -f ./$(DEPDIR)/truncate.Po -@@ -12252,10 +12828,13 @@ - -rm -f ./$(DEPDIR)/waitpid.Po - -rm -f ./$(DEPDIR)/xattr-strings.Po - -rm -f ./$(DEPDIR)/xattr.Po -+ -rm -f ./$(DEPDIR)/xet_robust_list--pidns-translation.Po - -rm -f ./$(DEPDIR)/xet_robust_list.Po - -rm -f ./$(DEPDIR)/xet_thread_area_x86.Po - -rm -f ./$(DEPDIR)/xetitimer.Po -+ -rm -f ./$(DEPDIR)/xetpgid--pidns-translation.Po - -rm -f ./$(DEPDIR)/xetpgid.Po -+ -rm -f ./$(DEPDIR)/xetpriority--pidns-translation.Po - -rm -f ./$(DEPDIR)/xetpriority.Po - -rm -f ./$(DEPDIR)/xettimeofday.Po - -rm -f ./$(DEPDIR)/zeroargc.Po -@@ -12409,7 +12988,9 @@ - -rm -f ./$(DEPDIR)/fchown.Po - -rm -f ./$(DEPDIR)/fchown32.Po - -rm -f ./$(DEPDIR)/fchownat.Po -+ -rm -f ./$(DEPDIR)/fcntl--pidns-translation.Po - -rm -f ./$(DEPDIR)/fcntl.Po -+ -rm -f ./$(DEPDIR)/fcntl64--pidns-translation.Po - -rm -f ./$(DEPDIR)/fcntl64.Po - -rm -f ./$(DEPDIR)/fdatasync.Po - -rm -f ./$(DEPDIR)/fflush.Po -@@ -12420,6 +13001,7 @@ - -rm -f ./$(DEPDIR)/filter_seccomp-perf.Po - -rm -f ./$(DEPDIR)/finit_module.Po - -rm -f ./$(DEPDIR)/flock.Po -+ -rm -f ./$(DEPDIR)/fork--pidns-translation.Po - -rm -f ./$(DEPDIR)/fork-f.Po - -rm -f ./$(DEPDIR)/fsconfig-P.Po - -rm -f ./$(DEPDIR)/fsconfig.Po -@@ -12461,7 +13043,9 @@ - -rm -f ./$(DEPDIR)/getgroups.Po - -rm -f ./$(DEPDIR)/getgroups32.Po - -rm -f ./$(DEPDIR)/getpeername.Po -+ -rm -f ./$(DEPDIR)/getpgrp--pidns-translation.Po - -rm -f ./$(DEPDIR)/getpgrp.Po -+ -rm -f ./$(DEPDIR)/getpid--pidns-translation.Po - -rm -f ./$(DEPDIR)/getpid.Po - -rm -f ./$(DEPDIR)/getppid.Po - -rm -f ./$(DEPDIR)/getrandom.Po -@@ -12471,8 +13055,10 @@ - -rm -f ./$(DEPDIR)/getresuid32.Po - -rm -f ./$(DEPDIR)/getrlimit.Po - -rm -f ./$(DEPDIR)/getrusage.Po -+ -rm -f ./$(DEPDIR)/getsid--pidns-translation.Po - -rm -f ./$(DEPDIR)/getsid.Po - -rm -f ./$(DEPDIR)/getsockname.Po -+ -rm -f ./$(DEPDIR)/gettid--pidns-translation.Po - -rm -f ./$(DEPDIR)/gettid.Po - -rm -f ./$(DEPDIR)/getuid.Po - -rm -f ./$(DEPDIR)/getuid32.Po -@@ -12493,6 +13079,7 @@ - -rm -f ./$(DEPDIR)/io_uring_register.Po - -rm -f ./$(DEPDIR)/io_uring_setup.Po - -rm -f ./$(DEPDIR)/ioctl.Po -+ -rm -f ./$(DEPDIR)/ioctl_block--pidns-translation.Po - -rm -f ./$(DEPDIR)/ioctl_block.Po - -rm -f ./$(DEPDIR)/ioctl_dm-v.Po - -rm -f ./$(DEPDIR)/ioctl_dm.Po -@@ -12568,6 +13155,7 @@ - -rm -f ./$(DEPDIR)/ioctl_watchdog.Po - -rm -f ./$(DEPDIR)/ioperm.Po - -rm -f ./$(DEPDIR)/iopl.Po -+ -rm -f ./$(DEPDIR)/ioprio--pidns-translation.Po - -rm -f ./$(DEPDIR)/ioprio-Xabbrev.Po - -rm -f ./$(DEPDIR)/ioprio-Xraw.Po - -rm -f ./$(DEPDIR)/ioprio-Xverbose.Po -@@ -12591,6 +13179,7 @@ - -rm -f ./$(DEPDIR)/ipc_shm-Xverbose.Po - -rm -f ./$(DEPDIR)/ipc_shm.Po - -rm -f ./$(DEPDIR)/is_linux_mips_n64.Po -+ -rm -f ./$(DEPDIR)/kcmp-y--pidns-translation.Po - -rm -f ./$(DEPDIR)/kcmp-y.Po - -rm -f ./$(DEPDIR)/kcmp.Po - -rm -f ./$(DEPDIR)/kern_features.Po -@@ -12604,6 +13193,7 @@ - -rm -f ./$(DEPDIR)/keyctl-Xraw.Po - -rm -f ./$(DEPDIR)/keyctl-Xverbose.Po - -rm -f ./$(DEPDIR)/keyctl.Po -+ -rm -f ./$(DEPDIR)/kill--pidns-translation.Po - -rm -f ./$(DEPDIR)/kill.Po - -rm -f ./$(DEPDIR)/kill_child.Po - -rm -f ./$(DEPDIR)/ksysent.Po -@@ -12641,6 +13231,7 @@ - -rm -f ./$(DEPDIR)/libtests_a-test_printstrn.Po - -rm -f ./$(DEPDIR)/libtests_a-test_ucopy.Po - -rm -f ./$(DEPDIR)/libtests_a-tprintf.Po -+ -rm -f ./$(DEPDIR)/libtests_a-xmalloc_for_tests.Po - -rm -f ./$(DEPDIR)/link.Po - -rm -f ./$(DEPDIR)/linkat.Po - -rm -f ./$(DEPDIR)/list_sigaction_signum.Po -@@ -12663,6 +13254,7 @@ - -rm -f ./$(DEPDIR)/memfd_create-Xraw.Po - -rm -f ./$(DEPDIR)/memfd_create-Xverbose.Po - -rm -f ./$(DEPDIR)/memfd_create.Po -+ -rm -f ./$(DEPDIR)/migrate_pages--pidns-translation.Po - -rm -f ./$(DEPDIR)/migrate_pages.Po - -rm -f ./$(DEPDIR)/mincore.Po - -rm -f ./$(DEPDIR)/mkdir.Po -@@ -12691,6 +13283,7 @@ - -rm -f ./$(DEPDIR)/mount.Po - -rm -f ./$(DEPDIR)/move_mount-P.Po - -rm -f ./$(DEPDIR)/move_mount.Po -+ -rm -f ./$(DEPDIR)/move_pages--pidns-translation.Po - -rm -f ./$(DEPDIR)/move_pages-Xabbrev.Po - -rm -f ./$(DEPDIR)/move_pages-Xraw.Po - -rm -f ./$(DEPDIR)/move_pages-Xverbose.Po -@@ -12714,6 +13307,7 @@ - -rm -f ./$(DEPDIR)/net-packet_mreq-Xraw.Po - -rm -f ./$(DEPDIR)/net-packet_mreq-Xverbose.Po - -rm -f ./$(DEPDIR)/net-packet_mreq.Po -+ -rm -f ./$(DEPDIR)/net-sockaddr--pidns-translation.Po - -rm -f ./$(DEPDIR)/net-sockaddr.Po - -rm -f ./$(DEPDIR)/net-tpacket_req.Po - -rm -f ./$(DEPDIR)/net-tpacket_stats-success.Po -@@ -12723,6 +13317,7 @@ - -rm -f ./$(DEPDIR)/net-yy-inet6.Po - -rm -f ./$(DEPDIR)/net-yy-netlink.Po - -rm -f ./$(DEPDIR)/net-yy-unix.Po -+ -rm -f ./$(DEPDIR)/netlink_audit--pidns-translation.Po - -rm -f ./$(DEPDIR)/netlink_audit.Po - -rm -f ./$(DEPDIR)/netlink_crypto.Po - -rm -f ./$(DEPDIR)/netlink_generic.Po -@@ -12827,11 +13422,14 @@ - -rm -f ./$(DEPDIR)/pidfd_open--decode-fd-path.Po - -rm -f ./$(DEPDIR)/pidfd_open--decode-fd-pidfd.Po - -rm -f ./$(DEPDIR)/pidfd_open--decode-fd-socket.Po -+ -rm -f ./$(DEPDIR)/pidfd_open--pidns-translation.Po - -rm -f ./$(DEPDIR)/pidfd_open-P.Po - -rm -f ./$(DEPDIR)/pidfd_open-y.Po - -rm -f ./$(DEPDIR)/pidfd_open-yy.Po - -rm -f ./$(DEPDIR)/pidfd_open.Po -+ -rm -f ./$(DEPDIR)/pidfd_send_signal--pidns-translation.Po - -rm -f ./$(DEPDIR)/pidfd_send_signal.Po -+ -rm -f ./$(DEPDIR)/pidns-cache.Po - -rm -f ./$(DEPDIR)/pipe.Po - -rm -f ./$(DEPDIR)/pipe2.Po - -rm -f ./$(DEPDIR)/pkey_alloc.Po -@@ -12869,8 +13467,11 @@ - -rm -f ./$(DEPDIR)/printstrn-umoven-peekdata.Po - -rm -f ./$(DEPDIR)/printstrn-umoven-undumpable.Po - -rm -f ./$(DEPDIR)/printstrn-umoven.Po -+ -rm -f ./$(DEPDIR)/prlimit64--pidns-translation.Po - -rm -f ./$(DEPDIR)/prlimit64.Po -+ -rm -f ./$(DEPDIR)/process_vm_readv--pidns-translation.Po - -rm -f ./$(DEPDIR)/process_vm_readv.Po -+ -rm -f ./$(DEPDIR)/process_vm_writev--pidns-translation.Po - -rm -f ./$(DEPDIR)/process_vm_writev.Po - -rm -f ./$(DEPDIR)/pselect6.Po - -rm -f ./$(DEPDIR)/ptrace.Po -@@ -12919,10 +13520,12 @@ - -rm -f ./$(DEPDIR)/rt_sigaction.Po - -rm -f ./$(DEPDIR)/rt_sigpending.Po - -rm -f ./$(DEPDIR)/rt_sigprocmask.Po -+ -rm -f ./$(DEPDIR)/rt_sigqueueinfo--pidns-translation.Po - -rm -f ./$(DEPDIR)/rt_sigqueueinfo.Po - -rm -f ./$(DEPDIR)/rt_sigreturn.Po - -rm -f ./$(DEPDIR)/rt_sigsuspend.Po - -rm -f ./$(DEPDIR)/rt_sigtimedwait.Po -+ -rm -f ./$(DEPDIR)/rt_tgsigqueueinfo--pidns-translation.Po - -rm -f ./$(DEPDIR)/rt_tgsigqueueinfo.Po - -rm -f ./$(DEPDIR)/run_expect_termsig.Po - -rm -f ./$(DEPDIR)/s390_guarded_storage-v.Po -@@ -12933,9 +13536,13 @@ - -rm -f ./$(DEPDIR)/s390_sthyi.Po - -rm -f ./$(DEPDIR)/sched_get_priority_mxx.Po - -rm -f ./$(DEPDIR)/sched_rr_get_interval.Po -+ -rm -f ./$(DEPDIR)/sched_xetaffinity--pidns-translation.Po - -rm -f ./$(DEPDIR)/sched_xetaffinity.Po -+ -rm -f ./$(DEPDIR)/sched_xetattr--pidns-translation.Po - -rm -f ./$(DEPDIR)/sched_xetattr.Po -+ -rm -f ./$(DEPDIR)/sched_xetparam--pidns-translation.Po - -rm -f ./$(DEPDIR)/sched_xetparam.Po -+ -rm -f ./$(DEPDIR)/sched_xetscheduler--pidns-translation.Po - -rm -f ./$(DEPDIR)/sched_xetscheduler.Po - -rm -f ./$(DEPDIR)/sched_yield.Po - -rm -f ./$(DEPDIR)/scm_rights.Po -@@ -12989,6 +13596,7 @@ - -rm -f ./$(DEPDIR)/sigaltstack.Po - -rm -f ./$(DEPDIR)/siginfo.Po - -rm -f ./$(DEPDIR)/signal.Po -+ -rm -f ./$(DEPDIR)/signal_receive--pidns-translation.Po - -rm -f ./$(DEPDIR)/signal_receive.Po - -rm -f ./$(DEPDIR)/signalfd4.Po - -rm -f ./$(DEPDIR)/sigpending.Po -@@ -12998,6 +13606,7 @@ - -rm -f ./$(DEPDIR)/sleep.Po - -rm -f ./$(DEPDIR)/so_error.Po - -rm -f ./$(DEPDIR)/so_linger.Po -+ -rm -f ./$(DEPDIR)/so_peercred--pidns-translation.Po - -rm -f ./$(DEPDIR)/so_peercred-Xabbrev.Po - -rm -f ./$(DEPDIR)/so_peercred-Xraw.Po - -rm -f ./$(DEPDIR)/so_peercred-Xverbose.Po -@@ -13057,6 +13666,7 @@ - -rm -f ./$(DEPDIR)/syslog-success.Po - -rm -f ./$(DEPDIR)/syslog.Po - -rm -f ./$(DEPDIR)/tee.Po -+ -rm -f ./$(DEPDIR)/tgkill--pidns-translation.Po - -rm -f ./$(DEPDIR)/tgkill.Po - -rm -f ./$(DEPDIR)/threads-execve--quiet-thread-execve.Po - -rm -f ./$(DEPDIR)/threads-execve-q.Po -@@ -13069,6 +13679,7 @@ - -rm -f ./$(DEPDIR)/timerfd_xettime.Po - -rm -f ./$(DEPDIR)/times-fail.Po - -rm -f ./$(DEPDIR)/times.Po -+ -rm -f ./$(DEPDIR)/tkill--pidns-translation.Po - -rm -f ./$(DEPDIR)/tkill.Po - -rm -f ./$(DEPDIR)/tracer_ppid_pgid_sid.Po - -rm -f ./$(DEPDIR)/truncate.Po -@@ -13110,14 +13721,26 @@ - -rm -f ./$(DEPDIR)/waitpid.Po - -rm -f ./$(DEPDIR)/xattr-strings.Po - -rm -f ./$(DEPDIR)/xattr.Po -+ -rm -f ./$(DEPDIR)/xet_robust_list--pidns-translation.Po - -rm -f ./$(DEPDIR)/xet_robust_list.Po - -rm -f ./$(DEPDIR)/xet_thread_area_x86.Po - -rm -f ./$(DEPDIR)/xetitimer.Po -+ -rm -f ./$(DEPDIR)/xetpgid--pidns-translation.Po - -rm -f ./$(DEPDIR)/xetpgid.Po -+ -rm -f ./$(DEPDIR)/xetpriority--pidns-translation.Po - -rm -f ./$(DEPDIR)/xetpriority.Po - -rm -f ./$(DEPDIR)/xettimeofday.Po - -rm -f ./$(DEPDIR)/zeroargc.Po - -rm -f Makefile -+distclean-am: clean-am distclean-compile distclean-generic \ -+ distclean-tags -+ -+dvi: dvi-am -+ -+dvi-am: -+ -+html: html-am -+ -rm -f Makefile - maintainer-clean-am: distclean-am maintainer-clean-generic - - mostlyclean: mostlyclean-am -@@ -13407,9 +14030,15 @@ - $(srcdir)/fcntl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/fcntl--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/fcntl64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/fcntl64--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/fdatasync.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -13569,9 +14198,15 @@ - $(srcdir)/getpgrp.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/getpgrp--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/getpid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/getpid--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/getppid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -13599,6 +14234,9 @@ - $(srcdir)/getsid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/getsid--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/getsockname.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -13878,6 +14516,9 @@ - $(srcdir)/ioprio.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/ioprio--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/ioprio-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -13944,6 +14585,9 @@ - $(srcdir)/kcmp-y.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/kcmp-y--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/kern_features.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -13980,6 +14624,9 @@ - $(srcdir)/kill.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/kill--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/ksysent.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -14043,6 +14690,9 @@ - $(srcdir)/migrate_pages.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/migrate_pages--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/mincore.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -14133,6 +14783,9 @@ - $(srcdir)/move_pages-Xverbose.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/move_pages--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/mq.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -14190,6 +14843,9 @@ - $(srcdir)/net-sockaddr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/net-sockaddr--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/net-tpacket_req.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -14499,9 +15155,15 @@ - $(srcdir)/pidfd_open-yy.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/pidfd_open--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/pidfd_send_signal.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/pidfd_send_signal--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/pipe2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -14568,12 +15230,21 @@ - $(srcdir)/prlimit64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/prlimit64--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/process_vm_readv.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/process_vm_readv--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/process_vm_writev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/process_vm_writev--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/pselect6.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -14682,6 +15353,9 @@ - $(srcdir)/rt_sigqueueinfo.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/rt_sigqueueinfo--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/rt_sigreturn.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -14694,6 +15368,9 @@ - $(srcdir)/rt_tgsigqueueinfo.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/rt_tgsigqueueinfo--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/s390_guarded_storage.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -14724,15 +15401,27 @@ - $(srcdir)/sched_xetaffinity.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/sched_xetaffinity--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/sched_xetattr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/sched_xetattr--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/sched_xetparam.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/sched_xetparam--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/sched_xetscheduler.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/sched_xetscheduler--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/sched_yield.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -14871,6 +15560,9 @@ - $(srcdir)/signal_receive.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/signal_receive--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/signalfd4.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -14904,6 +15596,9 @@ - $(srcdir)/so_peercred-Xverbose.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/so_peercred--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/sock_filter-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -15120,6 +15815,9 @@ - $(srcdir)/tgkill.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/tgkill--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/threads-execve--quiet-thread-execve.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -15153,6 +15851,9 @@ - $(srcdir)/tkill.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/tkill--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/trace_clock.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -15201,6 +15902,9 @@ - $(srcdir)/trace_statfs_like.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/trie_test.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/truncate.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -15291,15 +15995,24 @@ - $(srcdir)/xet_robust_list.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/xet_robust_list--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/xetitimer.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - - $(srcdir)/xetpgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/xetpgid--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/xetpriority.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/xetpriority--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/xettimeofday.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - diff --git a/SOURCES/0142-tests-add-fchmod-y-test.patch b/SOURCES/0142-tests-add-fchmod-y-test.patch deleted file mode 100644 index 527c11c..0000000 --- a/SOURCES/0142-tests-add-fchmod-y-test.patch +++ /dev/null @@ -1,1102 +0,0 @@ -From 80e96680db68fb424455180f24cd08089bd8c94b Mon Sep 17 00:00:00 2001 -From: "Dmitry V. Levin" -Date: Wed, 31 Mar 2021 08:00:00 +0000 -Subject: [PATCH 142/149] tests: add fchmod-y test -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -* tests/dirfd.c: New file. -* tests/Makefile.am (libtests_a_SOURCES): Add dirfd.c. -* tests/tests.h (get_dir_fd, get_fd_path): New function prototypes. -* tests/fchmod-y.c: New file. -* tests/fchmod.c (main): Create a sample file, handle YFLAG macro. -* tests/gen_tests.in (fchmod-y): New entry. -* tests/pure_executables.list: Add fchmod-y. -* tests/.gitignore: Likewise. - -Co-authored-by: Renaud Métrich - -Conflicts: - tests/fchmod.c ---- - tests/.gitignore | 1 + - tests/Makefile.am | 1 + - tests/dirfd.c | 43 ++++++++++++++++++++++++++++++++++++++ - tests/fchmod-y.c | 10 +++++++++ - tests/fchmod.c | 51 ++++++++++++++++++++++++++++++++++++++------- - tests/gen_tests.in | 1 + - tests/pure_executables.list | 1 + - tests/tests.h | 12 +++++++++++ - 8 files changed, 112 insertions(+), 8 deletions(-) - create mode 100644 tests/dirfd.c - create mode 100644 tests/fchmod-y.c - -Index: strace-5.7/tests/Makefile.am -=================================================================== ---- strace-5.7.orig/tests/Makefile.am 2021-08-24 19:31:43.636872612 +0200 -+++ strace-5.7/tests/Makefile.am 2021-08-24 19:32:04.015700127 +0200 -@@ -31,6 +31,7 @@ - libtests_a_SOURCES = \ - create_nl_socket.c \ - create_tmpfile.c \ -+ dirfd.c \ - errno2name.c \ - error_msg.c \ - fill_memory.c \ -Index: strace-5.7/tests/dirfd.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/dirfd.c 2021-08-24 19:32:04.016700119 +0200 -@@ -0,0 +1,43 @@ -+/* -+ * Copyright (c) 2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+ -+#include -+#include -+#include -+#include -+ -+#include "xmalloc.h" -+ -+int -+get_dir_fd(const char *dir_path) -+{ -+ DIR *dir = opendir(dir_path); -+ if (dir == NULL) -+ perror_msg_and_fail("opendir: %s", dir_path); -+ int dfd = dirfd(dir); -+ if (dfd == -1) -+ perror_msg_and_fail("dirfd"); -+ return dfd; -+} -+ -+char * -+get_fd_path(int fd) -+{ -+ char *proc = xasprintf("/proc/self/fd/%u", fd); -+ char *buf = xmalloc(PATH_MAX); -+ ssize_t n = readlink(proc, buf, PATH_MAX); -+ if (n < 0) -+ perror_msg_and_skip("readlink: %s", proc); -+ if (n >= PATH_MAX) -+ error_msg_and_fail("readlink: %s: %s", proc, -+ "symlink value is too long"); -+ buf[n] = '\0'; -+ free(proc); -+ return buf; -+} -Index: strace-5.7/tests/fchmod-y.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/fchmod-y.c 2021-08-24 19:32:04.016700119 +0200 -@@ -0,0 +1,10 @@ -+/* -+ * Copyright (c) 2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#define YFLAG -+ -+#include "fchmod.c" -Index: strace-5.7/tests/fchmod.c -=================================================================== ---- strace-5.7.orig/tests/fchmod.c 2021-08-24 19:31:43.636872612 +0200 -+++ strace-5.7/tests/fchmod.c 2021-08-24 19:32:04.017700110 +0200 -@@ -2,8 +2,8 @@ - * Check decoding of fchmod syscall. - * - * Copyright (c) 2016 Fabien Siron -- * Copyright (c) 2016 Dmitry V. Levin -- * Copyright (c) 2016-2020 The strace developers. -+ * Copyright (c) 2016 Dmitry V. Levin -+ * Copyright (c) 2016-2021 The strace developers. - * All rights reserved. - * - * SPDX-License-Identifier: GPL-2.0-or-later -@@ -15,25 +15,60 @@ - #ifdef __NR_fchmod - - # include --# include - # include - # include - - int - main(void) - { -- int fd = create_tmpfile(O_RDWR); -+ static const char sample[] = "fchmod_sample_file"; -+ (void) unlink(sample); -+ int fd = open(sample, O_CREAT|O_RDONLY, 0400); -+ if (fd == -1) -+ perror_msg_and_fail("open"); -+ -+# ifdef YFLAG -+ char *sample_realpath = get_fd_path(fd); -+# endif - - long rc = syscall(__NR_fchmod, fd, 0600); -- printf("fchmod(%d, 0600) = %s\n", fd, sprintrc(rc)); -+# ifdef YFLAG -+ printf("fchmod(%d<%s>, 0600) = %s\n", -+# else -+ printf("fchmod(%d, 0600) = %s\n", -+# endif -+ fd, -+# ifdef YFLAG -+ sample_realpath, -+# endif -+ sprintrc(rc)); - -- close(fd); -+ if (unlink(sample)) -+ perror_msg_and_fail("unlink"); - - rc = syscall(__NR_fchmod, fd, 051); -- printf("fchmod(%d, 051) = %s\n", fd, sprintrc(rc)); -+# ifdef YFLAG -+ printf("fchmod(%d<%s (deleted)>, 051) = %s\n", -+# else -+ printf("fchmod(%d, 051) = %s\n", -+# endif -+ fd, -+# ifdef YFLAG -+ sample_realpath, -+# endif -+ sprintrc(rc)); - - rc = syscall(__NR_fchmod, fd, 004); -- printf("fchmod(%d, 004) = %s\n", fd, sprintrc(rc)); -+# ifdef YFLAG -+ printf("fchmod(%d<%s (deleted)>, 004) = %s\n", -+# else -+ printf("fchmod(%d, 004) = %s\n", -+# endif -+ fd, -+# ifdef YFLAG -+ sample_realpath, -+# endif -+ sprintrc(rc)); - - puts("+++ exited with 0 +++"); - return 0; -Index: strace-5.7/tests/gen_tests.in -=================================================================== ---- strace-5.7.orig/tests/gen_tests.in 2021-08-24 19:31:43.637872604 +0200 -+++ strace-5.7/tests/gen_tests.in 2021-08-24 19:32:04.017700110 +0200 -@@ -83,6 +83,7 @@ - fanotify_mark-Xverbose -a32 -Xverbose -e trace=fanotify_mark - fchdir -a11 - fchmod -a15 -+fchmod-y -y -e trace=fchmod - fchmodat - fchown -a16 - fchown32 -a18 -Index: strace-5.7/tests/pure_executables.list -=================================================================== ---- strace-5.7.orig/tests/pure_executables.list 2021-08-24 19:31:43.637872604 +0200 -+++ strace-5.7/tests/pure_executables.list 2021-08-24 19:32:04.017700110 +0200 -@@ -71,6 +71,7 @@ - fanotify_mark-Xverbose - fchdir - fchmod -+fchmod-y - fchmodat - fchown - fchown32 -Index: strace-5.7/tests/tests.h -=================================================================== ---- strace-5.7.orig/tests/tests.h 2021-08-24 19:31:43.637872604 +0200 -+++ strace-5.7/tests/tests.h 2021-08-24 19:32:04.018700102 +0200 -@@ -149,6 +149,18 @@ - void skip_if_unavailable(const char *); - - /* -+ * Obtain a file descriptor corresponding to the specified directory name, -+ * die on failure. -+ */ -+int get_dir_fd(const char *dir_path); -+ -+/* -+ * Obtain a path corresponding to the specified file descriptor, -+ * die on failure. -+ */ -+char *get_fd_path(int fd) ATTRIBUTE_MALLOC; -+ -+/* - * Obtain an exclusive lock on dirname(path_name)/lock_name file - * using open and flock. - */ -Index: strace-5.7/tests-m32/Makefile.am -=================================================================== ---- strace-5.7.orig/tests-m32/Makefile.am 2021-08-24 19:31:43.637872604 +0200 -+++ strace-5.7/tests-m32/Makefile.am 2021-08-24 19:32:04.018700102 +0200 -@@ -31,6 +31,7 @@ - libtests_a_SOURCES = \ - create_nl_socket.c \ - create_tmpfile.c \ -+ dirfd.c \ - errno2name.c \ - error_msg.c \ - fill_memory.c \ -Index: strace-5.7/tests-m32/dirfd.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/dirfd.c 2021-08-24 19:32:04.018700102 +0200 -@@ -0,0 +1,43 @@ -+/* -+ * Copyright (c) 2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+ -+#include -+#include -+#include -+#include -+ -+#include "xmalloc.h" -+ -+int -+get_dir_fd(const char *dir_path) -+{ -+ DIR *dir = opendir(dir_path); -+ if (dir == NULL) -+ perror_msg_and_fail("opendir: %s", dir_path); -+ int dfd = dirfd(dir); -+ if (dfd == -1) -+ perror_msg_and_fail("dirfd"); -+ return dfd; -+} -+ -+char * -+get_fd_path(int fd) -+{ -+ char *proc = xasprintf("/proc/self/fd/%u", fd); -+ char *buf = xmalloc(PATH_MAX); -+ ssize_t n = readlink(proc, buf, PATH_MAX); -+ if (n < 0) -+ perror_msg_and_skip("readlink: %s", proc); -+ if (n >= PATH_MAX) -+ error_msg_and_fail("readlink: %s: %s", proc, -+ "symlink value is too long"); -+ buf[n] = '\0'; -+ free(proc); -+ return buf; -+} -Index: strace-5.7/tests-m32/fchmod-y.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/fchmod-y.c 2021-08-24 19:32:04.019700094 +0200 -@@ -0,0 +1,10 @@ -+/* -+ * Copyright (c) 2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#define YFLAG -+ -+#include "fchmod.c" -Index: strace-5.7/tests-m32/fchmod.c -=================================================================== ---- strace-5.7.orig/tests-m32/fchmod.c 2021-08-24 19:31:43.638872595 +0200 -+++ strace-5.7/tests-m32/fchmod.c 2021-08-24 19:32:04.019700094 +0200 -@@ -2,8 +2,8 @@ - * Check decoding of fchmod syscall. - * - * Copyright (c) 2016 Fabien Siron -- * Copyright (c) 2016 Dmitry V. Levin -- * Copyright (c) 2016-2020 The strace developers. -+ * Copyright (c) 2016 Dmitry V. Levin -+ * Copyright (c) 2016-2021 The strace developers. - * All rights reserved. - * - * SPDX-License-Identifier: GPL-2.0-or-later -@@ -15,25 +15,60 @@ - #ifdef __NR_fchmod - - # include --# include - # include - # include - - int - main(void) - { -- int fd = create_tmpfile(O_RDWR); -+ static const char sample[] = "fchmod_sample_file"; -+ (void) unlink(sample); -+ int fd = open(sample, O_CREAT|O_RDONLY, 0400); -+ if (fd == -1) -+ perror_msg_and_fail("open"); -+ -+# ifdef YFLAG -+ char *sample_realpath = get_fd_path(fd); -+# endif - - long rc = syscall(__NR_fchmod, fd, 0600); -- printf("fchmod(%d, 0600) = %s\n", fd, sprintrc(rc)); -+# ifdef YFLAG -+ printf("fchmod(%d<%s>, 0600) = %s\n", -+# else -+ printf("fchmod(%d, 0600) = %s\n", -+# endif -+ fd, -+# ifdef YFLAG -+ sample_realpath, -+# endif -+ sprintrc(rc)); - -- close(fd); -+ if (unlink(sample)) -+ perror_msg_and_fail("unlink"); - - rc = syscall(__NR_fchmod, fd, 051); -- printf("fchmod(%d, 051) = %s\n", fd, sprintrc(rc)); -+# ifdef YFLAG -+ printf("fchmod(%d<%s (deleted)>, 051) = %s\n", -+# else -+ printf("fchmod(%d, 051) = %s\n", -+# endif -+ fd, -+# ifdef YFLAG -+ sample_realpath, -+# endif -+ sprintrc(rc)); - - rc = syscall(__NR_fchmod, fd, 004); -- printf("fchmod(%d, 004) = %s\n", fd, sprintrc(rc)); -+# ifdef YFLAG -+ printf("fchmod(%d<%s (deleted)>, 004) = %s\n", -+# else -+ printf("fchmod(%d, 004) = %s\n", -+# endif -+ fd, -+# ifdef YFLAG -+ sample_realpath, -+# endif -+ sprintrc(rc)); - - puts("+++ exited with 0 +++"); - return 0; -Index: strace-5.7/tests-m32/gen_tests.in -=================================================================== ---- strace-5.7.orig/tests-m32/gen_tests.in 2021-08-24 19:31:43.638872595 +0200 -+++ strace-5.7/tests-m32/gen_tests.in 2021-08-24 19:32:04.020700085 +0200 -@@ -83,6 +83,7 @@ - fanotify_mark-Xverbose -a32 -Xverbose -e trace=fanotify_mark - fchdir -a11 - fchmod -a15 -+fchmod-y -y -e trace=fchmod - fchmodat - fchown -a16 - fchown32 -a18 -Index: strace-5.7/tests-m32/pure_executables.list -=================================================================== ---- strace-5.7.orig/tests-m32/pure_executables.list 2021-08-24 19:31:43.638872595 +0200 -+++ strace-5.7/tests-m32/pure_executables.list 2021-08-24 19:32:04.020700085 +0200 -@@ -71,6 +71,7 @@ - fanotify_mark-Xverbose - fchdir - fchmod -+fchmod-y - fchmodat - fchown - fchown32 -Index: strace-5.7/tests-m32/tests.h -=================================================================== ---- strace-5.7.orig/tests-m32/tests.h 2021-08-24 19:31:43.638872595 +0200 -+++ strace-5.7/tests-m32/tests.h 2021-08-24 19:32:04.020700085 +0200 -@@ -149,6 +149,18 @@ - void skip_if_unavailable(const char *); - - /* -+ * Obtain a file descriptor corresponding to the specified directory name, -+ * die on failure. -+ */ -+int get_dir_fd(const char *dir_path); -+ -+/* -+ * Obtain a path corresponding to the specified file descriptor, -+ * die on failure. -+ */ -+char *get_fd_path(int fd) ATTRIBUTE_MALLOC; -+ -+/* - * Obtain an exclusive lock on dirname(path_name)/lock_name file - * using open and flock. - */ -Index: strace-5.7/tests-mx32/Makefile.am -=================================================================== ---- strace-5.7.orig/tests-mx32/Makefile.am 2021-08-24 19:31:43.638872595 +0200 -+++ strace-5.7/tests-mx32/Makefile.am 2021-08-24 19:32:04.021700077 +0200 -@@ -31,6 +31,7 @@ - libtests_a_SOURCES = \ - create_nl_socket.c \ - create_tmpfile.c \ -+ dirfd.c \ - errno2name.c \ - error_msg.c \ - fill_memory.c \ -Index: strace-5.7/tests-mx32/dirfd.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/dirfd.c 2021-08-24 19:32:04.021700077 +0200 -@@ -0,0 +1,43 @@ -+/* -+ * Copyright (c) 2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+ -+#include -+#include -+#include -+#include -+ -+#include "xmalloc.h" -+ -+int -+get_dir_fd(const char *dir_path) -+{ -+ DIR *dir = opendir(dir_path); -+ if (dir == NULL) -+ perror_msg_and_fail("opendir: %s", dir_path); -+ int dfd = dirfd(dir); -+ if (dfd == -1) -+ perror_msg_and_fail("dirfd"); -+ return dfd; -+} -+ -+char * -+get_fd_path(int fd) -+{ -+ char *proc = xasprintf("/proc/self/fd/%u", fd); -+ char *buf = xmalloc(PATH_MAX); -+ ssize_t n = readlink(proc, buf, PATH_MAX); -+ if (n < 0) -+ perror_msg_and_skip("readlink: %s", proc); -+ if (n >= PATH_MAX) -+ error_msg_and_fail("readlink: %s: %s", proc, -+ "symlink value is too long"); -+ buf[n] = '\0'; -+ free(proc); -+ return buf; -+} -Index: strace-5.7/tests-mx32/fchmod-y.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/fchmod-y.c 2021-08-24 19:32:04.021700077 +0200 -@@ -0,0 +1,10 @@ -+/* -+ * Copyright (c) 2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#define YFLAG -+ -+#include "fchmod.c" -Index: strace-5.7/tests-mx32/fchmod.c -=================================================================== ---- strace-5.7.orig/tests-mx32/fchmod.c 2021-08-24 19:31:43.639872587 +0200 -+++ strace-5.7/tests-mx32/fchmod.c 2021-08-24 19:32:04.022700068 +0200 -@@ -2,8 +2,8 @@ - * Check decoding of fchmod syscall. - * - * Copyright (c) 2016 Fabien Siron -- * Copyright (c) 2016 Dmitry V. Levin -- * Copyright (c) 2016-2020 The strace developers. -+ * Copyright (c) 2016 Dmitry V. Levin -+ * Copyright (c) 2016-2021 The strace developers. - * All rights reserved. - * - * SPDX-License-Identifier: GPL-2.0-or-later -@@ -15,25 +15,60 @@ - #ifdef __NR_fchmod - - # include --# include - # include - # include - - int - main(void) - { -- int fd = create_tmpfile(O_RDWR); -+ static const char sample[] = "fchmod_sample_file"; -+ (void) unlink(sample); -+ int fd = open(sample, O_CREAT|O_RDONLY, 0400); -+ if (fd == -1) -+ perror_msg_and_fail("open"); -+ -+# ifdef YFLAG -+ char *sample_realpath = get_fd_path(fd); -+# endif - - long rc = syscall(__NR_fchmod, fd, 0600); -- printf("fchmod(%d, 0600) = %s\n", fd, sprintrc(rc)); -+# ifdef YFLAG -+ printf("fchmod(%d<%s>, 0600) = %s\n", -+# else -+ printf("fchmod(%d, 0600) = %s\n", -+# endif -+ fd, -+# ifdef YFLAG -+ sample_realpath, -+# endif -+ sprintrc(rc)); - -- close(fd); -+ if (unlink(sample)) -+ perror_msg_and_fail("unlink"); - - rc = syscall(__NR_fchmod, fd, 051); -- printf("fchmod(%d, 051) = %s\n", fd, sprintrc(rc)); -+# ifdef YFLAG -+ printf("fchmod(%d<%s (deleted)>, 051) = %s\n", -+# else -+ printf("fchmod(%d, 051) = %s\n", -+# endif -+ fd, -+# ifdef YFLAG -+ sample_realpath, -+# endif -+ sprintrc(rc)); - - rc = syscall(__NR_fchmod, fd, 004); -- printf("fchmod(%d, 004) = %s\n", fd, sprintrc(rc)); -+# ifdef YFLAG -+ printf("fchmod(%d<%s (deleted)>, 004) = %s\n", -+# else -+ printf("fchmod(%d, 004) = %s\n", -+# endif -+ fd, -+# ifdef YFLAG -+ sample_realpath, -+# endif -+ sprintrc(rc)); - - puts("+++ exited with 0 +++"); - return 0; -Index: strace-5.7/tests-mx32/gen_tests.in -=================================================================== ---- strace-5.7.orig/tests-mx32/gen_tests.in 2021-08-24 19:31:43.639872587 +0200 -+++ strace-5.7/tests-mx32/gen_tests.in 2021-08-24 19:32:04.022700068 +0200 -@@ -83,6 +83,7 @@ - fanotify_mark-Xverbose -a32 -Xverbose -e trace=fanotify_mark - fchdir -a11 - fchmod -a15 -+fchmod-y -y -e trace=fchmod - fchmodat - fchown -a16 - fchown32 -a18 -Index: strace-5.7/tests-mx32/pure_executables.list -=================================================================== ---- strace-5.7.orig/tests-mx32/pure_executables.list 2021-08-24 19:31:43.639872587 +0200 -+++ strace-5.7/tests-mx32/pure_executables.list 2021-08-24 19:32:04.022700068 +0200 -@@ -71,6 +71,7 @@ - fanotify_mark-Xverbose - fchdir - fchmod -+fchmod-y - fchmodat - fchown - fchown32 -Index: strace-5.7/tests-mx32/tests.h -=================================================================== ---- strace-5.7.orig/tests-mx32/tests.h 2021-08-24 19:31:43.639872587 +0200 -+++ strace-5.7/tests-mx32/tests.h 2021-08-24 19:32:04.022700068 +0200 -@@ -149,6 +149,18 @@ - void skip_if_unavailable(const char *); - - /* -+ * Obtain a file descriptor corresponding to the specified directory name, -+ * die on failure. -+ */ -+int get_dir_fd(const char *dir_path); -+ -+/* -+ * Obtain a path corresponding to the specified file descriptor, -+ * die on failure. -+ */ -+char *get_fd_path(int fd) ATTRIBUTE_MALLOC; -+ -+/* - * Obtain an exclusive lock on dirname(path_name)/lock_name file - * using open and flock. - */ -Index: strace-5.7/tests/Makefile.in -=================================================================== ---- strace-5.7.orig/tests/Makefile.in 2021-08-24 19:31:43.647872519 +0200 -+++ strace-5.7/tests/Makefile.in 2021-08-24 19:35:06.722153713 +0200 -@@ -303,7 +303,7 @@ - fanotify_init$(EXEEXT) fanotify_mark$(EXEEXT) \ - fanotify_mark-Xabbrev$(EXEEXT) fanotify_mark-Xraw$(EXEEXT) \ - fanotify_mark-Xverbose$(EXEEXT) fchdir$(EXEEXT) \ -- fchmod$(EXEEXT) fchmodat$(EXEEXT) fchown$(EXEEXT) \ -+ fchmod$(EXEEXT) fchmod-y$(EXEEXT) fchmodat$(EXEEXT) fchown$(EXEEXT) \ - fchown32$(EXEEXT) fchownat$(EXEEXT) fcntl$(EXEEXT) \ - fcntl64$(EXEEXT) fdatasync$(EXEEXT) fflush$(EXEEXT) \ - file_handle$(EXEEXT) file_ioctl$(EXEEXT) finit_module$(EXEEXT) \ -@@ -551,7 +551,7 @@ - libtests_a_AR = $(AR) $(ARFLAGS) - libtests_a_LIBADD = - am_libtests_a_OBJECTS = libtests_a-create_nl_socket.$(OBJEXT) \ -- libtests_a-create_tmpfile.$(OBJEXT) \ -+ libtests_a-create_tmpfile.$(OBJEXT) libtests_a-dirfd.$(OBJEXT) \ - libtests_a-errno2name.$(OBJEXT) libtests_a-error_msg.$(OBJEXT) \ - libtests_a-fill_memory.$(OBJEXT) \ - libtests_a-get_page_size.$(OBJEXT) \ -@@ -986,6 +986,10 @@ - fchmod_OBJECTS = fchmod.$(OBJEXT) - fchmod_LDADD = $(LDADD) - fchmod_DEPENDENCIES = libtests.a -+fchmod_y_SOURCES = fchmod-y.c -+fchmod_y_OBJECTS = fchmod-y.$(OBJEXT) -+fchmod_y_LDADD = $(LDADD) -+fchmod_y_DEPENDENCIES = libtests.a - fchmodat_SOURCES = fchmodat.c - fchmodat_OBJECTS = fchmodat.$(OBJEXT) - fchmodat_LDADD = $(LDADD) -@@ -4508,9 +4512,10 @@ - execve-v.c execveat.c execveat-v.c faccessat.c fadvise64.c \ - fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \ - fanotify_mark-Xabbrev.c fanotify_mark-Xraw.c \ -- fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmodat.c fchown.c \ -- fchown32.c fchownat.c fcntl.c fcntl--pidns-translation.c \ -- fcntl64.c fcntl64--pidns-translation.c fdatasync.c fflush.c \ -+ fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmod-y.c \ -+ fchmodat.c fchown.c fchown32.c fchownat.c fcntl.c \ -+ fcntl--pidns-translation.c fcntl64.c \ -+ fcntl64--pidns-translation.c fdatasync.c fflush.c \ - file_handle.c file_ioctl.c filter-unavailable.c \ - filter_seccomp-flag.c filter_seccomp-perf.c finit_module.c \ - flock.c fork--pidns-translation.c fork-f.c fsconfig.c \ -@@ -4755,9 +4760,10 @@ - execve-v.c execveat.c execveat-v.c faccessat.c fadvise64.c \ - fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \ - fanotify_mark-Xabbrev.c fanotify_mark-Xraw.c \ -- fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmodat.c fchown.c \ -- fchown32.c fchownat.c fcntl.c fcntl--pidns-translation.c \ -- fcntl64.c fcntl64--pidns-translation.c fdatasync.c fflush.c \ -+ fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmod-y.c \ -+ fchmodat.c fchown.c fchown32.c fchownat.c fcntl.c \ -+ fcntl--pidns-translation.c fcntl64.c \ -+ fcntl64--pidns-translation.c fdatasync.c fflush.c \ - file_handle.c file_ioctl.c filter-unavailable.c \ - filter_seccomp-flag.c filter_seccomp-perf.c finit_module.c \ - flock.c fork--pidns-translation.c fork-f.c fsconfig.c \ -@@ -5397,6 +5403,7 @@ - libtests_a_SOURCES = \ - create_nl_socket.c \ - create_tmpfile.c \ -+ dirfd.c \ - errno2name.c \ - error_msg.c \ - fill_memory.c \ -@@ -5507,6 +5514,7 @@ - fanotify_mark-Xverbose \ - fchdir \ - fchmod \ -+ fchmod-y \ - fchmodat \ - fchown \ - fchown32 \ -@@ -6151,11 +6159,11 @@ - fanotify_init.gen.test fanotify_mark.gen.test \ - fanotify_mark-Xabbrev.gen.test fanotify_mark-Xraw.gen.test \ - fanotify_mark-Xverbose.gen.test fchdir.gen.test \ -- fchmod.gen.test fchmodat.gen.test fchown.gen.test \ -- fchown32.gen.test fchownat.gen.test fcntl.gen.test \ -- fcntl--pidns-translation.gen.test fcntl64.gen.test \ -- fcntl64--pidns-translation.gen.test fdatasync.gen.test \ -- file_handle.gen.test file_ioctl.gen.test \ -+ fchmod.gen.test fchmod-y.gen.test fchmodat.gen.test \ -+ fchown.gen.test fchown32.gen.test fchownat.gen.test \ -+ fcntl.gen.test fcntl--pidns-translation.gen.test \ -+ fcntl64.gen.test fcntl64--pidns-translation.gen.test \ -+ fdatasync.gen.test file_handle.gen.test file_ioctl.gen.test \ - filter_seccomp.gen.test filter_seccomp-flag.gen.test \ - finit_module.gen.test flock.gen.test fork-f.gen.test \ - fsconfig.gen.test fsconfig-P.gen.test fsmount.gen.test \ -@@ -7242,6 +7250,10 @@ - @rm -f fchmod$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(fchmod_OBJECTS) $(fchmod_LDADD) $(LIBS) - -+fchmod-y$(EXEEXT): $(fchmod_y_OBJECTS) $(fchmod_y_DEPENDENCIES) $(EXTRA_fchmod_y_DEPENDENCIES) -+ @rm -f fchmod-y$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(fchmod_y_OBJECTS) $(fchmod_y_LDADD) $(LIBS) -+ - fchmodat$(EXEEXT): $(fchmodat_OBJECTS) $(fchmodat_DEPENDENCIES) $(EXTRA_fchmodat_DEPENDENCIES) - @rm -f fchmodat$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(fchmodat_OBJECTS) $(fchmodat_LDADD) $(LIBS) -@@ -10176,6 +10188,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark-Xverbose.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchdir.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchown.Po@am__quote@ # am--include-marker -@@ -10394,6 +10407,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lchown32.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-create_nl_socket.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-create_tmpfile.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-dirfd.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-errno2name.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-error_msg.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-fill_memory.Po@am__quote@ # am--include-marker -@@ -10975,6 +10989,20 @@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-create_tmpfile.obj `if test -f 'create_tmpfile.c'; then $(CYGPATH_W) 'create_tmpfile.c'; else $(CYGPATH_W) '$(srcdir)/create_tmpfile.c'; fi` - -+libtests_a-dirfd.o: dirfd.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-dirfd.o -MD -MP -MF $(DEPDIR)/libtests_a-dirfd.Tpo -c -o libtests_a-dirfd.o `test -f 'dirfd.c' || echo '$(srcdir)/'`dirfd.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-dirfd.Tpo $(DEPDIR)/libtests_a-dirfd.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='dirfd.c' object='libtests_a-dirfd.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-dirfd.o `test -f 'dirfd.c' || echo '$(srcdir)/'`dirfd.c -+ -+libtests_a-dirfd.obj: dirfd.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-dirfd.obj -MD -MP -MF $(DEPDIR)/libtests_a-dirfd.Tpo -c -o libtests_a-dirfd.obj `if test -f 'dirfd.c'; then $(CYGPATH_W) 'dirfd.c'; else $(CYGPATH_W) '$(srcdir)/dirfd.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-dirfd.Tpo $(DEPDIR)/libtests_a-dirfd.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='dirfd.c' object='libtests_a-dirfd.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-dirfd.obj `if test -f 'dirfd.c'; then $(CYGPATH_W) 'dirfd.c'; else $(CYGPATH_W) '$(srcdir)/dirfd.c'; fi` -+ - libtests_a-errno2name.o: errno2name.c - @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-errno2name.o -MD -MP -MF $(DEPDIR)/libtests_a-errno2name.Tpo -c -o libtests_a-errno2name.o `test -f 'errno2name.c' || echo '$(srcdir)/'`errno2name.c - @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-errno2name.Tpo $(DEPDIR)/libtests_a-errno2name.Po -@@ -14015,6 +14043,9 @@ - $(srcdir)/fchmod.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/fchmod-y.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/fchmodat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -Index: strace-5.7/tests-m32/Makefile.in -=================================================================== ---- strace-5.7.orig/tests-m32/Makefile.in 2021-08-24 19:31:43.655872452 +0200 -+++ strace-5.7/tests-m32/Makefile.in 2021-08-24 19:32:04.034699967 +0200 -@@ -303,7 +303,7 @@ - fanotify_init$(EXEEXT) fanotify_mark$(EXEEXT) \ - fanotify_mark-Xabbrev$(EXEEXT) fanotify_mark-Xraw$(EXEEXT) \ - fanotify_mark-Xverbose$(EXEEXT) fchdir$(EXEEXT) \ -- fchmod$(EXEEXT) fchmodat$(EXEEXT) fchown$(EXEEXT) \ -+ fchmod$(EXEEXT) fchmod-y$(EXEEXT) fchmodat$(EXEEXT) fchown$(EXEEXT) \ - fchown32$(EXEEXT) fchownat$(EXEEXT) fcntl$(EXEEXT) \ - fcntl64$(EXEEXT) fdatasync$(EXEEXT) fflush$(EXEEXT) \ - file_handle$(EXEEXT) file_ioctl$(EXEEXT) finit_module$(EXEEXT) \ -@@ -551,7 +551,7 @@ - libtests_a_AR = $(AR) $(ARFLAGS) - libtests_a_LIBADD = - am_libtests_a_OBJECTS = libtests_a-create_nl_socket.$(OBJEXT) \ -- libtests_a-create_tmpfile.$(OBJEXT) \ -+ libtests_a-create_tmpfile.$(OBJEXT) libtests_a-dirfd.$(OBJEXT) \ - libtests_a-errno2name.$(OBJEXT) libtests_a-error_msg.$(OBJEXT) \ - libtests_a-fill_memory.$(OBJEXT) \ - libtests_a-get_page_size.$(OBJEXT) \ -@@ -986,6 +986,10 @@ - fchmod_OBJECTS = fchmod.$(OBJEXT) - fchmod_LDADD = $(LDADD) - fchmod_DEPENDENCIES = libtests.a -+fchmod_y_SOURCES = fchmod-y.c -+fchmod_y_OBJECTS = fchmod-y.$(OBJEXT) -+fchmod_y_LDADD = $(LDADD) -+fchmod_y_DEPENDENCIES = libtests.a - fchmodat_SOURCES = fchmodat.c - fchmodat_OBJECTS = fchmodat.$(OBJEXT) - fchmodat_LDADD = $(LDADD) -@@ -4508,9 +4512,10 @@ - execve-v.c execveat.c execveat-v.c faccessat.c fadvise64.c \ - fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \ - fanotify_mark-Xabbrev.c fanotify_mark-Xraw.c \ -- fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmodat.c fchown.c \ -- fchown32.c fchownat.c fcntl.c fcntl--pidns-translation.c \ -- fcntl64.c fcntl64--pidns-translation.c fdatasync.c fflush.c \ -+ fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmod-y.c \ -+ fchmodat.c fchown.c fchown32.c fchownat.c fcntl.c \ -+ fcntl--pidns-translation.c fcntl64.c \ -+ fcntl64--pidns-translation.c fdatasync.c fflush.c \ - file_handle.c file_ioctl.c filter-unavailable.c \ - filter_seccomp-flag.c filter_seccomp-perf.c finit_module.c \ - flock.c fork--pidns-translation.c fork-f.c fsconfig.c \ -@@ -4755,9 +4760,10 @@ - execve-v.c execveat.c execveat-v.c faccessat.c fadvise64.c \ - fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \ - fanotify_mark-Xabbrev.c fanotify_mark-Xraw.c \ -- fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmodat.c fchown.c \ -- fchown32.c fchownat.c fcntl.c fcntl--pidns-translation.c \ -- fcntl64.c fcntl64--pidns-translation.c fdatasync.c fflush.c \ -+ fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmod-y.c \ -+ fchmodat.c fchown.c fchown32.c fchownat.c fcntl.c \ -+ fcntl--pidns-translation.c fcntl64.c \ -+ fcntl64--pidns-translation.c fdatasync.c fflush.c \ - file_handle.c file_ioctl.c filter-unavailable.c \ - filter_seccomp-flag.c filter_seccomp-perf.c finit_module.c \ - flock.c fork--pidns-translation.c fork-f.c fsconfig.c \ -@@ -5397,6 +5403,7 @@ - libtests_a_SOURCES = \ - create_nl_socket.c \ - create_tmpfile.c \ -+ dirfd.c \ - errno2name.c \ - error_msg.c \ - fill_memory.c \ -@@ -5507,6 +5514,7 @@ - fanotify_mark-Xverbose \ - fchdir \ - fchmod \ -+ fchmod-y \ - fchmodat \ - fchown \ - fchown32 \ -@@ -6151,11 +6159,11 @@ - fanotify_init.gen.test fanotify_mark.gen.test \ - fanotify_mark-Xabbrev.gen.test fanotify_mark-Xraw.gen.test \ - fanotify_mark-Xverbose.gen.test fchdir.gen.test \ -- fchmod.gen.test fchmodat.gen.test fchown.gen.test \ -- fchown32.gen.test fchownat.gen.test fcntl.gen.test \ -- fcntl--pidns-translation.gen.test fcntl64.gen.test \ -- fcntl64--pidns-translation.gen.test fdatasync.gen.test \ -- file_handle.gen.test file_ioctl.gen.test \ -+ fchmod.gen.test fchmod-y.gen.test fchmodat.gen.test \ -+ fchown.gen.test fchown32.gen.test fchownat.gen.test \ -+ fcntl.gen.test fcntl--pidns-translation.gen.test \ -+ fcntl64.gen.test fcntl64--pidns-translation.gen.test \ -+ fdatasync.gen.test file_handle.gen.test file_ioctl.gen.test \ - filter_seccomp.gen.test filter_seccomp-flag.gen.test \ - finit_module.gen.test flock.gen.test fork-f.gen.test \ - fsconfig.gen.test fsconfig-P.gen.test fsmount.gen.test \ -@@ -7242,6 +7250,10 @@ - @rm -f fchmod$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(fchmod_OBJECTS) $(fchmod_LDADD) $(LIBS) - -+fchmod-y$(EXEEXT): $(fchmod_y_OBJECTS) $(fchmod_y_DEPENDENCIES) $(EXTRA_fchmod_y_DEPENDENCIES) -+ @rm -f fchmod-y$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(fchmod_y_OBJECTS) $(fchmod_y_LDADD) $(LIBS) -+ - fchmodat$(EXEEXT): $(fchmodat_OBJECTS) $(fchmodat_DEPENDENCIES) $(EXTRA_fchmodat_DEPENDENCIES) - @rm -f fchmodat$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(fchmodat_OBJECTS) $(fchmodat_LDADD) $(LIBS) -@@ -10176,6 +10188,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark-Xverbose.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchdir.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchown.Po@am__quote@ # am--include-marker -@@ -10394,6 +10407,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lchown32.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-create_nl_socket.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-create_tmpfile.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-dirfd.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-errno2name.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-error_msg.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-fill_memory.Po@am__quote@ # am--include-marker -@@ -10975,6 +10987,20 @@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-create_tmpfile.obj `if test -f 'create_tmpfile.c'; then $(CYGPATH_W) 'create_tmpfile.c'; else $(CYGPATH_W) '$(srcdir)/create_tmpfile.c'; fi` - -+libtests_a-dirfd.o: dirfd.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-dirfd.o -MD -MP -MF $(DEPDIR)/libtests_a-dirfd.Tpo -c -o libtests_a-dirfd.o `test -f 'dirfd.c' || echo '$(srcdir)/'`dirfd.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-dirfd.Tpo $(DEPDIR)/libtests_a-dirfd.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='dirfd.c' object='libtests_a-dirfd.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-dirfd.o `test -f 'dirfd.c' || echo '$(srcdir)/'`dirfd.c -+ -+libtests_a-dirfd.obj: dirfd.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-dirfd.obj -MD -MP -MF $(DEPDIR)/libtests_a-dirfd.Tpo -c -o libtests_a-dirfd.obj `if test -f 'dirfd.c'; then $(CYGPATH_W) 'dirfd.c'; else $(CYGPATH_W) '$(srcdir)/dirfd.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-dirfd.Tpo $(DEPDIR)/libtests_a-dirfd.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='dirfd.c' object='libtests_a-dirfd.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-dirfd.obj `if test -f 'dirfd.c'; then $(CYGPATH_W) 'dirfd.c'; else $(CYGPATH_W) '$(srcdir)/dirfd.c'; fi` -+ - libtests_a-errno2name.o: errno2name.c - @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-errno2name.o -MD -MP -MF $(DEPDIR)/libtests_a-errno2name.Tpo -c -o libtests_a-errno2name.o `test -f 'errno2name.c' || echo '$(srcdir)/'`errno2name.c - @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-errno2name.Tpo $(DEPDIR)/libtests_a-errno2name.Po -@@ -14015,6 +14041,9 @@ - $(srcdir)/fchmod.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/fchmod-y.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/fchmodat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -Index: strace-5.7/tests-mx32/Makefile.in -=================================================================== ---- strace-5.7.orig/tests-mx32/Makefile.in 2021-08-24 19:31:43.662872392 +0200 -+++ strace-5.7/tests-mx32/Makefile.in 2021-08-24 19:32:04.039699924 +0200 -@@ -303,7 +303,7 @@ - fanotify_init$(EXEEXT) fanotify_mark$(EXEEXT) \ - fanotify_mark-Xabbrev$(EXEEXT) fanotify_mark-Xraw$(EXEEXT) \ - fanotify_mark-Xverbose$(EXEEXT) fchdir$(EXEEXT) \ -- fchmod$(EXEEXT) fchmodat$(EXEEXT) fchown$(EXEEXT) \ -+ fchmod$(EXEEXT) fchmod-y$(EXEEXT) fchmodat$(EXEEXT) fchown$(EXEEXT) \ - fchown32$(EXEEXT) fchownat$(EXEEXT) fcntl$(EXEEXT) \ - fcntl64$(EXEEXT) fdatasync$(EXEEXT) fflush$(EXEEXT) \ - file_handle$(EXEEXT) file_ioctl$(EXEEXT) finit_module$(EXEEXT) \ -@@ -551,7 +551,7 @@ - libtests_a_AR = $(AR) $(ARFLAGS) - libtests_a_LIBADD = - am_libtests_a_OBJECTS = libtests_a-create_nl_socket.$(OBJEXT) \ -- libtests_a-create_tmpfile.$(OBJEXT) \ -+ libtests_a-create_tmpfile.$(OBJEXT) libtests_a-dirfd.$(OBJEXT) \ - libtests_a-errno2name.$(OBJEXT) libtests_a-error_msg.$(OBJEXT) \ - libtests_a-fill_memory.$(OBJEXT) \ - libtests_a-get_page_size.$(OBJEXT) \ -@@ -986,6 +986,10 @@ - fchmod_OBJECTS = fchmod.$(OBJEXT) - fchmod_LDADD = $(LDADD) - fchmod_DEPENDENCIES = libtests.a -+fchmod_y_SOURCES = fchmod-y.c -+fchmod_y_OBJECTS = fchmod-y.$(OBJEXT) -+fchmod_y_LDADD = $(LDADD) -+fchmod_y_DEPENDENCIES = libtests.a - fchmodat_SOURCES = fchmodat.c - fchmodat_OBJECTS = fchmodat.$(OBJEXT) - fchmodat_LDADD = $(LDADD) -@@ -4508,9 +4512,10 @@ - execve-v.c execveat.c execveat-v.c faccessat.c fadvise64.c \ - fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \ - fanotify_mark-Xabbrev.c fanotify_mark-Xraw.c \ -- fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmodat.c fchown.c \ -- fchown32.c fchownat.c fcntl.c fcntl--pidns-translation.c \ -- fcntl64.c fcntl64--pidns-translation.c fdatasync.c fflush.c \ -+ fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmod-y.c \ -+ fchmodat.c fchown.c fchown32.c fchownat.c fcntl.c \ -+ fcntl--pidns-translation.c fcntl64.c \ -+ fcntl64--pidns-translation.c fdatasync.c fflush.c \ - file_handle.c file_ioctl.c filter-unavailable.c \ - filter_seccomp-flag.c filter_seccomp-perf.c finit_module.c \ - flock.c fork--pidns-translation.c fork-f.c fsconfig.c \ -@@ -4755,9 +4760,10 @@ - execve-v.c execveat.c execveat-v.c faccessat.c fadvise64.c \ - fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \ - fanotify_mark-Xabbrev.c fanotify_mark-Xraw.c \ -- fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmodat.c fchown.c \ -- fchown32.c fchownat.c fcntl.c fcntl--pidns-translation.c \ -- fcntl64.c fcntl64--pidns-translation.c fdatasync.c fflush.c \ -+ fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmod-y.c \ -+ fchmodat.c fchown.c fchown32.c fchownat.c fcntl.c \ -+ fcntl--pidns-translation.c fcntl64.c \ -+ fcntl64--pidns-translation.c fdatasync.c fflush.c \ - file_handle.c file_ioctl.c filter-unavailable.c \ - filter_seccomp-flag.c filter_seccomp-perf.c finit_module.c \ - flock.c fork--pidns-translation.c fork-f.c fsconfig.c \ -@@ -5397,6 +5403,7 @@ - libtests_a_SOURCES = \ - create_nl_socket.c \ - create_tmpfile.c \ -+ dirfd.c \ - errno2name.c \ - error_msg.c \ - fill_memory.c \ -@@ -5507,6 +5514,7 @@ - fanotify_mark-Xverbose \ - fchdir \ - fchmod \ -+ fchmod-y \ - fchmodat \ - fchown \ - fchown32 \ -@@ -6151,11 +6159,11 @@ - fanotify_init.gen.test fanotify_mark.gen.test \ - fanotify_mark-Xabbrev.gen.test fanotify_mark-Xraw.gen.test \ - fanotify_mark-Xverbose.gen.test fchdir.gen.test \ -- fchmod.gen.test fchmodat.gen.test fchown.gen.test \ -- fchown32.gen.test fchownat.gen.test fcntl.gen.test \ -- fcntl--pidns-translation.gen.test fcntl64.gen.test \ -- fcntl64--pidns-translation.gen.test fdatasync.gen.test \ -- file_handle.gen.test file_ioctl.gen.test \ -+ fchmod.gen.test fchmod-y.gen.test fchmodat.gen.test \ -+ fchown.gen.test fchown32.gen.test fchownat.gen.test \ -+ fcntl.gen.test fcntl--pidns-translation.gen.test \ -+ fcntl64.gen.test fcntl64--pidns-translation.gen.test \ -+ fdatasync.gen.test file_handle.gen.test file_ioctl.gen.test \ - filter_seccomp.gen.test filter_seccomp-flag.gen.test \ - finit_module.gen.test flock.gen.test fork-f.gen.test \ - fsconfig.gen.test fsconfig-P.gen.test fsmount.gen.test \ -@@ -7242,6 +7250,10 @@ - @rm -f fchmod$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(fchmod_OBJECTS) $(fchmod_LDADD) $(LIBS) - -+fchmod-y$(EXEEXT): $(fchmod_y_OBJECTS) $(fchmod_y_DEPENDENCIES) $(EXTRA_fchmod_y_DEPENDENCIES) -+ @rm -f fchmod-y$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(fchmod_y_OBJECTS) $(fchmod_y_LDADD) $(LIBS) -+ - fchmodat$(EXEEXT): $(fchmodat_OBJECTS) $(fchmodat_DEPENDENCIES) $(EXTRA_fchmodat_DEPENDENCIES) - @rm -f fchmodat$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(fchmodat_OBJECTS) $(fchmodat_LDADD) $(LIBS) -@@ -10176,6 +10188,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark-Xverbose.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchdir.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchown.Po@am__quote@ # am--include-marker -@@ -10394,6 +10407,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lchown32.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-create_nl_socket.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-create_tmpfile.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-dirfd.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-errno2name.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-error_msg.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-fill_memory.Po@am__quote@ # am--include-marker -@@ -10975,6 +10987,20 @@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-create_tmpfile.obj `if test -f 'create_tmpfile.c'; then $(CYGPATH_W) 'create_tmpfile.c'; else $(CYGPATH_W) '$(srcdir)/create_tmpfile.c'; fi` - -+libtests_a-dirfd.o: dirfd.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-dirfd.o -MD -MP -MF $(DEPDIR)/libtests_a-dirfd.Tpo -c -o libtests_a-dirfd.o `test -f 'dirfd.c' || echo '$(srcdir)/'`dirfd.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-dirfd.Tpo $(DEPDIR)/libtests_a-dirfd.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='dirfd.c' object='libtests_a-dirfd.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-dirfd.o `test -f 'dirfd.c' || echo '$(srcdir)/'`dirfd.c -+ -+libtests_a-dirfd.obj: dirfd.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-dirfd.obj -MD -MP -MF $(DEPDIR)/libtests_a-dirfd.Tpo -c -o libtests_a-dirfd.obj `if test -f 'dirfd.c'; then $(CYGPATH_W) 'dirfd.c'; else $(CYGPATH_W) '$(srcdir)/dirfd.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-dirfd.Tpo $(DEPDIR)/libtests_a-dirfd.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='dirfd.c' object='libtests_a-dirfd.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-dirfd.obj `if test -f 'dirfd.c'; then $(CYGPATH_W) 'dirfd.c'; else $(CYGPATH_W) '$(srcdir)/dirfd.c'; fi` -+ - libtests_a-errno2name.o: errno2name.c - @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-errno2name.o -MD -MP -MF $(DEPDIR)/libtests_a-errno2name.Tpo -c -o libtests_a-errno2name.o `test -f 'errno2name.c' || echo '$(srcdir)/'`errno2name.c - @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-errno2name.Tpo $(DEPDIR)/libtests_a-errno2name.Po -@@ -14015,6 +14041,9 @@ - $(srcdir)/fchmod.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/fchmod-y.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/fchmodat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - diff --git a/SOURCES/0143-tests-introduce-create_and_enter_subdir-and-leave_an.patch b/SOURCES/0143-tests-introduce-create_and_enter_subdir-and-leave_an.patch deleted file mode 100644 index d8d067b..0000000 --- a/SOURCES/0143-tests-introduce-create_and_enter_subdir-and-leave_an.patch +++ /dev/null @@ -1,1270 +0,0 @@ -From 8f4f1f846588e9016b546889466b8bfb92b8c116 Mon Sep 17 00:00:00 2001 -From: "Dmitry V. Levin" -Date: Thu, 1 Apr 2021 08:00:00 +0000 -Subject: [PATCH 143/149] tests: introduce create_and_enter_subdir and - leave_and_remove_subdir - -Introduce the pair of functions that is going to be used to make sure -the current workdir of the tracee is different from the current workdir -of the tracer. - -Use the new interface in a few tests where the difference is going to be -relevant with --secontext option. - -* tests/subdir.c: New file. -* tests/Makefile.am (libtests_a_SOURCES): Add subdir.c. -* tests/tests.h (create_and_enter_subdir, leave_and_remove_subdir): -New function prototypes. -* tests/access.c (main): Use create_and_enter_subdir and -leave_and_remove_subdir. -* tests/chmod.c (main): Likewise. -* tests/execve.c (main): Likewise. -* tests/fchmod.c (main): Likewise. -* tests/fchmodat.c (main): Likewise. -* tests/fchownat.c (main): Likewise. -* tests/linkat.c (main): Likewise. -* tests/open.c (main): Likewise. -* tests/openat.c (main): Likewise. - -Conflicts: - tests/execve.c ---- - tests/Makefile.am | 1 + - tests/access.c | 10 +++++++++- - tests/chmod.c | 9 ++++++++- - tests/execve.c | 12 ++++++++++-- - tests/fchmod.c | 8 ++++++++ - tests/fchmodat.c | 9 ++++++++- - tests/fchownat.c | 8 ++++++++ - tests/linkat.c | 10 +++++++++- - tests/open.c | 8 ++++++++ - tests/openat.c | 10 +++++++++- - tests/subdir.c | 40 ++++++++++++++++++++++++++++++++++++++++ - tests/tests.h | 12 ++++++++++++ - 12 files changed, 130 insertions(+), 7 deletions(-) - create mode 100644 tests/subdir.c - -Index: strace-5.7/tests/Makefile.am -=================================================================== ---- strace-5.7.orig/tests/Makefile.am 2021-08-24 19:42:08.850580847 +0200 -+++ strace-5.7/tests/Makefile.am 2021-08-24 19:42:16.041519983 +0200 -@@ -58,6 +58,7 @@ - skip_unavailable.c \ - sprintrc.c \ - status.c \ -+ subdir.c \ - tail_alloc.c \ - test_netlink.h \ - test_nlattr.h \ -Index: strace-5.7/tests/access.c -=================================================================== ---- strace-5.7.orig/tests/access.c 2021-08-24 19:42:08.851580838 +0200 -+++ strace-5.7/tests/access.c 2021-08-24 19:42:16.041519983 +0200 -@@ -1,5 +1,5 @@ - /* -- * Copyright (c) 2016-2019 The strace developers. -+ * Copyright (c) 2016-2021 The strace developers. - * All rights reserved. - * - * SPDX-License-Identifier: GPL-2.0-or-later -@@ -16,6 +16,12 @@ - int - main(void) - { -+ /* -+ * Make sure the current workdir of the tracee -+ * is different from the current workdir of the tracer. -+ */ -+ create_and_enter_subdir("access_subdir"); -+ - static const char sample[] = "access_sample"; - - long rc = syscall(__NR_access, sample, F_OK); -@@ -26,6 +32,8 @@ - printf("access(\"%s\", R_OK|W_OK|X_OK) = %ld %s (%m)\n", - sample, rc, errno2name()); - -+ leave_and_remove_subdir(); -+ - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests/chmod.c -=================================================================== ---- strace-5.7.orig/tests/chmod.c 2021-08-24 19:42:08.851580838 +0200 -+++ strace-5.7/tests/chmod.c 2021-08-24 19:42:16.042519974 +0200 -@@ -15,11 +15,16 @@ - # include - # include - # include --# include - - int - main(void) - { -+ /* -+ * Make sure the current workdir of the tracee -+ * is different from the current workdir of the tracer. -+ */ -+ create_and_enter_subdir("chmod_subdir"); -+ - static const char fname[] = "chmod_test_file"; - - if (open(fname, O_CREAT|O_RDONLY, 0400) < 0) -@@ -37,6 +42,8 @@ - rc = syscall(__NR_chmod, fname, 004); - printf("chmod(\"%s\", 004) = %s\n", fname, sprintrc(rc)); - -+ leave_and_remove_subdir(); -+ - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests/execve.c -=================================================================== ---- strace-5.7.orig/tests/execve.c 2021-08-24 19:42:08.851580838 +0200 -+++ strace-5.7/tests/execve.c 2021-08-24 19:42:16.042519974 +0200 -@@ -1,8 +1,8 @@ - /* - * This file is part of execve strace test. - * -- * Copyright (c) 2015-2016 Dmitry V. Levin -- * Copyright (c) 2015-2018 The strace developers. -+ * Copyright (c) 2015-2016 Dmitry V. Levin -+ * Copyright (c) 2015-2021 The strace developers. - * All rights reserved. - * - * SPDX-License-Identifier: GPL-2.0-or-later -@@ -34,6 +34,12 @@ - int - main(void) - { -+ /* -+ * Make sure the current workdir of the tracee -+ * is different from the current workdir of the tracer. -+ */ -+ create_and_enter_subdir("execve_subdir"); -+ - char ** const tail_argv = tail_memdup(argv, sizeof(argv)); - char ** const tail_envp = tail_memdup(envp, sizeof(envp)); - -@@ -167,5 +173,7 @@ - printf("execve(\"%s\", %p, NULL) = -1 ENOENT (%m)\n", - Q_FILENAME, efault); - -+ leave_and_remove_subdir(); -+ - return 0; - } -Index: strace-5.7/tests/fchmod.c -=================================================================== ---- strace-5.7.orig/tests/fchmod.c 2021-08-24 19:42:08.851580838 +0200 -+++ strace-5.7/tests/fchmod.c 2021-08-24 19:42:16.042519974 +0200 -@@ -21,6 +21,12 @@ - int - main(void) - { -+ /* -+ * Make sure the current workdir of the tracee -+ * is different from the current workdir of the tracer. -+ */ -+ create_and_enter_subdir("fchmod_subdir"); -+ - static const char sample[] = "fchmod_sample_file"; - (void) unlink(sample); - int fd = open(sample, O_CREAT|O_RDONLY, 0400); -@@ -70,6 +76,8 @@ - # endif - sprintrc(rc)); - -+ leave_and_remove_subdir(); -+ - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests/fchmodat.c -=================================================================== ---- strace-5.7.orig/tests/fchmodat.c 2021-08-24 19:42:08.851580838 +0200 -+++ strace-5.7/tests/fchmodat.c 2021-08-24 19:42:16.043519966 +0200 -@@ -14,13 +14,18 @@ - #ifdef __NR_fchmodat - - # include --# include - # include - # include - - int - main(void) - { -+ /* -+ * Make sure the current workdir of the tracee -+ * is different from the current workdir of the tracer. -+ */ -+ create_and_enter_subdir("fchmodat_subdir"); -+ - static const char sample[] = "fchmodat_sample"; - - if (open(sample, O_RDONLY | O_CREAT, 0400) < 0) -@@ -41,6 +46,8 @@ - printf("fchmodat(AT_FDCWD, \"%s\", 004) = %s\n", - sample, sprintrc(rc)); - -+ leave_and_remove_subdir(); -+ - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests/fchownat.c -=================================================================== ---- strace-5.7.orig/tests/fchownat.c 2021-08-24 19:42:08.852580830 +0200 -+++ strace-5.7/tests/fchownat.c 2021-08-24 19:42:16.043519966 +0200 -@@ -20,6 +20,12 @@ - int - main(void) - { -+ /* -+ * Make sure the current workdir of the tracee -+ * is different from the current workdir of the tracer. -+ */ -+ create_and_enter_subdir("fchownat_subdir"); -+ - static const char sample[] = "fchownat_sample"; - uid_t uid = geteuid(); - uid_t gid = getegid(); -@@ -39,6 +45,8 @@ - printf("fchownat(AT_FDCWD, \"%s\", -1, -1, AT_SYMLINK_NOFOLLOW) = %s\n", - sample, sprintrc(rc)); - -+ leave_and_remove_subdir(); -+ - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests/linkat.c -=================================================================== ---- strace-5.7.orig/tests/linkat.c 2021-08-24 19:42:08.852580830 +0200 -+++ strace-5.7/tests/linkat.c 2021-08-24 19:42:16.043519966 +0200 -@@ -1,5 +1,5 @@ - /* -- * Copyright (c) 2016-2019 The strace developers. -+ * Copyright (c) 2016-2021 The strace developers. - * All rights reserved. - * - * SPDX-License-Identifier: GPL-2.0-or-later -@@ -16,6 +16,12 @@ - int - main(void) - { -+ /* -+ * Make sure the current workdir of the tracee -+ * is different from the current workdir of the tracer. -+ */ -+ create_and_enter_subdir("linkat_subdir"); -+ - static const char sample_1[] = "linkat_sample_old"; - static const char sample_2[] = "linkat_sample_new"; - const long fd_old = (long) 0xdeadbeefffffffffULL; -@@ -33,6 +39,8 @@ - "|AT_NO_AUTOMOUNT|AT_EMPTY_PATH|AT_RECURSIVE|0xffff60ff", - rc, errno2name()); - -+ leave_and_remove_subdir(); -+ - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests/open.c -=================================================================== ---- strace-5.7.orig/tests/open.c 2021-08-24 19:42:08.852580830 +0200 -+++ strace-5.7/tests/open.c 2021-08-24 19:42:16.044519958 +0200 -@@ -18,6 +18,12 @@ - int - main(void) - { -+ /* -+ * Make sure the current workdir of the tracee -+ * is different from the current workdir of the tracer. -+ */ -+ create_and_enter_subdir("open_subdir"); -+ - static const char sample[] = "open.sample"; - - long fd = syscall(__NR_open, sample, O_RDONLY|O_CREAT, 0400); -@@ -43,6 +49,8 @@ - sample, sprintrc(fd)); - # endif /* O_TMPFILE */ - -+ leave_and_remove_subdir(); -+ - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests/openat.c -=================================================================== ---- strace-5.7.orig/tests/openat.c 2021-08-24 19:42:08.852580830 +0200 -+++ strace-5.7/tests/openat.c 2021-08-24 19:42:16.044519958 +0200 -@@ -1,6 +1,6 @@ - /* - * Copyright (c) 2016 Katerina Koukiou -- * Copyright (c) 2016-2019 The strace developers. -+ * Copyright (c) 2016-2021 The strace developers. - * All rights reserved. - * - * SPDX-License-Identifier: GPL-2.0-or-later -@@ -39,6 +39,12 @@ - int - main(void) - { -+ /* -+ * Make sure the current workdir of the tracee -+ * is different from the current workdir of the tracer. -+ */ -+ create_and_enter_subdir("openat_subdir"); -+ - long fd = syscall(__NR_openat, -100, sample, O_RDONLY|O_CREAT, 0400); - printf("openat(AT_FDCWD, \"%s\", O_RDONLY|O_CREAT, 0400) = %s\n", - sample, sprintrc(fd)); -@@ -101,6 +107,8 @@ - test_mode_flag(modes[m].val, modes[m].str, - flags[f].val, flags[f].str); - -+ leave_and_remove_subdir(); -+ - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests/subdir.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/subdir.c 2021-08-24 19:42:16.044519958 +0200 -@@ -0,0 +1,40 @@ -+/* -+ * Copyright (c) 2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+ -+#include -+#include -+#include -+ -+static const char *subdir; -+static DIR *dirp; -+ -+void -+create_and_enter_subdir(const char *name) -+{ -+ dirp = opendir("."); -+ if (!dirp) -+ perror_msg_and_fail("opendir: %s", "."); -+ (void) mkdir(name, 0700); -+ if (chdir(name)) -+ perror_msg_and_fail("chdir: %s", name); -+ subdir = name; -+} -+ -+void -+leave_and_remove_subdir(void) -+{ -+ if (fchdir(dirfd(dirp))) -+ perror_msg_and_fail("fchdir: %d", dirfd(dirp)); -+ if (closedir(dirp)) -+ perror_msg_and_fail("closedir"); -+ dirp = 0; -+ if (rmdir(subdir)) -+ perror_msg_and_fail("rmdir: %s", subdir); -+ subdir = 0; -+} -Index: strace-5.7/tests/tests.h -=================================================================== ---- strace-5.7.orig/tests/tests.h 2021-08-24 19:42:08.852580830 +0200 -+++ strace-5.7/tests/tests.h 2021-08-24 19:42:16.045519949 +0200 -@@ -161,6 +161,18 @@ - char *get_fd_path(int fd) ATTRIBUTE_MALLOC; - - /* -+ * Create the specified directory and chdir into it, -+ * die on chdir failure. -+ */ -+void create_and_enter_subdir(const char *subdir); -+ -+/* -+ * Leave from the directory entered by create_and_enter_subdir, -+ * remove that directory, die on failure. -+ */ -+void leave_and_remove_subdir(void); -+ -+/* - * Obtain an exclusive lock on dirname(path_name)/lock_name file - * using open and flock. - */ -Index: strace-5.7/tests-m32/Makefile.am -=================================================================== ---- strace-5.7.orig/tests-m32/Makefile.am 2021-08-24 19:42:08.853580821 +0200 -+++ strace-5.7/tests-m32/Makefile.am 2021-08-24 19:42:16.045519949 +0200 -@@ -58,6 +58,7 @@ - skip_unavailable.c \ - sprintrc.c \ - status.c \ -+ subdir.c \ - tail_alloc.c \ - test_netlink.h \ - test_nlattr.h \ -Index: strace-5.7/tests-m32/access.c -=================================================================== ---- strace-5.7.orig/tests-m32/access.c 2021-08-24 19:42:08.853580821 +0200 -+++ strace-5.7/tests-m32/access.c 2021-08-24 19:42:16.045519949 +0200 -@@ -1,5 +1,5 @@ - /* -- * Copyright (c) 2016-2019 The strace developers. -+ * Copyright (c) 2016-2021 The strace developers. - * All rights reserved. - * - * SPDX-License-Identifier: GPL-2.0-or-later -@@ -16,6 +16,12 @@ - int - main(void) - { -+ /* -+ * Make sure the current workdir of the tracee -+ * is different from the current workdir of the tracer. -+ */ -+ create_and_enter_subdir("access_subdir"); -+ - static const char sample[] = "access_sample"; - - long rc = syscall(__NR_access, sample, F_OK); -@@ -26,6 +32,8 @@ - printf("access(\"%s\", R_OK|W_OK|X_OK) = %ld %s (%m)\n", - sample, rc, errno2name()); - -+ leave_and_remove_subdir(); -+ - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-m32/chmod.c -=================================================================== ---- strace-5.7.orig/tests-m32/chmod.c 2021-08-24 19:42:08.853580821 +0200 -+++ strace-5.7/tests-m32/chmod.c 2021-08-24 19:42:16.046519941 +0200 -@@ -15,11 +15,16 @@ - # include - # include - # include --# include - - int - main(void) - { -+ /* -+ * Make sure the current workdir of the tracee -+ * is different from the current workdir of the tracer. -+ */ -+ create_and_enter_subdir("chmod_subdir"); -+ - static const char fname[] = "chmod_test_file"; - - if (open(fname, O_CREAT|O_RDONLY, 0400) < 0) -@@ -37,6 +42,8 @@ - rc = syscall(__NR_chmod, fname, 004); - printf("chmod(\"%s\", 004) = %s\n", fname, sprintrc(rc)); - -+ leave_and_remove_subdir(); -+ - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-m32/execve.c -=================================================================== ---- strace-5.7.orig/tests-m32/execve.c 2021-08-24 19:42:08.853580821 +0200 -+++ strace-5.7/tests-m32/execve.c 2021-08-24 19:42:16.046519941 +0200 -@@ -1,8 +1,8 @@ - /* - * This file is part of execve strace test. - * -- * Copyright (c) 2015-2016 Dmitry V. Levin -- * Copyright (c) 2015-2018 The strace developers. -+ * Copyright (c) 2015-2016 Dmitry V. Levin -+ * Copyright (c) 2015-2021 The strace developers. - * All rights reserved. - * - * SPDX-License-Identifier: GPL-2.0-or-later -@@ -34,6 +34,12 @@ - int - main(void) - { -+ /* -+ * Make sure the current workdir of the tracee -+ * is different from the current workdir of the tracer. -+ */ -+ create_and_enter_subdir("execve_subdir"); -+ - char ** const tail_argv = tail_memdup(argv, sizeof(argv)); - char ** const tail_envp = tail_memdup(envp, sizeof(envp)); - -@@ -167,5 +173,7 @@ - printf("execve(\"%s\", %p, NULL) = -1 ENOENT (%m)\n", - Q_FILENAME, efault); - -+ leave_and_remove_subdir(); -+ - return 0; - } -Index: strace-5.7/tests-m32/fchmod.c -=================================================================== ---- strace-5.7.orig/tests-m32/fchmod.c 2021-08-24 19:42:08.853580821 +0200 -+++ strace-5.7/tests-m32/fchmod.c 2021-08-24 19:42:16.046519941 +0200 -@@ -21,6 +21,12 @@ - int - main(void) - { -+ /* -+ * Make sure the current workdir of the tracee -+ * is different from the current workdir of the tracer. -+ */ -+ create_and_enter_subdir("fchmod_subdir"); -+ - static const char sample[] = "fchmod_sample_file"; - (void) unlink(sample); - int fd = open(sample, O_CREAT|O_RDONLY, 0400); -@@ -70,6 +76,8 @@ - # endif - sprintrc(rc)); - -+ leave_and_remove_subdir(); -+ - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-m32/fchmodat.c -=================================================================== ---- strace-5.7.orig/tests-m32/fchmodat.c 2021-08-24 19:42:08.854580813 +0200 -+++ strace-5.7/tests-m32/fchmodat.c 2021-08-24 19:42:16.046519941 +0200 -@@ -14,13 +14,18 @@ - #ifdef __NR_fchmodat - - # include --# include - # include - # include - - int - main(void) - { -+ /* -+ * Make sure the current workdir of the tracee -+ * is different from the current workdir of the tracer. -+ */ -+ create_and_enter_subdir("fchmodat_subdir"); -+ - static const char sample[] = "fchmodat_sample"; - - if (open(sample, O_RDONLY | O_CREAT, 0400) < 0) -@@ -41,6 +46,8 @@ - printf("fchmodat(AT_FDCWD, \"%s\", 004) = %s\n", - sample, sprintrc(rc)); - -+ leave_and_remove_subdir(); -+ - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-m32/fchownat.c -=================================================================== ---- strace-5.7.orig/tests-m32/fchownat.c 2021-08-24 19:42:08.854580813 +0200 -+++ strace-5.7/tests-m32/fchownat.c 2021-08-24 19:42:16.047519932 +0200 -@@ -20,6 +20,12 @@ - int - main(void) - { -+ /* -+ * Make sure the current workdir of the tracee -+ * is different from the current workdir of the tracer. -+ */ -+ create_and_enter_subdir("fchownat_subdir"); -+ - static const char sample[] = "fchownat_sample"; - uid_t uid = geteuid(); - uid_t gid = getegid(); -@@ -39,6 +45,8 @@ - printf("fchownat(AT_FDCWD, \"%s\", -1, -1, AT_SYMLINK_NOFOLLOW) = %s\n", - sample, sprintrc(rc)); - -+ leave_and_remove_subdir(); -+ - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-m32/linkat.c -=================================================================== ---- strace-5.7.orig/tests-m32/linkat.c 2021-08-24 19:42:08.854580813 +0200 -+++ strace-5.7/tests-m32/linkat.c 2021-08-24 19:42:16.047519932 +0200 -@@ -1,5 +1,5 @@ - /* -- * Copyright (c) 2016-2019 The strace developers. -+ * Copyright (c) 2016-2021 The strace developers. - * All rights reserved. - * - * SPDX-License-Identifier: GPL-2.0-or-later -@@ -16,6 +16,12 @@ - int - main(void) - { -+ /* -+ * Make sure the current workdir of the tracee -+ * is different from the current workdir of the tracer. -+ */ -+ create_and_enter_subdir("linkat_subdir"); -+ - static const char sample_1[] = "linkat_sample_old"; - static const char sample_2[] = "linkat_sample_new"; - const long fd_old = (long) 0xdeadbeefffffffffULL; -@@ -33,6 +39,8 @@ - "|AT_NO_AUTOMOUNT|AT_EMPTY_PATH|AT_RECURSIVE|0xffff60ff", - rc, errno2name()); - -+ leave_and_remove_subdir(); -+ - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-m32/open.c -=================================================================== ---- strace-5.7.orig/tests-m32/open.c 2021-08-24 19:42:08.854580813 +0200 -+++ strace-5.7/tests-m32/open.c 2021-08-24 19:42:16.047519932 +0200 -@@ -18,6 +18,12 @@ - int - main(void) - { -+ /* -+ * Make sure the current workdir of the tracee -+ * is different from the current workdir of the tracer. -+ */ -+ create_and_enter_subdir("open_subdir"); -+ - static const char sample[] = "open.sample"; - - long fd = syscall(__NR_open, sample, O_RDONLY|O_CREAT, 0400); -@@ -43,6 +49,8 @@ - sample, sprintrc(fd)); - # endif /* O_TMPFILE */ - -+ leave_and_remove_subdir(); -+ - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-m32/openat.c -=================================================================== ---- strace-5.7.orig/tests-m32/openat.c 2021-08-24 19:42:08.854580813 +0200 -+++ strace-5.7/tests-m32/openat.c 2021-08-24 19:42:16.047519932 +0200 -@@ -1,6 +1,6 @@ - /* - * Copyright (c) 2016 Katerina Koukiou -- * Copyright (c) 2016-2019 The strace developers. -+ * Copyright (c) 2016-2021 The strace developers. - * All rights reserved. - * - * SPDX-License-Identifier: GPL-2.0-or-later -@@ -39,6 +39,12 @@ - int - main(void) - { -+ /* -+ * Make sure the current workdir of the tracee -+ * is different from the current workdir of the tracer. -+ */ -+ create_and_enter_subdir("openat_subdir"); -+ - long fd = syscall(__NR_openat, -100, sample, O_RDONLY|O_CREAT, 0400); - printf("openat(AT_FDCWD, \"%s\", O_RDONLY|O_CREAT, 0400) = %s\n", - sample, sprintrc(fd)); -@@ -101,6 +107,8 @@ - test_mode_flag(modes[m].val, modes[m].str, - flags[f].val, flags[f].str); - -+ leave_and_remove_subdir(); -+ - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-m32/subdir.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/subdir.c 2021-08-24 19:42:16.048519924 +0200 -@@ -0,0 +1,40 @@ -+/* -+ * Copyright (c) 2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+ -+#include -+#include -+#include -+ -+static const char *subdir; -+static DIR *dirp; -+ -+void -+create_and_enter_subdir(const char *name) -+{ -+ dirp = opendir("."); -+ if (!dirp) -+ perror_msg_and_fail("opendir: %s", "."); -+ (void) mkdir(name, 0700); -+ if (chdir(name)) -+ perror_msg_and_fail("chdir: %s", name); -+ subdir = name; -+} -+ -+void -+leave_and_remove_subdir(void) -+{ -+ if (fchdir(dirfd(dirp))) -+ perror_msg_and_fail("fchdir: %d", dirfd(dirp)); -+ if (closedir(dirp)) -+ perror_msg_and_fail("closedir"); -+ dirp = 0; -+ if (rmdir(subdir)) -+ perror_msg_and_fail("rmdir: %s", subdir); -+ subdir = 0; -+} -Index: strace-5.7/tests-m32/tests.h -=================================================================== ---- strace-5.7.orig/tests-m32/tests.h 2021-08-24 19:42:08.855580804 +0200 -+++ strace-5.7/tests-m32/tests.h 2021-08-24 19:42:16.048519924 +0200 -@@ -161,6 +161,18 @@ - char *get_fd_path(int fd) ATTRIBUTE_MALLOC; - - /* -+ * Create the specified directory and chdir into it, -+ * die on chdir failure. -+ */ -+void create_and_enter_subdir(const char *subdir); -+ -+/* -+ * Leave from the directory entered by create_and_enter_subdir, -+ * remove that directory, die on failure. -+ */ -+void leave_and_remove_subdir(void); -+ -+/* - * Obtain an exclusive lock on dirname(path_name)/lock_name file - * using open and flock. - */ -Index: strace-5.7/tests-mx32/Makefile.am -=================================================================== ---- strace-5.7.orig/tests-mx32/Makefile.am 2021-08-24 19:42:08.855580804 +0200 -+++ strace-5.7/tests-mx32/Makefile.am 2021-08-24 19:42:16.048519924 +0200 -@@ -58,6 +58,7 @@ - skip_unavailable.c \ - sprintrc.c \ - status.c \ -+ subdir.c \ - tail_alloc.c \ - test_netlink.h \ - test_nlattr.h \ -Index: strace-5.7/tests-mx32/access.c -=================================================================== ---- strace-5.7.orig/tests-mx32/access.c 2021-08-24 19:42:08.855580804 +0200 -+++ strace-5.7/tests-mx32/access.c 2021-08-24 19:42:16.048519924 +0200 -@@ -1,5 +1,5 @@ - /* -- * Copyright (c) 2016-2019 The strace developers. -+ * Copyright (c) 2016-2021 The strace developers. - * All rights reserved. - * - * SPDX-License-Identifier: GPL-2.0-or-later -@@ -16,6 +16,12 @@ - int - main(void) - { -+ /* -+ * Make sure the current workdir of the tracee -+ * is different from the current workdir of the tracer. -+ */ -+ create_and_enter_subdir("access_subdir"); -+ - static const char sample[] = "access_sample"; - - long rc = syscall(__NR_access, sample, F_OK); -@@ -26,6 +32,8 @@ - printf("access(\"%s\", R_OK|W_OK|X_OK) = %ld %s (%m)\n", - sample, rc, errno2name()); - -+ leave_and_remove_subdir(); -+ - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-mx32/chmod.c -=================================================================== ---- strace-5.7.orig/tests-mx32/chmod.c 2021-08-24 19:42:08.855580804 +0200 -+++ strace-5.7/tests-mx32/chmod.c 2021-08-24 19:42:16.049519915 +0200 -@@ -15,11 +15,16 @@ - # include - # include - # include --# include - - int - main(void) - { -+ /* -+ * Make sure the current workdir of the tracee -+ * is different from the current workdir of the tracer. -+ */ -+ create_and_enter_subdir("chmod_subdir"); -+ - static const char fname[] = "chmod_test_file"; - - if (open(fname, O_CREAT|O_RDONLY, 0400) < 0) -@@ -37,6 +42,8 @@ - rc = syscall(__NR_chmod, fname, 004); - printf("chmod(\"%s\", 004) = %s\n", fname, sprintrc(rc)); - -+ leave_and_remove_subdir(); -+ - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-mx32/execve.c -=================================================================== ---- strace-5.7.orig/tests-mx32/execve.c 2021-08-24 19:42:08.855580804 +0200 -+++ strace-5.7/tests-mx32/execve.c 2021-08-24 19:42:16.049519915 +0200 -@@ -1,8 +1,8 @@ - /* - * This file is part of execve strace test. - * -- * Copyright (c) 2015-2016 Dmitry V. Levin -- * Copyright (c) 2015-2018 The strace developers. -+ * Copyright (c) 2015-2016 Dmitry V. Levin -+ * Copyright (c) 2015-2021 The strace developers. - * All rights reserved. - * - * SPDX-License-Identifier: GPL-2.0-or-later -@@ -34,6 +34,12 @@ - int - main(void) - { -+ /* -+ * Make sure the current workdir of the tracee -+ * is different from the current workdir of the tracer. -+ */ -+ create_and_enter_subdir("execve_subdir"); -+ - char ** const tail_argv = tail_memdup(argv, sizeof(argv)); - char ** const tail_envp = tail_memdup(envp, sizeof(envp)); - -@@ -167,5 +173,7 @@ - printf("execve(\"%s\", %p, NULL) = -1 ENOENT (%m)\n", - Q_FILENAME, efault); - -+ leave_and_remove_subdir(); -+ - return 0; - } -Index: strace-5.7/tests-mx32/fchmod.c -=================================================================== ---- strace-5.7.orig/tests-mx32/fchmod.c 2021-08-24 19:42:08.856580796 +0200 -+++ strace-5.7/tests-mx32/fchmod.c 2021-08-24 19:42:16.049519915 +0200 -@@ -21,6 +21,12 @@ - int - main(void) - { -+ /* -+ * Make sure the current workdir of the tracee -+ * is different from the current workdir of the tracer. -+ */ -+ create_and_enter_subdir("fchmod_subdir"); -+ - static const char sample[] = "fchmod_sample_file"; - (void) unlink(sample); - int fd = open(sample, O_CREAT|O_RDONLY, 0400); -@@ -70,6 +76,8 @@ - # endif - sprintrc(rc)); - -+ leave_and_remove_subdir(); -+ - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-mx32/fchmodat.c -=================================================================== ---- strace-5.7.orig/tests-mx32/fchmodat.c 2021-08-24 19:42:08.856580796 +0200 -+++ strace-5.7/tests-mx32/fchmodat.c 2021-08-24 19:42:16.049519915 +0200 -@@ -14,13 +14,18 @@ - #ifdef __NR_fchmodat - - # include --# include - # include - # include - - int - main(void) - { -+ /* -+ * Make sure the current workdir of the tracee -+ * is different from the current workdir of the tracer. -+ */ -+ create_and_enter_subdir("fchmodat_subdir"); -+ - static const char sample[] = "fchmodat_sample"; - - if (open(sample, O_RDONLY | O_CREAT, 0400) < 0) -@@ -41,6 +46,8 @@ - printf("fchmodat(AT_FDCWD, \"%s\", 004) = %s\n", - sample, sprintrc(rc)); - -+ leave_and_remove_subdir(); -+ - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-mx32/fchownat.c -=================================================================== ---- strace-5.7.orig/tests-mx32/fchownat.c 2021-08-24 19:42:08.856580796 +0200 -+++ strace-5.7/tests-mx32/fchownat.c 2021-08-24 19:42:16.050519907 +0200 -@@ -20,6 +20,12 @@ - int - main(void) - { -+ /* -+ * Make sure the current workdir of the tracee -+ * is different from the current workdir of the tracer. -+ */ -+ create_and_enter_subdir("fchownat_subdir"); -+ - static const char sample[] = "fchownat_sample"; - uid_t uid = geteuid(); - uid_t gid = getegid(); -@@ -39,6 +45,8 @@ - printf("fchownat(AT_FDCWD, \"%s\", -1, -1, AT_SYMLINK_NOFOLLOW) = %s\n", - sample, sprintrc(rc)); - -+ leave_and_remove_subdir(); -+ - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-mx32/linkat.c -=================================================================== ---- strace-5.7.orig/tests-mx32/linkat.c 2021-08-24 19:42:08.856580796 +0200 -+++ strace-5.7/tests-mx32/linkat.c 2021-08-24 19:42:16.050519907 +0200 -@@ -1,5 +1,5 @@ - /* -- * Copyright (c) 2016-2019 The strace developers. -+ * Copyright (c) 2016-2021 The strace developers. - * All rights reserved. - * - * SPDX-License-Identifier: GPL-2.0-or-later -@@ -16,6 +16,12 @@ - int - main(void) - { -+ /* -+ * Make sure the current workdir of the tracee -+ * is different from the current workdir of the tracer. -+ */ -+ create_and_enter_subdir("linkat_subdir"); -+ - static const char sample_1[] = "linkat_sample_old"; - static const char sample_2[] = "linkat_sample_new"; - const long fd_old = (long) 0xdeadbeefffffffffULL; -@@ -33,6 +39,8 @@ - "|AT_NO_AUTOMOUNT|AT_EMPTY_PATH|AT_RECURSIVE|0xffff60ff", - rc, errno2name()); - -+ leave_and_remove_subdir(); -+ - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-mx32/open.c -=================================================================== ---- strace-5.7.orig/tests-mx32/open.c 2021-08-24 19:42:08.856580796 +0200 -+++ strace-5.7/tests-mx32/open.c 2021-08-24 19:42:16.050519907 +0200 -@@ -18,6 +18,12 @@ - int - main(void) - { -+ /* -+ * Make sure the current workdir of the tracee -+ * is different from the current workdir of the tracer. -+ */ -+ create_and_enter_subdir("open_subdir"); -+ - static const char sample[] = "open.sample"; - - long fd = syscall(__NR_open, sample, O_RDONLY|O_CREAT, 0400); -@@ -43,6 +49,8 @@ - sample, sprintrc(fd)); - # endif /* O_TMPFILE */ - -+ leave_and_remove_subdir(); -+ - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-mx32/openat.c -=================================================================== ---- strace-5.7.orig/tests-mx32/openat.c 2021-08-24 19:42:08.856580796 +0200 -+++ strace-5.7/tests-mx32/openat.c 2021-08-24 19:42:16.050519907 +0200 -@@ -1,6 +1,6 @@ - /* - * Copyright (c) 2016 Katerina Koukiou -- * Copyright (c) 2016-2019 The strace developers. -+ * Copyright (c) 2016-2021 The strace developers. - * All rights reserved. - * - * SPDX-License-Identifier: GPL-2.0-or-later -@@ -39,6 +39,12 @@ - int - main(void) - { -+ /* -+ * Make sure the current workdir of the tracee -+ * is different from the current workdir of the tracer. -+ */ -+ create_and_enter_subdir("openat_subdir"); -+ - long fd = syscall(__NR_openat, -100, sample, O_RDONLY|O_CREAT, 0400); - printf("openat(AT_FDCWD, \"%s\", O_RDONLY|O_CREAT, 0400) = %s\n", - sample, sprintrc(fd)); -@@ -101,6 +107,8 @@ - test_mode_flag(modes[m].val, modes[m].str, - flags[f].val, flags[f].str); - -+ leave_and_remove_subdir(); -+ - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-mx32/subdir.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/subdir.c 2021-08-24 19:42:16.050519907 +0200 -@@ -0,0 +1,40 @@ -+/* -+ * Copyright (c) 2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+ -+#include -+#include -+#include -+ -+static const char *subdir; -+static DIR *dirp; -+ -+void -+create_and_enter_subdir(const char *name) -+{ -+ dirp = opendir("."); -+ if (!dirp) -+ perror_msg_and_fail("opendir: %s", "."); -+ (void) mkdir(name, 0700); -+ if (chdir(name)) -+ perror_msg_and_fail("chdir: %s", name); -+ subdir = name; -+} -+ -+void -+leave_and_remove_subdir(void) -+{ -+ if (fchdir(dirfd(dirp))) -+ perror_msg_and_fail("fchdir: %d", dirfd(dirp)); -+ if (closedir(dirp)) -+ perror_msg_and_fail("closedir"); -+ dirp = 0; -+ if (rmdir(subdir)) -+ perror_msg_and_fail("rmdir: %s", subdir); -+ subdir = 0; -+} -Index: strace-5.7/tests-mx32/tests.h -=================================================================== ---- strace-5.7.orig/tests-mx32/tests.h 2021-08-24 19:42:08.857580787 +0200 -+++ strace-5.7/tests-mx32/tests.h 2021-08-24 19:42:16.051519898 +0200 -@@ -161,6 +161,18 @@ - char *get_fd_path(int fd) ATTRIBUTE_MALLOC; - - /* -+ * Create the specified directory and chdir into it, -+ * die on chdir failure. -+ */ -+void create_and_enter_subdir(const char *subdir); -+ -+/* -+ * Leave from the directory entered by create_and_enter_subdir, -+ * remove that directory, die on failure. -+ */ -+void leave_and_remove_subdir(void); -+ -+/* - * Obtain an exclusive lock on dirname(path_name)/lock_name file - * using open and flock. - */ -Index: strace-5.7/tests/Makefile.in -=================================================================== ---- strace-5.7.orig/tests/Makefile.in 2021-08-24 19:42:08.862580745 +0200 -+++ strace-5.7/tests/Makefile.in 2021-08-24 19:42:54.720192609 +0200 -@@ -574,7 +574,7 @@ - libtests_a-signal2name.$(OBJEXT) \ - libtests_a-skip_unavailable.$(OBJEXT) \ - libtests_a-sprintrc.$(OBJEXT) libtests_a-status.$(OBJEXT) \ -- libtests_a-tail_alloc.$(OBJEXT) \ -+ libtests_a-subdir.$(OBJEXT) libtests_a-tail_alloc.$(OBJEXT) \ - libtests_a-test_printpath.$(OBJEXT) \ - libtests_a-test_printstrn.$(OBJEXT) \ - libtests_a-test_ucopy.$(OBJEXT) libtests_a-tprintf.$(OBJEXT) \ -@@ -5430,6 +5430,7 @@ - skip_unavailable.c \ - sprintrc.c \ - status.c \ -+ subdir.c \ - tail_alloc.c \ - test_netlink.h \ - test_nlattr.h \ -@@ -10433,6 +10434,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-skip_unavailable.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-sprintrc.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-status.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-subdir.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-tail_alloc.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-test_printpath.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-test_printstrn.Po@am__quote@ # am--include-marker -@@ -11353,6 +11355,20 @@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-status.obj `if test -f 'status.c'; then $(CYGPATH_W) 'status.c'; else $(CYGPATH_W) '$(srcdir)/status.c'; fi` - -+libtests_a-subdir.o: subdir.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-subdir.o -MD -MP -MF $(DEPDIR)/libtests_a-subdir.Tpo -c -o libtests_a-subdir.o `test -f 'subdir.c' || echo '$(srcdir)/'`subdir.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-subdir.Tpo $(DEPDIR)/libtests_a-subdir.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='subdir.c' object='libtests_a-subdir.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-subdir.o `test -f 'subdir.c' || echo '$(srcdir)/'`subdir.c -+ -+libtests_a-subdir.obj: subdir.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-subdir.obj -MD -MP -MF $(DEPDIR)/libtests_a-subdir.Tpo -c -o libtests_a-subdir.obj `if test -f 'subdir.c'; then $(CYGPATH_W) 'subdir.c'; else $(CYGPATH_W) '$(srcdir)/subdir.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-subdir.Tpo $(DEPDIR)/libtests_a-subdir.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='subdir.c' object='libtests_a-subdir.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-subdir.obj `if test -f 'subdir.c'; then $(CYGPATH_W) 'subdir.c'; else $(CYGPATH_W) '$(srcdir)/subdir.c'; fi` -+ - libtests_a-tail_alloc.o: tail_alloc.c - @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-tail_alloc.o -MD -MP -MF $(DEPDIR)/libtests_a-tail_alloc.Tpo -c -o libtests_a-tail_alloc.o `test -f 'tail_alloc.c' || echo '$(srcdir)/'`tail_alloc.c - @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-tail_alloc.Tpo $(DEPDIR)/libtests_a-tail_alloc.Po -Index: strace-5.7/tests-m32/Makefile.in -=================================================================== ---- strace-5.7.orig/tests-m32/Makefile.in 2021-08-24 19:42:08.866580711 +0200 -+++ strace-5.7/tests-m32/Makefile.in 2021-08-24 19:43:13.669032228 +0200 -@@ -574,7 +574,7 @@ - libtests_a-signal2name.$(OBJEXT) \ - libtests_a-skip_unavailable.$(OBJEXT) \ - libtests_a-sprintrc.$(OBJEXT) libtests_a-status.$(OBJEXT) \ -- libtests_a-tail_alloc.$(OBJEXT) \ -+ libtests_a-subdir.$(OBJEXT) libtests_a-tail_alloc.$(OBJEXT) \ - libtests_a-test_printpath.$(OBJEXT) \ - libtests_a-test_printstrn.$(OBJEXT) \ - libtests_a-test_ucopy.$(OBJEXT) libtests_a-tprintf.$(OBJEXT) \ -@@ -5430,6 +5430,7 @@ - skip_unavailable.c \ - sprintrc.c \ - status.c \ -+ subdir.c \ - tail_alloc.c \ - test_netlink.h \ - test_nlattr.h \ -@@ -10433,6 +10434,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-skip_unavailable.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-sprintrc.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-status.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-subdir.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-tail_alloc.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-test_printpath.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-test_printstrn.Po@am__quote@ # am--include-marker -@@ -11353,6 +11355,20 @@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-status.obj `if test -f 'status.c'; then $(CYGPATH_W) 'status.c'; else $(CYGPATH_W) '$(srcdir)/status.c'; fi` - -+libtests_a-subdir.o: subdir.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-subdir.o -MD -MP -MF $(DEPDIR)/libtests_a-subdir.Tpo -c -o libtests_a-subdir.o `test -f 'subdir.c' || echo '$(srcdir)/'`subdir.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-subdir.Tpo $(DEPDIR)/libtests_a-subdir.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='subdir.c' object='libtests_a-subdir.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-subdir.o `test -f 'subdir.c' || echo '$(srcdir)/'`subdir.c -+ -+libtests_a-subdir.obj: subdir.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-subdir.obj -MD -MP -MF $(DEPDIR)/libtests_a-subdir.Tpo -c -o libtests_a-subdir.obj `if test -f 'subdir.c'; then $(CYGPATH_W) 'subdir.c'; else $(CYGPATH_W) '$(srcdir)/subdir.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-subdir.Tpo $(DEPDIR)/libtests_a-subdir.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='subdir.c' object='libtests_a-subdir.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-subdir.obj `if test -f 'subdir.c'; then $(CYGPATH_W) 'subdir.c'; else $(CYGPATH_W) '$(srcdir)/subdir.c'; fi` -+ - libtests_a-tail_alloc.o: tail_alloc.c - @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-tail_alloc.o -MD -MP -MF $(DEPDIR)/libtests_a-tail_alloc.Tpo -c -o libtests_a-tail_alloc.o `test -f 'tail_alloc.c' || echo '$(srcdir)/'`tail_alloc.c - @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-tail_alloc.Tpo $(DEPDIR)/libtests_a-tail_alloc.Po -Index: strace-5.7/tests-mx32/Makefile.in -=================================================================== ---- strace-5.7.orig/tests-mx32/Makefile.in 2021-08-24 19:42:08.870580677 +0200 -+++ strace-5.7/tests-mx32/Makefile.in 2021-08-24 19:43:32.469873099 +0200 -@@ -574,7 +574,7 @@ - libtests_a-signal2name.$(OBJEXT) \ - libtests_a-skip_unavailable.$(OBJEXT) \ - libtests_a-sprintrc.$(OBJEXT) libtests_a-status.$(OBJEXT) \ -- libtests_a-tail_alloc.$(OBJEXT) \ -+ libtests_a-subdir.$(OBJEXT) libtests_a-tail_alloc.$(OBJEXT) \ - libtests_a-test_printpath.$(OBJEXT) \ - libtests_a-test_printstrn.$(OBJEXT) \ - libtests_a-test_ucopy.$(OBJEXT) libtests_a-tprintf.$(OBJEXT) \ -@@ -5430,6 +5430,7 @@ - skip_unavailable.c \ - sprintrc.c \ - status.c \ -+ subdir.c \ - tail_alloc.c \ - test_netlink.h \ - test_nlattr.h \ -@@ -10433,6 +10434,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-skip_unavailable.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-sprintrc.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-status.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-subdir.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-tail_alloc.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-test_printpath.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-test_printstrn.Po@am__quote@ # am--include-marker -@@ -11353,6 +11355,20 @@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-status.obj `if test -f 'status.c'; then $(CYGPATH_W) 'status.c'; else $(CYGPATH_W) '$(srcdir)/status.c'; fi` - -+libtests_a-subdir.o: subdir.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-subdir.o -MD -MP -MF $(DEPDIR)/libtests_a-subdir.Tpo -c -o libtests_a-subdir.o `test -f 'subdir.c' || echo '$(srcdir)/'`subdir.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-subdir.Tpo $(DEPDIR)/libtests_a-subdir.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='subdir.c' object='libtests_a-subdir.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-subdir.o `test -f 'subdir.c' || echo '$(srcdir)/'`subdir.c -+ -+libtests_a-subdir.obj: subdir.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-subdir.obj -MD -MP -MF $(DEPDIR)/libtests_a-subdir.Tpo -c -o libtests_a-subdir.obj `if test -f 'subdir.c'; then $(CYGPATH_W) 'subdir.c'; else $(CYGPATH_W) '$(srcdir)/subdir.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-subdir.Tpo $(DEPDIR)/libtests_a-subdir.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='subdir.c' object='libtests_a-subdir.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-subdir.obj `if test -f 'subdir.c'; then $(CYGPATH_W) 'subdir.c'; else $(CYGPATH_W) '$(srcdir)/subdir.c'; fi` -+ - libtests_a-tail_alloc.o: tail_alloc.c - @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-tail_alloc.o -MD -MP -MF $(DEPDIR)/libtests_a-tail_alloc.Tpo -c -o libtests_a-tail_alloc.o `test -f 'tail_alloc.c' || echo '$(srcdir)/'`tail_alloc.c - @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-tail_alloc.Tpo $(DEPDIR)/libtests_a-tail_alloc.Po diff --git a/SOURCES/0144-tests-check-decoding-of-faccessat-syscall-in-P-y-and.patch b/SOURCES/0144-tests-check-decoding-of-faccessat-syscall-in-P-y-and.patch deleted file mode 100644 index 5a79ea0..0000000 --- a/SOURCES/0144-tests-check-decoding-of-faccessat-syscall-in-P-y-and.patch +++ /dev/null @@ -1,795 +0,0 @@ -From e244ae965b17280313d92baef71165efc00ac51b Mon Sep 17 00:00:00 2001 -From: "Dmitry V. Levin" -Date: Sat, 4 Jul 2020 08:00:00 +0000 -Subject: [PATCH 144/149] tests: check decoding of faccessat syscall in -P, -y, - and -yy modes - -* tests/faccessat.c: Rewrite. -* tests/faccessat-P.c: New file. -* tests/faccessat-y.c: Likewise. -* tests/faccessat-yy.c: Likewise. -* tests/faccessat.test: New test. -* tests/Makefile.am (DECODER_TESTS): Add faccessat.test. -* tests/gen_tests.in (faccessat): Remove. -(faccessat-P, faccessat-y, faccessat-yy): New entries. -* tests/pure_executables.list: Add faccessat-P, faccessat-y, -and faccessat-yy. -* tests/.gitignore: Likewise. ---- - tests/.gitignore | 3 ++ - tests/Makefile.am | 1 + - tests/faccessat-P.c | 4 ++ - tests/faccessat-y.c | 4 ++ - tests/faccessat-yy.c | 4 ++ - tests/faccessat.c | 127 ++++++++++++++++++++++++++++++++++++++++++-- - tests/faccessat.test | 19 +++++++ - tests/gen_tests.in | 4 +- - tests/pure_executables.list | 3 ++ - 9 files changed, 163 insertions(+), 6 deletions(-) - create mode 100644 tests/faccessat-P.c - create mode 100644 tests/faccessat-y.c - create mode 100644 tests/faccessat-yy.c - create mode 100755 tests/faccessat.test - -Index: strace-5.7/tests/Makefile.am -=================================================================== ---- strace-5.7.orig/tests/Makefile.am 2021-08-24 19:42:16.041519983 +0200 -+++ strace-5.7/tests/Makefile.am 2021-08-24 19:46:08.275554370 +0200 -@@ -346,6 +346,7 @@ - execve-v.test \ - execve.test \ - fadvise64.test \ -+ faccessat.test \ - futex.test \ - getuid.test \ - int_0x80.test \ -Index: strace-5.7/tests/faccessat-P.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/faccessat-P.c 2021-08-24 19:46:08.275554370 +0200 -@@ -0,0 +1,4 @@ -+#define PATH_TRACING -+#define SKIP_IF_PROC_IS_UNAVAILABLE skip_if_unavailable("/proc/self/fd/") -+ -+#include "faccessat.c" -Index: strace-5.7/tests/faccessat-y.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/faccessat-y.c 2021-08-24 19:46:08.276554362 +0200 -@@ -0,0 +1,4 @@ -+#define FD_PATH "" -+#define SKIP_IF_PROC_IS_UNAVAILABLE skip_if_unavailable("/proc/self/fd/") -+ -+#include "faccessat.c" -Index: strace-5.7/tests/faccessat-yy.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/faccessat-yy.c 2021-08-24 19:46:08.276554362 +0200 -@@ -0,0 +1,4 @@ -+#define FD_PATH ">" -+#define SKIP_IF_PROC_IS_UNAVAILABLE skip_if_unavailable("/proc/self/fd/") -+ -+#include "faccessat.c" -Index: strace-5.7/tests/faccessat.c -=================================================================== ---- strace-5.7.orig/tests/faccessat.c 2021-08-24 17:01:53.365934740 +0200 -+++ strace-5.7/tests/faccessat.c 2021-08-24 19:46:08.277554353 +0200 -@@ -1,4 +1,6 @@ - /* -+ * Check decoding of faccessat syscall. -+ * - * Copyright (c) 2016-2019 The strace developers. - * All rights reserved. - * -@@ -10,18 +12,133 @@ - - #ifdef __NR_faccessat - -+# include - # include - # include - -+# ifndef FD_PATH -+# define FD_PATH "" -+# endif -+# ifndef SKIP_IF_PROC_IS_UNAVAILABLE -+# define SKIP_IF_PROC_IS_UNAVAILABLE -+# endif -+ -+static const char *errstr; -+ -+static long -+k_faccessat(const unsigned int dirfd, -+ const void *const pathname, -+ const unsigned int mode) -+{ -+ const kernel_ulong_t fill = (kernel_ulong_t) 0xdefaced00000000ULL; -+ const kernel_ulong_t bad = (kernel_ulong_t) 0xbadc0dedbadc0dedULL; -+ -+ const kernel_ulong_t arg1 = fill | dirfd; -+ const kernel_ulong_t arg2 = (uintptr_t) pathname; -+ const kernel_ulong_t arg3 = fill | mode; -+ const long rc = syscall(__NR_faccessat, -+ arg1, arg2, arg3, bad, bad, bad); -+ errstr = sprintrc(rc); -+ return rc; -+} -+ - int - main(void) - { -- static const char sample[] = "faccessat.sample"; -- const long int fd = (long int) 0xdeadbeefffffffffULL; -+ SKIP_IF_PROC_IS_UNAVAILABLE; - -- long rc = syscall(__NR_faccessat, fd, sample, F_OK); -- printf("faccessat(%d, \"%s\", F_OK) = %ld %s (%m)\n", -- (int) fd, sample, rc, errno2name()); -+ TAIL_ALLOC_OBJECT_CONST_PTR(const char, unterminated); -+ char *unterminated_str; -+ if (asprintf(&unterminated_str, "%p", unterminated) < 0) -+ perror_msg_and_fail("asprintf"); -+ const void *const efault = unterminated + 1; -+ char *efault_str; -+ if (asprintf(&efault_str, "%p", efault) < 0) -+ perror_msg_and_fail("asprintf"); -+ -+ typedef struct { -+ char sym; -+ char null; -+ } sym_null; -+ -+ TAIL_ALLOC_OBJECT_CONST_PTR(sym_null, dot); -+ dot->sym = '.'; -+ dot->null = '\0'; -+ const char *const null = &dot->null; -+ -+ TAIL_ALLOC_OBJECT_CONST_PTR(sym_null, slash); -+ slash->sym = '/'; -+ slash->null = '\0'; -+ -+ static const char path[] = "/dev/full"; -+ const char *const fd_path = tail_memdup(path, sizeof(path)); -+ int fd = open(path, O_WRONLY); -+ if (fd < 0) -+ perror_msg_and_fail("open: %s", path); -+ char *fd_str; -+ if (asprintf(&fd_str, "%d%s", fd, FD_PATH) < 0) -+ perror_msg_and_fail("asprintf"); -+ char *path_quoted; -+ if (asprintf(&path_quoted, "\"%s\"", path) < 0) -+ perror_msg_and_fail("asprintf"); -+ -+ struct { -+ int val; -+ const char *str; -+ } dirfds[] = { -+ { ARG_STR(-1) }, -+ { -100, "AT_FDCWD" }, -+ { fd, fd_str }, -+ }, modes[] = { -+ { ARG_STR(F_OK) }, -+ { ARG_STR(R_OK) }, -+ { ARG_STR(W_OK) }, -+ { ARG_STR(X_OK) }, -+ { ARG_STR(R_OK|W_OK) }, -+ { ARG_STR(R_OK|X_OK) }, -+ { ARG_STR(W_OK|X_OK) }, -+ { ARG_STR(R_OK|W_OK|X_OK) }, -+ { 8, "0x8 /* ?_OK */" }, -+ { -1, "R_OK|W_OK|X_OK|0xfffffff8" }, -+ }; -+ -+ struct { -+ const void *val; -+ const char *str; -+ } paths[] = { -+ { 0, "NULL" }, -+ { efault, efault_str }, -+ { unterminated, unterminated_str }, -+ { null, "\"\"" }, -+ { &dot->sym, "\".\"" }, -+ { &slash->sym, "\"/\"" }, -+ { fd_path, path_quoted }, -+ }; -+ -+ for (unsigned int dirfd_i = 0; -+ dirfd_i < ARRAY_SIZE(dirfds); -+ ++dirfd_i) { -+ for (unsigned int path_i = 0; -+ path_i < ARRAY_SIZE(paths); -+ ++path_i) { -+ for (unsigned int mode_i = 0; -+ mode_i < ARRAY_SIZE(modes); -+ ++mode_i) { -+ k_faccessat(dirfds[dirfd_i].val, -+ paths[path_i].val, -+ modes[mode_i].val); -+# ifdef PATH_TRACING -+ if (dirfds[dirfd_i].val == fd || -+ paths[path_i].val == fd_path) -+# endif -+ printf("faccessat(%s, %s, %s) = %s\n", -+ dirfds[dirfd_i].str, -+ paths[path_i].str, -+ modes[mode_i].str, -+ errstr); -+ } -+ } -+ } - - puts("+++ exited with 0 +++"); - return 0; -Index: strace-5.7/tests/faccessat.test -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/faccessat.test 2021-08-24 19:46:08.277554353 +0200 -@@ -0,0 +1,19 @@ -+#!/bin/sh -+# -+# Check decoding of faccessat syscall. -+# -+# Copyright (c) 2020 Dmitry V. Levin -+# All rights reserved. -+# -+# SPDX-License-Identifier: GPL-2.0-or-later -+ -+. "${srcdir=.}/init.sh" -+ -+check_prog sed -+ -+run_prog > /dev/null -+run_strace -a23 --trace=faccessat "$@" $args > "$EXP" -+ -+# Filter out faccessat() calls made by ld.so and libc. -+sed -n '/^faccessat(-1, NULL,/,$p' < "$LOG" > "$OUT" -+match_diff "$OUT" "$EXP" -Index: strace-5.7/tests/gen_tests.in -=================================================================== ---- strace-5.7.orig/tests/gen_tests.in 2021-08-24 19:37:43.192829355 +0200 -+++ strace-5.7/tests/gen_tests.in 2021-08-24 19:46:08.278554345 +0200 -@@ -73,7 +73,9 @@ - erestartsys -a34 -e signal=none -e trace=recvfrom - execveat - execveat-v -v -e trace=execveat --faccessat -P $NAME.sample -+faccessat-P -a23 --trace=faccessat -P /dev/full -+faccessat-y +faccessat.test -a24 -y -+faccessat-yy +faccessat.test -a24 -yy - fadvise64_64 +fadvise64.test - fallocate -a18 - fanotify_init -Index: strace-5.7/tests/pure_executables.list -=================================================================== ---- strace-5.7.orig/tests/pure_executables.list 2021-08-24 19:37:43.192829355 +0200 -+++ strace-5.7/tests/pure_executables.list 2021-08-24 19:46:08.279554336 +0200 -@@ -61,6 +61,9 @@ - execve - execveat - faccessat -+faccessat-P -+faccessat-y -+faccessat-yy - fadvise64 - fadvise64_64 - fallocate -Index: strace-5.7/tests-m32/Makefile.am -=================================================================== ---- strace-5.7.orig/tests-m32/Makefile.am 2021-08-24 19:42:16.045519949 +0200 -+++ strace-5.7/tests-m32/Makefile.am 2021-08-24 19:46:08.279554336 +0200 -@@ -346,6 +346,7 @@ - execve-v.test \ - execve.test \ - fadvise64.test \ -+ faccessat.test \ - futex.test \ - getuid.test \ - int_0x80.test \ -Index: strace-5.7/tests-m32/faccessat-P.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/faccessat-P.c 2021-08-24 19:46:08.279554336 +0200 -@@ -0,0 +1,4 @@ -+#define PATH_TRACING -+#define SKIP_IF_PROC_IS_UNAVAILABLE skip_if_unavailable("/proc/self/fd/") -+ -+#include "faccessat.c" -Index: strace-5.7/tests-m32/faccessat-y.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/faccessat-y.c 2021-08-24 19:46:08.280554328 +0200 -@@ -0,0 +1,4 @@ -+#define FD_PATH "" -+#define SKIP_IF_PROC_IS_UNAVAILABLE skip_if_unavailable("/proc/self/fd/") -+ -+#include "faccessat.c" -Index: strace-5.7/tests-m32/faccessat-yy.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/faccessat-yy.c 2021-08-24 19:46:08.280554328 +0200 -@@ -0,0 +1,4 @@ -+#define FD_PATH ">" -+#define SKIP_IF_PROC_IS_UNAVAILABLE skip_if_unavailable("/proc/self/fd/") -+ -+#include "faccessat.c" -Index: strace-5.7/tests-m32/faccessat.c -=================================================================== ---- strace-5.7.orig/tests-m32/faccessat.c 2019-09-25 03:02:03.000000000 +0200 -+++ strace-5.7/tests-m32/faccessat.c 2021-08-24 19:46:08.281554319 +0200 -@@ -1,4 +1,6 @@ - /* -+ * Check decoding of faccessat syscall. -+ * - * Copyright (c) 2016-2019 The strace developers. - * All rights reserved. - * -@@ -10,18 +12,133 @@ - - #ifdef __NR_faccessat - -+# include - # include - # include - -+# ifndef FD_PATH -+# define FD_PATH "" -+# endif -+# ifndef SKIP_IF_PROC_IS_UNAVAILABLE -+# define SKIP_IF_PROC_IS_UNAVAILABLE -+# endif -+ -+static const char *errstr; -+ -+static long -+k_faccessat(const unsigned int dirfd, -+ const void *const pathname, -+ const unsigned int mode) -+{ -+ const kernel_ulong_t fill = (kernel_ulong_t) 0xdefaced00000000ULL; -+ const kernel_ulong_t bad = (kernel_ulong_t) 0xbadc0dedbadc0dedULL; -+ -+ const kernel_ulong_t arg1 = fill | dirfd; -+ const kernel_ulong_t arg2 = (uintptr_t) pathname; -+ const kernel_ulong_t arg3 = fill | mode; -+ const long rc = syscall(__NR_faccessat, -+ arg1, arg2, arg3, bad, bad, bad); -+ errstr = sprintrc(rc); -+ return rc; -+} -+ - int - main(void) - { -- static const char sample[] = "faccessat.sample"; -- const long int fd = (long int) 0xdeadbeefffffffffULL; -+ SKIP_IF_PROC_IS_UNAVAILABLE; - -- long rc = syscall(__NR_faccessat, fd, sample, F_OK); -- printf("faccessat(%d, \"%s\", F_OK) = %ld %s (%m)\n", -- (int) fd, sample, rc, errno2name()); -+ TAIL_ALLOC_OBJECT_CONST_PTR(const char, unterminated); -+ char *unterminated_str; -+ if (asprintf(&unterminated_str, "%p", unterminated) < 0) -+ perror_msg_and_fail("asprintf"); -+ const void *const efault = unterminated + 1; -+ char *efault_str; -+ if (asprintf(&efault_str, "%p", efault) < 0) -+ perror_msg_and_fail("asprintf"); -+ -+ typedef struct { -+ char sym; -+ char null; -+ } sym_null; -+ -+ TAIL_ALLOC_OBJECT_CONST_PTR(sym_null, dot); -+ dot->sym = '.'; -+ dot->null = '\0'; -+ const char *const null = &dot->null; -+ -+ TAIL_ALLOC_OBJECT_CONST_PTR(sym_null, slash); -+ slash->sym = '/'; -+ slash->null = '\0'; -+ -+ static const char path[] = "/dev/full"; -+ const char *const fd_path = tail_memdup(path, sizeof(path)); -+ int fd = open(path, O_WRONLY); -+ if (fd < 0) -+ perror_msg_and_fail("open: %s", path); -+ char *fd_str; -+ if (asprintf(&fd_str, "%d%s", fd, FD_PATH) < 0) -+ perror_msg_and_fail("asprintf"); -+ char *path_quoted; -+ if (asprintf(&path_quoted, "\"%s\"", path) < 0) -+ perror_msg_and_fail("asprintf"); -+ -+ struct { -+ int val; -+ const char *str; -+ } dirfds[] = { -+ { ARG_STR(-1) }, -+ { -100, "AT_FDCWD" }, -+ { fd, fd_str }, -+ }, modes[] = { -+ { ARG_STR(F_OK) }, -+ { ARG_STR(R_OK) }, -+ { ARG_STR(W_OK) }, -+ { ARG_STR(X_OK) }, -+ { ARG_STR(R_OK|W_OK) }, -+ { ARG_STR(R_OK|X_OK) }, -+ { ARG_STR(W_OK|X_OK) }, -+ { ARG_STR(R_OK|W_OK|X_OK) }, -+ { 8, "0x8 /* ?_OK */" }, -+ { -1, "R_OK|W_OK|X_OK|0xfffffff8" }, -+ }; -+ -+ struct { -+ const void *val; -+ const char *str; -+ } paths[] = { -+ { 0, "NULL" }, -+ { efault, efault_str }, -+ { unterminated, unterminated_str }, -+ { null, "\"\"" }, -+ { &dot->sym, "\".\"" }, -+ { &slash->sym, "\"/\"" }, -+ { fd_path, path_quoted }, -+ }; -+ -+ for (unsigned int dirfd_i = 0; -+ dirfd_i < ARRAY_SIZE(dirfds); -+ ++dirfd_i) { -+ for (unsigned int path_i = 0; -+ path_i < ARRAY_SIZE(paths); -+ ++path_i) { -+ for (unsigned int mode_i = 0; -+ mode_i < ARRAY_SIZE(modes); -+ ++mode_i) { -+ k_faccessat(dirfds[dirfd_i].val, -+ paths[path_i].val, -+ modes[mode_i].val); -+# ifdef PATH_TRACING -+ if (dirfds[dirfd_i].val == fd || -+ paths[path_i].val == fd_path) -+# endif -+ printf("faccessat(%s, %s, %s) = %s\n", -+ dirfds[dirfd_i].str, -+ paths[path_i].str, -+ modes[mode_i].str, -+ errstr); -+ } -+ } -+ } - - puts("+++ exited with 0 +++"); - return 0; -Index: strace-5.7/tests-m32/faccessat.test -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/faccessat.test 2021-08-24 19:46:08.281554319 +0200 -@@ -0,0 +1,19 @@ -+#!/bin/sh -+# -+# Check decoding of faccessat syscall. -+# -+# Copyright (c) 2020 Dmitry V. Levin -+# All rights reserved. -+# -+# SPDX-License-Identifier: GPL-2.0-or-later -+ -+. "${srcdir=.}/init.sh" -+ -+check_prog sed -+ -+run_prog > /dev/null -+run_strace -a23 --trace=faccessat "$@" $args > "$EXP" -+ -+# Filter out faccessat() calls made by ld.so and libc. -+sed -n '/^faccessat(-1, NULL,/,$p' < "$LOG" > "$OUT" -+match_diff "$OUT" "$EXP" -Index: strace-5.7/tests-m32/gen_tests.in -=================================================================== ---- strace-5.7.orig/tests-m32/gen_tests.in 2021-08-24 19:37:43.193829347 +0200 -+++ strace-5.7/tests-m32/gen_tests.in 2021-08-24 19:46:08.282554311 +0200 -@@ -73,7 +73,9 @@ - erestartsys -a34 -e signal=none -e trace=recvfrom - execveat - execveat-v -v -e trace=execveat --faccessat -P $NAME.sample -+faccessat-P -a23 --trace=faccessat -P /dev/full -+faccessat-y +faccessat.test -a24 -y -+faccessat-yy +faccessat.test -a24 -yy - fadvise64_64 +fadvise64.test - fallocate -a18 - fanotify_init -Index: strace-5.7/tests-m32/pure_executables.list -=================================================================== ---- strace-5.7.orig/tests-m32/pure_executables.list 2021-08-24 19:37:43.193829347 +0200 -+++ strace-5.7/tests-m32/pure_executables.list 2021-08-24 19:46:08.283554302 +0200 -@@ -61,6 +61,9 @@ - execve - execveat - faccessat -+faccessat-P -+faccessat-y -+faccessat-yy - fadvise64 - fadvise64_64 - fallocate -Index: strace-5.7/tests-mx32/Makefile.am -=================================================================== ---- strace-5.7.orig/tests-mx32/Makefile.am 2021-08-24 19:42:16.048519924 +0200 -+++ strace-5.7/tests-mx32/Makefile.am 2021-08-24 19:46:08.283554302 +0200 -@@ -346,6 +346,7 @@ - execve-v.test \ - execve.test \ - fadvise64.test \ -+ faccessat.test \ - futex.test \ - getuid.test \ - int_0x80.test \ -Index: strace-5.7/tests-mx32/faccessat-P.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/faccessat-P.c 2021-08-24 19:46:08.283554302 +0200 -@@ -0,0 +1,4 @@ -+#define PATH_TRACING -+#define SKIP_IF_PROC_IS_UNAVAILABLE skip_if_unavailable("/proc/self/fd/") -+ -+#include "faccessat.c" -Index: strace-5.7/tests-mx32/faccessat-y.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/faccessat-y.c 2021-08-24 19:46:08.284554294 +0200 -@@ -0,0 +1,4 @@ -+#define FD_PATH "" -+#define SKIP_IF_PROC_IS_UNAVAILABLE skip_if_unavailable("/proc/self/fd/") -+ -+#include "faccessat.c" -Index: strace-5.7/tests-mx32/faccessat-yy.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/faccessat-yy.c 2021-08-24 19:46:08.284554294 +0200 -@@ -0,0 +1,4 @@ -+#define FD_PATH ">" -+#define SKIP_IF_PROC_IS_UNAVAILABLE skip_if_unavailable("/proc/self/fd/") -+ -+#include "faccessat.c" -Index: strace-5.7/tests-mx32/faccessat.c -=================================================================== ---- strace-5.7.orig/tests-mx32/faccessat.c 2019-09-25 03:02:03.000000000 +0200 -+++ strace-5.7/tests-mx32/faccessat.c 2021-08-24 19:46:08.285554285 +0200 -@@ -1,4 +1,6 @@ - /* -+ * Check decoding of faccessat syscall. -+ * - * Copyright (c) 2016-2019 The strace developers. - * All rights reserved. - * -@@ -10,18 +12,133 @@ - - #ifdef __NR_faccessat - -+# include - # include - # include - -+# ifndef FD_PATH -+# define FD_PATH "" -+# endif -+# ifndef SKIP_IF_PROC_IS_UNAVAILABLE -+# define SKIP_IF_PROC_IS_UNAVAILABLE -+# endif -+ -+static const char *errstr; -+ -+static long -+k_faccessat(const unsigned int dirfd, -+ const void *const pathname, -+ const unsigned int mode) -+{ -+ const kernel_ulong_t fill = (kernel_ulong_t) 0xdefaced00000000ULL; -+ const kernel_ulong_t bad = (kernel_ulong_t) 0xbadc0dedbadc0dedULL; -+ -+ const kernel_ulong_t arg1 = fill | dirfd; -+ const kernel_ulong_t arg2 = (uintptr_t) pathname; -+ const kernel_ulong_t arg3 = fill | mode; -+ const long rc = syscall(__NR_faccessat, -+ arg1, arg2, arg3, bad, bad, bad); -+ errstr = sprintrc(rc); -+ return rc; -+} -+ - int - main(void) - { -- static const char sample[] = "faccessat.sample"; -- const long int fd = (long int) 0xdeadbeefffffffffULL; -+ SKIP_IF_PROC_IS_UNAVAILABLE; - -- long rc = syscall(__NR_faccessat, fd, sample, F_OK); -- printf("faccessat(%d, \"%s\", F_OK) = %ld %s (%m)\n", -- (int) fd, sample, rc, errno2name()); -+ TAIL_ALLOC_OBJECT_CONST_PTR(const char, unterminated); -+ char *unterminated_str; -+ if (asprintf(&unterminated_str, "%p", unterminated) < 0) -+ perror_msg_and_fail("asprintf"); -+ const void *const efault = unterminated + 1; -+ char *efault_str; -+ if (asprintf(&efault_str, "%p", efault) < 0) -+ perror_msg_and_fail("asprintf"); -+ -+ typedef struct { -+ char sym; -+ char null; -+ } sym_null; -+ -+ TAIL_ALLOC_OBJECT_CONST_PTR(sym_null, dot); -+ dot->sym = '.'; -+ dot->null = '\0'; -+ const char *const null = &dot->null; -+ -+ TAIL_ALLOC_OBJECT_CONST_PTR(sym_null, slash); -+ slash->sym = '/'; -+ slash->null = '\0'; -+ -+ static const char path[] = "/dev/full"; -+ const char *const fd_path = tail_memdup(path, sizeof(path)); -+ int fd = open(path, O_WRONLY); -+ if (fd < 0) -+ perror_msg_and_fail("open: %s", path); -+ char *fd_str; -+ if (asprintf(&fd_str, "%d%s", fd, FD_PATH) < 0) -+ perror_msg_and_fail("asprintf"); -+ char *path_quoted; -+ if (asprintf(&path_quoted, "\"%s\"", path) < 0) -+ perror_msg_and_fail("asprintf"); -+ -+ struct { -+ int val; -+ const char *str; -+ } dirfds[] = { -+ { ARG_STR(-1) }, -+ { -100, "AT_FDCWD" }, -+ { fd, fd_str }, -+ }, modes[] = { -+ { ARG_STR(F_OK) }, -+ { ARG_STR(R_OK) }, -+ { ARG_STR(W_OK) }, -+ { ARG_STR(X_OK) }, -+ { ARG_STR(R_OK|W_OK) }, -+ { ARG_STR(R_OK|X_OK) }, -+ { ARG_STR(W_OK|X_OK) }, -+ { ARG_STR(R_OK|W_OK|X_OK) }, -+ { 8, "0x8 /* ?_OK */" }, -+ { -1, "R_OK|W_OK|X_OK|0xfffffff8" }, -+ }; -+ -+ struct { -+ const void *val; -+ const char *str; -+ } paths[] = { -+ { 0, "NULL" }, -+ { efault, efault_str }, -+ { unterminated, unterminated_str }, -+ { null, "\"\"" }, -+ { &dot->sym, "\".\"" }, -+ { &slash->sym, "\"/\"" }, -+ { fd_path, path_quoted }, -+ }; -+ -+ for (unsigned int dirfd_i = 0; -+ dirfd_i < ARRAY_SIZE(dirfds); -+ ++dirfd_i) { -+ for (unsigned int path_i = 0; -+ path_i < ARRAY_SIZE(paths); -+ ++path_i) { -+ for (unsigned int mode_i = 0; -+ mode_i < ARRAY_SIZE(modes); -+ ++mode_i) { -+ k_faccessat(dirfds[dirfd_i].val, -+ paths[path_i].val, -+ modes[mode_i].val); -+# ifdef PATH_TRACING -+ if (dirfds[dirfd_i].val == fd || -+ paths[path_i].val == fd_path) -+# endif -+ printf("faccessat(%s, %s, %s) = %s\n", -+ dirfds[dirfd_i].str, -+ paths[path_i].str, -+ modes[mode_i].str, -+ errstr); -+ } -+ } -+ } - - puts("+++ exited with 0 +++"); - return 0; -Index: strace-5.7/tests-mx32/faccessat.test -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/faccessat.test 2021-08-24 19:46:08.285554285 +0200 -@@ -0,0 +1,19 @@ -+#!/bin/sh -+# -+# Check decoding of faccessat syscall. -+# -+# Copyright (c) 2020 Dmitry V. Levin -+# All rights reserved. -+# -+# SPDX-License-Identifier: GPL-2.0-or-later -+ -+. "${srcdir=.}/init.sh" -+ -+check_prog sed -+ -+run_prog > /dev/null -+run_strace -a23 --trace=faccessat "$@" $args > "$EXP" -+ -+# Filter out faccessat() calls made by ld.so and libc. -+sed -n '/^faccessat(-1, NULL,/,$p' < "$LOG" > "$OUT" -+match_diff "$OUT" "$EXP" -Index: strace-5.7/tests-mx32/gen_tests.in -=================================================================== ---- strace-5.7.orig/tests-mx32/gen_tests.in 2021-08-24 19:37:43.194829339 +0200 -+++ strace-5.7/tests-mx32/gen_tests.in 2021-08-24 19:46:08.286554277 +0200 -@@ -73,7 +73,9 @@ - erestartsys -a34 -e signal=none -e trace=recvfrom - execveat - execveat-v -v -e trace=execveat --faccessat -P $NAME.sample -+faccessat-P -a23 --trace=faccessat -P /dev/full -+faccessat-y +faccessat.test -a24 -y -+faccessat-yy +faccessat.test -a24 -yy - fadvise64_64 +fadvise64.test - fallocate -a18 - fanotify_init -Index: strace-5.7/tests-mx32/pure_executables.list -=================================================================== ---- strace-5.7.orig/tests-mx32/pure_executables.list 2021-08-24 19:37:43.195829330 +0200 -+++ strace-5.7/tests-mx32/pure_executables.list 2021-08-24 19:46:08.286554277 +0200 -@@ -61,6 +61,9 @@ - execve - execveat - faccessat -+faccessat-P -+faccessat-y -+faccessat-yy - fadvise64 - fadvise64_64 - fallocate -Index: strace-5.7/tests/Makefile.in -=================================================================== ---- strace-5.7.orig/tests/Makefile.in 2021-08-24 19:42:54.720192609 +0200 -+++ strace-5.7/tests/Makefile.in 2021-08-24 19:46:08.292554226 +0200 -@@ -6523,6 +6523,7 @@ - execve-v.test \ - execve.test \ - fadvise64.test \ -+ faccessat.test \ - futex.test \ - getuid.test \ - int_0x80.test \ -Index: strace-5.7/tests-m32/Makefile.in -=================================================================== ---- strace-5.7.orig/tests-m32/Makefile.in 2021-08-24 19:43:13.669032228 +0200 -+++ strace-5.7/tests-m32/Makefile.in 2021-08-24 19:46:08.296554192 +0200 -@@ -6523,6 +6523,7 @@ - execve-v.test \ - execve.test \ - fadvise64.test \ -+ faccessat.test \ - futex.test \ - getuid.test \ - int_0x80.test \ -Index: strace-5.7/tests-mx32/Makefile.in -=================================================================== ---- strace-5.7.orig/tests-mx32/Makefile.in 2021-08-24 19:43:32.469873099 +0200 -+++ strace-5.7/tests-mx32/Makefile.in 2021-08-24 19:46:08.299554167 +0200 -@@ -6523,6 +6523,7 @@ - execve-v.test \ - execve.test \ - fadvise64.test \ -+ faccessat.test \ - futex.test \ - getuid.test \ - int_0x80.test \ diff --git a/SOURCES/0145-xmalloc-introduce-xasprintf.patch b/SOURCES/0145-xmalloc-introduce-xasprintf.patch deleted file mode 100644 index 92a88d1..0000000 --- a/SOURCES/0145-xmalloc-introduce-xasprintf.patch +++ /dev/null @@ -1,65 +0,0 @@ -From f2b8769e4a9aa99cd5e0aef41a0408c34de3cc8e Mon Sep 17 00:00:00 2001 -From: "Dmitry V. Levin" -Date: Mon, 15 Mar 2021 08:00:00 +0000 -Subject: [PATCH 145/149] xmalloc: introduce xasprintf - -xasprintf is a trivial wrapper around vasprintf, -the primary purpose of adding it is to simplify tests. - -* xmalloc.h (xasprintf): New function declaration. -* xmalloc.c: Include and -(xasprintf): New function. ---- - xmalloc.c | 16 ++++++++++++++++ - xmalloc.h | 6 ++++++ - 2 files changed, 22 insertions(+) - -diff --git a/xmalloc.c b/xmalloc.c -index 8688f91..75019e9 100644 ---- a/xmalloc.c -+++ b/xmalloc.c -@@ -10,6 +10,8 @@ - # include "config.h" - #endif - -+#include -+#include - #include - #include - -@@ -146,3 +148,17 @@ xstrndup(const char *str, size_t n) - - return p; - } -+ -+char * -+xasprintf(const char *fmt, ...) -+{ -+ va_list ap; -+ va_start(ap, fmt); -+ -+ char *res; -+ if (vasprintf(&res, fmt, ap) < 0) -+ die_out_of_memory(); -+ -+ va_end(ap); -+ return res; -+} -diff --git a/xmalloc.h b/xmalloc.h -index 4bf1e2c..1305a1e 100644 ---- a/xmalloc.h -+++ b/xmalloc.h -@@ -77,4 +77,10 @@ void *xgrowarray(void *ptr, size_t *nmemb, size_t memb_size); - char *xstrdup(const char *str) ATTRIBUTE_MALLOC; - char *xstrndup(const char *str, size_t n) ATTRIBUTE_MALLOC; - -+/** -+ * Analogous to asprintf, die in case of an error. -+ */ -+char *xasprintf(const char *fmt, ...) -+ ATTRIBUTE_FORMAT((printf, 1, 2)) ATTRIBUTE_MALLOC; -+ - #endif /* !STRACE_XMALLOC_H */ --- -2.1.4 - diff --git a/SOURCES/0146-tests-use-xasprintf-instead-of-asprintf.patch b/SOURCES/0146-tests-use-xasprintf-instead-of-asprintf.patch deleted file mode 100644 index 931f9da..0000000 --- a/SOURCES/0146-tests-use-xasprintf-instead-of-asprintf.patch +++ /dev/null @@ -1,891 +0,0 @@ -From bcd0f3ef964aead4b9e95c10f4c5c75f58ba102c Mon Sep 17 00:00:00 2001 -From: "Dmitry V. Levin" -Date: Mon, 15 Mar 2021 08:00:00 +0000 -Subject: [PATCH 146/149] tests: use xasprintf instead of asprintf - -* tests/clone-flags.c: Include "xmalloc.h", replace all asprintf -invocations followed by perror_msg_and_fail with xasprintf. -* tests/epoll_pwait2.c: Likewise. -* tests/faccessat.c: Likewise. -* tests/faccessat2.c: Likewise. -* tests/ioctl_kvm_run_common.c: Likewise. -* tests/keyctl.c: Likewise. -* tests/lock_file.c: Likewise. -* tests/mq.c: Likewise. -* tests/mq_sendrecv.c: Likewise. -* tests/netlink_protocol.c: Likewise. -* tests/old_mmap.c: Likewise. -* tests/tracer_ppid_pgid_sid.c: Likewise. - -Conflicts: - tests/epoll_pwait2.c - tests/faccessat2.c - tests/mq_sendrecv.c ---- - tests/clone-flags.c | 5 ++--- - tests/faccessat.c | 17 +++++------------ - tests/ioctl_kvm_run_common.c | 6 ++---- - tests/keyctl.c | 29 +++++++++++++---------------- - tests/lock_file.c | 5 ++--- - tests/mq.c | 5 ++--- - tests/mq_sendrecv.c | 4 ++-- - tests/netlink_protocol.c | 5 ++--- - tests/old_mmap.c | 5 ++--- - tests/tracer_ppid_pgid_sid.c | 6 ++---- - 10 files changed, 34 insertions(+), 53 deletions(-) - -diff --git a/tests/clone-flags.c b/tests/clone-flags.c -index 04bb2c7..aa7d48c 100644 ---- a/tests/clone-flags.c -+++ b/tests/clone-flags.c -@@ -8,6 +8,7 @@ - */ - - #include "tests.h" -+#include "xmalloc.h" - - #include - #include -@@ -134,9 +135,7 @@ main(void) - *ptid = 0; - pid = do_clone(child, child_stack, child_stack_size, - CLONE_PIDFD|SIGCHLD, 0, ptid); -- char *fname = 0; -- if (asprintf(&fname, "/proc/self/fd/%d", *ptid) < 0) -- perror_msg_and_fail("asprintf"); -+ char *fname = xasprintf("/proc/self/fd/%d", *ptid); - int rc = readlink(fname, buf, sizeof(buf) - 1); - if ((unsigned int) rc >= sizeof(buf)) - perror_msg_and_fail("readlink"); -diff --git a/tests/faccessat.c b/tests/faccessat.c -index c42aa2d..8cda6f3 100644 ---- a/tests/faccessat.c -+++ b/tests/faccessat.c -@@ -12,6 +12,7 @@ - - #ifdef __NR_faccessat - -+# include "xmalloc.h" - # include - # include - # include -@@ -48,13 +49,9 @@ main(void) - SKIP_IF_PROC_IS_UNAVAILABLE; - - TAIL_ALLOC_OBJECT_CONST_PTR(const char, unterminated); -- char *unterminated_str; -- if (asprintf(&unterminated_str, "%p", unterminated) < 0) -- perror_msg_and_fail("asprintf"); -+ char *unterminated_str = xasprintf("%p", unterminated); - const void *const efault = unterminated + 1; -- char *efault_str; -- if (asprintf(&efault_str, "%p", efault) < 0) -- perror_msg_and_fail("asprintf"); -+ char *efault_str = xasprintf("%p", efault); - - typedef struct { - char sym; -@@ -75,12 +72,8 @@ main(void) - int fd = open(path, O_WRONLY); - if (fd < 0) - perror_msg_and_fail("open: %s", path); -- char *fd_str; -- if (asprintf(&fd_str, "%d%s", fd, FD_PATH) < 0) -- perror_msg_and_fail("asprintf"); -- char *path_quoted; -- if (asprintf(&path_quoted, "\"%s\"", path) < 0) -- perror_msg_and_fail("asprintf"); -+ char *fd_str = xasprintf("%d%s", fd, FD_PATH); -+ char *path_quoted = xasprintf("\"%s\"", path); - - struct { - int val; -diff --git a/tests/ioctl_kvm_run_common.c b/tests/ioctl_kvm_run_common.c -index 9107c30..be1190e 100644 ---- a/tests/ioctl_kvm_run_common.c -+++ b/tests/ioctl_kvm_run_common.c -@@ -48,6 +48,7 @@ - # define KVM_MAX_CPUID_ENTRIES 80 - # endif - -+# include "xmalloc.h" - # include "xlat.h" - # include "xlat/kvm_cpuid_flags.h" - -@@ -254,12 +255,9 @@ static int - vcpu_dev_should_have_cpuid(int fd) - { - int r = 0; -- char *filename = NULL; -+ char *filename = xasprintf("/proc/%d/fd/%d", getpid(), fd); - char buf[sizeof(vcpu_dev)]; - -- if (asprintf(&filename, "/proc/%d/fd/%d", getpid(), fd) < 0) -- error_msg_and_fail("asprintf"); -- - if (readlink(filename, buf, sizeof(buf)) == sizeof(buf) - 1 - && (memcmp(buf, vcpu_dev, sizeof(buf) - 1) == 0)) - r = 1; -diff --git a/tests/keyctl.c b/tests/keyctl.c -index 6dc30fb..96ac197 100644 ---- a/tests/keyctl.c -+++ b/tests/keyctl.c -@@ -11,6 +11,7 @@ - #include "tests.h" - - #include "scno.h" -+#include "xmalloc.h" - - #ifdef __NR_keyctl - -@@ -445,7 +446,6 @@ main(void) - struct iovec *key_iov = tail_alloc(sizeof(*key_iov) * IOV_SIZE); - char *bogus_buf1 = tail_alloc(9); - char *bogus_buf2 = tail_alloc(256); -- char *key_iov_str1; - char *key_iov_str2 = tail_alloc(4096); - const char *errstr; - ssize_t ret; -@@ -472,21 +472,18 @@ main(void) - 0x100000001ULL * i); - } - -- ret = asprintf(&key_iov_str1, "[{iov_base=%p, iov_len=%zu}, " -- "{iov_base=%p, iov_len=%zu}, " -- "{iov_base=%p, iov_len=%zu}, " -- "{iov_base=%p, iov_len=%zu}]", -- key_iov[IOV_SIZE - 4].iov_base, -- key_iov[IOV_SIZE - 4].iov_len, -- key_iov[IOV_SIZE - 3].iov_base, -- key_iov[IOV_SIZE - 3].iov_len, -- key_iov[IOV_SIZE - 2].iov_base, -- key_iov[IOV_SIZE - 2].iov_len, -- key_iov[IOV_SIZE - 1].iov_base, -- key_iov[IOV_SIZE - 1].iov_len); -- -- if (ret < 0) -- error_msg_and_fail("asprintf"); -+ char *key_iov_str1 = xasprintf("[{iov_base=%p, iov_len=%zu}, " -+ "{iov_base=%p, iov_len=%zu}, " -+ "{iov_base=%p, iov_len=%zu}, " -+ "{iov_base=%p, iov_len=%zu}]", -+ key_iov[IOV_SIZE - 4].iov_base, -+ key_iov[IOV_SIZE - 4].iov_len, -+ key_iov[IOV_SIZE - 3].iov_base, -+ key_iov[IOV_SIZE - 3].iov_len, -+ key_iov[IOV_SIZE - 2].iov_base, -+ key_iov[IOV_SIZE - 2].iov_len, -+ key_iov[IOV_SIZE - 1].iov_base, -+ key_iov[IOV_SIZE - 1].iov_len); - - ret = snprintf(key_iov_str2, IOV_STR_SIZE, - "[{iov_base=\"%s\\0\", iov_len=%zu}, " -diff --git a/tests/lock_file.c b/tests/lock_file.c -index 56cf112..7618552 100644 ---- a/tests/lock_file.c -+++ b/tests/lock_file.c -@@ -6,6 +6,7 @@ - */ - - #include "tests.h" -+#include "xmalloc.h" - - #include - #include -@@ -21,9 +22,7 @@ lock_file_by_dirname(const char *path_name, const char *lock_name) - const char *slash = path_name ? strrchr(path_name, '/') : NULL; - const int plen = slash ? (int) (slash - path_name) + 1 : 0; - -- char *lock_file = NULL; -- if (asprintf(&lock_file, "%.*s%s", plen, path_name, lock_name) < 0) -- perror_msg_and_fail("asprintf"); -+ char *lock_file = xasprintf("%.*s%s", plen, path_name, lock_name); - - int lock_fd = open(lock_file, O_RDONLY); - if (lock_fd < 0) -diff --git a/tests/mq.c b/tests/mq.c -index a083e5a..7aa0914 100644 ---- a/tests/mq.c -+++ b/tests/mq.c -@@ -17,6 +17,7 @@ - # include - # include - # include -+# include "xmalloc.h" - - int - main(void) -@@ -24,9 +25,7 @@ main(void) - struct mq_attr attr; - (void) close(0); - -- char *name; -- if (asprintf(&name, "/strace-mq-%u.sample", getpid()) < 0) -- perror_msg_and_fail("asprintf"); -+ char *name = xasprintf("/strace-mq-%u.sample", getpid()); - - if (mq_open(name, O_CREAT, 0700, NULL)) - perror_msg_and_skip("mq_open"); -diff --git a/tests/mq_sendrecv.c b/tests/mq_sendrecv.c -index 45ddf5e..5a919c4 100644 ---- a/tests/mq_sendrecv.c -+++ b/tests/mq_sendrecv.c -@@ -27,6 +27,7 @@ - # include - # include - -+# include "xmalloc.h" - # include "sigevent.h" - - # ifndef DUMPIO_READ -@@ -407,8 +408,7 @@ main(void) - - /* Sending and receiving test */ - -- if (asprintf(&mq_name, "strace-mq_sendrecv-%u.sample", getpid()) < 0) -- perror_msg_and_fail("asprintf"); -+ mq_name = xasprintf("strace-mq_sendrecv-%u.sample", getpid()); - - # if DUMPIO_READ || DUMPIO_WRITE - close(0); -diff --git a/tests/netlink_protocol.c b/tests/netlink_protocol.c -index e632ba3..c37489f 100644 ---- a/tests/netlink_protocol.c -+++ b/tests/netlink_protocol.c -@@ -22,6 +22,7 @@ - # include "netlink.h" - # include - # include -+# include "xmalloc.h" - - static void - send_query(const int fd) -@@ -388,9 +389,7 @@ int main(void) - { - const int fd = create_nl_socket(NETLINK_SOCK_DIAG); - -- char *path; -- if (asprintf(&path, "/proc/self/fd/%u", fd) < 0) -- perror_msg_and_fail("asprintf"); -+ char *path = xasprintf("/proc/self/fd/%u", fd); - char buf[256]; - if (getxattr(path, "system.sockprotoname", buf, sizeof(buf) - 1) < 0) - perror_msg_and_skip("getxattr"); -diff --git a/tests/old_mmap.c b/tests/old_mmap.c -index f095bc4..bb70359 100644 ---- a/tests/old_mmap.c -+++ b/tests/old_mmap.c -@@ -27,6 +27,7 @@ - # include - # include - # include -+# include "xmalloc.h" - - # ifndef TEST_FD - # define TEST_FD -2LU -@@ -82,9 +83,7 @@ main(void) - # ifndef PATH_TRACING - const char *errstr; - if (implemented) { -- char *str; -- if (asprintf(&str, "%#lx", rc) < 0) -- perror_msg_and_fail("asprintf"); -+ char *str = xasprintf("%#lx", rc); - errstr = str; - } else { - errstr = sprintrc(rc); -diff --git a/tests/tracer_ppid_pgid_sid.c b/tests/tracer_ppid_pgid_sid.c -index 69687fa..ce9936d 100644 ---- a/tests/tracer_ppid_pgid_sid.c -+++ b/tests/tracer_ppid_pgid_sid.c -@@ -8,6 +8,7 @@ - */ - - #include "tests.h" -+#include "xmalloc.h" - #include - #include - #include -@@ -55,10 +56,7 @@ get_tracer_pid(void) - static void - get_ppid_pgid_sid(int pid, int *ppid, int *pgid, int *sid) - { -- char *stat; -- if (asprintf(&stat, "/proc/%d/stat", pid) < 0) -- perror_msg_and_fail("asprintf"); -- -+ char *stat = xasprintf("/proc/%d/stat", pid); - FILE *fp = fopen(stat, "r"); - if (!fp) - perror_msg_and_fail("fopen: %s", stat); -diff --git a/tests-m32/clone-flags.c b/tests-m32/clone-flags.c -index 04bb2c7..aa7d48c 100644 ---- a/tests-m32/clone-flags.c -+++ b/tests-m32/clone-flags.c -@@ -8,6 +8,7 @@ - */ - - #include "tests.h" -+#include "xmalloc.h" - - #include - #include -@@ -134,9 +135,7 @@ main(void) - *ptid = 0; - pid = do_clone(child, child_stack, child_stack_size, - CLONE_PIDFD|SIGCHLD, 0, ptid); -- char *fname = 0; -- if (asprintf(&fname, "/proc/self/fd/%d", *ptid) < 0) -- perror_msg_and_fail("asprintf"); -+ char *fname = xasprintf("/proc/self/fd/%d", *ptid); - int rc = readlink(fname, buf, sizeof(buf) - 1); - if ((unsigned int) rc >= sizeof(buf)) - perror_msg_and_fail("readlink"); -diff --git a/tests-m32/faccessat.c b/tests-m32/faccessat.c -index c42aa2d..8cda6f3 100644 ---- a/tests-m32/faccessat.c -+++ b/tests-m32/faccessat.c -@@ -12,6 +12,7 @@ - - #ifdef __NR_faccessat - -+# include "xmalloc.h" - # include - # include - # include -@@ -48,13 +49,9 @@ main(void) - SKIP_IF_PROC_IS_UNAVAILABLE; - - TAIL_ALLOC_OBJECT_CONST_PTR(const char, unterminated); -- char *unterminated_str; -- if (asprintf(&unterminated_str, "%p", unterminated) < 0) -- perror_msg_and_fail("asprintf"); -+ char *unterminated_str = xasprintf("%p", unterminated); - const void *const efault = unterminated + 1; -- char *efault_str; -- if (asprintf(&efault_str, "%p", efault) < 0) -- perror_msg_and_fail("asprintf"); -+ char *efault_str = xasprintf("%p", efault); - - typedef struct { - char sym; -@@ -75,12 +72,8 @@ main(void) - int fd = open(path, O_WRONLY); - if (fd < 0) - perror_msg_and_fail("open: %s", path); -- char *fd_str; -- if (asprintf(&fd_str, "%d%s", fd, FD_PATH) < 0) -- perror_msg_and_fail("asprintf"); -- char *path_quoted; -- if (asprintf(&path_quoted, "\"%s\"", path) < 0) -- perror_msg_and_fail("asprintf"); -+ char *fd_str = xasprintf("%d%s", fd, FD_PATH); -+ char *path_quoted = xasprintf("\"%s\"", path); - - struct { - int val; -diff --git a/tests-m32/ioctl_kvm_run_common.c b/tests-m32/ioctl_kvm_run_common.c -index 9107c30..be1190e 100644 ---- a/tests-m32/ioctl_kvm_run_common.c -+++ b/tests-m32/ioctl_kvm_run_common.c -@@ -48,6 +48,7 @@ - # define KVM_MAX_CPUID_ENTRIES 80 - # endif - -+# include "xmalloc.h" - # include "xlat.h" - # include "xlat/kvm_cpuid_flags.h" - -@@ -254,12 +255,9 @@ static int - vcpu_dev_should_have_cpuid(int fd) - { - int r = 0; -- char *filename = NULL; -+ char *filename = xasprintf("/proc/%d/fd/%d", getpid(), fd); - char buf[sizeof(vcpu_dev)]; - -- if (asprintf(&filename, "/proc/%d/fd/%d", getpid(), fd) < 0) -- error_msg_and_fail("asprintf"); -- - if (readlink(filename, buf, sizeof(buf)) == sizeof(buf) - 1 - && (memcmp(buf, vcpu_dev, sizeof(buf) - 1) == 0)) - r = 1; -diff --git a/tests-m32/keyctl.c b/tests-m32/keyctl.c -index 6dc30fb..96ac197 100644 ---- a/tests-m32/keyctl.c -+++ b/tests-m32/keyctl.c -@@ -11,6 +11,7 @@ - #include "tests.h" - - #include "scno.h" -+#include "xmalloc.h" - - #ifdef __NR_keyctl - -@@ -445,7 +446,6 @@ main(void) - struct iovec *key_iov = tail_alloc(sizeof(*key_iov) * IOV_SIZE); - char *bogus_buf1 = tail_alloc(9); - char *bogus_buf2 = tail_alloc(256); -- char *key_iov_str1; - char *key_iov_str2 = tail_alloc(4096); - const char *errstr; - ssize_t ret; -@@ -472,21 +472,18 @@ main(void) - 0x100000001ULL * i); - } - -- ret = asprintf(&key_iov_str1, "[{iov_base=%p, iov_len=%zu}, " -- "{iov_base=%p, iov_len=%zu}, " -- "{iov_base=%p, iov_len=%zu}, " -- "{iov_base=%p, iov_len=%zu}]", -- key_iov[IOV_SIZE - 4].iov_base, -- key_iov[IOV_SIZE - 4].iov_len, -- key_iov[IOV_SIZE - 3].iov_base, -- key_iov[IOV_SIZE - 3].iov_len, -- key_iov[IOV_SIZE - 2].iov_base, -- key_iov[IOV_SIZE - 2].iov_len, -- key_iov[IOV_SIZE - 1].iov_base, -- key_iov[IOV_SIZE - 1].iov_len); -- -- if (ret < 0) -- error_msg_and_fail("asprintf"); -+ char *key_iov_str1 = xasprintf("[{iov_base=%p, iov_len=%zu}, " -+ "{iov_base=%p, iov_len=%zu}, " -+ "{iov_base=%p, iov_len=%zu}, " -+ "{iov_base=%p, iov_len=%zu}]", -+ key_iov[IOV_SIZE - 4].iov_base, -+ key_iov[IOV_SIZE - 4].iov_len, -+ key_iov[IOV_SIZE - 3].iov_base, -+ key_iov[IOV_SIZE - 3].iov_len, -+ key_iov[IOV_SIZE - 2].iov_base, -+ key_iov[IOV_SIZE - 2].iov_len, -+ key_iov[IOV_SIZE - 1].iov_base, -+ key_iov[IOV_SIZE - 1].iov_len); - - ret = snprintf(key_iov_str2, IOV_STR_SIZE, - "[{iov_base=\"%s\\0\", iov_len=%zu}, " -diff --git a/tests-m32/lock_file.c b/tests-m32/lock_file.c -index 56cf112..7618552 100644 ---- a/tests-m32/lock_file.c -+++ b/tests-m32/lock_file.c -@@ -6,6 +6,7 @@ - */ - - #include "tests.h" -+#include "xmalloc.h" - - #include - #include -@@ -21,9 +22,7 @@ lock_file_by_dirname(const char *path_name, const char *lock_name) - const char *slash = path_name ? strrchr(path_name, '/') : NULL; - const int plen = slash ? (int) (slash - path_name) + 1 : 0; - -- char *lock_file = NULL; -- if (asprintf(&lock_file, "%.*s%s", plen, path_name, lock_name) < 0) -- perror_msg_and_fail("asprintf"); -+ char *lock_file = xasprintf("%.*s%s", plen, path_name, lock_name); - - int lock_fd = open(lock_file, O_RDONLY); - if (lock_fd < 0) -diff --git a/tests-m32/mq.c b/tests-m32/mq.c -index a083e5a..7aa0914 100644 ---- a/tests-m32/mq.c -+++ b/tests-m32/mq.c -@@ -17,6 +17,7 @@ - # include - # include - # include -+# include "xmalloc.h" - - int - main(void) -@@ -24,9 +25,7 @@ main(void) - struct mq_attr attr; - (void) close(0); - -- char *name; -- if (asprintf(&name, "/strace-mq-%u.sample", getpid()) < 0) -- perror_msg_and_fail("asprintf"); -+ char *name = xasprintf("/strace-mq-%u.sample", getpid()); - - if (mq_open(name, O_CREAT, 0700, NULL)) - perror_msg_and_skip("mq_open"); -diff --git a/tests-m32/mq_sendrecv.c b/tests-m32/mq_sendrecv.c -index 45ddf5e..5a919c4 100644 ---- a/tests-m32/mq_sendrecv.c -+++ b/tests-m32/mq_sendrecv.c -@@ -27,6 +27,7 @@ - # include - # include - -+# include "xmalloc.h" - # include "sigevent.h" - - # ifndef DUMPIO_READ -@@ -407,8 +408,7 @@ main(void) - - /* Sending and receiving test */ - -- if (asprintf(&mq_name, "strace-mq_sendrecv-%u.sample", getpid()) < 0) -- perror_msg_and_fail("asprintf"); -+ mq_name = xasprintf("strace-mq_sendrecv-%u.sample", getpid()); - - # if DUMPIO_READ || DUMPIO_WRITE - close(0); -diff --git a/tests-m32/netlink_protocol.c b/tests-m32/netlink_protocol.c -index e632ba3..c37489f 100644 ---- a/tests-m32/netlink_protocol.c -+++ b/tests-m32/netlink_protocol.c -@@ -22,6 +22,7 @@ - # include "netlink.h" - # include - # include -+# include "xmalloc.h" - - static void - send_query(const int fd) -@@ -388,9 +389,7 @@ int main(void) - { - const int fd = create_nl_socket(NETLINK_SOCK_DIAG); - -- char *path; -- if (asprintf(&path, "/proc/self/fd/%u", fd) < 0) -- perror_msg_and_fail("asprintf"); -+ char *path = xasprintf("/proc/self/fd/%u", fd); - char buf[256]; - if (getxattr(path, "system.sockprotoname", buf, sizeof(buf) - 1) < 0) - perror_msg_and_skip("getxattr"); -diff --git a/tests-m32/old_mmap.c b/tests-m32/old_mmap.c -index f095bc4..bb70359 100644 ---- a/tests-m32/old_mmap.c -+++ b/tests-m32/old_mmap.c -@@ -27,6 +27,7 @@ - # include - # include - # include -+# include "xmalloc.h" - - # ifndef TEST_FD - # define TEST_FD -2LU -@@ -82,9 +83,7 @@ main(void) - # ifndef PATH_TRACING - const char *errstr; - if (implemented) { -- char *str; -- if (asprintf(&str, "%#lx", rc) < 0) -- perror_msg_and_fail("asprintf"); -+ char *str = xasprintf("%#lx", rc); - errstr = str; - } else { - errstr = sprintrc(rc); -diff --git a/tests-m32/tracer_ppid_pgid_sid.c b/tests-m32/tracer_ppid_pgid_sid.c -index 69687fa..ce9936d 100644 ---- a/tests-m32/tracer_ppid_pgid_sid.c -+++ b/tests-m32/tracer_ppid_pgid_sid.c -@@ -8,6 +8,7 @@ - */ - - #include "tests.h" -+#include "xmalloc.h" - #include - #include - #include -@@ -55,10 +56,7 @@ get_tracer_pid(void) - static void - get_ppid_pgid_sid(int pid, int *ppid, int *pgid, int *sid) - { -- char *stat; -- if (asprintf(&stat, "/proc/%d/stat", pid) < 0) -- perror_msg_and_fail("asprintf"); -- -+ char *stat = xasprintf("/proc/%d/stat", pid); - FILE *fp = fopen(stat, "r"); - if (!fp) - perror_msg_and_fail("fopen: %s", stat); -diff --git a/tests-mx32/clone-flags.c b/tests-mx32/clone-flags.c -index 04bb2c7..aa7d48c 100644 ---- a/tests-mx32/clone-flags.c -+++ b/tests-mx32/clone-flags.c -@@ -8,6 +8,7 @@ - */ - - #include "tests.h" -+#include "xmalloc.h" - - #include - #include -@@ -134,9 +135,7 @@ main(void) - *ptid = 0; - pid = do_clone(child, child_stack, child_stack_size, - CLONE_PIDFD|SIGCHLD, 0, ptid); -- char *fname = 0; -- if (asprintf(&fname, "/proc/self/fd/%d", *ptid) < 0) -- perror_msg_and_fail("asprintf"); -+ char *fname = xasprintf("/proc/self/fd/%d", *ptid); - int rc = readlink(fname, buf, sizeof(buf) - 1); - if ((unsigned int) rc >= sizeof(buf)) - perror_msg_and_fail("readlink"); -diff --git a/tests-mx32/faccessat.c b/tests-mx32/faccessat.c -index c42aa2d..8cda6f3 100644 ---- a/tests-mx32/faccessat.c -+++ b/tests-mx32/faccessat.c -@@ -12,6 +12,7 @@ - - #ifdef __NR_faccessat - -+# include "xmalloc.h" - # include - # include - # include -@@ -48,13 +49,9 @@ main(void) - SKIP_IF_PROC_IS_UNAVAILABLE; - - TAIL_ALLOC_OBJECT_CONST_PTR(const char, unterminated); -- char *unterminated_str; -- if (asprintf(&unterminated_str, "%p", unterminated) < 0) -- perror_msg_and_fail("asprintf"); -+ char *unterminated_str = xasprintf("%p", unterminated); - const void *const efault = unterminated + 1; -- char *efault_str; -- if (asprintf(&efault_str, "%p", efault) < 0) -- perror_msg_and_fail("asprintf"); -+ char *efault_str = xasprintf("%p", efault); - - typedef struct { - char sym; -@@ -75,12 +72,8 @@ main(void) - int fd = open(path, O_WRONLY); - if (fd < 0) - perror_msg_and_fail("open: %s", path); -- char *fd_str; -- if (asprintf(&fd_str, "%d%s", fd, FD_PATH) < 0) -- perror_msg_and_fail("asprintf"); -- char *path_quoted; -- if (asprintf(&path_quoted, "\"%s\"", path) < 0) -- perror_msg_and_fail("asprintf"); -+ char *fd_str = xasprintf("%d%s", fd, FD_PATH); -+ char *path_quoted = xasprintf("\"%s\"", path); - - struct { - int val; -diff --git a/tests-mx32/ioctl_kvm_run_common.c b/tests-mx32/ioctl_kvm_run_common.c -index 9107c30..be1190e 100644 ---- a/tests-mx32/ioctl_kvm_run_common.c -+++ b/tests-mx32/ioctl_kvm_run_common.c -@@ -48,6 +48,7 @@ - # define KVM_MAX_CPUID_ENTRIES 80 - # endif - -+# include "xmalloc.h" - # include "xlat.h" - # include "xlat/kvm_cpuid_flags.h" - -@@ -254,12 +255,9 @@ static int - vcpu_dev_should_have_cpuid(int fd) - { - int r = 0; -- char *filename = NULL; -+ char *filename = xasprintf("/proc/%d/fd/%d", getpid(), fd); - char buf[sizeof(vcpu_dev)]; - -- if (asprintf(&filename, "/proc/%d/fd/%d", getpid(), fd) < 0) -- error_msg_and_fail("asprintf"); -- - if (readlink(filename, buf, sizeof(buf)) == sizeof(buf) - 1 - && (memcmp(buf, vcpu_dev, sizeof(buf) - 1) == 0)) - r = 1; -diff --git a/tests-mx32/keyctl.c b/tests-mx32/keyctl.c -index 6dc30fb..96ac197 100644 ---- a/tests-mx32/keyctl.c -+++ b/tests-mx32/keyctl.c -@@ -11,6 +11,7 @@ - #include "tests.h" - - #include "scno.h" -+#include "xmalloc.h" - - #ifdef __NR_keyctl - -@@ -445,7 +446,6 @@ main(void) - struct iovec *key_iov = tail_alloc(sizeof(*key_iov) * IOV_SIZE); - char *bogus_buf1 = tail_alloc(9); - char *bogus_buf2 = tail_alloc(256); -- char *key_iov_str1; - char *key_iov_str2 = tail_alloc(4096); - const char *errstr; - ssize_t ret; -@@ -472,21 +472,18 @@ main(void) - 0x100000001ULL * i); - } - -- ret = asprintf(&key_iov_str1, "[{iov_base=%p, iov_len=%zu}, " -- "{iov_base=%p, iov_len=%zu}, " -- "{iov_base=%p, iov_len=%zu}, " -- "{iov_base=%p, iov_len=%zu}]", -- key_iov[IOV_SIZE - 4].iov_base, -- key_iov[IOV_SIZE - 4].iov_len, -- key_iov[IOV_SIZE - 3].iov_base, -- key_iov[IOV_SIZE - 3].iov_len, -- key_iov[IOV_SIZE - 2].iov_base, -- key_iov[IOV_SIZE - 2].iov_len, -- key_iov[IOV_SIZE - 1].iov_base, -- key_iov[IOV_SIZE - 1].iov_len); -- -- if (ret < 0) -- error_msg_and_fail("asprintf"); -+ char *key_iov_str1 = xasprintf("[{iov_base=%p, iov_len=%zu}, " -+ "{iov_base=%p, iov_len=%zu}, " -+ "{iov_base=%p, iov_len=%zu}, " -+ "{iov_base=%p, iov_len=%zu}]", -+ key_iov[IOV_SIZE - 4].iov_base, -+ key_iov[IOV_SIZE - 4].iov_len, -+ key_iov[IOV_SIZE - 3].iov_base, -+ key_iov[IOV_SIZE - 3].iov_len, -+ key_iov[IOV_SIZE - 2].iov_base, -+ key_iov[IOV_SIZE - 2].iov_len, -+ key_iov[IOV_SIZE - 1].iov_base, -+ key_iov[IOV_SIZE - 1].iov_len); - - ret = snprintf(key_iov_str2, IOV_STR_SIZE, - "[{iov_base=\"%s\\0\", iov_len=%zu}, " -diff --git a/tests-mx32/lock_file.c b/tests-mx32/lock_file.c -index 56cf112..7618552 100644 ---- a/tests-mx32/lock_file.c -+++ b/tests-mx32/lock_file.c -@@ -6,6 +6,7 @@ - */ - - #include "tests.h" -+#include "xmalloc.h" - - #include - #include -@@ -21,9 +22,7 @@ lock_file_by_dirname(const char *path_name, const char *lock_name) - const char *slash = path_name ? strrchr(path_name, '/') : NULL; - const int plen = slash ? (int) (slash - path_name) + 1 : 0; - -- char *lock_file = NULL; -- if (asprintf(&lock_file, "%.*s%s", plen, path_name, lock_name) < 0) -- perror_msg_and_fail("asprintf"); -+ char *lock_file = xasprintf("%.*s%s", plen, path_name, lock_name); - - int lock_fd = open(lock_file, O_RDONLY); - if (lock_fd < 0) -diff --git a/tests-mx32/mq.c b/tests-mx32/mq.c -index a083e5a..7aa0914 100644 ---- a/tests-mx32/mq.c -+++ b/tests-mx32/mq.c -@@ -17,6 +17,7 @@ - # include - # include - # include -+# include "xmalloc.h" - - int - main(void) -@@ -24,9 +25,7 @@ main(void) - struct mq_attr attr; - (void) close(0); - -- char *name; -- if (asprintf(&name, "/strace-mq-%u.sample", getpid()) < 0) -- perror_msg_and_fail("asprintf"); -+ char *name = xasprintf("/strace-mq-%u.sample", getpid()); - - if (mq_open(name, O_CREAT, 0700, NULL)) - perror_msg_and_skip("mq_open"); -diff --git a/tests-mx32/mq_sendrecv.c b/tests-mx32/mq_sendrecv.c -index 45ddf5e..5a919c4 100644 ---- a/tests-mx32/mq_sendrecv.c -+++ b/tests-mx32/mq_sendrecv.c -@@ -27,6 +27,7 @@ - # include - # include - -+# include "xmalloc.h" - # include "sigevent.h" - - # ifndef DUMPIO_READ -@@ -407,8 +408,7 @@ main(void) - - /* Sending and receiving test */ - -- if (asprintf(&mq_name, "strace-mq_sendrecv-%u.sample", getpid()) < 0) -- perror_msg_and_fail("asprintf"); -+ mq_name = xasprintf("strace-mq_sendrecv-%u.sample", getpid()); - - # if DUMPIO_READ || DUMPIO_WRITE - close(0); -diff --git a/tests-mx32/netlink_protocol.c b/tests-mx32/netlink_protocol.c -index e632ba3..c37489f 100644 ---- a/tests-mx32/netlink_protocol.c -+++ b/tests-mx32/netlink_protocol.c -@@ -22,6 +22,7 @@ - # include "netlink.h" - # include - # include -+# include "xmalloc.h" - - static void - send_query(const int fd) -@@ -388,9 +389,7 @@ int main(void) - { - const int fd = create_nl_socket(NETLINK_SOCK_DIAG); - -- char *path; -- if (asprintf(&path, "/proc/self/fd/%u", fd) < 0) -- perror_msg_and_fail("asprintf"); -+ char *path = xasprintf("/proc/self/fd/%u", fd); - char buf[256]; - if (getxattr(path, "system.sockprotoname", buf, sizeof(buf) - 1) < 0) - perror_msg_and_skip("getxattr"); -diff --git a/tests-mx32/old_mmap.c b/tests-mx32/old_mmap.c -index f095bc4..bb70359 100644 ---- a/tests-mx32/old_mmap.c -+++ b/tests-mx32/old_mmap.c -@@ -27,6 +27,7 @@ - # include - # include - # include -+# include "xmalloc.h" - - # ifndef TEST_FD - # define TEST_FD -2LU -@@ -82,9 +83,7 @@ main(void) - # ifndef PATH_TRACING - const char *errstr; - if (implemented) { -- char *str; -- if (asprintf(&str, "%#lx", rc) < 0) -- perror_msg_and_fail("asprintf"); -+ char *str = xasprintf("%#lx", rc); - errstr = str; - } else { - errstr = sprintrc(rc); -diff --git a/tests-mx32/tracer_ppid_pgid_sid.c b/tests-mx32/tracer_ppid_pgid_sid.c -index 69687fa..ce9936d 100644 ---- a/tests-mx32/tracer_ppid_pgid_sid.c -+++ b/tests-mx32/tracer_ppid_pgid_sid.c -@@ -8,6 +8,7 @@ - */ - - #include "tests.h" -+#include "xmalloc.h" - #include - #include - #include -@@ -55,10 +56,7 @@ get_tracer_pid(void) - static void - get_ppid_pgid_sid(int pid, int *ppid, int *pgid, int *sid) - { -- char *stat; -- if (asprintf(&stat, "/proc/%d/stat", pid) < 0) -- perror_msg_and_fail("asprintf"); -- -+ char *stat = xasprintf("/proc/%d/stat", pid); - FILE *fp = fopen(stat, "r"); - if (!fp) - perror_msg_and_fail("fopen: %s", stat); --- -2.1.4 - diff --git a/SOURCES/0147-file_handle-print-f_handle-as-a-hexadecimal-string.patch b/SOURCES/0147-file_handle-print-f_handle-as-a-hexadecimal-string.patch deleted file mode 100644 index 1e0c295..0000000 --- a/SOURCES/0147-file_handle-print-f_handle-as-a-hexadecimal-string.patch +++ /dev/null @@ -1,276 +0,0 @@ -From 5a8d3bab6f492b3932299d9e80fb247ab00b8102 Mon Sep 17 00:00:00 2001 -From: "Dmitry V. Levin" -Date: Sun, 7 Mar 2021 08:00:00 +0000 -Subject: [PATCH 147/149] file_handle: print f_handle as a hexadecimal string - -Printing the sequence of bytes as a hexadecimal number is misleading -because the latter depends on endianness. - -* src/file_handle.c (print_f_handle): New function. -(SYS_FUNC(name_to_handle_at), SYS_FUNC(open_by_handle_at)): Use it -to print struct file_handle.f_handle. -* tests/file_handle.c (print_handle_data, do_open_by_handle_at, main): -Update expected output. ---- - file_handle.c | 47 ++++++++++++++++++++++------------------------- - tests/file_handle.c | 26 +++++++++++--------------- - 2 files changed, 33 insertions(+), 40 deletions(-) - -diff --git a/file_handle.c b/file_handle.c -index d82a1bc..343111f 100644 ---- a/file_handle.c -+++ b/file_handle.c -@@ -19,6 +19,22 @@ typedef struct { - int handle_type; - } file_handle_header; - -+static void -+print_f_handle(struct tcb *tcp, kernel_ulong_t addr, unsigned int handle_bytes) -+{ -+ unsigned int len = MIN(handle_bytes, MAX_HANDLE_SZ); -+ char f_handle[MAX_HANDLE_SZ]; -+ addr += sizeof(file_handle_header); -+ if (addr > sizeof(file_handle_header) && -+ !umoven(tcp, addr, len, f_handle)) { -+ print_quoted_string(f_handle, len, QUOTE_FORCE_HEX); -+ if (handle_bytes > len) -+ tprints("..."); -+ } else { -+ tprints("???"); -+ } -+} -+ - SYS_FUNC(name_to_handle_at) - { - file_handle_header h; -@@ -53,24 +69,15 @@ SYS_FUNC(name_to_handle_at) - - return 0; - } else { -- unsigned int i = get_tcb_priv_ulong(tcp); -- - if ((!syserror(tcp) || EOVERFLOW == tcp->u_error) - && !umove(tcp, addr, &h)) { -- unsigned char f_handle[MAX_HANDLE_SZ]; - -- if (i != h.handle_bytes) -+ if (h.handle_bytes != get_tcb_priv_ulong(tcp)) - tprintf(" => %u", h.handle_bytes); - if (!syserror(tcp)) { -- tprintf(", handle_type=%d", h.handle_type); -- if (h.handle_bytes > MAX_HANDLE_SZ) -- h.handle_bytes = MAX_HANDLE_SZ; -- if (!umoven(tcp, addr + sizeof(h), h.handle_bytes, -- f_handle)) { -- tprints(", f_handle=0x"); -- for (i = 0; i < h.handle_bytes; ++i) -- tprintf("%02x", f_handle[i]); -- } -+ tprintf(", handle_type=%d, f_handle=", -+ h.handle_type); -+ print_f_handle(tcp, addr, h.handle_bytes); - } - } - tprints("}, "); -@@ -96,19 +103,9 @@ SYS_FUNC(open_by_handle_at) - - /* handle */ - if (!umove_or_printaddr(tcp, addr, &h)) { -- unsigned char f_handle[MAX_HANDLE_SZ]; -- -- tprintf("{handle_bytes=%u, handle_type=%d", -+ tprintf("{handle_bytes=%u, handle_type=%d, f_handle=", - h.handle_bytes, h.handle_type); -- if (h.handle_bytes > MAX_HANDLE_SZ) -- h.handle_bytes = MAX_HANDLE_SZ; -- if (!umoven(tcp, addr + sizeof(h), h.handle_bytes, &f_handle)) { -- unsigned int i; -- -- tprints(", f_handle=0x"); -- for (i = 0; i < h.handle_bytes; ++i) -- tprintf("%02x", f_handle[i]); -- } -+ print_f_handle(tcp, addr, h.handle_bytes); - tprints("}"); - } - tprints(", "); -diff --git a/tests/file_handle.c b/tests/file_handle.c -index edabde6..07af7ba 100644 ---- a/tests/file_handle.c -+++ b/tests/file_handle.c -@@ -42,14 +42,10 @@ struct file_handle { - void - print_handle_data(unsigned char *bytes, unsigned int size) - { -- unsigned int i; -- -- if (size > MAX_HANDLE_SZ) -- size = MAX_HANDLE_SZ; -- -- printf("0x"); -- for (i = 0; i < size; ++i) -- printf("%02x", bytes[i]); -+ unsigned int len = MIN(size, MAX_HANDLE_SZ); -+ print_quoted_hex(bytes, len); -+ if (size > len) -+ printf("..."); - } - - void -@@ -111,11 +107,13 @@ do_open_by_handle_at(kernel_ulong_t mount_fd, - printf("{handle_bytes=%u, handle_type=%d", fh->handle_bytes, - fh->handle_type); - -+ printf(", f_handle="); - if (valid_data) { -- printf(", f_handle="); - print_handle_data((unsigned char *) fh + - sizeof(struct file_handle), - fh->handle_bytes); -+ } else { -+ printf("???"); - } - - printf("}"); -@@ -275,16 +273,14 @@ main(void) - assert(syscall(__NR_name_to_handle_at, fdcwd, ".", handle, &mount_id, - flags) == 0); - printf("name_to_handle_at(AT_FDCWD, \".\", {handle_bytes=%u" -- ", handle_type=%d, f_handle=0x", -+ ", handle_type=%d, f_handle=", - handle->handle_bytes, handle->handle_type); -- for (i = 0; i < handle->handle_bytes; ++i) -- printf("%02x", handle->f_handle[i]); -+ print_handle_data(handle->f_handle, handle->handle_bytes); - printf("}, [%d], AT_SYMLINK_FOLLOW) = 0\n", mount_id); - - printf("open_by_handle_at(-1, {handle_bytes=%u, handle_type=%d" -- ", f_handle=0x", handle->handle_bytes, handle->handle_type); -- for (i = 0; i < handle->handle_bytes; ++i) -- printf("%02x", handle->f_handle[i]); -+ ", f_handle=", handle->handle_bytes, handle->handle_type); -+ print_handle_data(handle->f_handle, handle->handle_bytes); - int rc = syscall(__NR_open_by_handle_at, -1, handle, - O_RDONLY | O_DIRECTORY); - printf("}, O_RDONLY|O_DIRECTORY) = %d %s (%m)\n", rc, errno2name()); -diff --git a/tests-m32/file_handle.c b/tests-m32/file_handle.c -index edabde6..07af7ba 100644 ---- a/tests-m32/file_handle.c -+++ b/tests-m32/file_handle.c -@@ -42,14 +42,10 @@ struct file_handle { - void - print_handle_data(unsigned char *bytes, unsigned int size) - { -- unsigned int i; -- -- if (size > MAX_HANDLE_SZ) -- size = MAX_HANDLE_SZ; -- -- printf("0x"); -- for (i = 0; i < size; ++i) -- printf("%02x", bytes[i]); -+ unsigned int len = MIN(size, MAX_HANDLE_SZ); -+ print_quoted_hex(bytes, len); -+ if (size > len) -+ printf("..."); - } - - void -@@ -111,11 +107,13 @@ do_open_by_handle_at(kernel_ulong_t mount_fd, - printf("{handle_bytes=%u, handle_type=%d", fh->handle_bytes, - fh->handle_type); - -+ printf(", f_handle="); - if (valid_data) { -- printf(", f_handle="); - print_handle_data((unsigned char *) fh + - sizeof(struct file_handle), - fh->handle_bytes); -+ } else { -+ printf("???"); - } - - printf("}"); -@@ -275,16 +273,14 @@ main(void) - assert(syscall(__NR_name_to_handle_at, fdcwd, ".", handle, &mount_id, - flags) == 0); - printf("name_to_handle_at(AT_FDCWD, \".\", {handle_bytes=%u" -- ", handle_type=%d, f_handle=0x", -+ ", handle_type=%d, f_handle=", - handle->handle_bytes, handle->handle_type); -- for (i = 0; i < handle->handle_bytes; ++i) -- printf("%02x", handle->f_handle[i]); -+ print_handle_data(handle->f_handle, handle->handle_bytes); - printf("}, [%d], AT_SYMLINK_FOLLOW) = 0\n", mount_id); - - printf("open_by_handle_at(-1, {handle_bytes=%u, handle_type=%d" -- ", f_handle=0x", handle->handle_bytes, handle->handle_type); -- for (i = 0; i < handle->handle_bytes; ++i) -- printf("%02x", handle->f_handle[i]); -+ ", f_handle=", handle->handle_bytes, handle->handle_type); -+ print_handle_data(handle->f_handle, handle->handle_bytes); - int rc = syscall(__NR_open_by_handle_at, -1, handle, - O_RDONLY | O_DIRECTORY); - printf("}, O_RDONLY|O_DIRECTORY) = %d %s (%m)\n", rc, errno2name()); -diff --git a/tests-mx32/file_handle.c b/tests-mx32/file_handle.c -index edabde6..07af7ba 100644 ---- a/tests-mx32/file_handle.c -+++ b/tests-mx32/file_handle.c -@@ -42,14 +42,10 @@ struct file_handle { - void - print_handle_data(unsigned char *bytes, unsigned int size) - { -- unsigned int i; -- -- if (size > MAX_HANDLE_SZ) -- size = MAX_HANDLE_SZ; -- -- printf("0x"); -- for (i = 0; i < size; ++i) -- printf("%02x", bytes[i]); -+ unsigned int len = MIN(size, MAX_HANDLE_SZ); -+ print_quoted_hex(bytes, len); -+ if (size > len) -+ printf("..."); - } - - void -@@ -111,11 +107,13 @@ do_open_by_handle_at(kernel_ulong_t mount_fd, - printf("{handle_bytes=%u, handle_type=%d", fh->handle_bytes, - fh->handle_type); - -+ printf(", f_handle="); - if (valid_data) { -- printf(", f_handle="); - print_handle_data((unsigned char *) fh + - sizeof(struct file_handle), - fh->handle_bytes); -+ } else { -+ printf("???"); - } - - printf("}"); -@@ -275,16 +273,14 @@ main(void) - assert(syscall(__NR_name_to_handle_at, fdcwd, ".", handle, &mount_id, - flags) == 0); - printf("name_to_handle_at(AT_FDCWD, \".\", {handle_bytes=%u" -- ", handle_type=%d, f_handle=0x", -+ ", handle_type=%d, f_handle=", - handle->handle_bytes, handle->handle_type); -- for (i = 0; i < handle->handle_bytes; ++i) -- printf("%02x", handle->f_handle[i]); -+ print_handle_data(handle->f_handle, handle->handle_bytes); - printf("}, [%d], AT_SYMLINK_FOLLOW) = 0\n", mount_id); - - printf("open_by_handle_at(-1, {handle_bytes=%u, handle_type=%d" -- ", f_handle=0x", handle->handle_bytes, handle->handle_type); -- for (i = 0; i < handle->handle_bytes; ++i) -- printf("%02x", handle->f_handle[i]); -+ ", f_handle=", handle->handle_bytes, handle->handle_type); -+ print_handle_data(handle->f_handle, handle->handle_bytes); - int rc = syscall(__NR_open_by_handle_at, -1, handle, - O_RDONLY | O_DIRECTORY); - printf("}, O_RDONLY|O_DIRECTORY) = %d %s (%m)\n", rc, errno2name()); --- -2.1.4 - diff --git a/SOURCES/0148-tests-fix-execve-test-with-fresh-linux-kernels.patch b/SOURCES/0148-tests-fix-execve-test-with-fresh-linux-kernels.patch deleted file mode 100644 index d6338b4..0000000 --- a/SOURCES/0148-tests-fix-execve-test-with-fresh-linux-kernels.patch +++ /dev/null @@ -1,486 +0,0 @@ -From 1ec648999d3bf01ae87cac65c810d5d8f19c71c0 Mon Sep 17 00:00:00 2001 -From: Sven Schnelle -Date: Tue, 10 Nov 2020 07:38:34 +0100 -Subject: [PATCH 148/149] tests: fix execve test with fresh linux kernels - -Starting with Linux commit v5.9-rc1~164^2^2~2, execve copies syscall -arguments before trying to find the executable, failing with EFAULT -in case of a faulty address. Adjust the test to handle both variants -of execve behaviour. - -* tests/execve.c (errstr): New variable. -(call_execve): New function. -(main): Use it instead of execve. Do not hardcode ENOENT in expected -output of tests, use errstr instead. - -Signed-off-by: Sven Schnelle -Signed-off-by: Dmitry V. Levin ---- - tests/execve.c | 54 ++++++++++++++++++++++++++++++++---------------------- - 1 file changed, 32 insertions(+), 22 deletions(-) - -diff --git a/tests/execve.c b/tests/execve.c -index 2f6ae52..961d284 100644 ---- a/tests/execve.c -+++ b/tests/execve.c -@@ -12,6 +12,16 @@ - #include - #include - -+static const char *errstr; -+ -+static int -+call_execve(const char *pathname, char *const *argv, char *const *envp) -+{ -+ int rc = execve(pathname, argv, envp); -+ errstr = sprintrc(rc); -+ return rc; -+} -+ - #define FILENAME "test.execve\nfilename" - #define Q_FILENAME "test.execve\\nfilename" - -@@ -43,7 +53,7 @@ main(void) - char ** const tail_argv = tail_memdup(argv, sizeof(argv)); - char ** const tail_envp = tail_memdup(envp, sizeof(envp)); - -- execve(FILENAME, tail_argv, tail_envp); -+ call_execve(FILENAME, tail_argv, tail_envp); - printf("execve(\"%s\"" - ", [\"%s\", \"%s\", \"%s\", %p, %p, %p, ... /* %p */]" - #if VERBOSE -@@ -51,7 +61,7 @@ main(void) - #else - ", %p /* 5 vars, unterminated */" - #endif -- ") = -1 ENOENT (%m)\n", -+ ") = %s\n", - Q_FILENAME, q_argv[0], q_argv[1], q_argv[2], - argv[3], argv[4], argv[5], (char *) tail_argv + sizeof(argv) - #if VERBOSE -@@ -60,60 +70,60 @@ main(void) - #else - , tail_envp - #endif -- ); -+ , errstr); - - tail_argv[ARRAY_SIZE(q_argv)] = NULL; - tail_envp[ARRAY_SIZE(q_envp)] = NULL; - (void) q_envp; /* workaround for clang bug #33068 */ - -- execve(FILENAME, tail_argv, tail_envp); -+ call_execve(FILENAME, tail_argv, tail_envp); - printf("execve(\"%s\", [\"%s\", \"%s\", \"%s\"]" - #if VERBOSE - ", [\"%s\", \"%s\"]" - #else - ", %p /* 2 vars */" - #endif -- ") = -1 ENOENT (%m)\n", -+ ") = %s\n", - Q_FILENAME, q_argv[0], q_argv[1], q_argv[2] - #if VERBOSE - , q_envp[0], q_envp[1] - #else - , tail_envp - #endif -- ); -+ , errstr); - -- execve(FILENAME, tail_argv + 2, tail_envp + 1); -+ call_execve(FILENAME, tail_argv + 2, tail_envp + 1); - printf("execve(\"%s\", [\"%s\"]" - #if VERBOSE - ", [\"%s\"]" - #else - ", %p /* 1 var */" - #endif -- ") = -1 ENOENT (%m)\n", -+ ") = %s\n", - Q_FILENAME, q_argv[2] - #if VERBOSE - , q_envp[1] - #else - , tail_envp + 1 - #endif -- ); -+ , errstr); - - TAIL_ALLOC_OBJECT_CONST_PTR(char *, empty); - char **const efault = empty + 1; - *empty = NULL; - -- execve(FILENAME, empty, empty); -+ call_execve(FILENAME, empty, empty); - printf("execve(\"%s\", []" - #if VERBOSE - ", []" - #else - ", %p /* 0 vars */" - #endif -- ") = -1 ENOENT (%m)\n", Q_FILENAME -+ ") = %s\n", Q_FILENAME - #if !VERBOSE - , empty - #endif -- ); -+ , errstr); - - char *const str_a = tail_alloc(DEFAULT_STRLEN + 2); - fill_memory_ex(str_a, DEFAULT_STRLEN + 1, '0', 10); -@@ -132,7 +142,7 @@ main(void) - } - a[i] = b[i] = NULL; - -- execve(FILENAME, a, b); -+ call_execve(FILENAME, a, b); - printf("execve(\"%s\", [\"%.*s\"...", Q_FILENAME, DEFAULT_STRLEN, a[0]); - for (i = 1; i < DEFAULT_STRLEN; ++i) - printf(", \"%s\"", a[i]); -@@ -149,9 +159,9 @@ main(void) - #else - printf("], %p /* %u vars */", b, DEFAULT_STRLEN + 1); - #endif -- printf(") = -1 ENOENT (%m)\n"); -+ printf(") = %s\n", errstr); - -- execve(FILENAME, a + 1, b + 1); -+ call_execve(FILENAME, a + 1, b + 1); - printf("execve(\"%s\", [\"%s\"", Q_FILENAME, a[1]); - for (i = 2; i <= DEFAULT_STRLEN; ++i) - printf(", \"%s\"", a[i]); -@@ -163,15 +173,15 @@ main(void) - #else - printf("], %p /* %d vars */", b + 1, DEFAULT_STRLEN); - #endif -- printf(") = -1 ENOENT (%m)\n"); -+ printf(") = %s\n", errstr); - -- execve(FILENAME, (char **) tail_argv[ARRAY_SIZE(q_argv)], efault); -- printf("execve(\"%s\", NULL, %p) = -1 ENOENT (%m)\n", -- Q_FILENAME, efault); -+ call_execve(FILENAME, (char **) tail_argv[ARRAY_SIZE(q_argv)], efault); -+ printf("execve(\"%s\", NULL, %p) = %s\n", -+ Q_FILENAME, efault, errstr); - -- execve(FILENAME, efault, NULL); -- printf("execve(\"%s\", %p, NULL) = -1 ENOENT (%m)\n", -- Q_FILENAME, efault); -+ call_execve(FILENAME, efault, NULL); -+ printf("execve(\"%s\", %p, NULL) = %s\n", -+ Q_FILENAME, efault, errstr); - - leave_and_remove_subdir(); - -diff --git a/tests-m32/execve.c b/tests-m32/execve.c -index 2f6ae52..961d284 100644 ---- a/tests-m32/execve.c -+++ b/tests-m32/execve.c -@@ -12,6 +12,16 @@ - #include - #include - -+static const char *errstr; -+ -+static int -+call_execve(const char *pathname, char *const *argv, char *const *envp) -+{ -+ int rc = execve(pathname, argv, envp); -+ errstr = sprintrc(rc); -+ return rc; -+} -+ - #define FILENAME "test.execve\nfilename" - #define Q_FILENAME "test.execve\\nfilename" - -@@ -43,7 +53,7 @@ main(void) - char ** const tail_argv = tail_memdup(argv, sizeof(argv)); - char ** const tail_envp = tail_memdup(envp, sizeof(envp)); - -- execve(FILENAME, tail_argv, tail_envp); -+ call_execve(FILENAME, tail_argv, tail_envp); - printf("execve(\"%s\"" - ", [\"%s\", \"%s\", \"%s\", %p, %p, %p, ... /* %p */]" - #if VERBOSE -@@ -51,7 +61,7 @@ main(void) - #else - ", %p /* 5 vars, unterminated */" - #endif -- ") = -1 ENOENT (%m)\n", -+ ") = %s\n", - Q_FILENAME, q_argv[0], q_argv[1], q_argv[2], - argv[3], argv[4], argv[5], (char *) tail_argv + sizeof(argv) - #if VERBOSE -@@ -60,60 +70,60 @@ main(void) - #else - , tail_envp - #endif -- ); -+ , errstr); - - tail_argv[ARRAY_SIZE(q_argv)] = NULL; - tail_envp[ARRAY_SIZE(q_envp)] = NULL; - (void) q_envp; /* workaround for clang bug #33068 */ - -- execve(FILENAME, tail_argv, tail_envp); -+ call_execve(FILENAME, tail_argv, tail_envp); - printf("execve(\"%s\", [\"%s\", \"%s\", \"%s\"]" - #if VERBOSE - ", [\"%s\", \"%s\"]" - #else - ", %p /* 2 vars */" - #endif -- ") = -1 ENOENT (%m)\n", -+ ") = %s\n", - Q_FILENAME, q_argv[0], q_argv[1], q_argv[2] - #if VERBOSE - , q_envp[0], q_envp[1] - #else - , tail_envp - #endif -- ); -+ , errstr); - -- execve(FILENAME, tail_argv + 2, tail_envp + 1); -+ call_execve(FILENAME, tail_argv + 2, tail_envp + 1); - printf("execve(\"%s\", [\"%s\"]" - #if VERBOSE - ", [\"%s\"]" - #else - ", %p /* 1 var */" - #endif -- ") = -1 ENOENT (%m)\n", -+ ") = %s\n", - Q_FILENAME, q_argv[2] - #if VERBOSE - , q_envp[1] - #else - , tail_envp + 1 - #endif -- ); -+ , errstr); - - TAIL_ALLOC_OBJECT_CONST_PTR(char *, empty); - char **const efault = empty + 1; - *empty = NULL; - -- execve(FILENAME, empty, empty); -+ call_execve(FILENAME, empty, empty); - printf("execve(\"%s\", []" - #if VERBOSE - ", []" - #else - ", %p /* 0 vars */" - #endif -- ") = -1 ENOENT (%m)\n", Q_FILENAME -+ ") = %s\n", Q_FILENAME - #if !VERBOSE - , empty - #endif -- ); -+ , errstr); - - char *const str_a = tail_alloc(DEFAULT_STRLEN + 2); - fill_memory_ex(str_a, DEFAULT_STRLEN + 1, '0', 10); -@@ -132,7 +142,7 @@ main(void) - } - a[i] = b[i] = NULL; - -- execve(FILENAME, a, b); -+ call_execve(FILENAME, a, b); - printf("execve(\"%s\", [\"%.*s\"...", Q_FILENAME, DEFAULT_STRLEN, a[0]); - for (i = 1; i < DEFAULT_STRLEN; ++i) - printf(", \"%s\"", a[i]); -@@ -149,9 +159,9 @@ main(void) - #else - printf("], %p /* %u vars */", b, DEFAULT_STRLEN + 1); - #endif -- printf(") = -1 ENOENT (%m)\n"); -+ printf(") = %s\n", errstr); - -- execve(FILENAME, a + 1, b + 1); -+ call_execve(FILENAME, a + 1, b + 1); - printf("execve(\"%s\", [\"%s\"", Q_FILENAME, a[1]); - for (i = 2; i <= DEFAULT_STRLEN; ++i) - printf(", \"%s\"", a[i]); -@@ -163,15 +173,15 @@ main(void) - #else - printf("], %p /* %d vars */", b + 1, DEFAULT_STRLEN); - #endif -- printf(") = -1 ENOENT (%m)\n"); -+ printf(") = %s\n", errstr); - -- execve(FILENAME, (char **) tail_argv[ARRAY_SIZE(q_argv)], efault); -- printf("execve(\"%s\", NULL, %p) = -1 ENOENT (%m)\n", -- Q_FILENAME, efault); -+ call_execve(FILENAME, (char **) tail_argv[ARRAY_SIZE(q_argv)], efault); -+ printf("execve(\"%s\", NULL, %p) = %s\n", -+ Q_FILENAME, efault, errstr); - -- execve(FILENAME, efault, NULL); -- printf("execve(\"%s\", %p, NULL) = -1 ENOENT (%m)\n", -- Q_FILENAME, efault); -+ call_execve(FILENAME, efault, NULL); -+ printf("execve(\"%s\", %p, NULL) = %s\n", -+ Q_FILENAME, efault, errstr); - - leave_and_remove_subdir(); - -diff --git a/tests-mx32/execve.c b/tests-mx32/execve.c -index 2f6ae52..961d284 100644 ---- a/tests-mx32/execve.c -+++ b/tests-mx32/execve.c -@@ -12,6 +12,16 @@ - #include - #include - -+static const char *errstr; -+ -+static int -+call_execve(const char *pathname, char *const *argv, char *const *envp) -+{ -+ int rc = execve(pathname, argv, envp); -+ errstr = sprintrc(rc); -+ return rc; -+} -+ - #define FILENAME "test.execve\nfilename" - #define Q_FILENAME "test.execve\\nfilename" - -@@ -43,7 +53,7 @@ main(void) - char ** const tail_argv = tail_memdup(argv, sizeof(argv)); - char ** const tail_envp = tail_memdup(envp, sizeof(envp)); - -- execve(FILENAME, tail_argv, tail_envp); -+ call_execve(FILENAME, tail_argv, tail_envp); - printf("execve(\"%s\"" - ", [\"%s\", \"%s\", \"%s\", %p, %p, %p, ... /* %p */]" - #if VERBOSE -@@ -51,7 +61,7 @@ main(void) - #else - ", %p /* 5 vars, unterminated */" - #endif -- ") = -1 ENOENT (%m)\n", -+ ") = %s\n", - Q_FILENAME, q_argv[0], q_argv[1], q_argv[2], - argv[3], argv[4], argv[5], (char *) tail_argv + sizeof(argv) - #if VERBOSE -@@ -60,60 +70,60 @@ main(void) - #else - , tail_envp - #endif -- ); -+ , errstr); - - tail_argv[ARRAY_SIZE(q_argv)] = NULL; - tail_envp[ARRAY_SIZE(q_envp)] = NULL; - (void) q_envp; /* workaround for clang bug #33068 */ - -- execve(FILENAME, tail_argv, tail_envp); -+ call_execve(FILENAME, tail_argv, tail_envp); - printf("execve(\"%s\", [\"%s\", \"%s\", \"%s\"]" - #if VERBOSE - ", [\"%s\", \"%s\"]" - #else - ", %p /* 2 vars */" - #endif -- ") = -1 ENOENT (%m)\n", -+ ") = %s\n", - Q_FILENAME, q_argv[0], q_argv[1], q_argv[2] - #if VERBOSE - , q_envp[0], q_envp[1] - #else - , tail_envp - #endif -- ); -+ , errstr); - -- execve(FILENAME, tail_argv + 2, tail_envp + 1); -+ call_execve(FILENAME, tail_argv + 2, tail_envp + 1); - printf("execve(\"%s\", [\"%s\"]" - #if VERBOSE - ", [\"%s\"]" - #else - ", %p /* 1 var */" - #endif -- ") = -1 ENOENT (%m)\n", -+ ") = %s\n", - Q_FILENAME, q_argv[2] - #if VERBOSE - , q_envp[1] - #else - , tail_envp + 1 - #endif -- ); -+ , errstr); - - TAIL_ALLOC_OBJECT_CONST_PTR(char *, empty); - char **const efault = empty + 1; - *empty = NULL; - -- execve(FILENAME, empty, empty); -+ call_execve(FILENAME, empty, empty); - printf("execve(\"%s\", []" - #if VERBOSE - ", []" - #else - ", %p /* 0 vars */" - #endif -- ") = -1 ENOENT (%m)\n", Q_FILENAME -+ ") = %s\n", Q_FILENAME - #if !VERBOSE - , empty - #endif -- ); -+ , errstr); - - char *const str_a = tail_alloc(DEFAULT_STRLEN + 2); - fill_memory_ex(str_a, DEFAULT_STRLEN + 1, '0', 10); -@@ -132,7 +142,7 @@ main(void) - } - a[i] = b[i] = NULL; - -- execve(FILENAME, a, b); -+ call_execve(FILENAME, a, b); - printf("execve(\"%s\", [\"%.*s\"...", Q_FILENAME, DEFAULT_STRLEN, a[0]); - for (i = 1; i < DEFAULT_STRLEN; ++i) - printf(", \"%s\"", a[i]); -@@ -149,9 +159,9 @@ main(void) - #else - printf("], %p /* %u vars */", b, DEFAULT_STRLEN + 1); - #endif -- printf(") = -1 ENOENT (%m)\n"); -+ printf(") = %s\n", errstr); - -- execve(FILENAME, a + 1, b + 1); -+ call_execve(FILENAME, a + 1, b + 1); - printf("execve(\"%s\", [\"%s\"", Q_FILENAME, a[1]); - for (i = 2; i <= DEFAULT_STRLEN; ++i) - printf(", \"%s\"", a[i]); -@@ -163,15 +173,15 @@ main(void) - #else - printf("], %p /* %d vars */", b + 1, DEFAULT_STRLEN); - #endif -- printf(") = -1 ENOENT (%m)\n"); -+ printf(") = %s\n", errstr); - -- execve(FILENAME, (char **) tail_argv[ARRAY_SIZE(q_argv)], efault); -- printf("execve(\"%s\", NULL, %p) = -1 ENOENT (%m)\n", -- Q_FILENAME, efault); -+ call_execve(FILENAME, (char **) tail_argv[ARRAY_SIZE(q_argv)], efault); -+ printf("execve(\"%s\", NULL, %p) = %s\n", -+ Q_FILENAME, efault, errstr); - -- execve(FILENAME, efault, NULL); -- printf("execve(\"%s\", %p, NULL) = -1 ENOENT (%m)\n", -- Q_FILENAME, efault); -+ call_execve(FILENAME, efault, NULL); -+ printf("execve(\"%s\", %p, NULL) = %s\n", -+ Q_FILENAME, efault, errstr); - - leave_and_remove_subdir(); - --- -2.1.4 - diff --git a/SOURCES/0149-Implement-secontext-full-option-to-display-SELinux-c.patch b/SOURCES/0149-Implement-secontext-full-option-to-display-SELinux-c.patch deleted file mode 100644 index c09d112..0000000 --- a/SOURCES/0149-Implement-secontext-full-option-to-display-SELinux-c.patch +++ /dev/null @@ -1,13901 +0,0 @@ -From 45d71f938a2e92662a14097b7e1c27c13137c5f6 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Renaud=20M=C3=A9trich?= -Date: Wed, 29 Jan 2020 15:22:47 +0100 -Subject: [PATCH 149/149] Implement --secontext[=full] option to display - SELinux contexts - -This is very useful when debugging SELinux issues, in particular, when -a process runs in an unexpected context or didn't transition properly, -or typically when a file being opened does not have the proper context. - -When --secontext=full is specified, strace will print the complete -context (user, role, type and category) instead of just the type which -is printed for --secontext option, as shown in the examples below: - -Without any "--secontext" options: ------------------------------------------------------------------------ -118104 16:52:11.141122 select(9, [4 6], NULL, NULL, NULL) = 1 (in [4]) <1.845416> -119820 16:52:13.133319 openat(AT_FDCWD, "/home/rmetrich/.ssh/authorized_keys", O_RDONLY|O_NONBLOCK) = 11 <0.000399> ------------------------------------------------------------------------ - -With "--secontext=full" option: ------------------------------------------------------------------------ -118104 [system_u:system_r:sshd_t:s0-s0:c0.c1023] 16:52:11.141122 select(9, [4 6], NULL, NULL, NULL) = 1 (in [4]) <1.845416> -119820 [system_u:system_r:sshd_t:s0-s0:c0.c1023] 16:52:13.133319 openat(AT_FDCWD, "/home/rmetrich/.ssh/authorized_keys" [system_u:object_r:nfs_t:s0], O_RDONLY|O_NONBLOCK) = 11 [system_u:object_r:nfs_t:s0] <0.000399> ------------------------------------------------------------------------ - -With "--secontext" option: ------------------------------------------------------------------------ -118104 [sshd_t] 16:52:11.141122 select(9, [4 6], NULL, NULL, NULL) = 1 (in [4]) <1.845416> -119820 [sshd_t] 16:52:13.133319 openat(AT_FDCWD, "/home/rmetrich/.ssh/authorized_keys" [nfs_t], O_RDONLY|O_NONBLOCK) = 11 [nfs_t] <0.000399> ------------------------------------------------------------------------ - -To implement this, a new "--with-libselinux" configure option has been -introduced. It defaults to "check", which means automatic support on -SELinux aware systems. - -Co-authored-by: Dmitry V. Levin ---- - Makefile.am | 10 +++ - NEWS | 3 + - bootstrap | 11 ++- - configure.ac | 2 + - defs.h | 9 ++ - dirent.c | 3 + - m4/mpers.m4 | 26 ++++++ - m4/st_selinux.m4 | 80 ++++++++++++++++++ - open.c | 3 + - secontext.c | 139 +++++++++++++++++++++++++++++++ - secontext.h | 21 +++++ - strace.1.in | 9 ++ - strace.c | 53 +++++++++++- - strace.spec.in | 3 + - syscall.c | 5 ++ - tests/.gitignore | 5 ++ - tests/Makefile.am | 11 +++ - tests/access.c | 23 +++++- - tests/chmod.c | 35 +++++--- - tests/execve.c | 53 +++++++++--- - tests/execve.test | 2 +- - tests/execveat.c | 122 +++++++++++++++++++++++++-- - tests/faccessat.c | 137 ++++++++++++++++++++++++++++++- - tests/faccessat.test | 2 +- - tests/fanotify_mark.c | 121 +++++++++++++++++---------- - tests/fchmod.c | 23 ++++-- - tests/fchmodat.c | 67 +++++++++++++-- - tests/fchownat.c | 73 +++++++++++++++-- - tests/file_handle.c | 204 +++++++++++++++++++++++++++++++--------------- - tests/gen_secontext.sh | 72 ++++++++++++++++ - tests/gen_tests.in | 30 +++++++ - tests/linkat.c | 150 +++++++++++++++++++++++++++++++++- - tests/open.c | 18 ++-- - tests/openat.c | 91 +++++++++++++++++---- - tests/options-syntax.test | 13 ++- - tests/secontext.c | 201 +++++++++++++++++++++++++++++++++++++++++++++ - tests/secontext.h | 46 +++++++++++ - tests/strace-V.test | 4 +- - util.c | 16 ++++ - xgetdents.c | 3 + - 40 files changed, 1703 insertions(+), 196 deletions(-) - create mode 100644 m4/st_selinux.m4 - create mode 100644 secontext.c - create mode 100644 secontext.h - create mode 100755 tests/gen_secontext.sh - create mode 100644 tests/secontext.c - create mode 100644 tests/secontext.h - -Index: strace-5.7/Makefile.am -=================================================================== ---- strace-5.7.orig/Makefile.am 2021-08-24 21:08:35.376312714 +0200 -+++ strace-5.7/Makefile.am 2021-08-24 21:08:43.248246086 +0200 -@@ -404,11 +404,21 @@ - endif - endif - -+if ENABLE_SECONTEXT -+libstrace_a_SOURCES += \ -+ secontext.c \ -+ secontext.h -+strace_CPPFLAGS += $(libselinux_CPPFLAGS) -+strace_LDFLAGS += $(libselinux_LDFLAGS) -+strace_LDADD += $(libselinux_LIBS) -+endif -+ - @CODE_COVERAGE_RULES@ - CODE_COVERAGE_BRANCH_COVERAGE = 1 - CODE_COVERAGE_GENHTML_OPTIONS = $(CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT) \ - --prefix $(shell cd $(abs_top_srcdir)/.. && pwd || echo .) - CODE_COVERAGE_IGNORE_PATTERN = '/usr/include/*' '*/tests/*' '*/tests-m32/*' '*/tests-mx32/*' -+ - strace_CPPFLAGS += $(CODE_COVERAGE_CPPFLAGS) - strace_CFLAGS += $(CODE_COVERAGE_CFLAGS) - strace_LDADD += $(CODE_COVERAGE_LIBS) -Index: strace-5.7/NEWS -=================================================================== ---- strace-5.7.orig/NEWS 2021-08-24 21:08:35.376312714 +0200 -+++ strace-5.7/NEWS 2021-08-24 21:08:43.249246078 +0200 -@@ -2,6 +2,9 @@ - ============================================== - - * Improvements -+ * Implemented --secontext[=full] option to display SELinux contexts. -+ * Added --pidns-translation option for PID namespace translation (addresses -+ Fedora bug #1035433). - * Implemented interval specification in "when=" subexpression of syscall - tampering expressions. - * Added -e trace=%clock option for tracing syscalls reading of modifying -Index: strace-5.7/configure.ac -=================================================================== ---- strace-5.7.orig/configure.ac 2021-08-24 21:08:35.376312714 +0200 -+++ strace-5.7/configure.ac 2021-08-24 21:08:43.250246069 +0200 -@@ -764,6 +764,8 @@ - - st_STACKTRACE - -+st_SELINUX -+ - if test "$arch" = mips && test "$no_create" != yes; then - mkdir -p linux/mips - if $srcdir/linux/mips/genstub.sh \ -Index: strace-5.7/defs.h -=================================================================== ---- strace-5.7.orig/defs.h 2021-08-24 21:08:35.377312705 +0200 -+++ strace-5.7/defs.h 2021-08-24 21:08:43.251246061 +0200 -@@ -287,6 +287,10 @@ - */ - unsigned int pid_ns; - -+#ifdef ENABLE_SECONTEXT -+ int last_dirfd; /* Use AT_FDCWD for 'not set' */ -+#endif -+ - struct mmap_cache_t *mmap_cache; - - /* -@@ -1123,6 +1127,11 @@ - extern void print_x25_addr(const void /* struct x25_address */ *addr); - extern const char *get_sockaddr_by_inode(struct tcb *, int fd, unsigned long inode); - extern bool print_sockaddr_by_inode(struct tcb *, int fd, unsigned long inode); -+ -+/** -+ * Prints dirfd file descriptor and saves it in tcp->last_dirfd, -+ * the latter is used when printing SELinux contexts. -+ */ - extern void print_dirfd(struct tcb *, int); - - extern int -Index: strace-5.7/dirent.c -=================================================================== ---- strace-5.7.orig/dirent.c 2021-08-24 21:08:35.377312705 +0200 -+++ strace-5.7/dirent.c 2021-08-24 21:08:43.251246061 +0200 -@@ -100,6 +100,9 @@ - { - if (entering(tcp)) { - printfd(tcp, tcp->u_arg[0]); -+#ifdef ENABLE_SECONTEXT -+ tcp->last_dirfd = (int) tcp->u_arg[0]; -+#endif - tprints(", "); - } else { - if (tcp->u_rval == 0) -Index: strace-5.7/m4/mpers.m4 -=================================================================== ---- strace-5.7.orig/m4/mpers.m4 2021-08-24 21:08:35.377312705 +0200 -+++ strace-5.7/m4/mpers.m4 2021-08-24 21:08:43.252246052 +0200 -@@ -63,9 +63,11 @@ - pushdef([MPERS_NAME], translit([$1], [a-z], [A-Z])) - pushdef([HAVE_MPERS], [HAVE_]MPERS_NAME[_MPERS]) - pushdef([HAVE_RUNTIME], [HAVE_]MPERS_NAME[_RUNTIME]) -+pushdef([HAVE_SELINUX_RUNTIME], [HAVE_]MPERS_NAME[_SELINUX_RUNTIME]) - pushdef([MPERS_CFLAGS], [$cc_flags_$1]) - pushdef([st_cv_cc], [st_cv_$1_cc]) - pushdef([st_cv_runtime], [st_cv_$1_runtime]) -+pushdef([st_cv_selinux_runtime], [st_cv_$1_selinux_runtime]) - pushdef([st_cv_mpers], [st_cv_$1_mpers]) - - pushdef([EXEEXT], MPERS_NAME[_EXEEXT])dnl -@@ -126,6 +128,26 @@ - else - st_cv_mpers=no - fi]) -+ AS_IF([test "x$enable_secontext$st_cv_mpers$st_cv_runtime" = xyesyesyes], -+ [AC_CACHE_CHECK([whether selinux runtime works with mpers_name personality], -+ [st_cv_selinux_runtime], -+ [saved_CPPFLAGS="$CPPFLAGS" -+ saved_LDFLAGS="$LDFLAGS" -+ saved_LIBS="$LIBS" -+ CPPFLAGS="$CPPFLAGS $libselinux_CPPFLAGS" -+ LDFLAGS="$LDFLAGS $libselinux_LDFLAGS" -+ LIBS="$LIBS $libselinux_LIBS" -+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], -+ [[return 0]])], -+ [st_cv_selinux_runtime=yes], -+ [st_cv_selinux_runtime=no], -+ [st_cv_selinux_runtime=no]) -+ LIBS="$saved_LIBS" -+ LDFLAGS="$saved_LDFLAGS" -+ CPPFLAGS="$saved_CPPFLAGS" -+ ]) -+ ], -+ [st_cv_selinux_runtime=no]) - if test $st_cv_mpers = yes; then - AC_DEFINE(HAVE_MPERS, [1], - [Define to 1 if you have mpers_name mpers support]) -@@ -165,6 +187,7 @@ - *) # case "$enable_mpers" - st_cv_runtime=no - st_cv_mpers=no -+ st_cv_selinux_runtime=no - ;; - esac - -@@ -187,6 +210,7 @@ - esac - - AM_CONDITIONAL(HAVE_RUNTIME, [test "$st_cv_mpers$st_cv_runtime" = yesyes]) -+AM_CONDITIONAL(HAVE_SELINUX_RUNTIME, [test "$st_cv_mpers$st_cv_selinux_runtime" = yesyes]) - AM_CONDITIONAL(HAVE_MPERS, [test "$st_cv_mpers" = yes]) - - st_RESTORE_VAR([CC]) -@@ -201,9 +225,11 @@ - - popdef([st_cv_mpers]) - popdef([st_cv_runtime]) -+popdef([st_cv_selinux_runtime]) - popdef([st_cv_cc]) - popdef([MPERS_CFLAGS]) - popdef([HAVE_RUNTIME]) -+popdef([HAVE_SELINUX_RUNTIME]) - popdef([HAVE_MPERS]) - popdef([MPERS_NAME]) - popdef([mpers_name]) -Index: strace-5.7/m4/st_selinux.m4 -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/m4/st_selinux.m4 2021-08-24 21:08:43.252246052 +0200 -@@ -0,0 +1,80 @@ -+#!/usr/bin/m4 -+# -+# Copyright (c) 2020 The strace developers. -+# All rights reserved. -+# -+# SPDX-License-Identifier: LGPL-2.1-or-later -+ -+AC_DEFUN([st_SELINUX], [dnl -+ -+libselinux_CPPFLAGS= -+libselinux_LDFLAGS= -+libselinux_LIBS= -+enable_secontext=no -+ -+AC_ARG_WITH([libselinux], -+ [AS_HELP_STRING([--with-libselinux], -+ [use libselinux to collect security contexts])], -+ [case "${withval}" in -+ yes|no|check) ;; -+ *) with_libselinux=yes -+ libselinux_CPPFLAGS="-I${withval}/include" -+ libselinux_LDFLAGS="-L${withval}/lib" ;; -+ esac], -+ [with_libselinux=check] -+) -+ -+AS_IF([test "x$with_libselinux" != xno], -+ [saved_CPPFLAGS="$CPPFLAGS" -+ CPPFLAGS="$CPPFLAGS $libselinux_CPPFLAGS" -+ found_selinux_h=no -+ AC_CHECK_HEADERS([selinux/selinux.h], -+ [found_selinux_h=yes]) -+ CPPFLAGS="$saved_CPPFLAGS" -+ AS_IF([test "x$found_selinux_h" = xyes], -+ [saved_LDFLAGS="$LDFLAGS" -+ LDFLAGS="$LDFLAGS $libselinux_LDFLAGS" -+ AC_CHECK_LIB([selinux],[getpidcon], -+ [libselinux_LIBS="-lselinux" -+ enable_secontext=yes -+ ], -+ [if test "x$with_libselinux" != xcheck; then -+ AC_MSG_FAILURE([failed to find getpidcon in libselinux]) -+ fi -+ ] -+ ) -+ AC_CHECK_LIB([selinux],[getfilecon], -+ [libselinux_LIBS="-lselinux" -+ enable_secontext=yes -+ ], -+ [if test "x$with_libselinux" != xcheck; then -+ AC_MSG_FAILURE([failed to find getfilecon in libselinux]) -+ fi -+ ] -+ ) -+ LDFLAGS="$saved_LDFLAGS" -+ ], -+ [if test "x$with_libselinux" != xcheck; then -+ AC_MSG_FAILURE([failed to find selinux.h]) -+ fi -+ ] -+ ) -+ ] -+) -+ -+AC_MSG_CHECKING([whether to enable security contexts support]) -+AS_IF([test "x$enable_secontext" = xyes], -+ [AC_DEFINE([ENABLE_SECONTEXT], [1], -+ [Define to enable SELinux security contexts support]) -+ AC_DEFINE([HAVE_SELINUX_RUNTIME], [1], -+ [Define to enable SELinux security contexts testing]) -+ AC_SUBST(libselinux_LIBS) -+ AC_SUBST(libselinux_LDFLAGS) -+ AC_SUBST(libselinux_CPPFLAGS) -+ AC_MSG_RESULT([yes])], -+ [AC_MSG_RESULT([no])]) -+ -+AM_CONDITIONAL([ENABLE_SECONTEXT], [test "x$enable_secontext" = xyes]) -+AM_CONDITIONAL([HAVE_SELINUX_RUNTIME], [test "x$enable_secontext" = xyes]) -+ -+]) -Index: strace-5.7/open.c -=================================================================== ---- strace-5.7.orig/open.c 2021-08-24 21:08:35.378312697 +0200 -+++ strace-5.7/open.c 2021-08-24 21:08:43.253246044 +0200 -@@ -50,6 +50,9 @@ - print_xlat_d(AT_FDCWD); - else - printfd(tcp, fd); -+#ifdef ENABLE_SECONTEXT -+ tcp->last_dirfd = fd; -+#endif - } - - /* -Index: strace-5.7/secontext.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/secontext.c 2021-08-24 21:08:43.253246044 +0200 -@@ -0,0 +1,139 @@ -+/* -+ * Copyright (c) 2020-2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: LGPL-2.1-or-later -+ */ -+ -+#include "defs.h" -+ -+#include -+#include -+#include -+#include -+ -+#include "secontext.h" -+#include "xstring.h" -+ -+bool selinux_context = false; -+bool selinux_context_full = false; -+ -+static int -+getcontext(int rc, char **secontext, char **result) -+{ -+ if (rc < 0) -+ return rc; -+ -+ *result = NULL; -+ if (!selinux_context_full) { -+ char *saveptr = NULL; -+ char *secontext_copy = xstrdup(*secontext); -+ const char *token; -+ unsigned int i; -+ -+ /* -+ * We only want to keep the type (3rd field, ':' separator). -+ */ -+ for (token = strtok_r(secontext_copy, ":", &saveptr), i = 0; -+ token; token = strtok_r(NULL, ":", &saveptr), i++) { -+ if (i == 2) { -+ *result = xstrdup(token); -+ break; -+ } -+ } -+ free(secontext_copy); -+ } -+ -+ if (*result == NULL) { -+ /* -+ * On the CI at least, the context may have a trailing \n, -+ * let's remove it just in case. -+ */ -+ size_t len = strlen(*secontext); -+ for (; len > 0; --len) { -+ if ((*secontext)[len - 1] != '\n') -+ break; -+ } -+ *result = xstrndup(*secontext, len); -+ } -+ freecon(*secontext); -+ return 0; -+} -+/* -+ * Retrieves the SELinux context of the given PID (extracted from the tcb). -+ * Memory must be freed. -+ * Returns 0 on success, -1 on failure. -+ */ -+int -+selinux_getpidcon(struct tcb *tcp, char **result) -+{ -+ if (!selinux_context) -+ return -1; -+ -+ int proc_pid = 0; -+ translate_pid(NULL, tcp->pid, PT_TID, &proc_pid); -+ if (!proc_pid) -+ return -1; -+ -+ char *secontext; -+ return getcontext(getpidcon(proc_pid, &secontext), &secontext, result); -+} -+ -+/* -+ * Retrieves the SELinux context of the given pid and descriptor. -+ * Memory must be freed. -+ * Returns 0 on success, -1 on failure. -+ */ -+int -+selinux_getfdcon(pid_t pid, int fd, char **result) -+{ -+ if (!selinux_context || pid <= 0 || fd < 0) -+ return -1; -+ -+ int proc_pid = 0; -+ translate_pid(NULL, pid, PT_TID, &proc_pid); -+ if (!proc_pid) -+ return -1; -+ -+ char linkpath[sizeof("/proc/%u/fd/%u") + 2 * sizeof(int)*3]; -+ xsprintf(linkpath, "/proc/%u/fd/%u", proc_pid, fd); -+ -+ char *secontext; -+ return getcontext(getfilecon(linkpath, &secontext), &secontext, result); -+} -+ -+/* -+ * Retrieves the SELinux context of the given path. -+ * Memory must be freed. -+ * Returns 0 on success, -1 on failure. -+ */ -+int -+selinux_getfilecon(struct tcb *tcp, const char *path, char **result) -+{ -+ if (!selinux_context) -+ return -1; -+ -+ int proc_pid = 0; -+ translate_pid(NULL, tcp->pid, PT_TID, &proc_pid); -+ if (!proc_pid) -+ return -1; -+ -+ int ret = -1; -+ char fname[PATH_MAX]; -+ -+ if (path[0] == '/') -+ ret = snprintf(fname, sizeof(fname), "/proc/%u/root%s", -+ proc_pid, path); -+ else if (tcp->last_dirfd == AT_FDCWD) -+ ret = snprintf(fname, sizeof(fname), "/proc/%u/cwd/%s", -+ proc_pid, path); -+ else if (tcp->last_dirfd >= 0 ) -+ ret = snprintf(fname, sizeof(fname), "/proc/%u/fd/%u/%s", -+ proc_pid, tcp->last_dirfd, path); -+ -+ if ((unsigned int) ret >= sizeof(fname)) -+ return -1; -+ -+ char *secontext; -+ return getcontext(getfilecon(fname, &secontext), &secontext, result); -+} -Index: strace-5.7/secontext.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/secontext.h 2021-08-24 21:08:43.253246044 +0200 -@@ -0,0 +1,21 @@ -+/* -+ * SELinux interface. -+ * -+ * Copyright (c) 2020-2021 The strace developers. -+ * -+ * SPDX-License-Identifier: LGPL-2.1-or-later -+ */ -+ -+#ifndef STRACE_SECONTEXT_H -+#define STRACE_SECONTEXT_H -+ -+#include "defs.h" -+ -+extern bool selinux_context; -+extern bool selinux_context_full; -+ -+int selinux_getfdcon(pid_t pid, int fd, char **context); -+int selinux_getfilecon(struct tcb *tcp, const char *path, char **context); -+int selinux_getpidcon(struct tcb *tcp, char **context); -+ -+#endif /* !STRACE_SECONTEXT_H */ -Index: strace-5.7/strace.1.in -=================================================================== ---- strace-5.7.orig/strace.1.in 2021-08-24 21:08:35.379312688 +0200 -+++ strace-5.7/strace.1.in 2021-08-24 21:08:43.254246035 +0200 -@@ -53,6 +53,7 @@ - .OM \-P path - .OM \-p pid - .OP \-\-seccomp\-bpf -+.if '@ENABLE_SECONTEXT_FALSE@'#' .OP \-\-secontext\fR[=full] - .BR "" { - .OR \-p pid - .BR "" | -@@ -1079,6 +1080,14 @@ - .B \-\-pidns\-translation - If strace and tracee are in different PID namespaces, print PIDs in - strace's namespace, too. -+.if '@ENABLE_SECONTEXT_FALSE@'#' .TP -+.if '@ENABLE_SECONTEXT_FALSE@'#' .BR \-\-secontext "[=full]" -+.if '@ENABLE_SECONTEXT_FALSE@'#' When SELinux is available and is not disabled, -+.if '@ENABLE_SECONTEXT_FALSE@'#' print in square brackets SELinux contexts of -+.if '@ENABLE_SECONTEXT_FALSE@'#' processes, files, and descriptors. When -+.if '@ENABLE_SECONTEXT_FALSE@'#' .B full -+.if '@ENABLE_SECONTEXT_FALSE@'#' is specified, print the complete context (user, -+.if '@ENABLE_SECONTEXT_FALSE@'#' role, type and category) instead of just the type. - .SS Statistics - .TP 12 - .B \-c -Index: strace-5.7/strace.c -=================================================================== ---- strace-5.7.orig/strace.c 2021-08-24 21:08:35.380312680 +0200 -+++ strace-5.7/strace.c 2021-08-24 21:08:43.255246027 +0200 -@@ -40,6 +40,7 @@ - #include "xstring.h" - #include "delay.h" - #include "wait.h" -+#include "secontext.h" - - /* In some libc, these aren't declared. Do it ourself: */ - extern char **environ; -@@ -239,6 +240,9 @@ - " no-mx32-mpers" - # endif - #endif /* SUPPORTED_PERSONALITIES > 2 */ -+#ifdef ENABLE_SECONTEXT -+ " secontext" -+#endif - ""; - - printf("%s -- version %s\n" -@@ -258,11 +262,17 @@ - #else - # define K_OPT "" - #endif -+#ifdef ENABLE_SECONTEXT -+# define SECONTEXT_OPT "[--secontext[=full]]\n" -+#else -+# define SECONTEXT_OPT "" -+#endif - - printf("\ - Usage: strace [-ACdffhi" K_OPT "qqrtttTvVwxxyyzZ] [-I N] [-b execve] [-e EXPR]...\n\ - [-a COLUMN] [-o FILE] [-s STRSIZE] [-X FORMAT] [-O OVERHEAD]\n\ -- [-S SORTBY] [-P PATH]... [-p PID]... [-U COLUMNS] [--seccomp-bpf]\n\ -+ [-S SORTBY] [-P PATH]... [-p PID]... [-U COLUMNS] [--seccomp-bpf]\n"\ -+ SECONTEXT_OPT "\ - { -p PID | [-DDD] [-E VAR=VAL]... [-u USERNAME] PROG [ARGS] }\n\ - or: strace -c[dfwzZ] [-I N] [-b execve] [-e EXPR]... [-O OVERHEAD]\n\ - [-S SORTBY] [-P PATH]... [-p PID]... [-U COLUMNS] [--seccomp-bpf]\n\ -@@ -401,6 +411,14 @@ - -yy, --decode-fds=all\n\ - print all available information associated with file\n\ - descriptors in addition to paths\n\ -+" -+#ifdef ENABLE_SECONTEXT -+"\ -+ --secontext[=full]\n\ -+ print SELinux contexts (type only unless 'full' is specified)\n\ -+" -+#endif -+"\ - \n\ - Statistics:\n\ - -c, --summary-only\n\ -@@ -774,6 +792,14 @@ - else if (nprocs > 1 && !outfname) - tprintf("[pid %5u] ", tcp->pid); - -+#ifdef ENABLE_SECONTEXT -+ char *context; -+ if (!selinux_getpidcon(tcp, &context)) { -+ tprintf("[%s] ", context); -+ free(context); -+ } -+#endif -+ - if (tflag_format) { - struct timespec ts; - clock_gettime(CLOCK_REALTIME, &ts); -@@ -885,6 +911,9 @@ - #if SUPPORTED_PERSONALITIES > 1 - tcp->currpers = current_personality; - #endif -+#ifdef ENABLE_SECONTEXT -+ tcp->last_dirfd = AT_FDCWD; -+#endif - nprocs++; - debug_msg("new tcb for pid %d, active tcbs:%d", - tcp->pid, nprocs); -@@ -2027,6 +2056,9 @@ - GETOPT_OUTPUT_SEPARATELY, - GETOPT_TS, - GETOPT_PIDNS_TRANSLATION, -+#ifdef ENABLE_SECONTEXT -+ GETOPT_SECONTEXT, -+#endif - - GETOPT_QUAL_TRACE, - GETOPT_QUAL_ABBREV, -@@ -2082,6 +2114,9 @@ - { "failed-only", no_argument, 0, 'Z' }, - { "failing-only", no_argument, 0, 'Z' }, - { "seccomp-bpf", no_argument, 0, GETOPT_SECCOMP }, -+#ifdef ENABLE_SECONTEXT -+ { "secontext", optional_argument, 0, GETOPT_SECONTEXT }, -+#endif - - { "trace", required_argument, 0, GETOPT_QUAL_TRACE }, - { "abbrev", required_argument, 0, GETOPT_QUAL_ABBREV }, -@@ -2307,6 +2342,17 @@ - case GETOPT_SECCOMP: - seccomp_filtering = true; - break; -+#ifdef ENABLE_SECONTEXT -+ case GETOPT_SECONTEXT: -+ selinux_context = true; -+ if (optarg) { -+ if (!strcmp(optarg, "full")) -+ selinux_context_full = true; -+ else -+ error_opt_arg(c, lopt, optarg); -+ } -+ break; -+#endif - case GETOPT_QUAL_TRACE: - qualify_trace(optarg); - break; -@@ -2486,6 +2532,11 @@ - if (!number_set_array_is_empty(decode_fd_set, 0)) - error_msg("-y/--decode-fds has no effect " - "with -c/--summary-only"); -+#ifdef ENABLE_SECONTEXT -+ if (selinux_context) -+ error_msg("--secontext has no effect with " -+ "-c/--summary-only"); -+#endif - } - - if (!outfname) { -Index: strace-5.7/strace.spec.in -=================================================================== ---- strace-5.7.orig/strace.spec.in 2021-08-24 21:08:35.380312680 +0200 -+++ strace-5.7/strace.spec.in 2021-08-24 21:08:43.255246027 +0200 -@@ -29,11 +29,14 @@ - # Install binutils-devel to enable symbol demangling. - %if 0%{?fedora} >= 20 || 0%{?centos} >= 6 || 0%{?rhel} >= 6 - %define buildrequires_stacktrace BuildRequires: elfutils-devel binutils-devel -+%define buildrequires_selinux BuildRequires: libselinux-devel - %endif - %if 0%{?suse_version} >= 1100 - %define buildrequires_stacktrace BuildRequires: libdw-devel binutils-devel -+%define buildrequires_selinux BuildRequires: libselinux-devel - %endif - %{?buildrequires_stacktrace} -+%{?buildrequires_selinux} - - # OBS compatibility - %{?!buildroot:BuildRoot: %_tmppath/buildroot-%name-%version-%release} -Index: strace-5.7/syscall.c -=================================================================== ---- strace-5.7.orig/syscall.c 2021-08-24 21:08:35.381312671 +0200 -+++ strace-5.7/syscall.c 2021-08-24 21:08:43.256246018 +0200 -@@ -23,6 +23,7 @@ - #include "delay.h" - #include "retval.h" - #include -+#include - - /* for struct iovec */ - #include -@@ -982,6 +983,10 @@ - tcp->sys_func_rval = 0; - free_tcb_priv_data(tcp); - -+#ifdef ENABLE_SECONTEXT -+ tcp->last_dirfd = AT_FDCWD; -+#endif -+ - if (cflag) - tcp->ltime = tcp->stime; - } -Index: strace-5.7/tests/Makefile.am -=================================================================== ---- strace-5.7.orig/tests/Makefile.am 2021-08-24 21:08:35.381312671 +0200 -+++ strace-5.7/tests/Makefile.am 2021-08-24 21:08:43.257246010 +0200 -@@ -28,6 +28,12 @@ - -DTESTS_SIZEOF_LONG=$(SIZEOF_LONG) - AM_LDFLAGS = $(ARCH_MFLAGS) - -+if HAVE_SELINUX_RUNTIME -+libselinux_LDADD = $(libselinux_LIBS) -+else -+libselinux_LDADD = -+endif -+ - libtests_a_SOURCES = \ - create_nl_socket.c \ - create_tmpfile.c \ -@@ -54,6 +60,8 @@ - printxval-Xabbrev.c \ - printxval-Xraw.c \ - printxval-Xverbose.c \ -+ secontext.c \ -+ secontext.h \ - signal2name.c \ - skip_unavailable.c \ - sprintrc.c \ -@@ -76,7 +84,10 @@ - - include pure_executables.am - -+include secontext.am -+ - check_PROGRAMS = $(PURE_EXECUTABLES) \ -+ $(secontext_EXECUTABLES) \ - _newselect-P \ - answer \ - attach-f-p \ -Index: strace-5.7/tests/access.c -=================================================================== ---- strace-5.7.orig/tests/access.c 2021-08-24 21:08:35.381312671 +0200 -+++ strace-5.7/tests/access.c 2021-08-24 21:08:43.257246010 +0200 -@@ -10,9 +10,12 @@ - - #ifdef __NR_access - -+# include - # include - # include - -+# include "secontext.h" -+ - int - main(void) - { -@@ -22,15 +25,27 @@ - */ - create_and_enter_subdir("access_subdir"); - -+ char *my_secontext = SECONTEXT_PID_MY(); -+ - static const char sample[] = "access_sample"; -+ (void) unlink(sample); -+ if (open(sample, O_CREAT|O_RDONLY, 0400) == -1) -+ perror_msg_and_fail("open: %s", sample); - - long rc = syscall(__NR_access, sample, F_OK); -- printf("access(\"%s\", F_OK) = %ld %s (%m)\n", -- sample, rc, errno2name()); -+ printf("%s%s(\"%s\"%s, F_OK) = %s\n", -+ my_secontext, "access", -+ sample, SECONTEXT_FILE(sample), -+ sprintrc(rc)); -+ -+ if (unlink(sample)) -+ perror_msg_and_fail("unlink: %s", sample); - - rc = syscall(__NR_access, sample, R_OK|W_OK|X_OK); -- printf("access(\"%s\", R_OK|W_OK|X_OK) = %ld %s (%m)\n", -- sample, rc, errno2name()); -+ printf("%s%s(\"%s\", R_OK|W_OK|X_OK) = %s\n", -+ my_secontext, "access", -+ sample, -+ sprintrc(rc)); - - leave_and_remove_subdir(); - -Index: strace-5.7/tests/chmod.c -=================================================================== ---- strace-5.7.orig/tests/chmod.c 2021-08-24 21:08:35.382312663 +0200 -+++ strace-5.7/tests/chmod.c 2021-08-24 21:08:43.257246010 +0200 -@@ -16,6 +16,8 @@ - # include - # include - -+# include "secontext.h" -+ - int - main(void) - { -@@ -25,22 +27,33 @@ - */ - create_and_enter_subdir("chmod_subdir"); - -- static const char fname[] = "chmod_test_file"; -- -- if (open(fname, O_CREAT|O_RDONLY, 0400) < 0) -- perror_msg_and_fail("open"); -- -- long rc = syscall(__NR_chmod, fname, 0600); -- printf("chmod(\"%s\", 0600) = %s\n", fname, sprintrc(rc)); -- -- if (unlink(fname)) -- perror_msg_and_fail("unlink"); -- -- rc = syscall(__NR_chmod, fname, 051); -- printf("chmod(\"%s\", 051) = %s\n", fname, sprintrc(rc)); -+ char *my_secontext = SECONTEXT_PID_MY(); - -- rc = syscall(__NR_chmod, fname, 004); -- printf("chmod(\"%s\", 004) = %s\n", fname, sprintrc(rc)); -+ static const char sample[] = "chmod_test_file"; -+ (void) unlink(sample); -+ if (open(sample, O_CREAT|O_RDONLY, 0400) < 0) -+ perror_msg_and_fail("open: %s", sample); -+ -+ long rc = syscall(__NR_chmod, sample, 0600); -+ printf("%s%s(\"%s\"%s, 0600) = %s\n", -+ my_secontext, "chmod", -+ sample, SECONTEXT_FILE(sample), -+ sprintrc(rc)); -+ -+ if (unlink(sample)) -+ perror_msg_and_fail("unlink: %s", sample); -+ -+ rc = syscall(__NR_chmod, sample, 051); -+ printf("%s%s(\"%s\", 051) = %s\n", -+ my_secontext, "chmod", -+ sample, -+ sprintrc(rc)); -+ -+ rc = syscall(__NR_chmod, sample, 004); -+ printf("%s%s(\"%s\", 004) = %s\n", -+ my_secontext, "chmod", -+ sample, -+ sprintrc(rc)); - - leave_and_remove_subdir(); - -Index: strace-5.7/tests/execve.c -=================================================================== ---- strace-5.7.orig/tests/execve.c 2021-08-24 21:08:35.382312663 +0200 -+++ strace-5.7/tests/execve.c 2021-08-24 21:08:43.258246001 +0200 -@@ -9,9 +9,12 @@ - */ - - #include "tests.h" -+#include - #include - #include - -+#include "secontext.h" -+ - static const char *errstr; - - static int -@@ -52,9 +55,16 @@ - - char ** const tail_argv = tail_memdup(argv, sizeof(argv)); - char ** const tail_envp = tail_memdup(envp, sizeof(envp)); -+ char *my_secontext = SECONTEXT_PID_MY(); -+ -+ (void) unlink(FILENAME); -+ if (open(FILENAME, O_RDONLY | O_CREAT, 0400) < 0) -+ perror_msg_and_fail("open"); -+ -+ char *FILENAME_secontext = SECONTEXT_FILE(FILENAME); - - call_execve(FILENAME, tail_argv, tail_envp); -- printf("execve(\"%s\"" -+ printf("%s%s(\"%s\"%s" - ", [\"%s\", \"%s\", \"%s\", %p, %p, %p, ... /* %p */]" - #if VERBOSE - ", [\"%s\", \"%s\", %p, %p, %p, ... /* %p */]" -@@ -62,7 +72,9 @@ - ", %p /* 5 vars, unterminated */" - #endif - ") = %s\n", -- Q_FILENAME, q_argv[0], q_argv[1], q_argv[2], -+ my_secontext, "execve", -+ Q_FILENAME, FILENAME_secontext, -+ q_argv[0], q_argv[1], q_argv[2], - argv[3], argv[4], argv[5], (char *) tail_argv + sizeof(argv) - #if VERBOSE - , q_envp[0], q_envp[1], envp[2], envp[3], envp[4], -@@ -77,14 +89,16 @@ - (void) q_envp; /* workaround for clang bug #33068 */ - - call_execve(FILENAME, tail_argv, tail_envp); -- printf("execve(\"%s\", [\"%s\", \"%s\", \"%s\"]" -+ printf("%s%s(\"%s\"%s, [\"%s\", \"%s\", \"%s\"]" - #if VERBOSE - ", [\"%s\", \"%s\"]" - #else - ", %p /* 2 vars */" - #endif - ") = %s\n", -- Q_FILENAME, q_argv[0], q_argv[1], q_argv[2] -+ my_secontext, "execve", -+ Q_FILENAME, FILENAME_secontext, -+ q_argv[0], q_argv[1], q_argv[2] - #if VERBOSE - , q_envp[0], q_envp[1] - #else -@@ -93,14 +107,16 @@ - , errstr); - - call_execve(FILENAME, tail_argv + 2, tail_envp + 1); -- printf("execve(\"%s\", [\"%s\"]" -+ printf("%s%s(\"%s\"%s, [\"%s\"]" - #if VERBOSE - ", [\"%s\"]" - #else - ", %p /* 1 var */" - #endif - ") = %s\n", -- Q_FILENAME, q_argv[2] -+ my_secontext, "execve", -+ Q_FILENAME, FILENAME_secontext, -+ q_argv[2] - #if VERBOSE - , q_envp[1] - #else -@@ -113,13 +129,15 @@ - *empty = NULL; - - call_execve(FILENAME, empty, empty); -- printf("execve(\"%s\", []" -+ printf("%s%s(\"%s\"%s, []" - #if VERBOSE - ", []" - #else - ", %p /* 0 vars */" - #endif -- ") = %s\n", Q_FILENAME -+ ") = %s\n", -+ my_secontext, "execve", -+ Q_FILENAME, FILENAME_secontext - #if !VERBOSE - , empty - #endif -@@ -143,7 +161,10 @@ - a[i] = b[i] = NULL; - - call_execve(FILENAME, a, b); -- printf("execve(\"%s\", [\"%.*s\"...", Q_FILENAME, DEFAULT_STRLEN, a[0]); -+ printf("%s%s(\"%s\"%s, [\"%.*s\"...", -+ my_secontext, "execve", -+ Q_FILENAME, FILENAME_secontext, -+ DEFAULT_STRLEN, a[0]); - for (i = 1; i < DEFAULT_STRLEN; ++i) - printf(", \"%s\"", a[i]); - #if VERBOSE -@@ -162,7 +183,10 @@ - printf(") = %s\n", errstr); - - call_execve(FILENAME, a + 1, b + 1); -- printf("execve(\"%s\", [\"%s\"", Q_FILENAME, a[1]); -+ printf("%s%s(\"%s\"%s, [\"%s\"", -+ my_secontext, "execve", -+ Q_FILENAME, FILENAME_secontext, -+ a[1]); - for (i = 2; i <= DEFAULT_STRLEN; ++i) - printf(", \"%s\"", a[i]); - #if VERBOSE -@@ -175,12 +199,17 @@ - #endif - printf(") = %s\n", errstr); - -+ if (unlink(FILENAME)) -+ perror_msg_and_fail("unlink"); -+ - call_execve(FILENAME, (char **) tail_argv[ARRAY_SIZE(q_argv)], efault); -- printf("execve(\"%s\", NULL, %p) = %s\n", -+ printf("%s%s(\"%s\", NULL, %p) = %s\n", -+ my_secontext, "execve", - Q_FILENAME, efault, errstr); - - call_execve(FILENAME, efault, NULL); -- printf("execve(\"%s\", %p, NULL) = %s\n", -+ printf("%s%s(\"%s\", %p, NULL) = %s\n", -+ my_secontext, "execve", - Q_FILENAME, efault, errstr); - - leave_and_remove_subdir(); -Index: strace-5.7/tests/execve.test -=================================================================== ---- strace-5.7.orig/tests/execve.test 2021-08-24 21:08:35.382312663 +0200 -+++ strace-5.7/tests/execve.test 2021-08-24 21:08:43.258246001 +0200 -@@ -11,7 +11,7 @@ - - check_prog grep - run_prog > /dev/null --run_strace -eexecve $args > "$EXP" -+run_strace -eexecve "$@" $args > "$EXP" - - # Filter out execve() call made by strace. - grep -F test.execve < "$LOG" > "$OUT" -Index: strace-5.7/tests/execveat.c -=================================================================== ---- strace-5.7.orig/tests/execveat.c 2021-08-24 21:08:35.383312654 +0200 -+++ strace-5.7/tests/execveat.c 2021-08-24 21:08:43.259245993 +0200 -@@ -13,9 +13,102 @@ - - #ifdef __NR_execveat - -+# include - # include - # include - -+# include "secontext.h" -+ -+static void -+tests_with_existing_file(void) -+{ -+ /* -+ * Make sure the current workdir of the tracee -+ * is different from the current workdir of the tracer. -+ */ -+ create_and_enter_subdir("execveat_subdir"); -+ -+ char *my_secontext = SECONTEXT_PID_MY(); -+ -+ static const char sample[] = "execveat_sample"; -+ (void) unlink(sample); -+ if (open(sample, O_RDONLY | O_CREAT, 0400) < 0) -+ perror_msg_and_fail("open"); -+ -+ char *sample_secontext = SECONTEXT_FILE(sample); -+ static const char *argv[] = { sample, NULL }; -+ -+ /* -+ * Tests with AT_FDCWD. -+ */ -+ -+ long rc = syscall(__NR_execveat, -100, sample, argv, NULL, 0); -+ printf("%s%s(AT_FDCWD, \"%s\"%s, [\"%s\"], NULL, 0) = %s\n", -+ my_secontext, "execveat", -+ sample, sample_secontext, -+ argv[0], -+ sprintrc(rc)); -+ -+ if (unlink(sample)) -+ perror_msg_and_fail("unlink"); -+ -+ rc = syscall(__NR_execveat, -100, sample, argv, NULL, 0); -+ printf("%s%s(AT_FDCWD, \"%s\", [\"%s\"], NULL, 0) = %s\n", -+ my_secontext, "execveat", -+ sample, -+ argv[0], -+ sprintrc(rc)); -+ -+ /* -+ * Tests with dirfd. -+ */ -+ -+ int cwd_fd = get_dir_fd("."); -+ char *cwd = get_fd_path(cwd_fd); -+ char *cwd_secontext = SECONTEXT_FILE("."); -+ char *sample_realpath = xasprintf("%s/%s", cwd, sample); -+ -+ /* no file */ -+ rc = syscall(__NR_execveat, cwd_fd, sample, argv, NULL, 0); -+ printf("%s%s(%d%s, \"%s\", [\"%s\"], NULL, 0) = %s\n", -+ my_secontext, "execveat", -+ cwd_fd, cwd_secontext, -+ sample, -+ argv[0], -+ sprintrc(rc)); -+ -+ if (open(sample, O_RDONLY | O_CREAT, 0400) < 0) -+ perror_msg_and_fail("open"); -+ -+ rc = syscall(__NR_execveat, cwd_fd, sample, argv, NULL, 0); -+ printf("%s%s(%d%s, \"%s\"%s, [\"%s\"], NULL, 0) = %s\n", -+ my_secontext, "execveat", -+ cwd_fd, cwd_secontext, -+ sample, sample_secontext, -+ argv[0], -+ sprintrc(rc)); -+ -+ /* cwd_fd ignored when path is absolute */ -+ if (chdir("../..")) -+ perror_msg_and_fail("chdir"); -+ -+ rc = syscall(__NR_execveat, cwd_fd, sample_realpath, argv, NULL, 0); -+ printf("%s%s(%d%s, \"%s\"%s, [\"%s\"], NULL, 0) = %s\n", -+ my_secontext, "execveat", -+ cwd_fd, cwd_secontext, -+ sample_realpath, sample_secontext, -+ argv[0], -+ sprintrc(rc)); -+ -+ if (fchdir(cwd_fd)) -+ perror_msg_and_fail("fchdir"); -+ -+ if (unlink(sample)) -+ perror_msg_and_fail("unlink"); -+ -+ leave_and_remove_subdir(); -+} -+ - # define FILENAME "test.execveat\nfilename" - # define Q_FILENAME "test.execveat\\nfilename" - -@@ -40,9 +133,10 @@ - { - const char ** const tail_argv = tail_memdup(argv, sizeof(argv)); - const char ** const tail_envp = tail_memdup(envp, sizeof(envp)); -+ char *my_secontext = SECONTEXT_PID_MY(); - - syscall(__NR_execveat, -100, FILENAME, tail_argv, tail_envp, 0x1100); -- printf("execveat(AT_FDCWD, \"%s\"" -+ printf("%s%s(AT_FDCWD, \"%s\"" - ", [\"%s\", \"%s\", \"%s\", %p, %p, %p, ... /* %p */]" - # if VERBOSE - ", [\"%s\", \"%s\", %p, %p, %p, ... /* %p */]" -@@ -50,6 +144,7 @@ - ", %p /* 5 vars, unterminated */" - # endif - ", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n", -+ my_secontext, "execveat", - Q_FILENAME, q_argv[0], q_argv[1], q_argv[2], - argv[3], argv[4], argv[5], (char *) tail_argv + sizeof(argv), - # if VERBOSE -@@ -65,13 +160,14 @@ - (void) q_envp; /* workaround for clang bug #33068 */ - - syscall(__NR_execveat, -100, FILENAME, tail_argv, tail_envp, 0x1100); -- printf("execveat(AT_FDCWD, \"%s\", [\"%s\", \"%s\", \"%s\"]" -+ printf("%s%s(AT_FDCWD, \"%s\", [\"%s\", \"%s\", \"%s\"]" - # if VERBOSE - ", [\"%s\", \"%s\"]" - # else - ", %p /* 2 vars */" - # endif - ", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n", -+ my_secontext, "execveat", - Q_FILENAME, q_argv[0], q_argv[1], q_argv[2], - # if VERBOSE - q_envp[0], q_envp[1], -@@ -81,13 +177,14 @@ - errno2name()); - - syscall(__NR_execveat, -100, FILENAME, tail_argv + 2, tail_envp + 1, 0x1100); -- printf("execveat(AT_FDCWD, \"%s\", [\"%s\"]" -+ printf("%s%s(AT_FDCWD, \"%s\", [\"%s\"]" - # if VERBOSE - ", [\"%s\"]" - # else - ", %p /* 1 var */" - # endif - ", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n", -+ my_secontext, "execveat", - Q_FILENAME, q_argv[2], - # if VERBOSE - q_envp[1], -@@ -101,13 +198,14 @@ - *empty = NULL; - - syscall(__NR_execveat, -100, FILENAME, empty, empty, 0x1100); -- printf("execveat(AT_FDCWD, \"%s\", []" -+ printf("%s%s(AT_FDCWD, \"%s\", []" - # if VERBOSE - ", []" - # else - ", %p /* 0 vars */" - # endif - ", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n", -+ my_secontext, "execveat", - Q_FILENAME, - # if !VERBOSE - empty, -@@ -132,7 +230,9 @@ - a[i] = b[i] = NULL; - - syscall(__NR_execveat, -100, FILENAME, a, b, 0x1100); -- printf("execveat(AT_FDCWD, \"%s\", [\"%.*s\"...", Q_FILENAME, DEFAULT_STRLEN, a[0]); -+ printf("%s%s(AT_FDCWD, \"%s\", [\"%.*s\"...", -+ my_secontext, "execveat", -+ Q_FILENAME, DEFAULT_STRLEN, a[0]); - for (i = 1; i < DEFAULT_STRLEN; ++i) - printf(", \"%s\"", a[i]); - # if VERBOSE -@@ -152,7 +252,9 @@ - errno2name()); - - syscall(__NR_execveat, -100, FILENAME, a + 1, b + 1, 0x1100); -- printf("execveat(AT_FDCWD, \"%s\", [\"%s\"", Q_FILENAME, a[1]); -+ printf("%s%s(AT_FDCWD, \"%s\", [\"%s\"", -+ my_secontext, "execveat", -+ Q_FILENAME, a[1]); - for (i = 2; i <= DEFAULT_STRLEN; ++i) - printf(", \"%s\"", a[i]); - # if VERBOSE -@@ -167,15 +269,19 @@ - errno2name()); - - syscall(__NR_execveat, -100, FILENAME, NULL, efault, 0x1100); -- printf("execveat(AT_FDCWD, \"%s\", NULL, %p" -+ printf("%s%s(AT_FDCWD, \"%s\", NULL, %p" - ", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n", -+ my_secontext, "execveat", - Q_FILENAME, efault, errno2name()); - - syscall(__NR_execveat, -100, FILENAME, efault, NULL, 0x1100); -- printf("execveat(AT_FDCWD, \"%s\", %p, NULL" -+ printf("%s%s(AT_FDCWD, \"%s\", %p, NULL" - ", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n", -+ my_secontext, "execveat", - Q_FILENAME, efault, errno2name()); - -+ tests_with_existing_file(); -+ - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests/faccessat.c -=================================================================== ---- strace-5.7.orig/tests/faccessat.c 2021-08-24 21:08:35.383312654 +0200 -+++ strace-5.7/tests/faccessat.c 2021-08-24 21:08:43.260245984 +0200 -@@ -12,12 +12,16 @@ - - #ifdef __NR_faccessat - --# include "xmalloc.h" - # include - # include - # include - --# ifndef FD_PATH -+# include "secontext.h" -+# include "xmalloc.h" -+ -+# ifdef FD_PATH -+# define YFLAG -+# else - # define FD_PATH "" - # endif - # ifndef SKIP_IF_PROC_IS_UNAVAILABLE -@@ -43,11 +47,130 @@ - return rc; - } - -+# ifndef PATH_TRACING -+static void -+tests_with_existing_file(void) -+{ -+ /* -+ * Make sure the current workdir of the tracee -+ * is different from the current workdir of the tracer. -+ */ -+ create_and_enter_subdir("faccessat_subdir"); -+ -+ char *my_secontext = SECONTEXT_PID_MY(); -+ -+ k_faccessat(-1, NULL, F_OK); -+ printf("%s%s(-1, NULL, F_OK) = %s\n", -+ my_secontext, "faccessat", errstr); -+ -+ static const char sample[] = "faccessat_sample"; -+ (void) unlink(sample); -+ int fd = open(sample, O_CREAT|O_RDONLY, 0400); -+ if (fd == -1) -+ perror_msg_and_fail("open"); -+ close(fd); -+ char *sample_secontext = SECONTEXT_FILE(sample); -+ -+ /* -+ * Tests with AT_FDCWD. -+ */ -+ -+ k_faccessat(-100, sample, F_OK); -+ printf("%s%s(AT_FDCWD, \"%s\"%s, F_OK) = %s\n", -+ my_secontext, "faccessat", -+ sample, sample_secontext, -+ errstr); -+ -+ if (unlink(sample)) -+ perror_msg_and_fail("unlink"); -+ -+ k_faccessat(-100, sample, F_OK); -+ printf("%s%s(AT_FDCWD, \"%s\", F_OK) = %s\n", -+ my_secontext, "faccessat", -+ sample, -+ errstr); -+ -+ /* -+ * Tests with dirfd. -+ */ -+ -+ int cwd_fd = get_dir_fd("."); -+ char *cwd = get_fd_path(cwd_fd); -+ char *cwd_secontext = SECONTEXT_FILE("."); -+ char *sample_realpath = xasprintf("%s/%s", cwd, sample); -+ -+ /* no file */ -+ k_faccessat(cwd_fd, sample, F_OK); -+# ifdef YFLAG -+ printf("%s%s(%d<%s>%s, \"%s\", F_OK) = %s\n", -+# else -+ printf("%s%s(%d%s, \"%s\", F_OK) = %s\n", -+# endif -+ my_secontext, "faccessat", -+ cwd_fd, -+# ifdef YFLAG -+ cwd, -+# endif -+ cwd_secontext, -+ sample, -+ errstr); -+ -+ fd = open(sample, O_CREAT|O_RDONLY, 0400); -+ if (fd == -1) -+ perror_msg_and_fail("open"); -+ close(fd); -+ -+ k_faccessat(cwd_fd, sample, F_OK); -+# ifdef YFLAG -+ printf("%s%s(%d<%s>%s, \"%s\"%s, F_OK) = %s\n", -+# else -+ printf("%s%s(%d%s, \"%s\"%s, F_OK) = %s\n", -+# endif -+ my_secontext, "faccessat", -+ cwd_fd, -+# ifdef YFLAG -+ cwd, -+# endif -+ cwd_secontext, -+ sample, sample_secontext, -+ errstr); -+ -+ /* cwd_fd ignored when path is absolute */ -+ if (chdir("../..")) -+ perror_msg_and_fail("chdir"); -+ -+ k_faccessat(cwd_fd, sample_realpath, F_OK); -+# ifdef YFLAG -+ printf("%s%s(%d<%s>%s, \"%s\"%s, F_OK) = %s\n", -+# else -+ printf("%s%s(%d%s, \"%s\"%s, F_OK) = %s\n", -+# endif -+ my_secontext, "faccessat", -+ cwd_fd, -+# ifdef YFLAG -+ cwd, -+# endif -+ cwd_secontext, -+ sample_realpath, sample_secontext, -+ errstr); -+ -+ if (fchdir(cwd_fd)) -+ perror_msg_and_fail("fchdir"); -+ -+ if (unlink(sample)) -+ perror_msg_and_fail("unlink"); -+ -+ leave_and_remove_subdir(); -+} -+# endif -+ - int - main(void) - { - SKIP_IF_PROC_IS_UNAVAILABLE; - -+# ifndef TEST_SECONTEXT -+ - TAIL_ALLOC_OBJECT_CONST_PTR(const char, unterminated); - char *unterminated_str = xasprintf("%p", unterminated); - const void *const efault = unterminated + 1; -@@ -120,10 +243,10 @@ - k_faccessat(dirfds[dirfd_i].val, - paths[path_i].val, - modes[mode_i].val); --# ifdef PATH_TRACING -+# ifdef PATH_TRACING - if (dirfds[dirfd_i].val == fd || - paths[path_i].val == fd_path) --# endif -+# endif - printf("faccessat(%s, %s, %s) = %s\n", - dirfds[dirfd_i].str, - paths[path_i].str, -@@ -133,6 +256,12 @@ - } - } - -+# endif /* !TEST_SECONTEXT */ -+ -+# ifndef PATH_TRACING -+ tests_with_existing_file(); -+# endif -+ - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests/faccessat.test -=================================================================== ---- strace-5.7.orig/tests/faccessat.test 2021-08-24 21:08:35.383312654 +0200 -+++ strace-5.7/tests/faccessat.test 2021-08-24 21:08:43.260245984 +0200 -@@ -15,5 +15,5 @@ - run_strace -a23 --trace=faccessat "$@" $args > "$EXP" - - # Filter out faccessat() calls made by ld.so and libc. --sed -n '/^faccessat(-1, NULL,/,$p' < "$LOG" > "$OUT" -+sed -n '/faccessat(-1, NULL,/,$p' < "$LOG" > "$OUT" - match_diff "$OUT" "$EXP" -Index: strace-5.7/tests/fanotify_mark.c -=================================================================== ---- strace-5.7.orig/tests/fanotify_mark.c 2021-08-24 21:07:01.122112055 +0200 -+++ strace-5.7/tests/fanotify_mark.c 2021-08-24 21:08:43.261245976 +0200 -@@ -3,7 +3,7 @@ - * - * Copyright (c) 2015-2016 Dmitry V. Levin - * Copyright (c) 2016 Eugene Syromyatnikov -- * Copyright (c) 2015-2020 The strace developers. -+ * Copyright (c) 2015-2021 The strace developers. - * All rights reserved. - * - * SPDX-License-Identifier: GPL-2.0-or-later -@@ -21,6 +21,8 @@ - # include - # include - -+# include "secontext.h" -+ - # if XLAT_RAW - # define str_fan_mark_add "0x1" - # define str_fan_modify_ondir "0x40000002" -@@ -35,6 +37,7 @@ - # define str_at_fdcwd "AT_FDCWD" - # endif - -+# ifndef TEST_SECONTEXT - /* Performs fanotify_mark call via the syscall interface. */ - static void - do_call(kernel_ulong_t fd, kernel_ulong_t flags, const char *flags_str, -@@ -44,18 +47,18 @@ - long rc; - - rc = syscall(__NR_fanotify_mark, fd, flags, --# if (LONG_MAX > INT_MAX) \ -- || (defined __x86_64__ && defined __ILP32__) \ -- || defined LINUX_MIPSN32 -+# if (LONG_MAX > INT_MAX) \ -+ || (defined __x86_64__ && defined __ILP32__) \ -+ || defined LINUX_MIPSN32 - mask, --# else -+# else - /* arch/parisc/kernel/sys_parisc32.c, commit ab8a261b */ --# ifdef HPPA -+# ifdef HPPA - LL_VAL_TO_PAIR((mask << 32) | (mask >> 32)), --# else -+# else - LL_VAL_TO_PAIR(mask), -+# endif - # endif --# endif - dirfd, path); - - printf("fanotify_mark(%d, %s, %s, %s, %s) = %s\n", -@@ -68,12 +71,14 @@ - const char *str; - }; - --# define STR16 "0123456789abcdef" --# define STR64 STR16 STR16 STR16 STR16 -+# define STR16 "0123456789abcdef" -+# define STR64 STR16 STR16 STR16 STR16 -+# endif /* !TEST_SECONTEXT */ - - int - main(void) - { -+# ifndef TEST_SECONTEXT - enum { - PATH1_SIZE = 64, - }; -@@ -87,47 +92,47 @@ - { F8ILL_KULONG_MASK, "0" }, - { (kernel_ulong_t) 0xdec0deddefacec00ULL, - "0xefacec00" --# if !XLAT_RAW -+# if !XLAT_RAW - " /* FAN_MARK_??? */" --# endif -+# endif - }, - { (kernel_ulong_t) 0xda7a105700000040ULL, --# if XLAT_RAW -+# if XLAT_RAW - "0x40" --# elif XLAT_VERBOSE -+# elif XLAT_VERBOSE - "0x40 /* FAN_MARK_IGNORED_SURV_MODIFY */" --# else -+# else - "FAN_MARK_IGNORED_SURV_MODIFY" --# endif -+# endif - }, - { (kernel_ulong_t) 0xbadc0deddeadffffULL, --# if XLAT_RAW || XLAT_VERBOSE -+# if XLAT_RAW || XLAT_VERBOSE - "0xdeadffff" --# endif --# if XLAT_VERBOSE -+# endif -+# if XLAT_VERBOSE - " /* " --# endif --# if !XLAT_RAW -+# endif -+# if !XLAT_RAW - "FAN_MARK_ADD|FAN_MARK_REMOVE|FAN_MARK_DONT_FOLLOW|" - "FAN_MARK_ONLYDIR|FAN_MARK_MOUNT|FAN_MARK_IGNORED_MASK|" - "FAN_MARK_IGNORED_SURV_MODIFY|FAN_MARK_FLUSH|" - "FAN_MARK_FILESYSTEM|0xdeadfe00" --# endif --# if XLAT_VERBOSE -+# endif -+# if XLAT_VERBOSE - " */" --# endif -+# endif - }, - }; - static const struct strval64 masks[] = { - { ARG_ULL_STR(0) }, - { 0xdeadfeedffffffffULL, --# if XLAT_RAW || XLAT_VERBOSE -+# if XLAT_RAW || XLAT_VERBOSE - "0xdeadfeedffffffff" --# endif --# if XLAT_VERBOSE -+# endif -+# if XLAT_VERBOSE - " /* " --# endif --# if !XLAT_RAW -+# endif -+# if !XLAT_RAW - "FAN_ACCESS|" - "FAN_MODIFY|" - "FAN_ATTRIB|" -@@ -149,27 +154,27 @@ - "FAN_ONDIR|" - "FAN_EVENT_ON_CHILD|" - "0xdeadfeedb7f0a000" --# endif --# if XLAT_VERBOSE -+# endif -+# if XLAT_VERBOSE - " */" --# endif -+# endif - }, - { ARG_ULL_STR(0xffffffffb7f0a000) --# if !XLAT_RAW -+# if !XLAT_RAW - " /* FAN_??? */" --# endif -+# endif - }, - }; - static const struct strval dirfds[] = { - { (kernel_ulong_t) 0xfacefeed00000001ULL, "1" }, - { (kernel_ulong_t) 0xdec0ded0ffffffffULL, --# if XLAT_RAW -+# if XLAT_RAW - "-1" --# elif XLAT_VERBOSE -+# elif XLAT_VERBOSE - "-1 /* FAN_NOFD */" --# else -+# else - "FAN_NOFD" --# endif -+# endif - }, - { (kernel_ulong_t) 0xbadfacedffffff9cULL, str_at_fdcwd }, - { (kernel_ulong_t) 0xdefaced1beeff00dULL, "-1091571699" }, -@@ -202,12 +207,6 @@ - snprintf(bogus_path1_after_addr, sizeof(bogus_path1_after_addr), "%p", - bogus_path1 + PATH1_SIZE); - -- rc = fanotify_mark(-1, FAN_MARK_ADD, FAN_MODIFY | FAN_ONDIR, -- -100, "."); -- printf("fanotify_mark(-1, %s, %s, %s, \".\") = %s\n", -- str_fan_mark_add, str_fan_modify_ondir, str_at_fdcwd, -- sprintrc(rc)); -- - for (i = 0; i < ARRAY_SIZE(fds); i++) { - for (j = 0; j < ARRAY_SIZE(flags); j++) { - for (k = 0; k < ARRAY_SIZE(masks); k++) { -@@ -226,6 +225,40 @@ - } - } - } -+# else /* TEST_SECONTEXT */ -+ int rc; -+# endif -+ /* -+ * Test with AT_FDCWD. -+ */ -+ -+ char *my_secontext = SECONTEXT_PID_MY(); -+ char path[] = "."; -+ char *path_secontext = SECONTEXT_FILE(path); -+ -+ rc = fanotify_mark(-1, FAN_MARK_ADD, FAN_MODIFY | FAN_ONDIR, -+ -100, path); -+ printf("%s%s(-1, %s, %s, %s, \"%s\"%s) = %s\n", -+ my_secontext, "fanotify_mark", -+ str_fan_mark_add, str_fan_modify_ondir, str_at_fdcwd, -+ path, path_secontext, -+ sprintrc(rc)); -+ -+ /* -+ * Test with dirfd. -+ */ -+ -+ int cwd_fd = get_dir_fd("."); -+ char *cwd_secontext = SECONTEXT_FILE("."); -+ -+ rc = fanotify_mark(-1, FAN_MARK_ADD, FAN_MODIFY | FAN_ONDIR, -+ cwd_fd, path); -+ printf("%s%s(-1, %s, %s, %d%s, \"%s\"%s) = %s\n", -+ my_secontext, "fanotify_mark", -+ str_fan_mark_add, str_fan_modify_ondir, -+ cwd_fd, cwd_secontext, -+ path, path_secontext, -+ sprintrc(rc)); - - puts("+++ exited with 0 +++"); - return 0; -Index: strace-5.7/tests/fchmod.c -=================================================================== ---- strace-5.7.orig/tests/fchmod.c 2021-08-24 21:08:35.384312646 +0200 -+++ strace-5.7/tests/fchmod.c 2021-08-24 21:08:43.261245976 +0200 -@@ -18,6 +18,8 @@ - # include - # include - -+# include "secontext.h" -+ - int - main(void) - { -@@ -27,6 +29,8 @@ - */ - create_and_enter_subdir("fchmod_subdir"); - -+ char *my_secontext = SECONTEXT_PID_MY(); -+ - static const char sample[] = "fchmod_sample_file"; - (void) unlink(sample); - int fd = open(sample, O_CREAT|O_RDONLY, 0400); -@@ -37,16 +41,19 @@ - char *sample_realpath = get_fd_path(fd); - # endif - -+ const char *sample_secontext = SECONTEXT_FILE(sample); - long rc = syscall(__NR_fchmod, fd, 0600); - # ifdef YFLAG -- printf("fchmod(%d<%s>, 0600) = %s\n", -+ printf("%s%s(%d<%s>%s, 0600) = %s\n", - # else -- printf("fchmod(%d, 0600) = %s\n", -+ printf("%s%s(%d%s, 0600) = %s\n", - # endif -+ my_secontext, "fchmod", - fd, - # ifdef YFLAG - sample_realpath, - # endif -+ sample_secontext, - sprintrc(rc)); - - if (unlink(sample)) -@@ -54,26 +61,30 @@ - - rc = syscall(__NR_fchmod, fd, 051); - # ifdef YFLAG -- printf("fchmod(%d<%s (deleted)>, 051) = %s\n", -+ printf("%s%s(%d<%s (deleted)>%s, 051) = %s\n", - # else -- printf("fchmod(%d, 051) = %s\n", -+ printf("%s%s(%d%s, 051) = %s\n", - # endif -+ my_secontext, "fchmod", - fd, - # ifdef YFLAG - sample_realpath, - # endif -+ sample_secontext, - sprintrc(rc)); - - rc = syscall(__NR_fchmod, fd, 004); - # ifdef YFLAG -- printf("fchmod(%d<%s (deleted)>, 004) = %s\n", -+ printf("%s%s(%d<%s (deleted)>%s, 004) = %s\n", - # else -- printf("fchmod(%d, 004) = %s\n", -+ printf("%s%s(%d%s, 004) = %s\n", - # endif -+ my_secontext, "fchmod", - fd, - # ifdef YFLAG - sample_realpath, - # endif -+ sample_secontext, - sprintrc(rc)); - - leave_and_remove_subdir(); -Index: strace-5.7/tests/fchmodat.c -=================================================================== ---- strace-5.7.orig/tests/fchmodat.c 2021-08-24 21:08:35.384312646 +0200 -+++ strace-5.7/tests/fchmodat.c 2021-08-24 21:08:43.261245976 +0200 -@@ -17,6 +17,8 @@ - # include - # include - -+# include "secontext.h" -+ - int - main(void) - { -@@ -26,26 +28,81 @@ - */ - create_and_enter_subdir("fchmodat_subdir"); - -- static const char sample[] = "fchmodat_sample"; -+ char *my_secontext = SECONTEXT_PID_MY(); - -+ static const char sample[] = "fchmodat_sample_file"; - if (open(sample, O_RDONLY | O_CREAT, 0400) < 0) - perror_msg_and_fail("open"); - -+ char *sample_secontext = SECONTEXT_FILE(sample); -+ -+ /* -+ * Tests with AT_FDCWD. -+ */ -+ - long rc = syscall(__NR_fchmodat, -100, sample, 0600); -- printf("fchmodat(AT_FDCWD, \"%s\", 0600) = %s\n", -- sample, sprintrc(rc)); -+ printf("%s%s(AT_FDCWD, \"%s\"%s, 0600) = %s\n", -+ my_secontext, "fchmodat", -+ sample, sample_secontext, -+ sprintrc(rc)); - - if (unlink(sample)) - perror_msg_and_fail("unlink"); - - rc = syscall(__NR_fchmodat, -100, sample, 051); -- printf("fchmodat(AT_FDCWD, \"%s\", 051) = %s\n", -+ printf("%s%s(AT_FDCWD, \"%s\", 051) = %s\n", -+ my_secontext, "fchmodat", - sample, sprintrc(rc)); - - rc = syscall(__NR_fchmodat, -100, sample, 004); -- printf("fchmodat(AT_FDCWD, \"%s\", 004) = %s\n", -+ printf("%s%s(AT_FDCWD, \"%s\", 004) = %s\n", -+ my_secontext, "fchmodat", - sample, sprintrc(rc)); - -+ /* -+ * Tests with dirfd. -+ */ -+ -+ int cwd_fd = get_dir_fd("."); -+ char *cwd = get_fd_path(cwd_fd); -+ char *cwd_secontext = SECONTEXT_FILE("."); -+ char *sample_realpath = xasprintf("%s/%s", cwd, sample); -+ -+ /* no file */ -+ rc = syscall(__NR_fchmodat, cwd_fd, sample, 0400); -+ printf("%s%s(%d%s, \"%s\", 0400) = %s\n", -+ my_secontext, "fchmodat", -+ cwd_fd, cwd_secontext, -+ sample, -+ sprintrc(rc)); -+ -+ if (open(sample, O_RDONLY | O_CREAT, 0400) < 0) -+ perror_msg_and_fail("open"); -+ -+ rc = syscall(__NR_fchmodat, cwd_fd, sample, 0400); -+ printf("%s%s(%d%s, \"%s\"%s, 0400) = %s\n", -+ my_secontext, "fchmodat", -+ cwd_fd, cwd_secontext, -+ sample, sample_secontext, -+ sprintrc(rc)); -+ -+ /* cwd_fd ignored when path is absolute */ -+ if (chdir("../..")) -+ perror_msg_and_fail("chdir"); -+ -+ rc = syscall(__NR_fchmodat, cwd_fd, sample_realpath, 0400); -+ printf("%s%s(%d%s, \"%s\"%s, 0400) = %s\n", -+ my_secontext, "fchmodat", -+ cwd_fd, cwd_secontext, -+ sample_realpath, sample_secontext, -+ sprintrc(rc)); -+ -+ if (fchdir(cwd_fd)) -+ perror_msg_and_fail("fchdir"); -+ -+ if (unlink(sample)) -+ perror_msg_and_fail("unlink"); -+ - leave_and_remove_subdir(); - - puts("+++ exited with 0 +++"); -Index: strace-5.7/tests/fchownat.c -=================================================================== ---- strace-5.7.orig/tests/fchownat.c 2021-08-24 21:08:35.384312646 +0200 -+++ strace-5.7/tests/fchownat.c 2021-08-24 21:08:43.262245968 +0200 -@@ -17,6 +17,8 @@ - # include - # include - -+# include "secontext.h" -+ - int - main(void) - { -@@ -26,25 +28,86 @@ - */ - create_and_enter_subdir("fchownat_subdir"); - -- static const char sample[] = "fchownat_sample"; -+ char *my_secontext = SECONTEXT_PID_MY(); - uid_t uid = geteuid(); - uid_t gid = getegid(); - -- if (open(sample, O_RDONLY | O_CREAT, 0400) == -1) -+ static const char sample[] = "fchownat_sample"; -+ int fd = open(sample, O_RDONLY | O_CREAT, 0400); -+ if (fd == -1) - perror_msg_and_fail("open"); -+ close(fd); -+ -+ char *sample_secontext = SECONTEXT_FILE(sample); -+ -+ /* -+ * Tests with AT_FDCWD. -+ */ - - long rc = syscall(__NR_fchownat, AT_FDCWD, sample, uid, gid, 0); -- printf("fchownat(AT_FDCWD, \"%s\", %d, %d, 0) = %s\n", -- sample, uid, gid, sprintrc(rc)); -+ printf("%s%s(AT_FDCWD, \"%s\"%s, %d, %d, 0) = %s\n", -+ my_secontext, "fchownat", -+ sample, sample_secontext, -+ uid, gid, sprintrc(rc)); - - if (unlink(sample)) - perror_msg_and_fail("unlink"); - - rc = syscall(__NR_fchownat, AT_FDCWD, - sample, -1, -1L, AT_SYMLINK_NOFOLLOW); -- printf("fchownat(AT_FDCWD, \"%s\", -1, -1, AT_SYMLINK_NOFOLLOW) = %s\n", -+ printf("%s%s(AT_FDCWD, \"%s\", -1, -1, AT_SYMLINK_NOFOLLOW) = %s\n", -+ my_secontext, "fchownat", - sample, sprintrc(rc)); - -+ /* -+ * Tests with dirfd. -+ */ -+ -+ int cwd_fd = get_dir_fd("."); -+ char *cwd = get_fd_path(cwd_fd); -+ char *cwd_secontext = SECONTEXT_FILE("."); -+ char *sample_realpath = xasprintf("%s/%s", cwd, sample); -+ -+ /* no file */ -+ rc = syscall(__NR_fchownat, cwd_fd, sample, uid, gid, 0); -+ printf("%s%s(%d%s, \"%s\", %d, %d, 0) = %s\n", -+ my_secontext, "fchownat", -+ cwd_fd, cwd_secontext, -+ sample, -+ uid, gid, -+ sprintrc(rc)); -+ -+ fd = open(sample, O_RDONLY | O_CREAT, 0400); -+ if (fd == -1) -+ perror_msg_and_fail("open"); -+ close(fd); -+ -+ rc = syscall(__NR_fchownat, cwd_fd, sample, uid, gid, 0); -+ printf("%s%s(%d%s, \"%s\"%s, %d, %d, 0) = %s\n", -+ my_secontext, "fchownat", -+ cwd_fd, cwd_secontext, -+ sample, sample_secontext, -+ uid, gid, -+ sprintrc(rc)); -+ -+ /* cwd_fd ignored when path is absolute */ -+ if (chdir("../..")) -+ perror_msg_and_fail("chdir"); -+ -+ rc = syscall(__NR_fchownat, cwd_fd, sample_realpath, uid, gid, 0); -+ printf("%s%s(%d%s, \"%s\"%s, %d, %d, 0) = %s\n", -+ my_secontext, "fchownat", -+ cwd_fd, cwd_secontext, -+ sample_realpath, sample_secontext, -+ uid, gid, -+ sprintrc(rc)); -+ -+ if (fchdir(cwd_fd)) -+ perror_msg_and_fail("fchdir"); -+ -+ if (unlink(sample)) -+ perror_msg_and_fail("unlink"); -+ - leave_and_remove_subdir(); - - puts("+++ exited with 0 +++"); -Index: strace-5.7/tests/file_handle.c -=================================================================== ---- strace-5.7.orig/tests/file_handle.c 2021-08-24 21:08:35.385312637 +0200 -+++ strace-5.7/tests/file_handle.c 2021-08-24 21:08:43.263245959 +0200 -@@ -21,6 +21,8 @@ - # include - # include - -+# include "secontext.h" -+ - enum assert_rc { - ASSERT_NONE, - ASSERT_SUCCESS, -@@ -48,6 +50,7 @@ - printf("..."); - } - -+# ifndef TEST_SECONTEXT - void - do_name_to_handle_at(kernel_ulong_t dirfd, const char *dirfd_str, - kernel_ulong_t pathname, const char *pathname_str, -@@ -129,6 +132,7 @@ - - printf("%s\n", sprintrc(rc)); - } -+# endif /* !TEST_SECONTEXT */ - - struct strval { - kernel_ulong_t val; -@@ -141,12 +145,86 @@ - int - main(void) - { -+ char *my_secontext = SECONTEXT_PID_MY(); - enum { - PATH1_SIZE = 64, - }; - - static const kernel_ulong_t fdcwd = - (kernel_ulong_t) 0x87654321ffffff9cULL; -+ -+ struct file_handle *handle = -+ tail_alloc(sizeof(struct file_handle) + MAX_HANDLE_SZ); -+ struct file_handle *handle_0 = -+ tail_alloc(sizeof(struct file_handle) + 0); -+ struct file_handle *handle_8 = -+ tail_alloc(sizeof(struct file_handle) + 8); -+ struct file_handle *handle_128 = -+ tail_alloc(sizeof(struct file_handle) + 128); -+ struct file_handle *handle_256 = -+ tail_alloc(sizeof(struct file_handle) + 256); -+ TAIL_ALLOC_OBJECT_CONST_PTR(int, bogus_mount_id); -+ -+ char handle_0_addr[sizeof("0x") + sizeof(void *) * 2]; -+ -+ const int flags = 0x400; -+ int mount_id; -+ -+ handle_0->handle_bytes = 256; -+ handle_8->handle_bytes = 0; -+ handle_128->handle_bytes = 128; -+ handle_256->handle_bytes = 256; -+ -+ fill_memory((char *) handle_128 + sizeof(struct file_handle), 128); -+ fill_memory((char *) handle_256 + sizeof(struct file_handle), 256); -+ -+ snprintf(handle_0_addr, sizeof(handle_0_addr), "%p", -+ handle_0 + sizeof(struct file_handle)); -+ -+ handle->handle_bytes = 0; -+ -+ char path[] = "."; -+ char *path_secontext = SECONTEXT_FILE(path); -+ -+ assert(syscall(__NR_name_to_handle_at, fdcwd, path, handle, &mount_id, -+ flags | 1) == -1); -+ if (EINVAL != errno) -+ perror_msg_and_skip("name_to_handle_at"); -+ printf("%s%s(AT_FDCWD, \"%s\"%s, {handle_bytes=0}, %p" -+ ", AT_SYMLINK_FOLLOW|0x1) = -1 EINVAL (%m)\n", -+ my_secontext, "name_to_handle_at", -+ path, path_secontext, -+ &mount_id); -+ -+ assert(syscall(__NR_name_to_handle_at, fdcwd, path, handle, &mount_id, -+ flags) == -1); -+ if (EOVERFLOW != errno) -+ perror_msg_and_skip("name_to_handle_at"); -+ printf("%s%s(AT_FDCWD, \"%s\"%s, {handle_bytes=0 => %u}" -+ ", %p, AT_SYMLINK_FOLLOW) = -1 EOVERFLOW (%m)\n", -+ my_secontext, "name_to_handle_at", -+ path, path_secontext, -+ handle->handle_bytes, &mount_id); -+ -+ assert(syscall(__NR_name_to_handle_at, fdcwd, path, handle, &mount_id, -+ flags) == 0); -+ printf("%s%s(AT_FDCWD, \"%s\"%s, {handle_bytes=%u" -+ ", handle_type=%d, f_handle=", -+ my_secontext, "name_to_handle_at", -+ path, path_secontext, -+ handle->handle_bytes, handle->handle_type); -+ print_handle_data(handle->f_handle, handle->handle_bytes); -+ printf("}, [%d], AT_SYMLINK_FOLLOW) = 0\n", mount_id); -+ -+ printf("%s%s(-1, {handle_bytes=%u, handle_type=%d, f_handle=", -+ my_secontext, "open_by_handle_at", -+ handle->handle_bytes, handle->handle_type); -+ print_handle_data(handle->f_handle, handle->handle_bytes); -+ int rc = syscall(__NR_open_by_handle_at, -1, handle, -+ O_RDONLY | O_DIRECTORY); -+ printf("}, O_RDONLY|O_DIRECTORY) = %d %s (%m)\n", rc, errno2name()); -+ -+# ifndef TEST_SECONTEXT - static const struct strval dirfds[] = { - { (kernel_ulong_t) 0xdeadca57badda7a1ULL, "-1159878751" }, - { (kernel_ulong_t) 0x12345678ffffff9cULL, "AT_FDCWD" }, -@@ -171,29 +249,11 @@ - }; - - static const char str64[] = STR64; -- -- - char *bogus_path1 = tail_memdup(str64, PATH1_SIZE); - char *bogus_path2 = tail_memdup(str64, sizeof(str64)); -- -- struct file_handle *handle = -- tail_alloc(sizeof(struct file_handle) + MAX_HANDLE_SZ); -- struct file_handle *handle_0 = -- tail_alloc(sizeof(struct file_handle) + 0); -- struct file_handle *handle_8 = -- tail_alloc(sizeof(struct file_handle) + 8); -- struct file_handle *handle_128 = -- tail_alloc(sizeof(struct file_handle) + 128); -- struct file_handle *handle_256 = -- tail_alloc(sizeof(struct file_handle) + 256); -- TAIL_ALLOC_OBJECT_CONST_PTR(int, bogus_mount_id); -- -- char handle_0_addr[sizeof("0x") + sizeof(void *) * 2]; -- - char bogus_path1_addr[sizeof("0x") + sizeof(void *) * 2]; - char bogus_path1_after_addr[sizeof("0x") + sizeof(void *) * 2]; - -- - struct strval paths[] = { - { (kernel_ulong_t) 0, "NULL" }, - { (kernel_ulong_t) (uintptr_t) (bogus_path1 + PATH1_SIZE), -@@ -229,62 +289,16 @@ - (kernel_ulong_t) (uintptr_t) bogus_mount_id, - }; - -- const int flags = 0x400; -- int mount_id; - unsigned int i; - unsigned int j; - unsigned int k; - unsigned int l; - unsigned int m; - -- - snprintf(bogus_path1_addr, sizeof(bogus_path1_addr), "%p", bogus_path1); - snprintf(bogus_path1_after_addr, sizeof(bogus_path1_after_addr), "%p", - bogus_path1 + PATH1_SIZE); - -- handle_0->handle_bytes = 256; -- handle_8->handle_bytes = 0; -- handle_128->handle_bytes = 128; -- handle_256->handle_bytes = 256; -- -- fill_memory((char *) handle_128 + sizeof(struct file_handle), 128); -- fill_memory((char *) handle_256 + sizeof(struct file_handle), 256); -- -- snprintf(handle_0_addr, sizeof(handle_0_addr), "%p", -- handle_0 + sizeof(struct file_handle)); -- -- handle->handle_bytes = 0; -- -- assert(syscall(__NR_name_to_handle_at, fdcwd, ".", handle, &mount_id, -- flags | 1) == -1); -- if (EINVAL != errno) -- perror_msg_and_skip("name_to_handle_at"); -- printf("name_to_handle_at(AT_FDCWD, \".\", {handle_bytes=0}, %p" -- ", AT_SYMLINK_FOLLOW|0x1) = -1 EINVAL (%m)\n", &mount_id); -- -- assert(syscall(__NR_name_to_handle_at, fdcwd, ".", handle, &mount_id, -- flags) == -1); -- if (EOVERFLOW != errno) -- perror_msg_and_skip("name_to_handle_at"); -- printf("name_to_handle_at(AT_FDCWD, \".\", {handle_bytes=0 => %u}" -- ", %p, AT_SYMLINK_FOLLOW) = -1 EOVERFLOW (%m)\n", -- handle->handle_bytes, &mount_id); -- -- assert(syscall(__NR_name_to_handle_at, fdcwd, ".", handle, &mount_id, -- flags) == 0); -- printf("name_to_handle_at(AT_FDCWD, \".\", {handle_bytes=%u" -- ", handle_type=%d, f_handle=", -- handle->handle_bytes, handle->handle_type); -- print_handle_data(handle->f_handle, handle->handle_bytes); -- printf("}, [%d], AT_SYMLINK_FOLLOW) = 0\n", mount_id); -- -- printf("open_by_handle_at(-1, {handle_bytes=%u, handle_type=%d" -- ", f_handle=", handle->handle_bytes, handle->handle_type); -- print_handle_data(handle->f_handle, handle->handle_bytes); -- int rc = syscall(__NR_open_by_handle_at, -1, handle, -- O_RDONLY | O_DIRECTORY); -- printf("}, O_RDONLY|O_DIRECTORY) = %d %s (%m)\n", rc, errno2name()); -- - for (i = 0; i < ARRAY_SIZE(dirfds); i++) { - for (j = 0; j < ARRAY_SIZE(paths); j++) { - for (k = 0; k < ARRAY_SIZE(name_handles); k++) { -@@ -320,6 +334,68 @@ - } - } - } -+# endif -+ -+ /* -+ * Tests with dirfd. -+ */ -+ -+ int cwd_fd = get_dir_fd("."); -+ char *cwd = get_fd_path(cwd_fd); -+ char *cwd_secontext = SECONTEXT_FILE("."); -+ -+ assert(syscall(__NR_name_to_handle_at, cwd_fd, path, handle, &mount_id, -+ flags) == 0); -+ printf("%s%s(%d%s, \"%s\"%s, {handle_bytes=%u, handle_type=%d" -+ ", f_handle=", -+ my_secontext, "name_to_handle_at", -+ cwd_fd, cwd_secontext, -+ path, path_secontext, -+ handle->handle_bytes, handle->handle_type); -+ print_handle_data((unsigned char *) handle + -+ sizeof(struct file_handle), -+ handle->handle_bytes); -+ printf("}, [%d], AT_SYMLINK_FOLLOW) = 0\n", mount_id); -+ -+ printf("%s%s(-1, {handle_bytes=%u, handle_type=%d, f_handle=", -+ my_secontext, "open_by_handle_at", -+ handle->handle_bytes, handle->handle_type); -+ print_handle_data((unsigned char *) handle + -+ sizeof(struct file_handle), -+ handle->handle_bytes); -+ rc = syscall(__NR_open_by_handle_at, -1, handle, -+ O_RDONLY | O_DIRECTORY); -+ printf("}, O_RDONLY|O_DIRECTORY) = %s\n", sprintrc(rc)); -+ -+ /* cwd_fd ignored when path is absolute */ -+ if (chdir("..")) -+ perror_msg_and_fail("chdir"); -+ -+ assert(syscall(__NR_name_to_handle_at, cwd_fd, cwd, handle, &mount_id, -+ flags) == 0); -+ printf("%s%s(%d%s, \"%s\"%s, {handle_bytes=%u" -+ ", handle_type=%d, f_handle=", -+ my_secontext, "name_to_handle_at", -+ cwd_fd, cwd_secontext, -+ cwd, cwd_secontext, -+ handle->handle_bytes, handle->handle_type); -+ print_handle_data((unsigned char *) handle + -+ sizeof(struct file_handle), -+ handle->handle_bytes); -+ printf("}, [%d], AT_SYMLINK_FOLLOW) = 0\n", mount_id); -+ -+ printf("%s%s(-1, {handle_bytes=%u, handle_type=%d, f_handle=", -+ my_secontext, "open_by_handle_at", -+ handle->handle_bytes, handle->handle_type); -+ print_handle_data((unsigned char *) handle + -+ sizeof(struct file_handle), -+ handle->handle_bytes); -+ rc = syscall(__NR_open_by_handle_at, -1, handle, -+ O_RDONLY | O_DIRECTORY); -+ printf("}, O_RDONLY|O_DIRECTORY) = %s\n", sprintrc(rc)); -+ -+ if (fchdir(cwd_fd)) -+ perror_msg_and_fail("fchdir"); - - puts("+++ exited with 0 +++"); - return 0; -Index: strace-5.7/tests/gen_secontext.sh -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/gen_secontext.sh 2021-08-24 21:08:43.263245959 +0200 -@@ -0,0 +1,72 @@ -+#!/bin/sh -efu -+# -+# Copyright (c) 2021 The strace developers. -+# All rights reserved. -+# -+# SPDX-License-Identifier: GPL-2.0-or-later -+ -+usage() -+{ -+ cat >&2 <] -+ -+Generate secontext files from list. -+EOF -+ exit 1 -+} -+ -+if [ $# -eq 0 ]; then -+ input="${0%/*}/gen_tests.in" -+else -+ input="$1" -+ shift -+fi -+dir="$(dirname "$input")" -+[ $# -eq 0 ] || usage -+ -+{ -+ cat < "$dir/secontext.am" -+ -+sed -r -n 's/^([^#[:space:]]+--secontext)[[:space:]].*/\1/p' < "$input" | -+while read -r name; do { -+ cat <<-EOF > "$dir/$name.c" -+ /* -+ * Copyright (c) 2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+ #include "tests.h" -+ -+ #ifdef HAVE_SELINUX_RUNTIME -+ -+ # define TEST_SECONTEXT -+ # include "${name%--secontext}.c" -+ -+ #else -+ -+ SKIP_MAIN_UNDEFINED("HAVE_SELINUX_RUNTIME") -+ -+ #endif -+ EOF -+} < /dev/null; done -+ -+sed -r -n 's/^([^#[:space:]]+--secontext_full)[[:space:]].*/\1/p' < "$input" | -+while read -r name; do { -+ cat <<-EOF > "$dir/$name.c" -+ #define PRINT_SECONTEXT_FULL -+ #include "${name%_full}.c" -+ EOF -+} < /dev/null; done -Index: strace-5.7/tests/gen_tests.in -=================================================================== ---- strace-5.7.orig/tests/gen_tests.in 2021-08-24 21:08:35.385312637 +0200 -+++ strace-5.7/tests/gen_tests.in 2021-08-24 21:08:43.263245959 +0200 -@@ -10,6 +10,8 @@ - accept -a22 - accept4 -a37 - access -a30 --trace-path=access_sample -+access--secontext -a30 --secontext --trace-path=access_sample -e trace=access -+access--secontext_full -a30 --secontext=full --trace-path=access_sample -e trace=access - acct -a20 - add_key -a30 -s12 - adjtimex -a15 -@@ -24,6 +26,8 @@ - bpf-v -a20 -v -e trace=bpf - btrfs +ioctl.test - chmod -a28 -+chmod--secontext -a28 --secontext -e trace=chmod -+chmod--secontext_full -a28 --secontext=full -e trace=chmod - chown -a28 - chown32 -a31 - chroot -a24 -@@ -71,25 +75,43 @@ - epoll_pwait - epoll_wait -a26 - erestartsys -a34 -e signal=none -e trace=recvfrom -+execve--secontext +execve.test --secontext -+execve--secontext_full +execve.test --secontext=full - execveat -+execveat--secontext --secontext --trace=execveat -+execveat--secontext_full --secontext=full --trace=execveat - execveat-v -v -e trace=execveat -+faccessat--secontext +faccessat.test -a24 --secontext -+faccessat--secontext_full +faccessat.test -a24 --secontext=full - faccessat-P -a23 --trace=faccessat -P /dev/full - faccessat-y +faccessat.test -a24 -y -+faccessat-y--secontext +faccessat.test -a24 -y --secontext -+faccessat-y--secontext_full +faccessat.test -a24 -y --secontext=full - faccessat-yy +faccessat.test -a24 -yy - fadvise64_64 +fadvise64.test - fallocate -a18 - fanotify_init - fanotify_mark -a32 -+fanotify_mark--secontext -a32 --secontext -e trace=fanotify_mark -+fanotify_mark--secontext_full -a32 --secontext=full -e trace=fanotify_mark - fanotify_mark-Xabbrev -a32 -Xabbrev -e trace=fanotify_mark - fanotify_mark-Xraw -a32 -Xraw -e trace=fanotify_mark - fanotify_mark-Xverbose -a32 -Xverbose -e trace=fanotify_mark - fchdir -a11 - fchmod -a15 -+fchmod--secontext -a15 --secontext -e trace=fchmod -+fchmod--secontext_full -a15 --secontext=full -e trace=fchmod - fchmod-y -y -e trace=fchmod -+fchmod-y--secontext -a15 -y --secontext -e trace=fchmod -+fchmod-y--secontext_full -a15 -y --secontext=full -e trace=fchmod - fchmodat -+fchmodat--secontext --secontext -e trace=fchmodat -+fchmodat--secontext_full --secontext=full -e trace=fchmodat - fchown -a16 - fchown32 -a18 - fchownat -+fchownat--secontext --secontext -e trace=fchownat -+fchownat--secontext_full --secontext=full -e trace=fchownat - fcntl -a8 - fcntl--pidns-translation test_pidns -a8 -e trace=fcntl - fcntl64 -a8 -@@ -97,6 +119,8 @@ - fdatasync -a14 - file_handle -e trace=name_to_handle_at,open_by_handle_at - file_ioctl +ioctl.test -+file_handle--secontext --secontext -e trace=name_to_handle_at,open_by_handle_at -+file_handle--secontext_full --secontext=full -e trace=name_to_handle_at,open_by_handle_at - filter_seccomp . "${srcdir=.}/filter_seccomp.sh"; test_prog_set --seccomp-bpf -f - filter_seccomp-flag ../$NAME - finit_module -a25 -@@ -295,6 +319,8 @@ - lchown32 -a32 - link - linkat -+linkat--secontext --secontext -e trace=linkat -+linkat--secontext_full --secontext=full -e trace=linkat - lookup_dcookie -a27 - lstat -a31 --no-abbrev --trace-path=stat.sample --trace-path=/dev/full - lstat64 -a32 --no-abbrev --trace-path=stat.sample --trace-path=/dev/full -@@ -434,9 +460,13 @@ - oldselect-efault-P -a13 -e trace=select -P /dev/full 9>>/dev/full - oldstat -a32 -v -P stat.sample -P /dev/full - open -a30 -P $NAME.sample -+open--secontext -a30 -P open.sample --secontext --trace=open -+open--secontext_full -a30 -P open.sample --secontext=full --trace=open - open_tree -a30 -y - open_tree-P -a30 --decode-fds -P /dev/full -e trace=open_tree - openat -a36 -P $NAME.sample -+openat--secontext -a36 -P openat.sample -P $PWD/openat.sample --secontext -e trace=openat -+openat--secontext_full -a36 -P openat.sample -P $PWD/openat.sample --secontext=full -e trace=openat - openat2 -a35 - openat2-Xabbrev --trace=openat2 -a35 -Xabbrev - openat2-Xraw --trace=openat2 -a32 -Xraw -Index: strace-5.7/tests/linkat.c -=================================================================== ---- strace-5.7.orig/tests/linkat.c 2021-08-24 21:08:35.385312637 +0200 -+++ strace-5.7/tests/linkat.c 2021-08-24 21:08:43.264245951 +0200 -@@ -10,8 +10,14 @@ - - #ifdef __NR_linkat - -+# include - # include -+# include - # include -+# include -+ -+# include "secontext.h" -+# include "xmalloc.h" - - int - main(void) -@@ -27,18 +33,158 @@ - const long fd_old = (long) 0xdeadbeefffffffffULL; - const long fd_new = (long) 0xdeadbeeffffffffeULL; - -+ char *my_secontext = SECONTEXT_PID_MY(); -+ -+ (void) unlink(sample_1); -+ (void) unlink(sample_2); -+ - long rc = syscall(__NR_linkat, fd_old, sample_1, fd_new, sample_2, 0); -- printf("linkat(%d, \"%s\", %d, \"%s\", 0) = %ld %s (%m)\n", -+ printf("%s%s(%d, \"%s\", %d, \"%s\", 0) = %ld %s (%m)\n", -+ my_secontext, "linkat", - (int) fd_old, sample_1, (int) fd_new, sample_2, - rc, errno2name()); - - rc = syscall(__NR_linkat, -100, sample_1, -100, sample_2, -1L); -- printf("linkat(%s, \"%s\", %s, \"%s\", %s) = %ld %s (%m)\n", -+ printf("%s%s(%s, \"%s\", %s, \"%s\", %s) = %ld %s (%m)\n", -+ my_secontext, "linkat", - "AT_FDCWD", sample_1, "AT_FDCWD", sample_2, - "AT_SYMLINK_NOFOLLOW|AT_REMOVEDIR|AT_SYMLINK_FOLLOW" - "|AT_NO_AUTOMOUNT|AT_EMPTY_PATH|AT_RECURSIVE|0xffff60ff", - rc, errno2name()); - -+ /* -+ * Tests with AT_FDCWD. -+ */ -+ -+ int fd_sample_1 = open(sample_1, O_RDONLY | O_CREAT, 0400); -+ if (fd_sample_1 < 0) -+ perror_msg_and_fail("open"); -+ if (close(fd_sample_1)) -+ perror_msg_and_fail("close"); -+ -+ char *sample_1_secontext = SECONTEXT_FILE(sample_1); -+ -+ rc = syscall(__NR_linkat, -100, sample_1, -100, sample_2, 0); -+ /* no context printed for sample_2 since file doesn't exist yet */ -+ printf("%s%s(AT_FDCWD, \"%s\"%s, AT_FDCWD, \"%s\", 0) = %s\n", -+ my_secontext, "linkat", -+ sample_1, sample_1_secontext, -+ sample_2, -+ sprintrc(rc)); -+ -+ const char *sample_2_secontext = sample_1_secontext; -+ -+ rc = syscall(__NR_linkat, -100, sample_1, -100, sample_2, 0); -+ printf("%s%s(AT_FDCWD, \"%s\"%s, AT_FDCWD, \"%s\"%s, 0) = %s\n", -+ my_secontext, "linkat", -+ sample_1, sample_1_secontext, -+ sample_2, sample_2_secontext, -+ sprintrc(rc)); -+ -+ int fd_sample_2 = open(sample_2, O_RDONLY | O_CREAT, 0400); -+ if (fd_sample_2 < 0) -+ perror_msg_and_fail("open"); -+ if (close(fd_sample_2)) -+ perror_msg_and_fail("close"); -+ -+ free(sample_1_secontext); -+ update_secontext_type(sample_1, "default_t"); -+ sample_1_secontext = SECONTEXT_FILE(sample_1); -+ sample_2_secontext = sample_1_secontext; -+ -+ rc = syscall(__NR_linkat, -100, sample_1, -100, sample_2, 0); -+ printf("%s%s(AT_FDCWD, \"%s\"%s, AT_FDCWD, \"%s\"%s, 0) = %s\n", -+ my_secontext, "linkat", -+ sample_1, sample_1_secontext, -+ sample_2, sample_2_secontext, -+ sprintrc(rc)); -+ -+ if (unlink(sample_2)) -+ perror_msg_and_fail("unlink: %s", sample_2); -+ -+ /* -+ * Tests with dirfd. -+ */ -+ -+ int dfd_old = get_dir_fd("."); -+ char *cwd = get_fd_path(dfd_old); -+ char *dfd_old_secontext = SECONTEXT_FILE("."); -+ -+ rc = syscall(__NR_linkat, dfd_old, sample_1, -100, sample_2, 0); -+ /* no context printed for sample_2 since file doesn't exist yet */ -+ printf("%s%s(%d%s, \"%s\"%s, AT_FDCWD, \"%s\", 0) = %s\n", -+ my_secontext, "linkat", -+ dfd_old, dfd_old_secontext, -+ sample_1, sample_1_secontext, -+ sample_2, -+ sprintrc(rc)); -+ -+ rc = syscall(__NR_linkat, dfd_old, sample_1, -100, sample_2, 0); -+ printf("%s%s(%d%s, \"%s\"%s, AT_FDCWD, \"%s\"%s, 0) = %s\n", -+ my_secontext, "linkat", -+ dfd_old, dfd_old_secontext, -+ sample_1, sample_1_secontext, -+ sample_2, sample_2_secontext, -+ sprintrc(rc)); -+ -+ if (unlink(sample_2)) -+ perror_msg_and_fail("unlink: %s", sample_2); -+ -+ static const char new_dir[] = "new"; -+ char *new_sample_2 = xasprintf("%s/%s", new_dir, sample_2); -+ -+ (void) unlink(new_sample_2); -+ (void) rmdir(new_dir); -+ -+ if (mkdir(new_dir, 0700)) -+ perror_msg_and_fail("mkdir"); -+ char *new_dir_realpath = xasprintf("%s/%s", cwd, new_dir); -+ char *new_dir_secontext = SECONTEXT_FILE(new_dir); -+ int dfd_new = get_dir_fd(new_dir); -+ -+ rc = syscall(__NR_linkat, dfd_old, sample_1, dfd_new, sample_2, 0); -+ /* no context printed for sample_2 since file doesn't exist yet */ -+ printf("%s%s(%d%s, \"%s\"%s, %d%s, \"%s\", 0) = %s\n", -+ my_secontext, "linkat", -+ dfd_old, dfd_old_secontext, -+ sample_1, sample_1_secontext, -+ dfd_new, new_dir_secontext, -+ sample_2, -+ sprintrc(rc)); -+ -+ rc = syscall(__NR_linkat, dfd_old, sample_1, dfd_new, sample_2, 0); -+ printf("%s%s(%d%s, \"%s\"%s, %d%s, \"%s\"%s, 0) = %s\n", -+ my_secontext, "linkat", -+ dfd_old, dfd_old_secontext, -+ sample_1, sample_1_secontext, -+ dfd_new, new_dir_secontext, -+ sample_2, SECONTEXT_FILE(new_sample_2), -+ sprintrc(rc)); -+ -+ char *new_sample_2_realpath = xasprintf("%s/%s", new_dir_realpath, sample_2); -+ -+ /* dfd ignored when path is absolute */ -+ if (chdir("../..")) -+ perror_msg_and_fail("chdir"); -+ -+ rc = syscall(__NR_linkat, dfd_old, sample_1, -100, new_sample_2_realpath, 0); -+ printf("%s%s(%d%s, \"%s\"%s, AT_FDCWD, \"%s\"%s, 0) = %s\n", -+ my_secontext, "linkat", -+ dfd_old, dfd_old_secontext, -+ sample_1, sample_1_secontext, -+ new_sample_2_realpath, SECONTEXT_FILE(new_sample_2_realpath), -+ sprintrc(rc)); -+ -+ if (fchdir(dfd_old)) -+ perror_msg_and_fail("fchdir"); -+ -+ if (unlink(sample_1)) -+ perror_msg_and_fail("unlink: %s", sample_1); -+ if (unlink(new_sample_2)) -+ perror_msg_and_fail("unlink: %s", new_sample_2); -+ if (rmdir(new_dir)) -+ perror_msg_and_fail("rmdir: %s", new_dir); -+ - leave_and_remove_subdir(); - - puts("+++ exited with 0 +++"); -Index: strace-5.7/tests/open.c -=================================================================== ---- strace-5.7.orig/tests/open.c 2021-08-24 21:08:35.386312629 +0200 -+++ strace-5.7/tests/open.c 2021-08-24 21:08:43.264245951 +0200 -@@ -15,6 +15,8 @@ - # include - # include - -+# include "secontext.h" -+ - int - main(void) - { -@@ -25,10 +27,12 @@ - create_and_enter_subdir("open_subdir"); - - static const char sample[] = "open.sample"; -+ char *my_secontext = SECONTEXT_PID_MY(); - - long fd = syscall(__NR_open, sample, O_RDONLY|O_CREAT, 0400); -- printf("open(\"%s\", O_RDONLY|O_CREAT, 0400) = %s\n", -- sample, sprintrc(fd)); -+ printf("%s%s(\"%s\", O_RDONLY|O_CREAT, 0400) = %s%s\n", -+ my_secontext, "open", -+ sample, sprintrc(fd), SECONTEXT_FILE(sample)); - - if (fd != -1) { - close(fd); -@@ -36,16 +40,18 @@ - perror_msg_and_fail("unlink"); - - fd = syscall(__NR_open, sample, O_RDONLY); -- printf("open(\"%s\", O_RDONLY) = %s\n", sample, sprintrc(fd)); -+ printf("%s%s(\"%s\", O_RDONLY) = %s\n", -+ my_secontext, "open", sample, sprintrc(fd)); - - fd = syscall(__NR_open, sample, O_WRONLY|O_NONBLOCK|0x80000000); -- printf("open(\"%s\", O_WRONLY|O_NONBLOCK|0x80000000) = %s\n", -- sample, sprintrc(fd)); -+ printf("%s%s(\"%s\", O_WRONLY|O_NONBLOCK|0x80000000) = %s\n", -+ my_secontext, "open", sample, sprintrc(fd)); - } - - # ifdef O_TMPFILE - fd = syscall(__NR_open, sample, O_WRONLY|O_TMPFILE, 0600); -- printf("open(\"%s\", O_WRONLY|O_TMPFILE, 0600) = %s\n", -+ printf("%s%s(\"%s\", O_WRONLY|O_TMPFILE, 0600) = %s\n", -+ my_secontext, "open", - sample, sprintrc(fd)); - # endif /* O_TMPFILE */ - -Index: strace-5.7/tests/openat.c -=================================================================== ---- strace-5.7.orig/tests/openat.c 2021-08-24 21:08:35.386312629 +0200 -+++ strace-5.7/tests/openat.c 2021-08-24 21:08:43.264245951 +0200 -@@ -15,6 +15,8 @@ - # include - # include - -+# include "secontext.h" -+ - # ifdef O_TMPFILE - /* The kernel & C libraries often inline O_DIRECTORY. */ - # define STRACE_O_TMPFILE (O_TMPFILE & ~O_DIRECTORY) -@@ -26,10 +28,12 @@ - - static void - test_mode_flag(unsigned int mode_val, const char *mode_str, -- unsigned int flag_val, const char *flag_str) -+ unsigned int flag_val, const char *flag_str, -+ const char *my_secontext) - { - long rc = syscall(__NR_openat, -1, sample, mode_val | flag_val, 0); -- printf("openat(-1, \"%s\", %s%s%s%s) = %s\n", -+ printf("%s%s(-1, \"%s\", %s%s%s%s) = %s\n", -+ my_secontext, "openat", - sample, mode_str, - flag_val ? "|" : "", flag_str, - flag_val & (O_CREAT | STRACE_O_TMPFILE) ? ", 000" : "", -@@ -45,20 +49,7 @@ - */ - create_and_enter_subdir("openat_subdir"); - -- long fd = syscall(__NR_openat, -100, sample, O_RDONLY|O_CREAT, 0400); -- printf("openat(AT_FDCWD, \"%s\", O_RDONLY|O_CREAT, 0400) = %s\n", -- sample, sprintrc(fd)); -- -- if (fd != -1) { -- close(fd); -- if (unlink(sample) == -1) -- perror_msg_and_fail("unlink"); -- -- fd = syscall(__NR_openat, -100, sample, O_RDONLY); -- printf("openat(AT_FDCWD, \"%s\", O_RDONLY) = %s\n", -- sample, sprintrc(fd)); -- } -- -+ char *my_secontext = SECONTEXT_PID_MY(); - struct { - unsigned int val; - const char *str; -@@ -105,7 +96,73 @@ - for (unsigned int m = 0; m < ARRAY_SIZE(modes); ++m) - for (unsigned int f = 0; f < ARRAY_SIZE(flags); ++f) - test_mode_flag(modes[m].val, modes[m].str, -- flags[f].val, flags[f].str); -+ flags[f].val, flags[f].str, -+ my_secontext); -+ -+ /* -+ * Tests with AT_FDCWD. -+ */ -+ -+ (void) unlink(sample); -+ long fd = syscall(__NR_openat, -100, sample, O_RDONLY|O_CREAT, 0400); -+ -+ char *sample_secontext = SECONTEXT_FILE(sample); -+ -+ /* -+ * File context in openat() is not displayed because file doesn't exist -+ * yet, but is displayed in return value since the file got created. -+ */ -+ printf("%s%s(AT_FDCWD, \"%s\", O_RDONLY|O_CREAT, 0400) = %s%s\n", -+ my_secontext, "openat", -+ sample, -+ sprintrc(fd), sample_secontext); -+ -+ close(fd); -+ -+ fd = syscall(__NR_openat, -100, sample, O_RDONLY); -+ printf("%s%s(AT_FDCWD, \"%s\"%s, O_RDONLY) = %s%s\n", -+ my_secontext, "openat", -+ sample, sample_secontext, -+ sprintrc(fd), sample_secontext); -+ if (fd != -1) { -+ close(fd); -+ if (unlink(sample)) -+ perror_msg_and_fail("unlink"); -+ } -+ -+ /* -+ * Tests with dirfd. -+ */ -+ -+ int cwd_fd = get_dir_fd("."); -+ char *cwd_secontext = SECONTEXT_FILE("."); -+ -+ fd = syscall(__NR_openat, cwd_fd, sample, O_RDONLY|O_CREAT, 0400); -+ if (fd == -1) -+ perror_msg_and_fail("openat"); -+ close(fd); -+ -+ /* -+ * File context in openat() is not displayed because file doesn't exist -+ * yet, but is displayed in return value since the file got created. -+ */ -+ printf("%s%s(%d%s, \"%s\", O_RDONLY|O_CREAT, 0400) = %s%s\n", -+ my_secontext, "openat", -+ cwd_fd, cwd_secontext, -+ sample, -+ sprintrc(fd), sample_secontext); -+ -+ fd = syscall(__NR_openat, cwd_fd, sample, O_RDONLY); -+ printf("%s%s(%d%s, \"%s\"%s, O_RDONLY) = %s%s\n", -+ my_secontext, "openat", -+ cwd_fd, cwd_secontext, -+ sample, sample_secontext, -+ sprintrc(fd), sample_secontext); -+ if (fd != -1) { -+ close(fd); -+ if (unlink(sample)) -+ perror_msg_and_fail("unlink"); -+ } - - leave_and_remove_subdir(); - -Index: strace-5.7/tests/options-syntax.test -=================================================================== ---- strace-5.7.orig/tests/options-syntax.test 2021-08-24 21:08:35.386312629 +0200 -+++ strace-5.7/tests/options-syntax.test 2021-08-24 21:08:43.265245942 +0200 -@@ -2,14 +2,16 @@ - # - # Check strace options syntax. - # --# Copyright (c) 2016 Dmitry V. Levin --# Copyright (c) 2016-2020 The strace developers. -+# Copyright (c) 2016 Dmitry V. Levin -+# Copyright (c) 2016-2021 The strace developers. - # All rights reserved. - # - # SPDX-License-Identifier: GPL-2.0-or-later - - . "${srcdir=.}/syntax.sh" - -+compiled_with_secontext=$(get_config_option ENABLE_SECONTEXT "y") -+ - check_e "Invalid process id: '0'" -p 0 - check_e "Invalid process id: '0'" --attach=0 - check_e "Invalid process id: '-42'" -p -42 -@@ -46,6 +48,8 @@ - check_e '-t and --absolute-timestamps cannot be provided simultaneously' --absolute-timestamps -ttt -p $$ - check_e '-t and --absolute-timestamps cannot be provided simultaneously' -t --timestamps=ns -t -p $$ - check_e '-t and --absolute-timestamps cannot be provided simultaneously' --timestamps=ns -t --absolute-timestamps=unix -p $$ -+[ -z "$compiled_with_secontext" ] || -+ check_h "invalid --secontext argument: 'ss'" --secontext=ss - check_h 'PROG [ARGS] must be specified with -D/--daemonize' -D -p $$ - check_h 'PROG [ARGS] must be specified with -D/--daemonize' -DD -p $$ - check_h 'PROG [ARGS] must be specified with -D/--daemonize' -DDD -p $$ -@@ -281,6 +285,11 @@ - $STRACE_EXE: Only the last of -z/--successful-only/-Z/--failed-only options will take effect. See status qualifier for more complex filters. - $STRACE_EXE: $umsg" -u :nosuchuser: -cirtTyzZ true - -+ if [ -n "$compiled_with_secontext" ]; then -+ check_e "--secontext has no effect with -c/--summary-only -+$STRACE_EXE: $umsg" -u :nosuchuser: -c --secontext true -+ fi -+ - for c in --output-separately -A/--output-append-mode; do - check_e "$c has no effect without -o/--output - $STRACE_EXE: $umsg" -u :nosuchuser: ${c%%/*} true -Index: strace-5.7/tests/secontext.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/secontext.c 2021-08-24 21:08:43.265245942 +0200 -@@ -0,0 +1,201 @@ -+/* -+ * Copyright (c) 2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+ -+#ifdef HAVE_SELINUX_RUNTIME -+ -+# include -+# include -+# include -+# include -+# include -+# include -+ -+# include "xmalloc.h" -+ -+# define TEST_SECONTEXT -+# include "secontext.h" -+ -+static char * -+secontext_format(char *context, const char *fmt) -+ ATTRIBUTE_FORMAT((printf, 2, 0)) ATTRIBUTE_MALLOC; -+ -+static char * -+secontext_format(char *context, const char *fmt) -+{ -+ int saved_errno = errno; -+ char *res = context ? xasprintf(fmt, context) : xstrdup(""); -+ free(context); -+ errno = saved_errno; -+ return res; -+} -+ -+# define FORMAT_SPACE_BEFORE(string) secontext_format(string, " [%s]") -+# define FORMAT_SPACE_AFTER(string) secontext_format(string, "[%s] ") -+ -+static char * -+strip_trailing_newlines(char *context) -+{ -+ /* -+ * On the CI at least, the context may have a trailing \n, -+ * let's remove it just in case. -+ */ -+ size_t len = strlen(context); -+ for (; len > 0; --len) { -+ if (context[len - 1] != '\n') -+ break; -+ } -+ context[len] = '\0'; -+ return context; -+} -+ -+static char * -+raw_secontext_full_file(const char *filename) -+{ -+ int saved_errno = errno; -+ char *full_secontext = NULL; -+ char *secontext; -+ -+ if (getfilecon(filename, &secontext) >= 0) { -+ full_secontext = strip_trailing_newlines(xstrdup(secontext)); -+ freecon(secontext); -+ } -+ errno = saved_errno; -+ return full_secontext; -+} -+ -+static char * -+raw_secontext_short_file(const char *filename) -+{ -+ int saved_errno = errno; -+ -+ char *ctx = raw_secontext_full_file(filename); -+ if (ctx == NULL) -+ return ctx; -+ -+ char *saveptr = NULL; -+ const char *token; -+ unsigned int i; -+ -+ char *ctx_copy = xstrdup(ctx); -+ char *context = NULL; -+ for (token = strtok_r(ctx_copy, ":", &saveptr), i = 0; -+ token; token = strtok_r(NULL, ":", &saveptr), i++) { -+ if (i == 2) { -+ context = xstrdup(token); -+ break; -+ } -+ } -+ if (context == NULL) -+ context = xstrdup(ctx); -+ free(ctx_copy); -+ free(ctx); -+ -+ errno = saved_errno; -+ return context; -+} -+ -+static char * -+raw_secontext_full_pid(pid_t pid) -+{ -+ int saved_errno = errno; -+ char *full_secontext = NULL; -+ char *secontext; -+ -+ if (getpidcon(pid, &secontext) == 0) { -+ full_secontext = strip_trailing_newlines(xstrdup(secontext)); -+ freecon(secontext); -+ } -+ errno = saved_errno; -+ return full_secontext; -+} -+ -+static char * -+raw_secontext_short_pid(pid_t pid) -+{ -+ int saved_errno = errno; -+ -+ char *ctx = raw_secontext_full_pid(pid); -+ if (ctx == NULL) -+ return ctx; -+ -+ char *saveptr = NULL; -+ const char *token; -+ int i; -+ -+ char *ctx_copy = xstrdup(ctx); -+ char *context = NULL; -+ for (token = strtok_r(ctx_copy, ":", &saveptr), i = 0; -+ token; token = strtok_r(NULL, ":", &saveptr), i++) { -+ if (i == 2) { -+ context = xstrdup(token); -+ break; -+ } -+ } -+ if (context == NULL) -+ context = xstrdup(ctx); -+ free(ctx_copy); -+ free(ctx); -+ -+ errno = saved_errno; -+ return context; -+} -+ -+char * -+secontext_full_file(const char *filename) -+{ -+ return FORMAT_SPACE_BEFORE(raw_secontext_full_file(filename)); -+} -+ -+char * -+secontext_full_pid(pid_t pid) -+{ -+ return FORMAT_SPACE_AFTER(raw_secontext_full_pid(pid)); -+} -+ -+char * -+secontext_short_file(const char *filename) -+{ -+ return FORMAT_SPACE_BEFORE(raw_secontext_short_file(filename)); -+} -+ -+char * -+secontext_short_pid(pid_t pid) -+{ -+ return FORMAT_SPACE_AFTER(raw_secontext_short_pid(pid)); -+} -+ -+void -+update_secontext_type(const char *file, const char *newtype) -+{ -+ char *ctx = raw_secontext_full_file(file); -+ if (ctx == NULL) -+ return; -+ -+ char *saveptr = NULL; -+ char *token; -+ int field; -+ char *split[4]; -+ -+ for (token = strtok_r(ctx, ":", &saveptr), field = 0; -+ token; token = strtok_r(NULL, ":", &saveptr), field++) { -+ assert(field < 4); -+ split[field] = token; -+ } -+ assert(field == 4); -+ -+ char *newcontext = xasprintf("%s:%s:%s:%s", split[0], split[1], -+ newtype, split[3]); -+ -+ (void) setfilecon(file, newcontext); -+ -+ free(newcontext); -+ free(ctx); -+} -+ -+#endif /* HAVE_SELINUX_RUNTIME */ -Index: strace-5.7/tests/secontext.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/secontext.h 2021-08-24 21:08:43.265245942 +0200 -@@ -0,0 +1,46 @@ -+/* -+ * Copyright (c) 2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+#include "xmalloc.h" -+#include -+ -+#if defined TEST_SECONTEXT && defined HAVE_SELINUX_RUNTIME -+ -+void update_secontext_type(const char *file, const char *newtype); -+ -+# ifdef PRINT_SECONTEXT_FULL -+ -+char *secontext_full_file(const char *) ATTRIBUTE_MALLOC; -+char *secontext_full_pid(pid_t) ATTRIBUTE_MALLOC; -+ -+# define SECONTEXT_FILE(filename) secontext_full_file(filename) -+# define SECONTEXT_PID(pid) secontext_full_pid(pid) -+ -+# else -+ -+char *secontext_short_file(const char *) ATTRIBUTE_MALLOC; -+char *secontext_short_pid(pid_t) ATTRIBUTE_MALLOC; -+ -+# define SECONTEXT_FILE(filename) secontext_short_file(filename) -+# define SECONTEXT_PID(pid) secontext_short_pid(pid) -+ -+# endif -+ -+#else -+ -+static inline void -+update_secontext_type(const char *file, const char *newtype) -+{ -+} -+ -+# define SECONTEXT_FILE(filename) xstrdup("") -+# define SECONTEXT_PID(pid) xstrdup("") -+ -+#endif -+ -+#define SECONTEXT_PID_MY() SECONTEXT_PID(getpid()) -Index: strace-5.7/tests/strace-V.test -=================================================================== ---- strace-5.7.orig/tests/strace-V.test 2021-08-24 21:08:35.387312620 +0200 -+++ strace-5.7/tests/strace-V.test 2021-08-24 21:08:43.266245934 +0200 -@@ -33,7 +33,9 @@ - ;; - esac - --features="${option_unwind}${option_demangle}${option_m32}${option_mx32}" -+option_secontext=$(get_config_option ENABLE_SECONTEXT " secontext") -+ -+features="${option_unwind}${option_demangle}${option_m32}${option_mx32}${option_secontext}" - [ -n "$features" ] || features=" (none)" - - cat > "$EXP" << __EOF__ -Index: strace-5.7/tests-m32/Makefile.am -=================================================================== ---- strace-5.7.orig/tests-m32/Makefile.am 2021-08-24 21:08:35.387312620 +0200 -+++ strace-5.7/tests-m32/Makefile.am 2021-08-24 21:08:43.266245934 +0200 -@@ -28,6 +28,12 @@ - -DTESTS_SIZEOF_LONG=$(SIZEOF_LONG) - AM_LDFLAGS = $(ARCH_MFLAGS) - -+if HAVE_SELINUX_RUNTIME -+libselinux_LDADD = $(libselinux_LIBS) -+else -+libselinux_LDADD = -+endif -+ - libtests_a_SOURCES = \ - create_nl_socket.c \ - create_tmpfile.c \ -@@ -54,6 +60,8 @@ - printxval-Xabbrev.c \ - printxval-Xraw.c \ - printxval-Xverbose.c \ -+ secontext.c \ -+ secontext.h \ - signal2name.c \ - skip_unavailable.c \ - sprintrc.c \ -@@ -76,7 +84,10 @@ - - include pure_executables.am - -+include secontext.am -+ - check_PROGRAMS = $(PURE_EXECUTABLES) \ -+ $(secontext_EXECUTABLES) \ - _newselect-P \ - answer \ - attach-f-p \ -Index: strace-5.7/tests-m32/access.c -=================================================================== ---- strace-5.7.orig/tests-m32/access.c 2021-08-24 21:08:35.387312620 +0200 -+++ strace-5.7/tests-m32/access.c 2021-08-24 21:08:43.266245934 +0200 -@@ -10,9 +10,12 @@ - - #ifdef __NR_access - -+# include - # include - # include - -+# include "secontext.h" -+ - int - main(void) - { -@@ -22,15 +25,27 @@ - */ - create_and_enter_subdir("access_subdir"); - -+ char *my_secontext = SECONTEXT_PID_MY(); -+ - static const char sample[] = "access_sample"; -+ (void) unlink(sample); -+ if (open(sample, O_CREAT|O_RDONLY, 0400) == -1) -+ perror_msg_and_fail("open: %s", sample); - - long rc = syscall(__NR_access, sample, F_OK); -- printf("access(\"%s\", F_OK) = %ld %s (%m)\n", -- sample, rc, errno2name()); -+ printf("%s%s(\"%s\"%s, F_OK) = %s\n", -+ my_secontext, "access", -+ sample, SECONTEXT_FILE(sample), -+ sprintrc(rc)); -+ -+ if (unlink(sample)) -+ perror_msg_and_fail("unlink: %s", sample); - - rc = syscall(__NR_access, sample, R_OK|W_OK|X_OK); -- printf("access(\"%s\", R_OK|W_OK|X_OK) = %ld %s (%m)\n", -- sample, rc, errno2name()); -+ printf("%s%s(\"%s\", R_OK|W_OK|X_OK) = %s\n", -+ my_secontext, "access", -+ sample, -+ sprintrc(rc)); - - leave_and_remove_subdir(); - -Index: strace-5.7/tests-m32/chmod.c -=================================================================== ---- strace-5.7.orig/tests-m32/chmod.c 2021-08-24 21:08:35.387312620 +0200 -+++ strace-5.7/tests-m32/chmod.c 2021-08-24 21:08:43.267245925 +0200 -@@ -16,6 +16,8 @@ - # include - # include - -+# include "secontext.h" -+ - int - main(void) - { -@@ -25,22 +27,33 @@ - */ - create_and_enter_subdir("chmod_subdir"); - -- static const char fname[] = "chmod_test_file"; -- -- if (open(fname, O_CREAT|O_RDONLY, 0400) < 0) -- perror_msg_and_fail("open"); -- -- long rc = syscall(__NR_chmod, fname, 0600); -- printf("chmod(\"%s\", 0600) = %s\n", fname, sprintrc(rc)); -- -- if (unlink(fname)) -- perror_msg_and_fail("unlink"); -- -- rc = syscall(__NR_chmod, fname, 051); -- printf("chmod(\"%s\", 051) = %s\n", fname, sprintrc(rc)); -+ char *my_secontext = SECONTEXT_PID_MY(); - -- rc = syscall(__NR_chmod, fname, 004); -- printf("chmod(\"%s\", 004) = %s\n", fname, sprintrc(rc)); -+ static const char sample[] = "chmod_test_file"; -+ (void) unlink(sample); -+ if (open(sample, O_CREAT|O_RDONLY, 0400) < 0) -+ perror_msg_and_fail("open: %s", sample); -+ -+ long rc = syscall(__NR_chmod, sample, 0600); -+ printf("%s%s(\"%s\"%s, 0600) = %s\n", -+ my_secontext, "chmod", -+ sample, SECONTEXT_FILE(sample), -+ sprintrc(rc)); -+ -+ if (unlink(sample)) -+ perror_msg_and_fail("unlink: %s", sample); -+ -+ rc = syscall(__NR_chmod, sample, 051); -+ printf("%s%s(\"%s\", 051) = %s\n", -+ my_secontext, "chmod", -+ sample, -+ sprintrc(rc)); -+ -+ rc = syscall(__NR_chmod, sample, 004); -+ printf("%s%s(\"%s\", 004) = %s\n", -+ my_secontext, "chmod", -+ sample, -+ sprintrc(rc)); - - leave_and_remove_subdir(); - -Index: strace-5.7/tests-m32/execve.c -=================================================================== ---- strace-5.7.orig/tests-m32/execve.c 2021-08-24 21:08:35.388312612 +0200 -+++ strace-5.7/tests-m32/execve.c 2021-08-24 21:08:43.267245925 +0200 -@@ -9,9 +9,12 @@ - */ - - #include "tests.h" -+#include - #include - #include - -+#include "secontext.h" -+ - static const char *errstr; - - static int -@@ -52,9 +55,16 @@ - - char ** const tail_argv = tail_memdup(argv, sizeof(argv)); - char ** const tail_envp = tail_memdup(envp, sizeof(envp)); -+ char *my_secontext = SECONTEXT_PID_MY(); -+ -+ (void) unlink(FILENAME); -+ if (open(FILENAME, O_RDONLY | O_CREAT, 0400) < 0) -+ perror_msg_and_fail("open"); -+ -+ char *FILENAME_secontext = SECONTEXT_FILE(FILENAME); - - call_execve(FILENAME, tail_argv, tail_envp); -- printf("execve(\"%s\"" -+ printf("%s%s(\"%s\"%s" - ", [\"%s\", \"%s\", \"%s\", %p, %p, %p, ... /* %p */]" - #if VERBOSE - ", [\"%s\", \"%s\", %p, %p, %p, ... /* %p */]" -@@ -62,7 +72,9 @@ - ", %p /* 5 vars, unterminated */" - #endif - ") = %s\n", -- Q_FILENAME, q_argv[0], q_argv[1], q_argv[2], -+ my_secontext, "execve", -+ Q_FILENAME, FILENAME_secontext, -+ q_argv[0], q_argv[1], q_argv[2], - argv[3], argv[4], argv[5], (char *) tail_argv + sizeof(argv) - #if VERBOSE - , q_envp[0], q_envp[1], envp[2], envp[3], envp[4], -@@ -77,14 +89,16 @@ - (void) q_envp; /* workaround for clang bug #33068 */ - - call_execve(FILENAME, tail_argv, tail_envp); -- printf("execve(\"%s\", [\"%s\", \"%s\", \"%s\"]" -+ printf("%s%s(\"%s\"%s, [\"%s\", \"%s\", \"%s\"]" - #if VERBOSE - ", [\"%s\", \"%s\"]" - #else - ", %p /* 2 vars */" - #endif - ") = %s\n", -- Q_FILENAME, q_argv[0], q_argv[1], q_argv[2] -+ my_secontext, "execve", -+ Q_FILENAME, FILENAME_secontext, -+ q_argv[0], q_argv[1], q_argv[2] - #if VERBOSE - , q_envp[0], q_envp[1] - #else -@@ -93,14 +107,16 @@ - , errstr); - - call_execve(FILENAME, tail_argv + 2, tail_envp + 1); -- printf("execve(\"%s\", [\"%s\"]" -+ printf("%s%s(\"%s\"%s, [\"%s\"]" - #if VERBOSE - ", [\"%s\"]" - #else - ", %p /* 1 var */" - #endif - ") = %s\n", -- Q_FILENAME, q_argv[2] -+ my_secontext, "execve", -+ Q_FILENAME, FILENAME_secontext, -+ q_argv[2] - #if VERBOSE - , q_envp[1] - #else -@@ -113,13 +129,15 @@ - *empty = NULL; - - call_execve(FILENAME, empty, empty); -- printf("execve(\"%s\", []" -+ printf("%s%s(\"%s\"%s, []" - #if VERBOSE - ", []" - #else - ", %p /* 0 vars */" - #endif -- ") = %s\n", Q_FILENAME -+ ") = %s\n", -+ my_secontext, "execve", -+ Q_FILENAME, FILENAME_secontext - #if !VERBOSE - , empty - #endif -@@ -143,7 +161,10 @@ - a[i] = b[i] = NULL; - - call_execve(FILENAME, a, b); -- printf("execve(\"%s\", [\"%.*s\"...", Q_FILENAME, DEFAULT_STRLEN, a[0]); -+ printf("%s%s(\"%s\"%s, [\"%.*s\"...", -+ my_secontext, "execve", -+ Q_FILENAME, FILENAME_secontext, -+ DEFAULT_STRLEN, a[0]); - for (i = 1; i < DEFAULT_STRLEN; ++i) - printf(", \"%s\"", a[i]); - #if VERBOSE -@@ -162,7 +183,10 @@ - printf(") = %s\n", errstr); - - call_execve(FILENAME, a + 1, b + 1); -- printf("execve(\"%s\", [\"%s\"", Q_FILENAME, a[1]); -+ printf("%s%s(\"%s\"%s, [\"%s\"", -+ my_secontext, "execve", -+ Q_FILENAME, FILENAME_secontext, -+ a[1]); - for (i = 2; i <= DEFAULT_STRLEN; ++i) - printf(", \"%s\"", a[i]); - #if VERBOSE -@@ -175,12 +199,17 @@ - #endif - printf(") = %s\n", errstr); - -+ if (unlink(FILENAME)) -+ perror_msg_and_fail("unlink"); -+ - call_execve(FILENAME, (char **) tail_argv[ARRAY_SIZE(q_argv)], efault); -- printf("execve(\"%s\", NULL, %p) = %s\n", -+ printf("%s%s(\"%s\", NULL, %p) = %s\n", -+ my_secontext, "execve", - Q_FILENAME, efault, errstr); - - call_execve(FILENAME, efault, NULL); -- printf("execve(\"%s\", %p, NULL) = %s\n", -+ printf("%s%s(\"%s\", %p, NULL) = %s\n", -+ my_secontext, "execve", - Q_FILENAME, efault, errstr); - - leave_and_remove_subdir(); -Index: strace-5.7/tests-m32/execve.test -=================================================================== ---- strace-5.7.orig/tests-m32/execve.test 2021-08-24 21:08:35.388312612 +0200 -+++ strace-5.7/tests-m32/execve.test 2021-08-24 21:08:43.268245917 +0200 -@@ -11,7 +11,7 @@ - - check_prog grep - run_prog > /dev/null --run_strace -eexecve $args > "$EXP" -+run_strace -eexecve "$@" $args > "$EXP" - - # Filter out execve() call made by strace. - grep -F test.execve < "$LOG" > "$OUT" -Index: strace-5.7/tests-m32/execveat.c -=================================================================== ---- strace-5.7.orig/tests-m32/execveat.c 2021-08-24 21:08:35.388312612 +0200 -+++ strace-5.7/tests-m32/execveat.c 2021-08-24 21:08:43.268245917 +0200 -@@ -13,9 +13,102 @@ - - #ifdef __NR_execveat - -+# include - # include - # include - -+# include "secontext.h" -+ -+static void -+tests_with_existing_file(void) -+{ -+ /* -+ * Make sure the current workdir of the tracee -+ * is different from the current workdir of the tracer. -+ */ -+ create_and_enter_subdir("execveat_subdir"); -+ -+ char *my_secontext = SECONTEXT_PID_MY(); -+ -+ static const char sample[] = "execveat_sample"; -+ (void) unlink(sample); -+ if (open(sample, O_RDONLY | O_CREAT, 0400) < 0) -+ perror_msg_and_fail("open"); -+ -+ char *sample_secontext = SECONTEXT_FILE(sample); -+ static const char *argv[] = { sample, NULL }; -+ -+ /* -+ * Tests with AT_FDCWD. -+ */ -+ -+ long rc = syscall(__NR_execveat, -100, sample, argv, NULL, 0); -+ printf("%s%s(AT_FDCWD, \"%s\"%s, [\"%s\"], NULL, 0) = %s\n", -+ my_secontext, "execveat", -+ sample, sample_secontext, -+ argv[0], -+ sprintrc(rc)); -+ -+ if (unlink(sample)) -+ perror_msg_and_fail("unlink"); -+ -+ rc = syscall(__NR_execveat, -100, sample, argv, NULL, 0); -+ printf("%s%s(AT_FDCWD, \"%s\", [\"%s\"], NULL, 0) = %s\n", -+ my_secontext, "execveat", -+ sample, -+ argv[0], -+ sprintrc(rc)); -+ -+ /* -+ * Tests with dirfd. -+ */ -+ -+ int cwd_fd = get_dir_fd("."); -+ char *cwd = get_fd_path(cwd_fd); -+ char *cwd_secontext = SECONTEXT_FILE("."); -+ char *sample_realpath = xasprintf("%s/%s", cwd, sample); -+ -+ /* no file */ -+ rc = syscall(__NR_execveat, cwd_fd, sample, argv, NULL, 0); -+ printf("%s%s(%d%s, \"%s\", [\"%s\"], NULL, 0) = %s\n", -+ my_secontext, "execveat", -+ cwd_fd, cwd_secontext, -+ sample, -+ argv[0], -+ sprintrc(rc)); -+ -+ if (open(sample, O_RDONLY | O_CREAT, 0400) < 0) -+ perror_msg_and_fail("open"); -+ -+ rc = syscall(__NR_execveat, cwd_fd, sample, argv, NULL, 0); -+ printf("%s%s(%d%s, \"%s\"%s, [\"%s\"], NULL, 0) = %s\n", -+ my_secontext, "execveat", -+ cwd_fd, cwd_secontext, -+ sample, sample_secontext, -+ argv[0], -+ sprintrc(rc)); -+ -+ /* cwd_fd ignored when path is absolute */ -+ if (chdir("../..")) -+ perror_msg_and_fail("chdir"); -+ -+ rc = syscall(__NR_execveat, cwd_fd, sample_realpath, argv, NULL, 0); -+ printf("%s%s(%d%s, \"%s\"%s, [\"%s\"], NULL, 0) = %s\n", -+ my_secontext, "execveat", -+ cwd_fd, cwd_secontext, -+ sample_realpath, sample_secontext, -+ argv[0], -+ sprintrc(rc)); -+ -+ if (fchdir(cwd_fd)) -+ perror_msg_and_fail("fchdir"); -+ -+ if (unlink(sample)) -+ perror_msg_and_fail("unlink"); -+ -+ leave_and_remove_subdir(); -+} -+ - # define FILENAME "test.execveat\nfilename" - # define Q_FILENAME "test.execveat\\nfilename" - -@@ -40,9 +133,10 @@ - { - const char ** const tail_argv = tail_memdup(argv, sizeof(argv)); - const char ** const tail_envp = tail_memdup(envp, sizeof(envp)); -+ char *my_secontext = SECONTEXT_PID_MY(); - - syscall(__NR_execveat, -100, FILENAME, tail_argv, tail_envp, 0x1100); -- printf("execveat(AT_FDCWD, \"%s\"" -+ printf("%s%s(AT_FDCWD, \"%s\"" - ", [\"%s\", \"%s\", \"%s\", %p, %p, %p, ... /* %p */]" - # if VERBOSE - ", [\"%s\", \"%s\", %p, %p, %p, ... /* %p */]" -@@ -50,6 +144,7 @@ - ", %p /* 5 vars, unterminated */" - # endif - ", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n", -+ my_secontext, "execveat", - Q_FILENAME, q_argv[0], q_argv[1], q_argv[2], - argv[3], argv[4], argv[5], (char *) tail_argv + sizeof(argv), - # if VERBOSE -@@ -65,13 +160,14 @@ - (void) q_envp; /* workaround for clang bug #33068 */ - - syscall(__NR_execveat, -100, FILENAME, tail_argv, tail_envp, 0x1100); -- printf("execveat(AT_FDCWD, \"%s\", [\"%s\", \"%s\", \"%s\"]" -+ printf("%s%s(AT_FDCWD, \"%s\", [\"%s\", \"%s\", \"%s\"]" - # if VERBOSE - ", [\"%s\", \"%s\"]" - # else - ", %p /* 2 vars */" - # endif - ", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n", -+ my_secontext, "execveat", - Q_FILENAME, q_argv[0], q_argv[1], q_argv[2], - # if VERBOSE - q_envp[0], q_envp[1], -@@ -81,13 +177,14 @@ - errno2name()); - - syscall(__NR_execveat, -100, FILENAME, tail_argv + 2, tail_envp + 1, 0x1100); -- printf("execveat(AT_FDCWD, \"%s\", [\"%s\"]" -+ printf("%s%s(AT_FDCWD, \"%s\", [\"%s\"]" - # if VERBOSE - ", [\"%s\"]" - # else - ", %p /* 1 var */" - # endif - ", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n", -+ my_secontext, "execveat", - Q_FILENAME, q_argv[2], - # if VERBOSE - q_envp[1], -@@ -101,13 +198,14 @@ - *empty = NULL; - - syscall(__NR_execveat, -100, FILENAME, empty, empty, 0x1100); -- printf("execveat(AT_FDCWD, \"%s\", []" -+ printf("%s%s(AT_FDCWD, \"%s\", []" - # if VERBOSE - ", []" - # else - ", %p /* 0 vars */" - # endif - ", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n", -+ my_secontext, "execveat", - Q_FILENAME, - # if !VERBOSE - empty, -@@ -132,7 +230,9 @@ - a[i] = b[i] = NULL; - - syscall(__NR_execveat, -100, FILENAME, a, b, 0x1100); -- printf("execveat(AT_FDCWD, \"%s\", [\"%.*s\"...", Q_FILENAME, DEFAULT_STRLEN, a[0]); -+ printf("%s%s(AT_FDCWD, \"%s\", [\"%.*s\"...", -+ my_secontext, "execveat", -+ Q_FILENAME, DEFAULT_STRLEN, a[0]); - for (i = 1; i < DEFAULT_STRLEN; ++i) - printf(", \"%s\"", a[i]); - # if VERBOSE -@@ -152,7 +252,9 @@ - errno2name()); - - syscall(__NR_execveat, -100, FILENAME, a + 1, b + 1, 0x1100); -- printf("execveat(AT_FDCWD, \"%s\", [\"%s\"", Q_FILENAME, a[1]); -+ printf("%s%s(AT_FDCWD, \"%s\", [\"%s\"", -+ my_secontext, "execveat", -+ Q_FILENAME, a[1]); - for (i = 2; i <= DEFAULT_STRLEN; ++i) - printf(", \"%s\"", a[i]); - # if VERBOSE -@@ -167,15 +269,19 @@ - errno2name()); - - syscall(__NR_execveat, -100, FILENAME, NULL, efault, 0x1100); -- printf("execveat(AT_FDCWD, \"%s\", NULL, %p" -+ printf("%s%s(AT_FDCWD, \"%s\", NULL, %p" - ", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n", -+ my_secontext, "execveat", - Q_FILENAME, efault, errno2name()); - - syscall(__NR_execveat, -100, FILENAME, efault, NULL, 0x1100); -- printf("execveat(AT_FDCWD, \"%s\", %p, NULL" -+ printf("%s%s(AT_FDCWD, \"%s\", %p, NULL" - ", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n", -+ my_secontext, "execveat", - Q_FILENAME, efault, errno2name()); - -+ tests_with_existing_file(); -+ - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-m32/faccessat.c -=================================================================== ---- strace-5.7.orig/tests-m32/faccessat.c 2021-08-24 21:08:35.389312604 +0200 -+++ strace-5.7/tests-m32/faccessat.c 2021-08-24 21:08:43.269245908 +0200 -@@ -12,12 +12,16 @@ - - #ifdef __NR_faccessat - --# include "xmalloc.h" - # include - # include - # include - --# ifndef FD_PATH -+# include "secontext.h" -+# include "xmalloc.h" -+ -+# ifdef FD_PATH -+# define YFLAG -+# else - # define FD_PATH "" - # endif - # ifndef SKIP_IF_PROC_IS_UNAVAILABLE -@@ -43,11 +47,130 @@ - return rc; - } - -+# ifndef PATH_TRACING -+static void -+tests_with_existing_file(void) -+{ -+ /* -+ * Make sure the current workdir of the tracee -+ * is different from the current workdir of the tracer. -+ */ -+ create_and_enter_subdir("faccessat_subdir"); -+ -+ char *my_secontext = SECONTEXT_PID_MY(); -+ -+ k_faccessat(-1, NULL, F_OK); -+ printf("%s%s(-1, NULL, F_OK) = %s\n", -+ my_secontext, "faccessat", errstr); -+ -+ static const char sample[] = "faccessat_sample"; -+ (void) unlink(sample); -+ int fd = open(sample, O_CREAT|O_RDONLY, 0400); -+ if (fd == -1) -+ perror_msg_and_fail("open"); -+ close(fd); -+ char *sample_secontext = SECONTEXT_FILE(sample); -+ -+ /* -+ * Tests with AT_FDCWD. -+ */ -+ -+ k_faccessat(-100, sample, F_OK); -+ printf("%s%s(AT_FDCWD, \"%s\"%s, F_OK) = %s\n", -+ my_secontext, "faccessat", -+ sample, sample_secontext, -+ errstr); -+ -+ if (unlink(sample)) -+ perror_msg_and_fail("unlink"); -+ -+ k_faccessat(-100, sample, F_OK); -+ printf("%s%s(AT_FDCWD, \"%s\", F_OK) = %s\n", -+ my_secontext, "faccessat", -+ sample, -+ errstr); -+ -+ /* -+ * Tests with dirfd. -+ */ -+ -+ int cwd_fd = get_dir_fd("."); -+ char *cwd = get_fd_path(cwd_fd); -+ char *cwd_secontext = SECONTEXT_FILE("."); -+ char *sample_realpath = xasprintf("%s/%s", cwd, sample); -+ -+ /* no file */ -+ k_faccessat(cwd_fd, sample, F_OK); -+# ifdef YFLAG -+ printf("%s%s(%d<%s>%s, \"%s\", F_OK) = %s\n", -+# else -+ printf("%s%s(%d%s, \"%s\", F_OK) = %s\n", -+# endif -+ my_secontext, "faccessat", -+ cwd_fd, -+# ifdef YFLAG -+ cwd, -+# endif -+ cwd_secontext, -+ sample, -+ errstr); -+ -+ fd = open(sample, O_CREAT|O_RDONLY, 0400); -+ if (fd == -1) -+ perror_msg_and_fail("open"); -+ close(fd); -+ -+ k_faccessat(cwd_fd, sample, F_OK); -+# ifdef YFLAG -+ printf("%s%s(%d<%s>%s, \"%s\"%s, F_OK) = %s\n", -+# else -+ printf("%s%s(%d%s, \"%s\"%s, F_OK) = %s\n", -+# endif -+ my_secontext, "faccessat", -+ cwd_fd, -+# ifdef YFLAG -+ cwd, -+# endif -+ cwd_secontext, -+ sample, sample_secontext, -+ errstr); -+ -+ /* cwd_fd ignored when path is absolute */ -+ if (chdir("../..")) -+ perror_msg_and_fail("chdir"); -+ -+ k_faccessat(cwd_fd, sample_realpath, F_OK); -+# ifdef YFLAG -+ printf("%s%s(%d<%s>%s, \"%s\"%s, F_OK) = %s\n", -+# else -+ printf("%s%s(%d%s, \"%s\"%s, F_OK) = %s\n", -+# endif -+ my_secontext, "faccessat", -+ cwd_fd, -+# ifdef YFLAG -+ cwd, -+# endif -+ cwd_secontext, -+ sample_realpath, sample_secontext, -+ errstr); -+ -+ if (fchdir(cwd_fd)) -+ perror_msg_and_fail("fchdir"); -+ -+ if (unlink(sample)) -+ perror_msg_and_fail("unlink"); -+ -+ leave_and_remove_subdir(); -+} -+# endif -+ - int - main(void) - { - SKIP_IF_PROC_IS_UNAVAILABLE; - -+# ifndef TEST_SECONTEXT -+ - TAIL_ALLOC_OBJECT_CONST_PTR(const char, unterminated); - char *unterminated_str = xasprintf("%p", unterminated); - const void *const efault = unterminated + 1; -@@ -120,10 +243,10 @@ - k_faccessat(dirfds[dirfd_i].val, - paths[path_i].val, - modes[mode_i].val); --# ifdef PATH_TRACING -+# ifdef PATH_TRACING - if (dirfds[dirfd_i].val == fd || - paths[path_i].val == fd_path) --# endif -+# endif - printf("faccessat(%s, %s, %s) = %s\n", - dirfds[dirfd_i].str, - paths[path_i].str, -@@ -133,6 +256,12 @@ - } - } - -+# endif /* !TEST_SECONTEXT */ -+ -+# ifndef PATH_TRACING -+ tests_with_existing_file(); -+# endif -+ - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-m32/faccessat.test -=================================================================== ---- strace-5.7.orig/tests-m32/faccessat.test 2021-08-24 21:08:35.389312604 +0200 -+++ strace-5.7/tests-m32/faccessat.test 2021-08-24 21:08:43.269245908 +0200 -@@ -15,5 +15,5 @@ - run_strace -a23 --trace=faccessat "$@" $args > "$EXP" - - # Filter out faccessat() calls made by ld.so and libc. --sed -n '/^faccessat(-1, NULL,/,$p' < "$LOG" > "$OUT" -+sed -n '/faccessat(-1, NULL,/,$p' < "$LOG" > "$OUT" - match_diff "$OUT" "$EXP" -Index: strace-5.7/tests-m32/fanotify_mark.c -=================================================================== ---- strace-5.7.orig/tests-m32/fanotify_mark.c 2021-08-24 21:07:01.122112055 +0200 -+++ strace-5.7/tests-m32/fanotify_mark.c 2021-08-24 21:08:43.269245908 +0200 -@@ -3,7 +3,7 @@ - * - * Copyright (c) 2015-2016 Dmitry V. Levin - * Copyright (c) 2016 Eugene Syromyatnikov -- * Copyright (c) 2015-2020 The strace developers. -+ * Copyright (c) 2015-2021 The strace developers. - * All rights reserved. - * - * SPDX-License-Identifier: GPL-2.0-or-later -@@ -21,6 +21,8 @@ - # include - # include - -+# include "secontext.h" -+ - # if XLAT_RAW - # define str_fan_mark_add "0x1" - # define str_fan_modify_ondir "0x40000002" -@@ -35,6 +37,7 @@ - # define str_at_fdcwd "AT_FDCWD" - # endif - -+# ifndef TEST_SECONTEXT - /* Performs fanotify_mark call via the syscall interface. */ - static void - do_call(kernel_ulong_t fd, kernel_ulong_t flags, const char *flags_str, -@@ -44,18 +47,18 @@ - long rc; - - rc = syscall(__NR_fanotify_mark, fd, flags, --# if (LONG_MAX > INT_MAX) \ -- || (defined __x86_64__ && defined __ILP32__) \ -- || defined LINUX_MIPSN32 -+# if (LONG_MAX > INT_MAX) \ -+ || (defined __x86_64__ && defined __ILP32__) \ -+ || defined LINUX_MIPSN32 - mask, --# else -+# else - /* arch/parisc/kernel/sys_parisc32.c, commit ab8a261b */ --# ifdef HPPA -+# ifdef HPPA - LL_VAL_TO_PAIR((mask << 32) | (mask >> 32)), --# else -+# else - LL_VAL_TO_PAIR(mask), -+# endif - # endif --# endif - dirfd, path); - - printf("fanotify_mark(%d, %s, %s, %s, %s) = %s\n", -@@ -68,12 +71,14 @@ - const char *str; - }; - --# define STR16 "0123456789abcdef" --# define STR64 STR16 STR16 STR16 STR16 -+# define STR16 "0123456789abcdef" -+# define STR64 STR16 STR16 STR16 STR16 -+# endif /* !TEST_SECONTEXT */ - - int - main(void) - { -+# ifndef TEST_SECONTEXT - enum { - PATH1_SIZE = 64, - }; -@@ -87,47 +92,47 @@ - { F8ILL_KULONG_MASK, "0" }, - { (kernel_ulong_t) 0xdec0deddefacec00ULL, - "0xefacec00" --# if !XLAT_RAW -+# if !XLAT_RAW - " /* FAN_MARK_??? */" --# endif -+# endif - }, - { (kernel_ulong_t) 0xda7a105700000040ULL, --# if XLAT_RAW -+# if XLAT_RAW - "0x40" --# elif XLAT_VERBOSE -+# elif XLAT_VERBOSE - "0x40 /* FAN_MARK_IGNORED_SURV_MODIFY */" --# else -+# else - "FAN_MARK_IGNORED_SURV_MODIFY" --# endif -+# endif - }, - { (kernel_ulong_t) 0xbadc0deddeadffffULL, --# if XLAT_RAW || XLAT_VERBOSE -+# if XLAT_RAW || XLAT_VERBOSE - "0xdeadffff" --# endif --# if XLAT_VERBOSE -+# endif -+# if XLAT_VERBOSE - " /* " --# endif --# if !XLAT_RAW -+# endif -+# if !XLAT_RAW - "FAN_MARK_ADD|FAN_MARK_REMOVE|FAN_MARK_DONT_FOLLOW|" - "FAN_MARK_ONLYDIR|FAN_MARK_MOUNT|FAN_MARK_IGNORED_MASK|" - "FAN_MARK_IGNORED_SURV_MODIFY|FAN_MARK_FLUSH|" - "FAN_MARK_FILESYSTEM|0xdeadfe00" --# endif --# if XLAT_VERBOSE -+# endif -+# if XLAT_VERBOSE - " */" --# endif -+# endif - }, - }; - static const struct strval64 masks[] = { - { ARG_ULL_STR(0) }, - { 0xdeadfeedffffffffULL, --# if XLAT_RAW || XLAT_VERBOSE -+# if XLAT_RAW || XLAT_VERBOSE - "0xdeadfeedffffffff" --# endif --# if XLAT_VERBOSE -+# endif -+# if XLAT_VERBOSE - " /* " --# endif --# if !XLAT_RAW -+# endif -+# if !XLAT_RAW - "FAN_ACCESS|" - "FAN_MODIFY|" - "FAN_ATTRIB|" -@@ -149,27 +154,27 @@ - "FAN_ONDIR|" - "FAN_EVENT_ON_CHILD|" - "0xdeadfeedb7f0a000" --# endif --# if XLAT_VERBOSE -+# endif -+# if XLAT_VERBOSE - " */" --# endif -+# endif - }, - { ARG_ULL_STR(0xffffffffb7f0a000) --# if !XLAT_RAW -+# if !XLAT_RAW - " /* FAN_??? */" --# endif -+# endif - }, - }; - static const struct strval dirfds[] = { - { (kernel_ulong_t) 0xfacefeed00000001ULL, "1" }, - { (kernel_ulong_t) 0xdec0ded0ffffffffULL, --# if XLAT_RAW -+# if XLAT_RAW - "-1" --# elif XLAT_VERBOSE -+# elif XLAT_VERBOSE - "-1 /* FAN_NOFD */" --# else -+# else - "FAN_NOFD" --# endif -+# endif - }, - { (kernel_ulong_t) 0xbadfacedffffff9cULL, str_at_fdcwd }, - { (kernel_ulong_t) 0xdefaced1beeff00dULL, "-1091571699" }, -@@ -202,12 +207,6 @@ - snprintf(bogus_path1_after_addr, sizeof(bogus_path1_after_addr), "%p", - bogus_path1 + PATH1_SIZE); - -- rc = fanotify_mark(-1, FAN_MARK_ADD, FAN_MODIFY | FAN_ONDIR, -- -100, "."); -- printf("fanotify_mark(-1, %s, %s, %s, \".\") = %s\n", -- str_fan_mark_add, str_fan_modify_ondir, str_at_fdcwd, -- sprintrc(rc)); -- - for (i = 0; i < ARRAY_SIZE(fds); i++) { - for (j = 0; j < ARRAY_SIZE(flags); j++) { - for (k = 0; k < ARRAY_SIZE(masks); k++) { -@@ -226,6 +225,40 @@ - } - } - } -+# else /* TEST_SECONTEXT */ -+ int rc; -+# endif -+ /* -+ * Test with AT_FDCWD. -+ */ -+ -+ char *my_secontext = SECONTEXT_PID_MY(); -+ char path[] = "."; -+ char *path_secontext = SECONTEXT_FILE(path); -+ -+ rc = fanotify_mark(-1, FAN_MARK_ADD, FAN_MODIFY | FAN_ONDIR, -+ -100, path); -+ printf("%s%s(-1, %s, %s, %s, \"%s\"%s) = %s\n", -+ my_secontext, "fanotify_mark", -+ str_fan_mark_add, str_fan_modify_ondir, str_at_fdcwd, -+ path, path_secontext, -+ sprintrc(rc)); -+ -+ /* -+ * Test with dirfd. -+ */ -+ -+ int cwd_fd = get_dir_fd("."); -+ char *cwd_secontext = SECONTEXT_FILE("."); -+ -+ rc = fanotify_mark(-1, FAN_MARK_ADD, FAN_MODIFY | FAN_ONDIR, -+ cwd_fd, path); -+ printf("%s%s(-1, %s, %s, %d%s, \"%s\"%s) = %s\n", -+ my_secontext, "fanotify_mark", -+ str_fan_mark_add, str_fan_modify_ondir, -+ cwd_fd, cwd_secontext, -+ path, path_secontext, -+ sprintrc(rc)); - - puts("+++ exited with 0 +++"); - return 0; -Index: strace-5.7/tests-m32/fchmod.c -=================================================================== ---- strace-5.7.orig/tests-m32/fchmod.c 2021-08-24 21:08:35.389312604 +0200 -+++ strace-5.7/tests-m32/fchmod.c 2021-08-24 21:08:43.270245900 +0200 -@@ -18,6 +18,8 @@ - # include - # include - -+# include "secontext.h" -+ - int - main(void) - { -@@ -27,6 +29,8 @@ - */ - create_and_enter_subdir("fchmod_subdir"); - -+ char *my_secontext = SECONTEXT_PID_MY(); -+ - static const char sample[] = "fchmod_sample_file"; - (void) unlink(sample); - int fd = open(sample, O_CREAT|O_RDONLY, 0400); -@@ -37,16 +41,19 @@ - char *sample_realpath = get_fd_path(fd); - # endif - -+ const char *sample_secontext = SECONTEXT_FILE(sample); - long rc = syscall(__NR_fchmod, fd, 0600); - # ifdef YFLAG -- printf("fchmod(%d<%s>, 0600) = %s\n", -+ printf("%s%s(%d<%s>%s, 0600) = %s\n", - # else -- printf("fchmod(%d, 0600) = %s\n", -+ printf("%s%s(%d%s, 0600) = %s\n", - # endif -+ my_secontext, "fchmod", - fd, - # ifdef YFLAG - sample_realpath, - # endif -+ sample_secontext, - sprintrc(rc)); - - if (unlink(sample)) -@@ -54,26 +61,30 @@ - - rc = syscall(__NR_fchmod, fd, 051); - # ifdef YFLAG -- printf("fchmod(%d<%s (deleted)>, 051) = %s\n", -+ printf("%s%s(%d<%s (deleted)>%s, 051) = %s\n", - # else -- printf("fchmod(%d, 051) = %s\n", -+ printf("%s%s(%d%s, 051) = %s\n", - # endif -+ my_secontext, "fchmod", - fd, - # ifdef YFLAG - sample_realpath, - # endif -+ sample_secontext, - sprintrc(rc)); - - rc = syscall(__NR_fchmod, fd, 004); - # ifdef YFLAG -- printf("fchmod(%d<%s (deleted)>, 004) = %s\n", -+ printf("%s%s(%d<%s (deleted)>%s, 004) = %s\n", - # else -- printf("fchmod(%d, 004) = %s\n", -+ printf("%s%s(%d%s, 004) = %s\n", - # endif -+ my_secontext, "fchmod", - fd, - # ifdef YFLAG - sample_realpath, - # endif -+ sample_secontext, - sprintrc(rc)); - - leave_and_remove_subdir(); -Index: strace-5.7/tests-m32/fchmodat.c -=================================================================== ---- strace-5.7.orig/tests-m32/fchmodat.c 2021-08-24 21:08:35.390312595 +0200 -+++ strace-5.7/tests-m32/fchmodat.c 2021-08-24 21:08:43.270245900 +0200 -@@ -17,6 +17,8 @@ - # include - # include - -+# include "secontext.h" -+ - int - main(void) - { -@@ -26,26 +28,81 @@ - */ - create_and_enter_subdir("fchmodat_subdir"); - -- static const char sample[] = "fchmodat_sample"; -+ char *my_secontext = SECONTEXT_PID_MY(); - -+ static const char sample[] = "fchmodat_sample_file"; - if (open(sample, O_RDONLY | O_CREAT, 0400) < 0) - perror_msg_and_fail("open"); - -+ char *sample_secontext = SECONTEXT_FILE(sample); -+ -+ /* -+ * Tests with AT_FDCWD. -+ */ -+ - long rc = syscall(__NR_fchmodat, -100, sample, 0600); -- printf("fchmodat(AT_FDCWD, \"%s\", 0600) = %s\n", -- sample, sprintrc(rc)); -+ printf("%s%s(AT_FDCWD, \"%s\"%s, 0600) = %s\n", -+ my_secontext, "fchmodat", -+ sample, sample_secontext, -+ sprintrc(rc)); - - if (unlink(sample)) - perror_msg_and_fail("unlink"); - - rc = syscall(__NR_fchmodat, -100, sample, 051); -- printf("fchmodat(AT_FDCWD, \"%s\", 051) = %s\n", -+ printf("%s%s(AT_FDCWD, \"%s\", 051) = %s\n", -+ my_secontext, "fchmodat", - sample, sprintrc(rc)); - - rc = syscall(__NR_fchmodat, -100, sample, 004); -- printf("fchmodat(AT_FDCWD, \"%s\", 004) = %s\n", -+ printf("%s%s(AT_FDCWD, \"%s\", 004) = %s\n", -+ my_secontext, "fchmodat", - sample, sprintrc(rc)); - -+ /* -+ * Tests with dirfd. -+ */ -+ -+ int cwd_fd = get_dir_fd("."); -+ char *cwd = get_fd_path(cwd_fd); -+ char *cwd_secontext = SECONTEXT_FILE("."); -+ char *sample_realpath = xasprintf("%s/%s", cwd, sample); -+ -+ /* no file */ -+ rc = syscall(__NR_fchmodat, cwd_fd, sample, 0400); -+ printf("%s%s(%d%s, \"%s\", 0400) = %s\n", -+ my_secontext, "fchmodat", -+ cwd_fd, cwd_secontext, -+ sample, -+ sprintrc(rc)); -+ -+ if (open(sample, O_RDONLY | O_CREAT, 0400) < 0) -+ perror_msg_and_fail("open"); -+ -+ rc = syscall(__NR_fchmodat, cwd_fd, sample, 0400); -+ printf("%s%s(%d%s, \"%s\"%s, 0400) = %s\n", -+ my_secontext, "fchmodat", -+ cwd_fd, cwd_secontext, -+ sample, sample_secontext, -+ sprintrc(rc)); -+ -+ /* cwd_fd ignored when path is absolute */ -+ if (chdir("../..")) -+ perror_msg_and_fail("chdir"); -+ -+ rc = syscall(__NR_fchmodat, cwd_fd, sample_realpath, 0400); -+ printf("%s%s(%d%s, \"%s\"%s, 0400) = %s\n", -+ my_secontext, "fchmodat", -+ cwd_fd, cwd_secontext, -+ sample_realpath, sample_secontext, -+ sprintrc(rc)); -+ -+ if (fchdir(cwd_fd)) -+ perror_msg_and_fail("fchdir"); -+ -+ if (unlink(sample)) -+ perror_msg_and_fail("unlink"); -+ - leave_and_remove_subdir(); - - puts("+++ exited with 0 +++"); -Index: strace-5.7/tests-m32/fchownat.c -=================================================================== ---- strace-5.7.orig/tests-m32/fchownat.c 2021-08-24 21:08:35.390312595 +0200 -+++ strace-5.7/tests-m32/fchownat.c 2021-08-24 21:08:43.270245900 +0200 -@@ -17,6 +17,8 @@ - # include - # include - -+# include "secontext.h" -+ - int - main(void) - { -@@ -26,25 +28,86 @@ - */ - create_and_enter_subdir("fchownat_subdir"); - -- static const char sample[] = "fchownat_sample"; -+ char *my_secontext = SECONTEXT_PID_MY(); - uid_t uid = geteuid(); - uid_t gid = getegid(); - -- if (open(sample, O_RDONLY | O_CREAT, 0400) == -1) -+ static const char sample[] = "fchownat_sample"; -+ int fd = open(sample, O_RDONLY | O_CREAT, 0400); -+ if (fd == -1) - perror_msg_and_fail("open"); -+ close(fd); -+ -+ char *sample_secontext = SECONTEXT_FILE(sample); -+ -+ /* -+ * Tests with AT_FDCWD. -+ */ - - long rc = syscall(__NR_fchownat, AT_FDCWD, sample, uid, gid, 0); -- printf("fchownat(AT_FDCWD, \"%s\", %d, %d, 0) = %s\n", -- sample, uid, gid, sprintrc(rc)); -+ printf("%s%s(AT_FDCWD, \"%s\"%s, %d, %d, 0) = %s\n", -+ my_secontext, "fchownat", -+ sample, sample_secontext, -+ uid, gid, sprintrc(rc)); - - if (unlink(sample)) - perror_msg_and_fail("unlink"); - - rc = syscall(__NR_fchownat, AT_FDCWD, - sample, -1, -1L, AT_SYMLINK_NOFOLLOW); -- printf("fchownat(AT_FDCWD, \"%s\", -1, -1, AT_SYMLINK_NOFOLLOW) = %s\n", -+ printf("%s%s(AT_FDCWD, \"%s\", -1, -1, AT_SYMLINK_NOFOLLOW) = %s\n", -+ my_secontext, "fchownat", - sample, sprintrc(rc)); - -+ /* -+ * Tests with dirfd. -+ */ -+ -+ int cwd_fd = get_dir_fd("."); -+ char *cwd = get_fd_path(cwd_fd); -+ char *cwd_secontext = SECONTEXT_FILE("."); -+ char *sample_realpath = xasprintf("%s/%s", cwd, sample); -+ -+ /* no file */ -+ rc = syscall(__NR_fchownat, cwd_fd, sample, uid, gid, 0); -+ printf("%s%s(%d%s, \"%s\", %d, %d, 0) = %s\n", -+ my_secontext, "fchownat", -+ cwd_fd, cwd_secontext, -+ sample, -+ uid, gid, -+ sprintrc(rc)); -+ -+ fd = open(sample, O_RDONLY | O_CREAT, 0400); -+ if (fd == -1) -+ perror_msg_and_fail("open"); -+ close(fd); -+ -+ rc = syscall(__NR_fchownat, cwd_fd, sample, uid, gid, 0); -+ printf("%s%s(%d%s, \"%s\"%s, %d, %d, 0) = %s\n", -+ my_secontext, "fchownat", -+ cwd_fd, cwd_secontext, -+ sample, sample_secontext, -+ uid, gid, -+ sprintrc(rc)); -+ -+ /* cwd_fd ignored when path is absolute */ -+ if (chdir("../..")) -+ perror_msg_and_fail("chdir"); -+ -+ rc = syscall(__NR_fchownat, cwd_fd, sample_realpath, uid, gid, 0); -+ printf("%s%s(%d%s, \"%s\"%s, %d, %d, 0) = %s\n", -+ my_secontext, "fchownat", -+ cwd_fd, cwd_secontext, -+ sample_realpath, sample_secontext, -+ uid, gid, -+ sprintrc(rc)); -+ -+ if (fchdir(cwd_fd)) -+ perror_msg_and_fail("fchdir"); -+ -+ if (unlink(sample)) -+ perror_msg_and_fail("unlink"); -+ - leave_and_remove_subdir(); - - puts("+++ exited with 0 +++"); -Index: strace-5.7/tests-m32/file_handle.c -=================================================================== ---- strace-5.7.orig/tests-m32/file_handle.c 2021-08-24 21:08:35.390312595 +0200 -+++ strace-5.7/tests-m32/file_handle.c 2021-08-24 21:08:43.271245891 +0200 -@@ -21,6 +21,8 @@ - # include - # include - -+# include "secontext.h" -+ - enum assert_rc { - ASSERT_NONE, - ASSERT_SUCCESS, -@@ -48,6 +50,7 @@ - printf("..."); - } - -+# ifndef TEST_SECONTEXT - void - do_name_to_handle_at(kernel_ulong_t dirfd, const char *dirfd_str, - kernel_ulong_t pathname, const char *pathname_str, -@@ -129,6 +132,7 @@ - - printf("%s\n", sprintrc(rc)); - } -+# endif /* !TEST_SECONTEXT */ - - struct strval { - kernel_ulong_t val; -@@ -141,12 +145,86 @@ - int - main(void) - { -+ char *my_secontext = SECONTEXT_PID_MY(); - enum { - PATH1_SIZE = 64, - }; - - static const kernel_ulong_t fdcwd = - (kernel_ulong_t) 0x87654321ffffff9cULL; -+ -+ struct file_handle *handle = -+ tail_alloc(sizeof(struct file_handle) + MAX_HANDLE_SZ); -+ struct file_handle *handle_0 = -+ tail_alloc(sizeof(struct file_handle) + 0); -+ struct file_handle *handle_8 = -+ tail_alloc(sizeof(struct file_handle) + 8); -+ struct file_handle *handle_128 = -+ tail_alloc(sizeof(struct file_handle) + 128); -+ struct file_handle *handle_256 = -+ tail_alloc(sizeof(struct file_handle) + 256); -+ TAIL_ALLOC_OBJECT_CONST_PTR(int, bogus_mount_id); -+ -+ char handle_0_addr[sizeof("0x") + sizeof(void *) * 2]; -+ -+ const int flags = 0x400; -+ int mount_id; -+ -+ handle_0->handle_bytes = 256; -+ handle_8->handle_bytes = 0; -+ handle_128->handle_bytes = 128; -+ handle_256->handle_bytes = 256; -+ -+ fill_memory((char *) handle_128 + sizeof(struct file_handle), 128); -+ fill_memory((char *) handle_256 + sizeof(struct file_handle), 256); -+ -+ snprintf(handle_0_addr, sizeof(handle_0_addr), "%p", -+ handle_0 + sizeof(struct file_handle)); -+ -+ handle->handle_bytes = 0; -+ -+ char path[] = "."; -+ char *path_secontext = SECONTEXT_FILE(path); -+ -+ assert(syscall(__NR_name_to_handle_at, fdcwd, path, handle, &mount_id, -+ flags | 1) == -1); -+ if (EINVAL != errno) -+ perror_msg_and_skip("name_to_handle_at"); -+ printf("%s%s(AT_FDCWD, \"%s\"%s, {handle_bytes=0}, %p" -+ ", AT_SYMLINK_FOLLOW|0x1) = -1 EINVAL (%m)\n", -+ my_secontext, "name_to_handle_at", -+ path, path_secontext, -+ &mount_id); -+ -+ assert(syscall(__NR_name_to_handle_at, fdcwd, path, handle, &mount_id, -+ flags) == -1); -+ if (EOVERFLOW != errno) -+ perror_msg_and_skip("name_to_handle_at"); -+ printf("%s%s(AT_FDCWD, \"%s\"%s, {handle_bytes=0 => %u}" -+ ", %p, AT_SYMLINK_FOLLOW) = -1 EOVERFLOW (%m)\n", -+ my_secontext, "name_to_handle_at", -+ path, path_secontext, -+ handle->handle_bytes, &mount_id); -+ -+ assert(syscall(__NR_name_to_handle_at, fdcwd, path, handle, &mount_id, -+ flags) == 0); -+ printf("%s%s(AT_FDCWD, \"%s\"%s, {handle_bytes=%u" -+ ", handle_type=%d, f_handle=", -+ my_secontext, "name_to_handle_at", -+ path, path_secontext, -+ handle->handle_bytes, handle->handle_type); -+ print_handle_data(handle->f_handle, handle->handle_bytes); -+ printf("}, [%d], AT_SYMLINK_FOLLOW) = 0\n", mount_id); -+ -+ printf("%s%s(-1, {handle_bytes=%u, handle_type=%d, f_handle=", -+ my_secontext, "open_by_handle_at", -+ handle->handle_bytes, handle->handle_type); -+ print_handle_data(handle->f_handle, handle->handle_bytes); -+ int rc = syscall(__NR_open_by_handle_at, -1, handle, -+ O_RDONLY | O_DIRECTORY); -+ printf("}, O_RDONLY|O_DIRECTORY) = %d %s (%m)\n", rc, errno2name()); -+ -+# ifndef TEST_SECONTEXT - static const struct strval dirfds[] = { - { (kernel_ulong_t) 0xdeadca57badda7a1ULL, "-1159878751" }, - { (kernel_ulong_t) 0x12345678ffffff9cULL, "AT_FDCWD" }, -@@ -171,29 +249,11 @@ - }; - - static const char str64[] = STR64; -- -- - char *bogus_path1 = tail_memdup(str64, PATH1_SIZE); - char *bogus_path2 = tail_memdup(str64, sizeof(str64)); -- -- struct file_handle *handle = -- tail_alloc(sizeof(struct file_handle) + MAX_HANDLE_SZ); -- struct file_handle *handle_0 = -- tail_alloc(sizeof(struct file_handle) + 0); -- struct file_handle *handle_8 = -- tail_alloc(sizeof(struct file_handle) + 8); -- struct file_handle *handle_128 = -- tail_alloc(sizeof(struct file_handle) + 128); -- struct file_handle *handle_256 = -- tail_alloc(sizeof(struct file_handle) + 256); -- TAIL_ALLOC_OBJECT_CONST_PTR(int, bogus_mount_id); -- -- char handle_0_addr[sizeof("0x") + sizeof(void *) * 2]; -- - char bogus_path1_addr[sizeof("0x") + sizeof(void *) * 2]; - char bogus_path1_after_addr[sizeof("0x") + sizeof(void *) * 2]; - -- - struct strval paths[] = { - { (kernel_ulong_t) 0, "NULL" }, - { (kernel_ulong_t) (uintptr_t) (bogus_path1 + PATH1_SIZE), -@@ -229,62 +289,16 @@ - (kernel_ulong_t) (uintptr_t) bogus_mount_id, - }; - -- const int flags = 0x400; -- int mount_id; - unsigned int i; - unsigned int j; - unsigned int k; - unsigned int l; - unsigned int m; - -- - snprintf(bogus_path1_addr, sizeof(bogus_path1_addr), "%p", bogus_path1); - snprintf(bogus_path1_after_addr, sizeof(bogus_path1_after_addr), "%p", - bogus_path1 + PATH1_SIZE); - -- handle_0->handle_bytes = 256; -- handle_8->handle_bytes = 0; -- handle_128->handle_bytes = 128; -- handle_256->handle_bytes = 256; -- -- fill_memory((char *) handle_128 + sizeof(struct file_handle), 128); -- fill_memory((char *) handle_256 + sizeof(struct file_handle), 256); -- -- snprintf(handle_0_addr, sizeof(handle_0_addr), "%p", -- handle_0 + sizeof(struct file_handle)); -- -- handle->handle_bytes = 0; -- -- assert(syscall(__NR_name_to_handle_at, fdcwd, ".", handle, &mount_id, -- flags | 1) == -1); -- if (EINVAL != errno) -- perror_msg_and_skip("name_to_handle_at"); -- printf("name_to_handle_at(AT_FDCWD, \".\", {handle_bytes=0}, %p" -- ", AT_SYMLINK_FOLLOW|0x1) = -1 EINVAL (%m)\n", &mount_id); -- -- assert(syscall(__NR_name_to_handle_at, fdcwd, ".", handle, &mount_id, -- flags) == -1); -- if (EOVERFLOW != errno) -- perror_msg_and_skip("name_to_handle_at"); -- printf("name_to_handle_at(AT_FDCWD, \".\", {handle_bytes=0 => %u}" -- ", %p, AT_SYMLINK_FOLLOW) = -1 EOVERFLOW (%m)\n", -- handle->handle_bytes, &mount_id); -- -- assert(syscall(__NR_name_to_handle_at, fdcwd, ".", handle, &mount_id, -- flags) == 0); -- printf("name_to_handle_at(AT_FDCWD, \".\", {handle_bytes=%u" -- ", handle_type=%d, f_handle=", -- handle->handle_bytes, handle->handle_type); -- print_handle_data(handle->f_handle, handle->handle_bytes); -- printf("}, [%d], AT_SYMLINK_FOLLOW) = 0\n", mount_id); -- -- printf("open_by_handle_at(-1, {handle_bytes=%u, handle_type=%d" -- ", f_handle=", handle->handle_bytes, handle->handle_type); -- print_handle_data(handle->f_handle, handle->handle_bytes); -- int rc = syscall(__NR_open_by_handle_at, -1, handle, -- O_RDONLY | O_DIRECTORY); -- printf("}, O_RDONLY|O_DIRECTORY) = %d %s (%m)\n", rc, errno2name()); -- - for (i = 0; i < ARRAY_SIZE(dirfds); i++) { - for (j = 0; j < ARRAY_SIZE(paths); j++) { - for (k = 0; k < ARRAY_SIZE(name_handles); k++) { -@@ -320,6 +334,68 @@ - } - } - } -+# endif -+ -+ /* -+ * Tests with dirfd. -+ */ -+ -+ int cwd_fd = get_dir_fd("."); -+ char *cwd = get_fd_path(cwd_fd); -+ char *cwd_secontext = SECONTEXT_FILE("."); -+ -+ assert(syscall(__NR_name_to_handle_at, cwd_fd, path, handle, &mount_id, -+ flags) == 0); -+ printf("%s%s(%d%s, \"%s\"%s, {handle_bytes=%u, handle_type=%d" -+ ", f_handle=", -+ my_secontext, "name_to_handle_at", -+ cwd_fd, cwd_secontext, -+ path, path_secontext, -+ handle->handle_bytes, handle->handle_type); -+ print_handle_data((unsigned char *) handle + -+ sizeof(struct file_handle), -+ handle->handle_bytes); -+ printf("}, [%d], AT_SYMLINK_FOLLOW) = 0\n", mount_id); -+ -+ printf("%s%s(-1, {handle_bytes=%u, handle_type=%d, f_handle=", -+ my_secontext, "open_by_handle_at", -+ handle->handle_bytes, handle->handle_type); -+ print_handle_data((unsigned char *) handle + -+ sizeof(struct file_handle), -+ handle->handle_bytes); -+ rc = syscall(__NR_open_by_handle_at, -1, handle, -+ O_RDONLY | O_DIRECTORY); -+ printf("}, O_RDONLY|O_DIRECTORY) = %s\n", sprintrc(rc)); -+ -+ /* cwd_fd ignored when path is absolute */ -+ if (chdir("..")) -+ perror_msg_and_fail("chdir"); -+ -+ assert(syscall(__NR_name_to_handle_at, cwd_fd, cwd, handle, &mount_id, -+ flags) == 0); -+ printf("%s%s(%d%s, \"%s\"%s, {handle_bytes=%u" -+ ", handle_type=%d, f_handle=", -+ my_secontext, "name_to_handle_at", -+ cwd_fd, cwd_secontext, -+ cwd, cwd_secontext, -+ handle->handle_bytes, handle->handle_type); -+ print_handle_data((unsigned char *) handle + -+ sizeof(struct file_handle), -+ handle->handle_bytes); -+ printf("}, [%d], AT_SYMLINK_FOLLOW) = 0\n", mount_id); -+ -+ printf("%s%s(-1, {handle_bytes=%u, handle_type=%d, f_handle=", -+ my_secontext, "open_by_handle_at", -+ handle->handle_bytes, handle->handle_type); -+ print_handle_data((unsigned char *) handle + -+ sizeof(struct file_handle), -+ handle->handle_bytes); -+ rc = syscall(__NR_open_by_handle_at, -1, handle, -+ O_RDONLY | O_DIRECTORY); -+ printf("}, O_RDONLY|O_DIRECTORY) = %s\n", sprintrc(rc)); -+ -+ if (fchdir(cwd_fd)) -+ perror_msg_and_fail("fchdir"); - - puts("+++ exited with 0 +++"); - return 0; -Index: strace-5.7/tests-m32/gen_secontext.sh -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/gen_secontext.sh 2021-08-24 21:08:43.271245891 +0200 -@@ -0,0 +1,72 @@ -+#!/bin/sh -efu -+# -+# Copyright (c) 2021 The strace developers. -+# All rights reserved. -+# -+# SPDX-License-Identifier: GPL-2.0-or-later -+ -+usage() -+{ -+ cat >&2 <] -+ -+Generate secontext files from list. -+EOF -+ exit 1 -+} -+ -+if [ $# -eq 0 ]; then -+ input="${0%/*}/gen_tests.in" -+else -+ input="$1" -+ shift -+fi -+dir="$(dirname "$input")" -+[ $# -eq 0 ] || usage -+ -+{ -+ cat < "$dir/secontext.am" -+ -+sed -r -n 's/^([^#[:space:]]+--secontext)[[:space:]].*/\1/p' < "$input" | -+while read -r name; do { -+ cat <<-EOF > "$dir/$name.c" -+ /* -+ * Copyright (c) 2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+ #include "tests.h" -+ -+ #ifdef HAVE_SELINUX_RUNTIME -+ -+ # define TEST_SECONTEXT -+ # include "${name%--secontext}.c" -+ -+ #else -+ -+ SKIP_MAIN_UNDEFINED("HAVE_SELINUX_RUNTIME") -+ -+ #endif -+ EOF -+} < /dev/null; done -+ -+sed -r -n 's/^([^#[:space:]]+--secontext_full)[[:space:]].*/\1/p' < "$input" | -+while read -r name; do { -+ cat <<-EOF > "$dir/$name.c" -+ #define PRINT_SECONTEXT_FULL -+ #include "${name%_full}.c" -+ EOF -+} < /dev/null; done -Index: strace-5.7/tests-m32/gen_tests.in -=================================================================== ---- strace-5.7.orig/tests-m32/gen_tests.in 2021-08-24 21:08:35.391312587 +0200 -+++ strace-5.7/tests-m32/gen_tests.in 2021-08-24 21:08:43.272245883 +0200 -@@ -10,6 +10,8 @@ - accept -a22 - accept4 -a37 - access -a30 --trace-path=access_sample -+access--secontext -a30 --secontext --trace-path=access_sample -e trace=access -+access--secontext_full -a30 --secontext=full --trace-path=access_sample -e trace=access - acct -a20 - add_key -a30 -s12 - adjtimex -a15 -@@ -24,6 +26,8 @@ - bpf-v -a20 -v -e trace=bpf - btrfs +ioctl.test - chmod -a28 -+chmod--secontext -a28 --secontext -e trace=chmod -+chmod--secontext_full -a28 --secontext=full -e trace=chmod - chown -a28 - chown32 -a31 - chroot -a24 -@@ -71,25 +75,43 @@ - epoll_pwait - epoll_wait -a26 - erestartsys -a34 -e signal=none -e trace=recvfrom -+execve--secontext +execve.test --secontext -+execve--secontext_full +execve.test --secontext=full - execveat -+execveat--secontext --secontext --trace=execveat -+execveat--secontext_full --secontext=full --trace=execveat - execveat-v -v -e trace=execveat -+faccessat--secontext +faccessat.test -a24 --secontext -+faccessat--secontext_full +faccessat.test -a24 --secontext=full - faccessat-P -a23 --trace=faccessat -P /dev/full - faccessat-y +faccessat.test -a24 -y -+faccessat-y--secontext +faccessat.test -a24 -y --secontext -+faccessat-y--secontext_full +faccessat.test -a24 -y --secontext=full - faccessat-yy +faccessat.test -a24 -yy - fadvise64_64 +fadvise64.test - fallocate -a18 - fanotify_init - fanotify_mark -a32 -+fanotify_mark--secontext -a32 --secontext -e trace=fanotify_mark -+fanotify_mark--secontext_full -a32 --secontext=full -e trace=fanotify_mark - fanotify_mark-Xabbrev -a32 -Xabbrev -e trace=fanotify_mark - fanotify_mark-Xraw -a32 -Xraw -e trace=fanotify_mark - fanotify_mark-Xverbose -a32 -Xverbose -e trace=fanotify_mark - fchdir -a11 - fchmod -a15 -+fchmod--secontext -a15 --secontext -e trace=fchmod -+fchmod--secontext_full -a15 --secontext=full -e trace=fchmod - fchmod-y -y -e trace=fchmod -+fchmod-y--secontext -a15 -y --secontext -e trace=fchmod -+fchmod-y--secontext_full -a15 -y --secontext=full -e trace=fchmod - fchmodat -+fchmodat--secontext --secontext -e trace=fchmodat -+fchmodat--secontext_full --secontext=full -e trace=fchmodat - fchown -a16 - fchown32 -a18 - fchownat -+fchownat--secontext --secontext -e trace=fchownat -+fchownat--secontext_full --secontext=full -e trace=fchownat - fcntl -a8 - fcntl--pidns-translation test_pidns -a8 -e trace=fcntl - fcntl64 -a8 -@@ -97,6 +119,8 @@ - fdatasync -a14 - file_handle -e trace=name_to_handle_at,open_by_handle_at - file_ioctl +ioctl.test -+file_handle--secontext --secontext -e trace=name_to_handle_at,open_by_handle_at -+file_handle--secontext_full --secontext=full -e trace=name_to_handle_at,open_by_handle_at - filter_seccomp . "${srcdir=.}/filter_seccomp.sh"; test_prog_set --seccomp-bpf -f - filter_seccomp-flag ../$NAME - finit_module -a25 -@@ -295,6 +319,8 @@ - lchown32 -a32 - link - linkat -+linkat--secontext --secontext -e trace=linkat -+linkat--secontext_full --secontext=full -e trace=linkat - lookup_dcookie -a27 - lstat -a31 --no-abbrev --trace-path=stat.sample --trace-path=/dev/full - lstat64 -a32 --no-abbrev --trace-path=stat.sample --trace-path=/dev/full -@@ -434,9 +460,13 @@ - oldselect-efault-P -a13 -e trace=select -P /dev/full 9>>/dev/full - oldstat -a32 -v -P stat.sample -P /dev/full - open -a30 -P $NAME.sample -+open--secontext -a30 -P open.sample --secontext --trace=open -+open--secontext_full -a30 -P open.sample --secontext=full --trace=open - open_tree -a30 -y - open_tree-P -a30 --decode-fds -P /dev/full -e trace=open_tree - openat -a36 -P $NAME.sample -+openat--secontext -a36 -P openat.sample -P $PWD/openat.sample --secontext -e trace=openat -+openat--secontext_full -a36 -P openat.sample -P $PWD/openat.sample --secontext=full -e trace=openat - openat2 -a35 - openat2-Xabbrev --trace=openat2 -a35 -Xabbrev - openat2-Xraw --trace=openat2 -a32 -Xraw -Index: strace-5.7/tests-m32/linkat.c -=================================================================== ---- strace-5.7.orig/tests-m32/linkat.c 2021-08-24 21:08:35.391312587 +0200 -+++ strace-5.7/tests-m32/linkat.c 2021-08-24 21:08:43.272245883 +0200 -@@ -10,8 +10,14 @@ - - #ifdef __NR_linkat - -+# include - # include -+# include - # include -+# include -+ -+# include "secontext.h" -+# include "xmalloc.h" - - int - main(void) -@@ -27,18 +33,158 @@ - const long fd_old = (long) 0xdeadbeefffffffffULL; - const long fd_new = (long) 0xdeadbeeffffffffeULL; - -+ char *my_secontext = SECONTEXT_PID_MY(); -+ -+ (void) unlink(sample_1); -+ (void) unlink(sample_2); -+ - long rc = syscall(__NR_linkat, fd_old, sample_1, fd_new, sample_2, 0); -- printf("linkat(%d, \"%s\", %d, \"%s\", 0) = %ld %s (%m)\n", -+ printf("%s%s(%d, \"%s\", %d, \"%s\", 0) = %ld %s (%m)\n", -+ my_secontext, "linkat", - (int) fd_old, sample_1, (int) fd_new, sample_2, - rc, errno2name()); - - rc = syscall(__NR_linkat, -100, sample_1, -100, sample_2, -1L); -- printf("linkat(%s, \"%s\", %s, \"%s\", %s) = %ld %s (%m)\n", -+ printf("%s%s(%s, \"%s\", %s, \"%s\", %s) = %ld %s (%m)\n", -+ my_secontext, "linkat", - "AT_FDCWD", sample_1, "AT_FDCWD", sample_2, - "AT_SYMLINK_NOFOLLOW|AT_REMOVEDIR|AT_SYMLINK_FOLLOW" - "|AT_NO_AUTOMOUNT|AT_EMPTY_PATH|AT_RECURSIVE|0xffff60ff", - rc, errno2name()); - -+ /* -+ * Tests with AT_FDCWD. -+ */ -+ -+ int fd_sample_1 = open(sample_1, O_RDONLY | O_CREAT, 0400); -+ if (fd_sample_1 < 0) -+ perror_msg_and_fail("open"); -+ if (close(fd_sample_1)) -+ perror_msg_and_fail("close"); -+ -+ char *sample_1_secontext = SECONTEXT_FILE(sample_1); -+ -+ rc = syscall(__NR_linkat, -100, sample_1, -100, sample_2, 0); -+ /* no context printed for sample_2 since file doesn't exist yet */ -+ printf("%s%s(AT_FDCWD, \"%s\"%s, AT_FDCWD, \"%s\", 0) = %s\n", -+ my_secontext, "linkat", -+ sample_1, sample_1_secontext, -+ sample_2, -+ sprintrc(rc)); -+ -+ const char *sample_2_secontext = sample_1_secontext; -+ -+ rc = syscall(__NR_linkat, -100, sample_1, -100, sample_2, 0); -+ printf("%s%s(AT_FDCWD, \"%s\"%s, AT_FDCWD, \"%s\"%s, 0) = %s\n", -+ my_secontext, "linkat", -+ sample_1, sample_1_secontext, -+ sample_2, sample_2_secontext, -+ sprintrc(rc)); -+ -+ int fd_sample_2 = open(sample_2, O_RDONLY | O_CREAT, 0400); -+ if (fd_sample_2 < 0) -+ perror_msg_and_fail("open"); -+ if (close(fd_sample_2)) -+ perror_msg_and_fail("close"); -+ -+ free(sample_1_secontext); -+ update_secontext_type(sample_1, "default_t"); -+ sample_1_secontext = SECONTEXT_FILE(sample_1); -+ sample_2_secontext = sample_1_secontext; -+ -+ rc = syscall(__NR_linkat, -100, sample_1, -100, sample_2, 0); -+ printf("%s%s(AT_FDCWD, \"%s\"%s, AT_FDCWD, \"%s\"%s, 0) = %s\n", -+ my_secontext, "linkat", -+ sample_1, sample_1_secontext, -+ sample_2, sample_2_secontext, -+ sprintrc(rc)); -+ -+ if (unlink(sample_2)) -+ perror_msg_and_fail("unlink: %s", sample_2); -+ -+ /* -+ * Tests with dirfd. -+ */ -+ -+ int dfd_old = get_dir_fd("."); -+ char *cwd = get_fd_path(dfd_old); -+ char *dfd_old_secontext = SECONTEXT_FILE("."); -+ -+ rc = syscall(__NR_linkat, dfd_old, sample_1, -100, sample_2, 0); -+ /* no context printed for sample_2 since file doesn't exist yet */ -+ printf("%s%s(%d%s, \"%s\"%s, AT_FDCWD, \"%s\", 0) = %s\n", -+ my_secontext, "linkat", -+ dfd_old, dfd_old_secontext, -+ sample_1, sample_1_secontext, -+ sample_2, -+ sprintrc(rc)); -+ -+ rc = syscall(__NR_linkat, dfd_old, sample_1, -100, sample_2, 0); -+ printf("%s%s(%d%s, \"%s\"%s, AT_FDCWD, \"%s\"%s, 0) = %s\n", -+ my_secontext, "linkat", -+ dfd_old, dfd_old_secontext, -+ sample_1, sample_1_secontext, -+ sample_2, sample_2_secontext, -+ sprintrc(rc)); -+ -+ if (unlink(sample_2)) -+ perror_msg_and_fail("unlink: %s", sample_2); -+ -+ static const char new_dir[] = "new"; -+ char *new_sample_2 = xasprintf("%s/%s", new_dir, sample_2); -+ -+ (void) unlink(new_sample_2); -+ (void) rmdir(new_dir); -+ -+ if (mkdir(new_dir, 0700)) -+ perror_msg_and_fail("mkdir"); -+ char *new_dir_realpath = xasprintf("%s/%s", cwd, new_dir); -+ char *new_dir_secontext = SECONTEXT_FILE(new_dir); -+ int dfd_new = get_dir_fd(new_dir); -+ -+ rc = syscall(__NR_linkat, dfd_old, sample_1, dfd_new, sample_2, 0); -+ /* no context printed for sample_2 since file doesn't exist yet */ -+ printf("%s%s(%d%s, \"%s\"%s, %d%s, \"%s\", 0) = %s\n", -+ my_secontext, "linkat", -+ dfd_old, dfd_old_secontext, -+ sample_1, sample_1_secontext, -+ dfd_new, new_dir_secontext, -+ sample_2, -+ sprintrc(rc)); -+ -+ rc = syscall(__NR_linkat, dfd_old, sample_1, dfd_new, sample_2, 0); -+ printf("%s%s(%d%s, \"%s\"%s, %d%s, \"%s\"%s, 0) = %s\n", -+ my_secontext, "linkat", -+ dfd_old, dfd_old_secontext, -+ sample_1, sample_1_secontext, -+ dfd_new, new_dir_secontext, -+ sample_2, SECONTEXT_FILE(new_sample_2), -+ sprintrc(rc)); -+ -+ char *new_sample_2_realpath = xasprintf("%s/%s", new_dir_realpath, sample_2); -+ -+ /* dfd ignored when path is absolute */ -+ if (chdir("../..")) -+ perror_msg_and_fail("chdir"); -+ -+ rc = syscall(__NR_linkat, dfd_old, sample_1, -100, new_sample_2_realpath, 0); -+ printf("%s%s(%d%s, \"%s\"%s, AT_FDCWD, \"%s\"%s, 0) = %s\n", -+ my_secontext, "linkat", -+ dfd_old, dfd_old_secontext, -+ sample_1, sample_1_secontext, -+ new_sample_2_realpath, SECONTEXT_FILE(new_sample_2_realpath), -+ sprintrc(rc)); -+ -+ if (fchdir(dfd_old)) -+ perror_msg_and_fail("fchdir"); -+ -+ if (unlink(sample_1)) -+ perror_msg_and_fail("unlink: %s", sample_1); -+ if (unlink(new_sample_2)) -+ perror_msg_and_fail("unlink: %s", new_sample_2); -+ if (rmdir(new_dir)) -+ perror_msg_and_fail("rmdir: %s", new_dir); -+ - leave_and_remove_subdir(); - - puts("+++ exited with 0 +++"); -Index: strace-5.7/tests-m32/open.c -=================================================================== ---- strace-5.7.orig/tests-m32/open.c 2021-08-24 21:08:35.391312587 +0200 -+++ strace-5.7/tests-m32/open.c 2021-08-24 21:08:43.272245883 +0200 -@@ -15,6 +15,8 @@ - # include - # include - -+# include "secontext.h" -+ - int - main(void) - { -@@ -25,10 +27,12 @@ - create_and_enter_subdir("open_subdir"); - - static const char sample[] = "open.sample"; -+ char *my_secontext = SECONTEXT_PID_MY(); - - long fd = syscall(__NR_open, sample, O_RDONLY|O_CREAT, 0400); -- printf("open(\"%s\", O_RDONLY|O_CREAT, 0400) = %s\n", -- sample, sprintrc(fd)); -+ printf("%s%s(\"%s\", O_RDONLY|O_CREAT, 0400) = %s%s\n", -+ my_secontext, "open", -+ sample, sprintrc(fd), SECONTEXT_FILE(sample)); - - if (fd != -1) { - close(fd); -@@ -36,16 +40,18 @@ - perror_msg_and_fail("unlink"); - - fd = syscall(__NR_open, sample, O_RDONLY); -- printf("open(\"%s\", O_RDONLY) = %s\n", sample, sprintrc(fd)); -+ printf("%s%s(\"%s\", O_RDONLY) = %s\n", -+ my_secontext, "open", sample, sprintrc(fd)); - - fd = syscall(__NR_open, sample, O_WRONLY|O_NONBLOCK|0x80000000); -- printf("open(\"%s\", O_WRONLY|O_NONBLOCK|0x80000000) = %s\n", -- sample, sprintrc(fd)); -+ printf("%s%s(\"%s\", O_WRONLY|O_NONBLOCK|0x80000000) = %s\n", -+ my_secontext, "open", sample, sprintrc(fd)); - } - - # ifdef O_TMPFILE - fd = syscall(__NR_open, sample, O_WRONLY|O_TMPFILE, 0600); -- printf("open(\"%s\", O_WRONLY|O_TMPFILE, 0600) = %s\n", -+ printf("%s%s(\"%s\", O_WRONLY|O_TMPFILE, 0600) = %s\n", -+ my_secontext, "open", - sample, sprintrc(fd)); - # endif /* O_TMPFILE */ - -Index: strace-5.7/tests-m32/openat.c -=================================================================== ---- strace-5.7.orig/tests-m32/openat.c 2021-08-24 21:08:35.392312578 +0200 -+++ strace-5.7/tests-m32/openat.c 2021-08-24 21:08:43.273245874 +0200 -@@ -15,6 +15,8 @@ - # include - # include - -+# include "secontext.h" -+ - # ifdef O_TMPFILE - /* The kernel & C libraries often inline O_DIRECTORY. */ - # define STRACE_O_TMPFILE (O_TMPFILE & ~O_DIRECTORY) -@@ -26,10 +28,12 @@ - - static void - test_mode_flag(unsigned int mode_val, const char *mode_str, -- unsigned int flag_val, const char *flag_str) -+ unsigned int flag_val, const char *flag_str, -+ const char *my_secontext) - { - long rc = syscall(__NR_openat, -1, sample, mode_val | flag_val, 0); -- printf("openat(-1, \"%s\", %s%s%s%s) = %s\n", -+ printf("%s%s(-1, \"%s\", %s%s%s%s) = %s\n", -+ my_secontext, "openat", - sample, mode_str, - flag_val ? "|" : "", flag_str, - flag_val & (O_CREAT | STRACE_O_TMPFILE) ? ", 000" : "", -@@ -45,20 +49,7 @@ - */ - create_and_enter_subdir("openat_subdir"); - -- long fd = syscall(__NR_openat, -100, sample, O_RDONLY|O_CREAT, 0400); -- printf("openat(AT_FDCWD, \"%s\", O_RDONLY|O_CREAT, 0400) = %s\n", -- sample, sprintrc(fd)); -- -- if (fd != -1) { -- close(fd); -- if (unlink(sample) == -1) -- perror_msg_and_fail("unlink"); -- -- fd = syscall(__NR_openat, -100, sample, O_RDONLY); -- printf("openat(AT_FDCWD, \"%s\", O_RDONLY) = %s\n", -- sample, sprintrc(fd)); -- } -- -+ char *my_secontext = SECONTEXT_PID_MY(); - struct { - unsigned int val; - const char *str; -@@ -105,7 +96,73 @@ - for (unsigned int m = 0; m < ARRAY_SIZE(modes); ++m) - for (unsigned int f = 0; f < ARRAY_SIZE(flags); ++f) - test_mode_flag(modes[m].val, modes[m].str, -- flags[f].val, flags[f].str); -+ flags[f].val, flags[f].str, -+ my_secontext); -+ -+ /* -+ * Tests with AT_FDCWD. -+ */ -+ -+ (void) unlink(sample); -+ long fd = syscall(__NR_openat, -100, sample, O_RDONLY|O_CREAT, 0400); -+ -+ char *sample_secontext = SECONTEXT_FILE(sample); -+ -+ /* -+ * File context in openat() is not displayed because file doesn't exist -+ * yet, but is displayed in return value since the file got created. -+ */ -+ printf("%s%s(AT_FDCWD, \"%s\", O_RDONLY|O_CREAT, 0400) = %s%s\n", -+ my_secontext, "openat", -+ sample, -+ sprintrc(fd), sample_secontext); -+ -+ close(fd); -+ -+ fd = syscall(__NR_openat, -100, sample, O_RDONLY); -+ printf("%s%s(AT_FDCWD, \"%s\"%s, O_RDONLY) = %s%s\n", -+ my_secontext, "openat", -+ sample, sample_secontext, -+ sprintrc(fd), sample_secontext); -+ if (fd != -1) { -+ close(fd); -+ if (unlink(sample)) -+ perror_msg_and_fail("unlink"); -+ } -+ -+ /* -+ * Tests with dirfd. -+ */ -+ -+ int cwd_fd = get_dir_fd("."); -+ char *cwd_secontext = SECONTEXT_FILE("."); -+ -+ fd = syscall(__NR_openat, cwd_fd, sample, O_RDONLY|O_CREAT, 0400); -+ if (fd == -1) -+ perror_msg_and_fail("openat"); -+ close(fd); -+ -+ /* -+ * File context in openat() is not displayed because file doesn't exist -+ * yet, but is displayed in return value since the file got created. -+ */ -+ printf("%s%s(%d%s, \"%s\", O_RDONLY|O_CREAT, 0400) = %s%s\n", -+ my_secontext, "openat", -+ cwd_fd, cwd_secontext, -+ sample, -+ sprintrc(fd), sample_secontext); -+ -+ fd = syscall(__NR_openat, cwd_fd, sample, O_RDONLY); -+ printf("%s%s(%d%s, \"%s\"%s, O_RDONLY) = %s%s\n", -+ my_secontext, "openat", -+ cwd_fd, cwd_secontext, -+ sample, sample_secontext, -+ sprintrc(fd), sample_secontext); -+ if (fd != -1) { -+ close(fd); -+ if (unlink(sample)) -+ perror_msg_and_fail("unlink"); -+ } - - leave_and_remove_subdir(); - -Index: strace-5.7/tests-m32/options-syntax.test -=================================================================== ---- strace-5.7.orig/tests-m32/options-syntax.test 2021-08-24 21:08:35.392312578 +0200 -+++ strace-5.7/tests-m32/options-syntax.test 2021-08-24 21:08:43.273245874 +0200 -@@ -2,14 +2,16 @@ - # - # Check strace options syntax. - # --# Copyright (c) 2016 Dmitry V. Levin --# Copyright (c) 2016-2020 The strace developers. -+# Copyright (c) 2016 Dmitry V. Levin -+# Copyright (c) 2016-2021 The strace developers. - # All rights reserved. - # - # SPDX-License-Identifier: GPL-2.0-or-later - - . "${srcdir=.}/syntax.sh" - -+compiled_with_secontext=$(get_config_option ENABLE_SECONTEXT "y") -+ - check_e "Invalid process id: '0'" -p 0 - check_e "Invalid process id: '0'" --attach=0 - check_e "Invalid process id: '-42'" -p -42 -@@ -46,6 +48,8 @@ - check_e '-t and --absolute-timestamps cannot be provided simultaneously' --absolute-timestamps -ttt -p $$ - check_e '-t and --absolute-timestamps cannot be provided simultaneously' -t --timestamps=ns -t -p $$ - check_e '-t and --absolute-timestamps cannot be provided simultaneously' --timestamps=ns -t --absolute-timestamps=unix -p $$ -+[ -z "$compiled_with_secontext" ] || -+ check_h "invalid --secontext argument: 'ss'" --secontext=ss - check_h 'PROG [ARGS] must be specified with -D/--daemonize' -D -p $$ - check_h 'PROG [ARGS] must be specified with -D/--daemonize' -DD -p $$ - check_h 'PROG [ARGS] must be specified with -D/--daemonize' -DDD -p $$ -@@ -281,6 +285,11 @@ - $STRACE_EXE: Only the last of -z/--successful-only/-Z/--failed-only options will take effect. See status qualifier for more complex filters. - $STRACE_EXE: $umsg" -u :nosuchuser: -cirtTyzZ true - -+ if [ -n "$compiled_with_secontext" ]; then -+ check_e "--secontext has no effect with -c/--summary-only -+$STRACE_EXE: $umsg" -u :nosuchuser: -c --secontext true -+ fi -+ - for c in --output-separately -A/--output-append-mode; do - check_e "$c has no effect without -o/--output - $STRACE_EXE: $umsg" -u :nosuchuser: ${c%%/*} true -Index: strace-5.7/tests-m32/secontext.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/secontext.c 2021-08-24 21:08:43.274245866 +0200 -@@ -0,0 +1,201 @@ -+/* -+ * Copyright (c) 2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+ -+#ifdef HAVE_SELINUX_RUNTIME -+ -+# include -+# include -+# include -+# include -+# include -+# include -+ -+# include "xmalloc.h" -+ -+# define TEST_SECONTEXT -+# include "secontext.h" -+ -+static char * -+secontext_format(char *context, const char *fmt) -+ ATTRIBUTE_FORMAT((printf, 2, 0)) ATTRIBUTE_MALLOC; -+ -+static char * -+secontext_format(char *context, const char *fmt) -+{ -+ int saved_errno = errno; -+ char *res = context ? xasprintf(fmt, context) : xstrdup(""); -+ free(context); -+ errno = saved_errno; -+ return res; -+} -+ -+# define FORMAT_SPACE_BEFORE(string) secontext_format(string, " [%s]") -+# define FORMAT_SPACE_AFTER(string) secontext_format(string, "[%s] ") -+ -+static char * -+strip_trailing_newlines(char *context) -+{ -+ /* -+ * On the CI at least, the context may have a trailing \n, -+ * let's remove it just in case. -+ */ -+ size_t len = strlen(context); -+ for (; len > 0; --len) { -+ if (context[len - 1] != '\n') -+ break; -+ } -+ context[len] = '\0'; -+ return context; -+} -+ -+static char * -+raw_secontext_full_file(const char *filename) -+{ -+ int saved_errno = errno; -+ char *full_secontext = NULL; -+ char *secontext; -+ -+ if (getfilecon(filename, &secontext) >= 0) { -+ full_secontext = strip_trailing_newlines(xstrdup(secontext)); -+ freecon(secontext); -+ } -+ errno = saved_errno; -+ return full_secontext; -+} -+ -+static char * -+raw_secontext_short_file(const char *filename) -+{ -+ int saved_errno = errno; -+ -+ char *ctx = raw_secontext_full_file(filename); -+ if (ctx == NULL) -+ return ctx; -+ -+ char *saveptr = NULL; -+ const char *token; -+ unsigned int i; -+ -+ char *ctx_copy = xstrdup(ctx); -+ char *context = NULL; -+ for (token = strtok_r(ctx_copy, ":", &saveptr), i = 0; -+ token; token = strtok_r(NULL, ":", &saveptr), i++) { -+ if (i == 2) { -+ context = xstrdup(token); -+ break; -+ } -+ } -+ if (context == NULL) -+ context = xstrdup(ctx); -+ free(ctx_copy); -+ free(ctx); -+ -+ errno = saved_errno; -+ return context; -+} -+ -+static char * -+raw_secontext_full_pid(pid_t pid) -+{ -+ int saved_errno = errno; -+ char *full_secontext = NULL; -+ char *secontext; -+ -+ if (getpidcon(pid, &secontext) == 0) { -+ full_secontext = strip_trailing_newlines(xstrdup(secontext)); -+ freecon(secontext); -+ } -+ errno = saved_errno; -+ return full_secontext; -+} -+ -+static char * -+raw_secontext_short_pid(pid_t pid) -+{ -+ int saved_errno = errno; -+ -+ char *ctx = raw_secontext_full_pid(pid); -+ if (ctx == NULL) -+ return ctx; -+ -+ char *saveptr = NULL; -+ const char *token; -+ int i; -+ -+ char *ctx_copy = xstrdup(ctx); -+ char *context = NULL; -+ for (token = strtok_r(ctx_copy, ":", &saveptr), i = 0; -+ token; token = strtok_r(NULL, ":", &saveptr), i++) { -+ if (i == 2) { -+ context = xstrdup(token); -+ break; -+ } -+ } -+ if (context == NULL) -+ context = xstrdup(ctx); -+ free(ctx_copy); -+ free(ctx); -+ -+ errno = saved_errno; -+ return context; -+} -+ -+char * -+secontext_full_file(const char *filename) -+{ -+ return FORMAT_SPACE_BEFORE(raw_secontext_full_file(filename)); -+} -+ -+char * -+secontext_full_pid(pid_t pid) -+{ -+ return FORMAT_SPACE_AFTER(raw_secontext_full_pid(pid)); -+} -+ -+char * -+secontext_short_file(const char *filename) -+{ -+ return FORMAT_SPACE_BEFORE(raw_secontext_short_file(filename)); -+} -+ -+char * -+secontext_short_pid(pid_t pid) -+{ -+ return FORMAT_SPACE_AFTER(raw_secontext_short_pid(pid)); -+} -+ -+void -+update_secontext_type(const char *file, const char *newtype) -+{ -+ char *ctx = raw_secontext_full_file(file); -+ if (ctx == NULL) -+ return; -+ -+ char *saveptr = NULL; -+ char *token; -+ int field; -+ char *split[4]; -+ -+ for (token = strtok_r(ctx, ":", &saveptr), field = 0; -+ token; token = strtok_r(NULL, ":", &saveptr), field++) { -+ assert(field < 4); -+ split[field] = token; -+ } -+ assert(field == 4); -+ -+ char *newcontext = xasprintf("%s:%s:%s:%s", split[0], split[1], -+ newtype, split[3]); -+ -+ (void) setfilecon(file, newcontext); -+ -+ free(newcontext); -+ free(ctx); -+} -+ -+#endif /* HAVE_SELINUX_RUNTIME */ -Index: strace-5.7/tests-m32/secontext.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/secontext.h 2021-08-24 21:08:43.274245866 +0200 -@@ -0,0 +1,46 @@ -+/* -+ * Copyright (c) 2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+#include "xmalloc.h" -+#include -+ -+#if defined TEST_SECONTEXT && defined HAVE_SELINUX_RUNTIME -+ -+void update_secontext_type(const char *file, const char *newtype); -+ -+# ifdef PRINT_SECONTEXT_FULL -+ -+char *secontext_full_file(const char *) ATTRIBUTE_MALLOC; -+char *secontext_full_pid(pid_t) ATTRIBUTE_MALLOC; -+ -+# define SECONTEXT_FILE(filename) secontext_full_file(filename) -+# define SECONTEXT_PID(pid) secontext_full_pid(pid) -+ -+# else -+ -+char *secontext_short_file(const char *) ATTRIBUTE_MALLOC; -+char *secontext_short_pid(pid_t) ATTRIBUTE_MALLOC; -+ -+# define SECONTEXT_FILE(filename) secontext_short_file(filename) -+# define SECONTEXT_PID(pid) secontext_short_pid(pid) -+ -+# endif -+ -+#else -+ -+static inline void -+update_secontext_type(const char *file, const char *newtype) -+{ -+} -+ -+# define SECONTEXT_FILE(filename) xstrdup("") -+# define SECONTEXT_PID(pid) xstrdup("") -+ -+#endif -+ -+#define SECONTEXT_PID_MY() SECONTEXT_PID(getpid()) -Index: strace-5.7/tests-m32/strace-V.test -=================================================================== ---- strace-5.7.orig/tests-m32/strace-V.test 2021-08-24 21:08:35.392312578 +0200 -+++ strace-5.7/tests-m32/strace-V.test 2021-08-24 21:08:43.274245866 +0200 -@@ -33,7 +33,9 @@ - ;; - esac - --features="${option_unwind}${option_demangle}${option_m32}${option_mx32}" -+option_secontext=$(get_config_option ENABLE_SECONTEXT " secontext") -+ -+features="${option_unwind}${option_demangle}${option_m32}${option_mx32}${option_secontext}" - [ -n "$features" ] || features=" (none)" - - cat > "$EXP" << __EOF__ -Index: strace-5.7/tests-mx32/Makefile.am -=================================================================== ---- strace-5.7.orig/tests-mx32/Makefile.am 2021-08-24 21:08:35.393312570 +0200 -+++ strace-5.7/tests-mx32/Makefile.am 2021-08-24 21:08:43.274245866 +0200 -@@ -28,6 +28,12 @@ - -DTESTS_SIZEOF_LONG=$(SIZEOF_LONG) - AM_LDFLAGS = $(ARCH_MFLAGS) - -+if HAVE_SELINUX_RUNTIME -+libselinux_LDADD = $(libselinux_LIBS) -+else -+libselinux_LDADD = -+endif -+ - libtests_a_SOURCES = \ - create_nl_socket.c \ - create_tmpfile.c \ -@@ -54,6 +60,8 @@ - printxval-Xabbrev.c \ - printxval-Xraw.c \ - printxval-Xverbose.c \ -+ secontext.c \ -+ secontext.h \ - signal2name.c \ - skip_unavailable.c \ - sprintrc.c \ -@@ -76,7 +84,10 @@ - - include pure_executables.am - -+include secontext.am -+ - check_PROGRAMS = $(PURE_EXECUTABLES) \ -+ $(secontext_EXECUTABLES) \ - _newselect-P \ - answer \ - attach-f-p \ -Index: strace-5.7/tests-mx32/access.c -=================================================================== ---- strace-5.7.orig/tests-mx32/access.c 2021-08-24 21:08:35.393312570 +0200 -+++ strace-5.7/tests-mx32/access.c 2021-08-24 21:08:43.275245858 +0200 -@@ -10,9 +10,12 @@ - - #ifdef __NR_access - -+# include - # include - # include - -+# include "secontext.h" -+ - int - main(void) - { -@@ -22,15 +25,27 @@ - */ - create_and_enter_subdir("access_subdir"); - -+ char *my_secontext = SECONTEXT_PID_MY(); -+ - static const char sample[] = "access_sample"; -+ (void) unlink(sample); -+ if (open(sample, O_CREAT|O_RDONLY, 0400) == -1) -+ perror_msg_and_fail("open: %s", sample); - - long rc = syscall(__NR_access, sample, F_OK); -- printf("access(\"%s\", F_OK) = %ld %s (%m)\n", -- sample, rc, errno2name()); -+ printf("%s%s(\"%s\"%s, F_OK) = %s\n", -+ my_secontext, "access", -+ sample, SECONTEXT_FILE(sample), -+ sprintrc(rc)); -+ -+ if (unlink(sample)) -+ perror_msg_and_fail("unlink: %s", sample); - - rc = syscall(__NR_access, sample, R_OK|W_OK|X_OK); -- printf("access(\"%s\", R_OK|W_OK|X_OK) = %ld %s (%m)\n", -- sample, rc, errno2name()); -+ printf("%s%s(\"%s\", R_OK|W_OK|X_OK) = %s\n", -+ my_secontext, "access", -+ sample, -+ sprintrc(rc)); - - leave_and_remove_subdir(); - -Index: strace-5.7/tests-mx32/chmod.c -=================================================================== ---- strace-5.7.orig/tests-mx32/chmod.c 2021-08-24 21:08:35.393312570 +0200 -+++ strace-5.7/tests-mx32/chmod.c 2021-08-24 21:08:43.275245858 +0200 -@@ -16,6 +16,8 @@ - # include - # include - -+# include "secontext.h" -+ - int - main(void) - { -@@ -25,22 +27,33 @@ - */ - create_and_enter_subdir("chmod_subdir"); - -- static const char fname[] = "chmod_test_file"; -- -- if (open(fname, O_CREAT|O_RDONLY, 0400) < 0) -- perror_msg_and_fail("open"); -- -- long rc = syscall(__NR_chmod, fname, 0600); -- printf("chmod(\"%s\", 0600) = %s\n", fname, sprintrc(rc)); -- -- if (unlink(fname)) -- perror_msg_and_fail("unlink"); -- -- rc = syscall(__NR_chmod, fname, 051); -- printf("chmod(\"%s\", 051) = %s\n", fname, sprintrc(rc)); -+ char *my_secontext = SECONTEXT_PID_MY(); - -- rc = syscall(__NR_chmod, fname, 004); -- printf("chmod(\"%s\", 004) = %s\n", fname, sprintrc(rc)); -+ static const char sample[] = "chmod_test_file"; -+ (void) unlink(sample); -+ if (open(sample, O_CREAT|O_RDONLY, 0400) < 0) -+ perror_msg_and_fail("open: %s", sample); -+ -+ long rc = syscall(__NR_chmod, sample, 0600); -+ printf("%s%s(\"%s\"%s, 0600) = %s\n", -+ my_secontext, "chmod", -+ sample, SECONTEXT_FILE(sample), -+ sprintrc(rc)); -+ -+ if (unlink(sample)) -+ perror_msg_and_fail("unlink: %s", sample); -+ -+ rc = syscall(__NR_chmod, sample, 051); -+ printf("%s%s(\"%s\", 051) = %s\n", -+ my_secontext, "chmod", -+ sample, -+ sprintrc(rc)); -+ -+ rc = syscall(__NR_chmod, sample, 004); -+ printf("%s%s(\"%s\", 004) = %s\n", -+ my_secontext, "chmod", -+ sample, -+ sprintrc(rc)); - - leave_and_remove_subdir(); - -Index: strace-5.7/tests-mx32/execve.c -=================================================================== ---- strace-5.7.orig/tests-mx32/execve.c 2021-08-24 21:08:35.394312561 +0200 -+++ strace-5.7/tests-mx32/execve.c 2021-08-24 21:08:43.275245858 +0200 -@@ -9,9 +9,12 @@ - */ - - #include "tests.h" -+#include - #include - #include - -+#include "secontext.h" -+ - static const char *errstr; - - static int -@@ -52,9 +55,16 @@ - - char ** const tail_argv = tail_memdup(argv, sizeof(argv)); - char ** const tail_envp = tail_memdup(envp, sizeof(envp)); -+ char *my_secontext = SECONTEXT_PID_MY(); -+ -+ (void) unlink(FILENAME); -+ if (open(FILENAME, O_RDONLY | O_CREAT, 0400) < 0) -+ perror_msg_and_fail("open"); -+ -+ char *FILENAME_secontext = SECONTEXT_FILE(FILENAME); - - call_execve(FILENAME, tail_argv, tail_envp); -- printf("execve(\"%s\"" -+ printf("%s%s(\"%s\"%s" - ", [\"%s\", \"%s\", \"%s\", %p, %p, %p, ... /* %p */]" - #if VERBOSE - ", [\"%s\", \"%s\", %p, %p, %p, ... /* %p */]" -@@ -62,7 +72,9 @@ - ", %p /* 5 vars, unterminated */" - #endif - ") = %s\n", -- Q_FILENAME, q_argv[0], q_argv[1], q_argv[2], -+ my_secontext, "execve", -+ Q_FILENAME, FILENAME_secontext, -+ q_argv[0], q_argv[1], q_argv[2], - argv[3], argv[4], argv[5], (char *) tail_argv + sizeof(argv) - #if VERBOSE - , q_envp[0], q_envp[1], envp[2], envp[3], envp[4], -@@ -77,14 +89,16 @@ - (void) q_envp; /* workaround for clang bug #33068 */ - - call_execve(FILENAME, tail_argv, tail_envp); -- printf("execve(\"%s\", [\"%s\", \"%s\", \"%s\"]" -+ printf("%s%s(\"%s\"%s, [\"%s\", \"%s\", \"%s\"]" - #if VERBOSE - ", [\"%s\", \"%s\"]" - #else - ", %p /* 2 vars */" - #endif - ") = %s\n", -- Q_FILENAME, q_argv[0], q_argv[1], q_argv[2] -+ my_secontext, "execve", -+ Q_FILENAME, FILENAME_secontext, -+ q_argv[0], q_argv[1], q_argv[2] - #if VERBOSE - , q_envp[0], q_envp[1] - #else -@@ -93,14 +107,16 @@ - , errstr); - - call_execve(FILENAME, tail_argv + 2, tail_envp + 1); -- printf("execve(\"%s\", [\"%s\"]" -+ printf("%s%s(\"%s\"%s, [\"%s\"]" - #if VERBOSE - ", [\"%s\"]" - #else - ", %p /* 1 var */" - #endif - ") = %s\n", -- Q_FILENAME, q_argv[2] -+ my_secontext, "execve", -+ Q_FILENAME, FILENAME_secontext, -+ q_argv[2] - #if VERBOSE - , q_envp[1] - #else -@@ -113,13 +129,15 @@ - *empty = NULL; - - call_execve(FILENAME, empty, empty); -- printf("execve(\"%s\", []" -+ printf("%s%s(\"%s\"%s, []" - #if VERBOSE - ", []" - #else - ", %p /* 0 vars */" - #endif -- ") = %s\n", Q_FILENAME -+ ") = %s\n", -+ my_secontext, "execve", -+ Q_FILENAME, FILENAME_secontext - #if !VERBOSE - , empty - #endif -@@ -143,7 +161,10 @@ - a[i] = b[i] = NULL; - - call_execve(FILENAME, a, b); -- printf("execve(\"%s\", [\"%.*s\"...", Q_FILENAME, DEFAULT_STRLEN, a[0]); -+ printf("%s%s(\"%s\"%s, [\"%.*s\"...", -+ my_secontext, "execve", -+ Q_FILENAME, FILENAME_secontext, -+ DEFAULT_STRLEN, a[0]); - for (i = 1; i < DEFAULT_STRLEN; ++i) - printf(", \"%s\"", a[i]); - #if VERBOSE -@@ -162,7 +183,10 @@ - printf(") = %s\n", errstr); - - call_execve(FILENAME, a + 1, b + 1); -- printf("execve(\"%s\", [\"%s\"", Q_FILENAME, a[1]); -+ printf("%s%s(\"%s\"%s, [\"%s\"", -+ my_secontext, "execve", -+ Q_FILENAME, FILENAME_secontext, -+ a[1]); - for (i = 2; i <= DEFAULT_STRLEN; ++i) - printf(", \"%s\"", a[i]); - #if VERBOSE -@@ -175,12 +199,17 @@ - #endif - printf(") = %s\n", errstr); - -+ if (unlink(FILENAME)) -+ perror_msg_and_fail("unlink"); -+ - call_execve(FILENAME, (char **) tail_argv[ARRAY_SIZE(q_argv)], efault); -- printf("execve(\"%s\", NULL, %p) = %s\n", -+ printf("%s%s(\"%s\", NULL, %p) = %s\n", -+ my_secontext, "execve", - Q_FILENAME, efault, errstr); - - call_execve(FILENAME, efault, NULL); -- printf("execve(\"%s\", %p, NULL) = %s\n", -+ printf("%s%s(\"%s\", %p, NULL) = %s\n", -+ my_secontext, "execve", - Q_FILENAME, efault, errstr); - - leave_and_remove_subdir(); -Index: strace-5.7/tests-mx32/execve.test -=================================================================== ---- strace-5.7.orig/tests-mx32/execve.test 2021-08-24 21:08:35.394312561 +0200 -+++ strace-5.7/tests-mx32/execve.test 2021-08-24 21:08:43.275245858 +0200 -@@ -11,7 +11,7 @@ - - check_prog grep - run_prog > /dev/null --run_strace -eexecve $args > "$EXP" -+run_strace -eexecve "$@" $args > "$EXP" - - # Filter out execve() call made by strace. - grep -F test.execve < "$LOG" > "$OUT" -Index: strace-5.7/tests-mx32/execveat.c -=================================================================== ---- strace-5.7.orig/tests-mx32/execveat.c 2021-08-24 21:08:35.394312561 +0200 -+++ strace-5.7/tests-mx32/execveat.c 2021-08-24 21:08:43.276245849 +0200 -@@ -13,9 +13,102 @@ - - #ifdef __NR_execveat - -+# include - # include - # include - -+# include "secontext.h" -+ -+static void -+tests_with_existing_file(void) -+{ -+ /* -+ * Make sure the current workdir of the tracee -+ * is different from the current workdir of the tracer. -+ */ -+ create_and_enter_subdir("execveat_subdir"); -+ -+ char *my_secontext = SECONTEXT_PID_MY(); -+ -+ static const char sample[] = "execveat_sample"; -+ (void) unlink(sample); -+ if (open(sample, O_RDONLY | O_CREAT, 0400) < 0) -+ perror_msg_and_fail("open"); -+ -+ char *sample_secontext = SECONTEXT_FILE(sample); -+ static const char *argv[] = { sample, NULL }; -+ -+ /* -+ * Tests with AT_FDCWD. -+ */ -+ -+ long rc = syscall(__NR_execveat, -100, sample, argv, NULL, 0); -+ printf("%s%s(AT_FDCWD, \"%s\"%s, [\"%s\"], NULL, 0) = %s\n", -+ my_secontext, "execveat", -+ sample, sample_secontext, -+ argv[0], -+ sprintrc(rc)); -+ -+ if (unlink(sample)) -+ perror_msg_and_fail("unlink"); -+ -+ rc = syscall(__NR_execveat, -100, sample, argv, NULL, 0); -+ printf("%s%s(AT_FDCWD, \"%s\", [\"%s\"], NULL, 0) = %s\n", -+ my_secontext, "execveat", -+ sample, -+ argv[0], -+ sprintrc(rc)); -+ -+ /* -+ * Tests with dirfd. -+ */ -+ -+ int cwd_fd = get_dir_fd("."); -+ char *cwd = get_fd_path(cwd_fd); -+ char *cwd_secontext = SECONTEXT_FILE("."); -+ char *sample_realpath = xasprintf("%s/%s", cwd, sample); -+ -+ /* no file */ -+ rc = syscall(__NR_execveat, cwd_fd, sample, argv, NULL, 0); -+ printf("%s%s(%d%s, \"%s\", [\"%s\"], NULL, 0) = %s\n", -+ my_secontext, "execveat", -+ cwd_fd, cwd_secontext, -+ sample, -+ argv[0], -+ sprintrc(rc)); -+ -+ if (open(sample, O_RDONLY | O_CREAT, 0400) < 0) -+ perror_msg_and_fail("open"); -+ -+ rc = syscall(__NR_execveat, cwd_fd, sample, argv, NULL, 0); -+ printf("%s%s(%d%s, \"%s\"%s, [\"%s\"], NULL, 0) = %s\n", -+ my_secontext, "execveat", -+ cwd_fd, cwd_secontext, -+ sample, sample_secontext, -+ argv[0], -+ sprintrc(rc)); -+ -+ /* cwd_fd ignored when path is absolute */ -+ if (chdir("../..")) -+ perror_msg_and_fail("chdir"); -+ -+ rc = syscall(__NR_execveat, cwd_fd, sample_realpath, argv, NULL, 0); -+ printf("%s%s(%d%s, \"%s\"%s, [\"%s\"], NULL, 0) = %s\n", -+ my_secontext, "execveat", -+ cwd_fd, cwd_secontext, -+ sample_realpath, sample_secontext, -+ argv[0], -+ sprintrc(rc)); -+ -+ if (fchdir(cwd_fd)) -+ perror_msg_and_fail("fchdir"); -+ -+ if (unlink(sample)) -+ perror_msg_and_fail("unlink"); -+ -+ leave_and_remove_subdir(); -+} -+ - # define FILENAME "test.execveat\nfilename" - # define Q_FILENAME "test.execveat\\nfilename" - -@@ -40,9 +133,10 @@ - { - const char ** const tail_argv = tail_memdup(argv, sizeof(argv)); - const char ** const tail_envp = tail_memdup(envp, sizeof(envp)); -+ char *my_secontext = SECONTEXT_PID_MY(); - - syscall(__NR_execveat, -100, FILENAME, tail_argv, tail_envp, 0x1100); -- printf("execveat(AT_FDCWD, \"%s\"" -+ printf("%s%s(AT_FDCWD, \"%s\"" - ", [\"%s\", \"%s\", \"%s\", %p, %p, %p, ... /* %p */]" - # if VERBOSE - ", [\"%s\", \"%s\", %p, %p, %p, ... /* %p */]" -@@ -50,6 +144,7 @@ - ", %p /* 5 vars, unterminated */" - # endif - ", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n", -+ my_secontext, "execveat", - Q_FILENAME, q_argv[0], q_argv[1], q_argv[2], - argv[3], argv[4], argv[5], (char *) tail_argv + sizeof(argv), - # if VERBOSE -@@ -65,13 +160,14 @@ - (void) q_envp; /* workaround for clang bug #33068 */ - - syscall(__NR_execveat, -100, FILENAME, tail_argv, tail_envp, 0x1100); -- printf("execveat(AT_FDCWD, \"%s\", [\"%s\", \"%s\", \"%s\"]" -+ printf("%s%s(AT_FDCWD, \"%s\", [\"%s\", \"%s\", \"%s\"]" - # if VERBOSE - ", [\"%s\", \"%s\"]" - # else - ", %p /* 2 vars */" - # endif - ", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n", -+ my_secontext, "execveat", - Q_FILENAME, q_argv[0], q_argv[1], q_argv[2], - # if VERBOSE - q_envp[0], q_envp[1], -@@ -81,13 +177,14 @@ - errno2name()); - - syscall(__NR_execveat, -100, FILENAME, tail_argv + 2, tail_envp + 1, 0x1100); -- printf("execveat(AT_FDCWD, \"%s\", [\"%s\"]" -+ printf("%s%s(AT_FDCWD, \"%s\", [\"%s\"]" - # if VERBOSE - ", [\"%s\"]" - # else - ", %p /* 1 var */" - # endif - ", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n", -+ my_secontext, "execveat", - Q_FILENAME, q_argv[2], - # if VERBOSE - q_envp[1], -@@ -101,13 +198,14 @@ - *empty = NULL; - - syscall(__NR_execveat, -100, FILENAME, empty, empty, 0x1100); -- printf("execveat(AT_FDCWD, \"%s\", []" -+ printf("%s%s(AT_FDCWD, \"%s\", []" - # if VERBOSE - ", []" - # else - ", %p /* 0 vars */" - # endif - ", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n", -+ my_secontext, "execveat", - Q_FILENAME, - # if !VERBOSE - empty, -@@ -132,7 +230,9 @@ - a[i] = b[i] = NULL; - - syscall(__NR_execveat, -100, FILENAME, a, b, 0x1100); -- printf("execveat(AT_FDCWD, \"%s\", [\"%.*s\"...", Q_FILENAME, DEFAULT_STRLEN, a[0]); -+ printf("%s%s(AT_FDCWD, \"%s\", [\"%.*s\"...", -+ my_secontext, "execveat", -+ Q_FILENAME, DEFAULT_STRLEN, a[0]); - for (i = 1; i < DEFAULT_STRLEN; ++i) - printf(", \"%s\"", a[i]); - # if VERBOSE -@@ -152,7 +252,9 @@ - errno2name()); - - syscall(__NR_execveat, -100, FILENAME, a + 1, b + 1, 0x1100); -- printf("execveat(AT_FDCWD, \"%s\", [\"%s\"", Q_FILENAME, a[1]); -+ printf("%s%s(AT_FDCWD, \"%s\", [\"%s\"", -+ my_secontext, "execveat", -+ Q_FILENAME, a[1]); - for (i = 2; i <= DEFAULT_STRLEN; ++i) - printf(", \"%s\"", a[i]); - # if VERBOSE -@@ -167,15 +269,19 @@ - errno2name()); - - syscall(__NR_execveat, -100, FILENAME, NULL, efault, 0x1100); -- printf("execveat(AT_FDCWD, \"%s\", NULL, %p" -+ printf("%s%s(AT_FDCWD, \"%s\", NULL, %p" - ", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n", -+ my_secontext, "execveat", - Q_FILENAME, efault, errno2name()); - - syscall(__NR_execveat, -100, FILENAME, efault, NULL, 0x1100); -- printf("execveat(AT_FDCWD, \"%s\", %p, NULL" -+ printf("%s%s(AT_FDCWD, \"%s\", %p, NULL" - ", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n", -+ my_secontext, "execveat", - Q_FILENAME, efault, errno2name()); - -+ tests_with_existing_file(); -+ - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-mx32/faccessat.c -=================================================================== ---- strace-5.7.orig/tests-mx32/faccessat.c 2021-08-24 21:08:35.394312561 +0200 -+++ strace-5.7/tests-mx32/faccessat.c 2021-08-24 21:08:43.276245849 +0200 -@@ -12,12 +12,16 @@ - - #ifdef __NR_faccessat - --# include "xmalloc.h" - # include - # include - # include - --# ifndef FD_PATH -+# include "secontext.h" -+# include "xmalloc.h" -+ -+# ifdef FD_PATH -+# define YFLAG -+# else - # define FD_PATH "" - # endif - # ifndef SKIP_IF_PROC_IS_UNAVAILABLE -@@ -43,11 +47,130 @@ - return rc; - } - -+# ifndef PATH_TRACING -+static void -+tests_with_existing_file(void) -+{ -+ /* -+ * Make sure the current workdir of the tracee -+ * is different from the current workdir of the tracer. -+ */ -+ create_and_enter_subdir("faccessat_subdir"); -+ -+ char *my_secontext = SECONTEXT_PID_MY(); -+ -+ k_faccessat(-1, NULL, F_OK); -+ printf("%s%s(-1, NULL, F_OK) = %s\n", -+ my_secontext, "faccessat", errstr); -+ -+ static const char sample[] = "faccessat_sample"; -+ (void) unlink(sample); -+ int fd = open(sample, O_CREAT|O_RDONLY, 0400); -+ if (fd == -1) -+ perror_msg_and_fail("open"); -+ close(fd); -+ char *sample_secontext = SECONTEXT_FILE(sample); -+ -+ /* -+ * Tests with AT_FDCWD. -+ */ -+ -+ k_faccessat(-100, sample, F_OK); -+ printf("%s%s(AT_FDCWD, \"%s\"%s, F_OK) = %s\n", -+ my_secontext, "faccessat", -+ sample, sample_secontext, -+ errstr); -+ -+ if (unlink(sample)) -+ perror_msg_and_fail("unlink"); -+ -+ k_faccessat(-100, sample, F_OK); -+ printf("%s%s(AT_FDCWD, \"%s\", F_OK) = %s\n", -+ my_secontext, "faccessat", -+ sample, -+ errstr); -+ -+ /* -+ * Tests with dirfd. -+ */ -+ -+ int cwd_fd = get_dir_fd("."); -+ char *cwd = get_fd_path(cwd_fd); -+ char *cwd_secontext = SECONTEXT_FILE("."); -+ char *sample_realpath = xasprintf("%s/%s", cwd, sample); -+ -+ /* no file */ -+ k_faccessat(cwd_fd, sample, F_OK); -+# ifdef YFLAG -+ printf("%s%s(%d<%s>%s, \"%s\", F_OK) = %s\n", -+# else -+ printf("%s%s(%d%s, \"%s\", F_OK) = %s\n", -+# endif -+ my_secontext, "faccessat", -+ cwd_fd, -+# ifdef YFLAG -+ cwd, -+# endif -+ cwd_secontext, -+ sample, -+ errstr); -+ -+ fd = open(sample, O_CREAT|O_RDONLY, 0400); -+ if (fd == -1) -+ perror_msg_and_fail("open"); -+ close(fd); -+ -+ k_faccessat(cwd_fd, sample, F_OK); -+# ifdef YFLAG -+ printf("%s%s(%d<%s>%s, \"%s\"%s, F_OK) = %s\n", -+# else -+ printf("%s%s(%d%s, \"%s\"%s, F_OK) = %s\n", -+# endif -+ my_secontext, "faccessat", -+ cwd_fd, -+# ifdef YFLAG -+ cwd, -+# endif -+ cwd_secontext, -+ sample, sample_secontext, -+ errstr); -+ -+ /* cwd_fd ignored when path is absolute */ -+ if (chdir("../..")) -+ perror_msg_and_fail("chdir"); -+ -+ k_faccessat(cwd_fd, sample_realpath, F_OK); -+# ifdef YFLAG -+ printf("%s%s(%d<%s>%s, \"%s\"%s, F_OK) = %s\n", -+# else -+ printf("%s%s(%d%s, \"%s\"%s, F_OK) = %s\n", -+# endif -+ my_secontext, "faccessat", -+ cwd_fd, -+# ifdef YFLAG -+ cwd, -+# endif -+ cwd_secontext, -+ sample_realpath, sample_secontext, -+ errstr); -+ -+ if (fchdir(cwd_fd)) -+ perror_msg_and_fail("fchdir"); -+ -+ if (unlink(sample)) -+ perror_msg_and_fail("unlink"); -+ -+ leave_and_remove_subdir(); -+} -+# endif -+ - int - main(void) - { - SKIP_IF_PROC_IS_UNAVAILABLE; - -+# ifndef TEST_SECONTEXT -+ - TAIL_ALLOC_OBJECT_CONST_PTR(const char, unterminated); - char *unterminated_str = xasprintf("%p", unterminated); - const void *const efault = unterminated + 1; -@@ -120,10 +243,10 @@ - k_faccessat(dirfds[dirfd_i].val, - paths[path_i].val, - modes[mode_i].val); --# ifdef PATH_TRACING -+# ifdef PATH_TRACING - if (dirfds[dirfd_i].val == fd || - paths[path_i].val == fd_path) --# endif -+# endif - printf("faccessat(%s, %s, %s) = %s\n", - dirfds[dirfd_i].str, - paths[path_i].str, -@@ -133,6 +256,12 @@ - } - } - -+# endif /* !TEST_SECONTEXT */ -+ -+# ifndef PATH_TRACING -+ tests_with_existing_file(); -+# endif -+ - puts("+++ exited with 0 +++"); - return 0; - } -Index: strace-5.7/tests-mx32/faccessat.test -=================================================================== ---- strace-5.7.orig/tests-mx32/faccessat.test 2021-08-24 21:08:35.395312553 +0200 -+++ strace-5.7/tests-mx32/faccessat.test 2021-08-24 21:08:43.276245849 +0200 -@@ -15,5 +15,5 @@ - run_strace -a23 --trace=faccessat "$@" $args > "$EXP" - - # Filter out faccessat() calls made by ld.so and libc. --sed -n '/^faccessat(-1, NULL,/,$p' < "$LOG" > "$OUT" -+sed -n '/faccessat(-1, NULL,/,$p' < "$LOG" > "$OUT" - match_diff "$OUT" "$EXP" -Index: strace-5.7/tests-mx32/fanotify_mark.c -=================================================================== ---- strace-5.7.orig/tests-mx32/fanotify_mark.c 2021-08-24 21:07:01.122112055 +0200 -+++ strace-5.7/tests-mx32/fanotify_mark.c 2021-08-24 21:08:43.276245849 +0200 -@@ -3,7 +3,7 @@ - * - * Copyright (c) 2015-2016 Dmitry V. Levin - * Copyright (c) 2016 Eugene Syromyatnikov -- * Copyright (c) 2015-2020 The strace developers. -+ * Copyright (c) 2015-2021 The strace developers. - * All rights reserved. - * - * SPDX-License-Identifier: GPL-2.0-or-later -@@ -21,6 +21,8 @@ - # include - # include - -+# include "secontext.h" -+ - # if XLAT_RAW - # define str_fan_mark_add "0x1" - # define str_fan_modify_ondir "0x40000002" -@@ -35,6 +37,7 @@ - # define str_at_fdcwd "AT_FDCWD" - # endif - -+# ifndef TEST_SECONTEXT - /* Performs fanotify_mark call via the syscall interface. */ - static void - do_call(kernel_ulong_t fd, kernel_ulong_t flags, const char *flags_str, -@@ -44,18 +47,18 @@ - long rc; - - rc = syscall(__NR_fanotify_mark, fd, flags, --# if (LONG_MAX > INT_MAX) \ -- || (defined __x86_64__ && defined __ILP32__) \ -- || defined LINUX_MIPSN32 -+# if (LONG_MAX > INT_MAX) \ -+ || (defined __x86_64__ && defined __ILP32__) \ -+ || defined LINUX_MIPSN32 - mask, --# else -+# else - /* arch/parisc/kernel/sys_parisc32.c, commit ab8a261b */ --# ifdef HPPA -+# ifdef HPPA - LL_VAL_TO_PAIR((mask << 32) | (mask >> 32)), --# else -+# else - LL_VAL_TO_PAIR(mask), -+# endif - # endif --# endif - dirfd, path); - - printf("fanotify_mark(%d, %s, %s, %s, %s) = %s\n", -@@ -68,12 +71,14 @@ - const char *str; - }; - --# define STR16 "0123456789abcdef" --# define STR64 STR16 STR16 STR16 STR16 -+# define STR16 "0123456789abcdef" -+# define STR64 STR16 STR16 STR16 STR16 -+# endif /* !TEST_SECONTEXT */ - - int - main(void) - { -+# ifndef TEST_SECONTEXT - enum { - PATH1_SIZE = 64, - }; -@@ -87,47 +92,47 @@ - { F8ILL_KULONG_MASK, "0" }, - { (kernel_ulong_t) 0xdec0deddefacec00ULL, - "0xefacec00" --# if !XLAT_RAW -+# if !XLAT_RAW - " /* FAN_MARK_??? */" --# endif -+# endif - }, - { (kernel_ulong_t) 0xda7a105700000040ULL, --# if XLAT_RAW -+# if XLAT_RAW - "0x40" --# elif XLAT_VERBOSE -+# elif XLAT_VERBOSE - "0x40 /* FAN_MARK_IGNORED_SURV_MODIFY */" --# else -+# else - "FAN_MARK_IGNORED_SURV_MODIFY" --# endif -+# endif - }, - { (kernel_ulong_t) 0xbadc0deddeadffffULL, --# if XLAT_RAW || XLAT_VERBOSE -+# if XLAT_RAW || XLAT_VERBOSE - "0xdeadffff" --# endif --# if XLAT_VERBOSE -+# endif -+# if XLAT_VERBOSE - " /* " --# endif --# if !XLAT_RAW -+# endif -+# if !XLAT_RAW - "FAN_MARK_ADD|FAN_MARK_REMOVE|FAN_MARK_DONT_FOLLOW|" - "FAN_MARK_ONLYDIR|FAN_MARK_MOUNT|FAN_MARK_IGNORED_MASK|" - "FAN_MARK_IGNORED_SURV_MODIFY|FAN_MARK_FLUSH|" - "FAN_MARK_FILESYSTEM|0xdeadfe00" --# endif --# if XLAT_VERBOSE -+# endif -+# if XLAT_VERBOSE - " */" --# endif -+# endif - }, - }; - static const struct strval64 masks[] = { - { ARG_ULL_STR(0) }, - { 0xdeadfeedffffffffULL, --# if XLAT_RAW || XLAT_VERBOSE -+# if XLAT_RAW || XLAT_VERBOSE - "0xdeadfeedffffffff" --# endif --# if XLAT_VERBOSE -+# endif -+# if XLAT_VERBOSE - " /* " --# endif --# if !XLAT_RAW -+# endif -+# if !XLAT_RAW - "FAN_ACCESS|" - "FAN_MODIFY|" - "FAN_ATTRIB|" -@@ -149,27 +154,27 @@ - "FAN_ONDIR|" - "FAN_EVENT_ON_CHILD|" - "0xdeadfeedb7f0a000" --# endif --# if XLAT_VERBOSE -+# endif -+# if XLAT_VERBOSE - " */" --# endif -+# endif - }, - { ARG_ULL_STR(0xffffffffb7f0a000) --# if !XLAT_RAW -+# if !XLAT_RAW - " /* FAN_??? */" --# endif -+# endif - }, - }; - static const struct strval dirfds[] = { - { (kernel_ulong_t) 0xfacefeed00000001ULL, "1" }, - { (kernel_ulong_t) 0xdec0ded0ffffffffULL, --# if XLAT_RAW -+# if XLAT_RAW - "-1" --# elif XLAT_VERBOSE -+# elif XLAT_VERBOSE - "-1 /* FAN_NOFD */" --# else -+# else - "FAN_NOFD" --# endif -+# endif - }, - { (kernel_ulong_t) 0xbadfacedffffff9cULL, str_at_fdcwd }, - { (kernel_ulong_t) 0xdefaced1beeff00dULL, "-1091571699" }, -@@ -202,12 +207,6 @@ - snprintf(bogus_path1_after_addr, sizeof(bogus_path1_after_addr), "%p", - bogus_path1 + PATH1_SIZE); - -- rc = fanotify_mark(-1, FAN_MARK_ADD, FAN_MODIFY | FAN_ONDIR, -- -100, "."); -- printf("fanotify_mark(-1, %s, %s, %s, \".\") = %s\n", -- str_fan_mark_add, str_fan_modify_ondir, str_at_fdcwd, -- sprintrc(rc)); -- - for (i = 0; i < ARRAY_SIZE(fds); i++) { - for (j = 0; j < ARRAY_SIZE(flags); j++) { - for (k = 0; k < ARRAY_SIZE(masks); k++) { -@@ -226,6 +225,40 @@ - } - } - } -+# else /* TEST_SECONTEXT */ -+ int rc; -+# endif -+ /* -+ * Test with AT_FDCWD. -+ */ -+ -+ char *my_secontext = SECONTEXT_PID_MY(); -+ char path[] = "."; -+ char *path_secontext = SECONTEXT_FILE(path); -+ -+ rc = fanotify_mark(-1, FAN_MARK_ADD, FAN_MODIFY | FAN_ONDIR, -+ -100, path); -+ printf("%s%s(-1, %s, %s, %s, \"%s\"%s) = %s\n", -+ my_secontext, "fanotify_mark", -+ str_fan_mark_add, str_fan_modify_ondir, str_at_fdcwd, -+ path, path_secontext, -+ sprintrc(rc)); -+ -+ /* -+ * Test with dirfd. -+ */ -+ -+ int cwd_fd = get_dir_fd("."); -+ char *cwd_secontext = SECONTEXT_FILE("."); -+ -+ rc = fanotify_mark(-1, FAN_MARK_ADD, FAN_MODIFY | FAN_ONDIR, -+ cwd_fd, path); -+ printf("%s%s(-1, %s, %s, %d%s, \"%s\"%s) = %s\n", -+ my_secontext, "fanotify_mark", -+ str_fan_mark_add, str_fan_modify_ondir, -+ cwd_fd, cwd_secontext, -+ path, path_secontext, -+ sprintrc(rc)); - - puts("+++ exited with 0 +++"); - return 0; -Index: strace-5.7/tests-mx32/fchmod.c -=================================================================== ---- strace-5.7.orig/tests-mx32/fchmod.c 2021-08-24 21:08:35.395312553 +0200 -+++ strace-5.7/tests-mx32/fchmod.c 2021-08-24 21:08:43.277245841 +0200 -@@ -18,6 +18,8 @@ - # include - # include - -+# include "secontext.h" -+ - int - main(void) - { -@@ -27,6 +29,8 @@ - */ - create_and_enter_subdir("fchmod_subdir"); - -+ char *my_secontext = SECONTEXT_PID_MY(); -+ - static const char sample[] = "fchmod_sample_file"; - (void) unlink(sample); - int fd = open(sample, O_CREAT|O_RDONLY, 0400); -@@ -37,16 +41,19 @@ - char *sample_realpath = get_fd_path(fd); - # endif - -+ const char *sample_secontext = SECONTEXT_FILE(sample); - long rc = syscall(__NR_fchmod, fd, 0600); - # ifdef YFLAG -- printf("fchmod(%d<%s>, 0600) = %s\n", -+ printf("%s%s(%d<%s>%s, 0600) = %s\n", - # else -- printf("fchmod(%d, 0600) = %s\n", -+ printf("%s%s(%d%s, 0600) = %s\n", - # endif -+ my_secontext, "fchmod", - fd, - # ifdef YFLAG - sample_realpath, - # endif -+ sample_secontext, - sprintrc(rc)); - - if (unlink(sample)) -@@ -54,26 +61,30 @@ - - rc = syscall(__NR_fchmod, fd, 051); - # ifdef YFLAG -- printf("fchmod(%d<%s (deleted)>, 051) = %s\n", -+ printf("%s%s(%d<%s (deleted)>%s, 051) = %s\n", - # else -- printf("fchmod(%d, 051) = %s\n", -+ printf("%s%s(%d%s, 051) = %s\n", - # endif -+ my_secontext, "fchmod", - fd, - # ifdef YFLAG - sample_realpath, - # endif -+ sample_secontext, - sprintrc(rc)); - - rc = syscall(__NR_fchmod, fd, 004); - # ifdef YFLAG -- printf("fchmod(%d<%s (deleted)>, 004) = %s\n", -+ printf("%s%s(%d<%s (deleted)>%s, 004) = %s\n", - # else -- printf("fchmod(%d, 004) = %s\n", -+ printf("%s%s(%d%s, 004) = %s\n", - # endif -+ my_secontext, "fchmod", - fd, - # ifdef YFLAG - sample_realpath, - # endif -+ sample_secontext, - sprintrc(rc)); - - leave_and_remove_subdir(); -Index: strace-5.7/tests-mx32/fchmodat.c -=================================================================== ---- strace-5.7.orig/tests-mx32/fchmodat.c 2021-08-24 21:08:35.396312544 +0200 -+++ strace-5.7/tests-mx32/fchmodat.c 2021-08-24 21:08:43.277245841 +0200 -@@ -17,6 +17,8 @@ - # include - # include - -+# include "secontext.h" -+ - int - main(void) - { -@@ -26,26 +28,81 @@ - */ - create_and_enter_subdir("fchmodat_subdir"); - -- static const char sample[] = "fchmodat_sample"; -+ char *my_secontext = SECONTEXT_PID_MY(); - -+ static const char sample[] = "fchmodat_sample_file"; - if (open(sample, O_RDONLY | O_CREAT, 0400) < 0) - perror_msg_and_fail("open"); - -+ char *sample_secontext = SECONTEXT_FILE(sample); -+ -+ /* -+ * Tests with AT_FDCWD. -+ */ -+ - long rc = syscall(__NR_fchmodat, -100, sample, 0600); -- printf("fchmodat(AT_FDCWD, \"%s\", 0600) = %s\n", -- sample, sprintrc(rc)); -+ printf("%s%s(AT_FDCWD, \"%s\"%s, 0600) = %s\n", -+ my_secontext, "fchmodat", -+ sample, sample_secontext, -+ sprintrc(rc)); - - if (unlink(sample)) - perror_msg_and_fail("unlink"); - - rc = syscall(__NR_fchmodat, -100, sample, 051); -- printf("fchmodat(AT_FDCWD, \"%s\", 051) = %s\n", -+ printf("%s%s(AT_FDCWD, \"%s\", 051) = %s\n", -+ my_secontext, "fchmodat", - sample, sprintrc(rc)); - - rc = syscall(__NR_fchmodat, -100, sample, 004); -- printf("fchmodat(AT_FDCWD, \"%s\", 004) = %s\n", -+ printf("%s%s(AT_FDCWD, \"%s\", 004) = %s\n", -+ my_secontext, "fchmodat", - sample, sprintrc(rc)); - -+ /* -+ * Tests with dirfd. -+ */ -+ -+ int cwd_fd = get_dir_fd("."); -+ char *cwd = get_fd_path(cwd_fd); -+ char *cwd_secontext = SECONTEXT_FILE("."); -+ char *sample_realpath = xasprintf("%s/%s", cwd, sample); -+ -+ /* no file */ -+ rc = syscall(__NR_fchmodat, cwd_fd, sample, 0400); -+ printf("%s%s(%d%s, \"%s\", 0400) = %s\n", -+ my_secontext, "fchmodat", -+ cwd_fd, cwd_secontext, -+ sample, -+ sprintrc(rc)); -+ -+ if (open(sample, O_RDONLY | O_CREAT, 0400) < 0) -+ perror_msg_and_fail("open"); -+ -+ rc = syscall(__NR_fchmodat, cwd_fd, sample, 0400); -+ printf("%s%s(%d%s, \"%s\"%s, 0400) = %s\n", -+ my_secontext, "fchmodat", -+ cwd_fd, cwd_secontext, -+ sample, sample_secontext, -+ sprintrc(rc)); -+ -+ /* cwd_fd ignored when path is absolute */ -+ if (chdir("../..")) -+ perror_msg_and_fail("chdir"); -+ -+ rc = syscall(__NR_fchmodat, cwd_fd, sample_realpath, 0400); -+ printf("%s%s(%d%s, \"%s\"%s, 0400) = %s\n", -+ my_secontext, "fchmodat", -+ cwd_fd, cwd_secontext, -+ sample_realpath, sample_secontext, -+ sprintrc(rc)); -+ -+ if (fchdir(cwd_fd)) -+ perror_msg_and_fail("fchdir"); -+ -+ if (unlink(sample)) -+ perror_msg_and_fail("unlink"); -+ - leave_and_remove_subdir(); - - puts("+++ exited with 0 +++"); -Index: strace-5.7/tests-mx32/fchownat.c -=================================================================== ---- strace-5.7.orig/tests-mx32/fchownat.c 2021-08-24 21:08:35.396312544 +0200 -+++ strace-5.7/tests-mx32/fchownat.c 2021-08-24 21:08:43.277245841 +0200 -@@ -17,6 +17,8 @@ - # include - # include - -+# include "secontext.h" -+ - int - main(void) - { -@@ -26,25 +28,86 @@ - */ - create_and_enter_subdir("fchownat_subdir"); - -- static const char sample[] = "fchownat_sample"; -+ char *my_secontext = SECONTEXT_PID_MY(); - uid_t uid = geteuid(); - uid_t gid = getegid(); - -- if (open(sample, O_RDONLY | O_CREAT, 0400) == -1) -+ static const char sample[] = "fchownat_sample"; -+ int fd = open(sample, O_RDONLY | O_CREAT, 0400); -+ if (fd == -1) - perror_msg_and_fail("open"); -+ close(fd); -+ -+ char *sample_secontext = SECONTEXT_FILE(sample); -+ -+ /* -+ * Tests with AT_FDCWD. -+ */ - - long rc = syscall(__NR_fchownat, AT_FDCWD, sample, uid, gid, 0); -- printf("fchownat(AT_FDCWD, \"%s\", %d, %d, 0) = %s\n", -- sample, uid, gid, sprintrc(rc)); -+ printf("%s%s(AT_FDCWD, \"%s\"%s, %d, %d, 0) = %s\n", -+ my_secontext, "fchownat", -+ sample, sample_secontext, -+ uid, gid, sprintrc(rc)); - - if (unlink(sample)) - perror_msg_and_fail("unlink"); - - rc = syscall(__NR_fchownat, AT_FDCWD, - sample, -1, -1L, AT_SYMLINK_NOFOLLOW); -- printf("fchownat(AT_FDCWD, \"%s\", -1, -1, AT_SYMLINK_NOFOLLOW) = %s\n", -+ printf("%s%s(AT_FDCWD, \"%s\", -1, -1, AT_SYMLINK_NOFOLLOW) = %s\n", -+ my_secontext, "fchownat", - sample, sprintrc(rc)); - -+ /* -+ * Tests with dirfd. -+ */ -+ -+ int cwd_fd = get_dir_fd("."); -+ char *cwd = get_fd_path(cwd_fd); -+ char *cwd_secontext = SECONTEXT_FILE("."); -+ char *sample_realpath = xasprintf("%s/%s", cwd, sample); -+ -+ /* no file */ -+ rc = syscall(__NR_fchownat, cwd_fd, sample, uid, gid, 0); -+ printf("%s%s(%d%s, \"%s\", %d, %d, 0) = %s\n", -+ my_secontext, "fchownat", -+ cwd_fd, cwd_secontext, -+ sample, -+ uid, gid, -+ sprintrc(rc)); -+ -+ fd = open(sample, O_RDONLY | O_CREAT, 0400); -+ if (fd == -1) -+ perror_msg_and_fail("open"); -+ close(fd); -+ -+ rc = syscall(__NR_fchownat, cwd_fd, sample, uid, gid, 0); -+ printf("%s%s(%d%s, \"%s\"%s, %d, %d, 0) = %s\n", -+ my_secontext, "fchownat", -+ cwd_fd, cwd_secontext, -+ sample, sample_secontext, -+ uid, gid, -+ sprintrc(rc)); -+ -+ /* cwd_fd ignored when path is absolute */ -+ if (chdir("../..")) -+ perror_msg_and_fail("chdir"); -+ -+ rc = syscall(__NR_fchownat, cwd_fd, sample_realpath, uid, gid, 0); -+ printf("%s%s(%d%s, \"%s\"%s, %d, %d, 0) = %s\n", -+ my_secontext, "fchownat", -+ cwd_fd, cwd_secontext, -+ sample_realpath, sample_secontext, -+ uid, gid, -+ sprintrc(rc)); -+ -+ if (fchdir(cwd_fd)) -+ perror_msg_and_fail("fchdir"); -+ -+ if (unlink(sample)) -+ perror_msg_and_fail("unlink"); -+ - leave_and_remove_subdir(); - - puts("+++ exited with 0 +++"); -Index: strace-5.7/tests-mx32/file_handle.c -=================================================================== ---- strace-5.7.orig/tests-mx32/file_handle.c 2021-08-24 21:08:35.396312544 +0200 -+++ strace-5.7/tests-mx32/file_handle.c 2021-08-24 21:08:43.277245841 +0200 -@@ -21,6 +21,8 @@ - # include - # include - -+# include "secontext.h" -+ - enum assert_rc { - ASSERT_NONE, - ASSERT_SUCCESS, -@@ -48,6 +50,7 @@ - printf("..."); - } - -+# ifndef TEST_SECONTEXT - void - do_name_to_handle_at(kernel_ulong_t dirfd, const char *dirfd_str, - kernel_ulong_t pathname, const char *pathname_str, -@@ -129,6 +132,7 @@ - - printf("%s\n", sprintrc(rc)); - } -+# endif /* !TEST_SECONTEXT */ - - struct strval { - kernel_ulong_t val; -@@ -141,12 +145,86 @@ - int - main(void) - { -+ char *my_secontext = SECONTEXT_PID_MY(); - enum { - PATH1_SIZE = 64, - }; - - static const kernel_ulong_t fdcwd = - (kernel_ulong_t) 0x87654321ffffff9cULL; -+ -+ struct file_handle *handle = -+ tail_alloc(sizeof(struct file_handle) + MAX_HANDLE_SZ); -+ struct file_handle *handle_0 = -+ tail_alloc(sizeof(struct file_handle) + 0); -+ struct file_handle *handle_8 = -+ tail_alloc(sizeof(struct file_handle) + 8); -+ struct file_handle *handle_128 = -+ tail_alloc(sizeof(struct file_handle) + 128); -+ struct file_handle *handle_256 = -+ tail_alloc(sizeof(struct file_handle) + 256); -+ TAIL_ALLOC_OBJECT_CONST_PTR(int, bogus_mount_id); -+ -+ char handle_0_addr[sizeof("0x") + sizeof(void *) * 2]; -+ -+ const int flags = 0x400; -+ int mount_id; -+ -+ handle_0->handle_bytes = 256; -+ handle_8->handle_bytes = 0; -+ handle_128->handle_bytes = 128; -+ handle_256->handle_bytes = 256; -+ -+ fill_memory((char *) handle_128 + sizeof(struct file_handle), 128); -+ fill_memory((char *) handle_256 + sizeof(struct file_handle), 256); -+ -+ snprintf(handle_0_addr, sizeof(handle_0_addr), "%p", -+ handle_0 + sizeof(struct file_handle)); -+ -+ handle->handle_bytes = 0; -+ -+ char path[] = "."; -+ char *path_secontext = SECONTEXT_FILE(path); -+ -+ assert(syscall(__NR_name_to_handle_at, fdcwd, path, handle, &mount_id, -+ flags | 1) == -1); -+ if (EINVAL != errno) -+ perror_msg_and_skip("name_to_handle_at"); -+ printf("%s%s(AT_FDCWD, \"%s\"%s, {handle_bytes=0}, %p" -+ ", AT_SYMLINK_FOLLOW|0x1) = -1 EINVAL (%m)\n", -+ my_secontext, "name_to_handle_at", -+ path, path_secontext, -+ &mount_id); -+ -+ assert(syscall(__NR_name_to_handle_at, fdcwd, path, handle, &mount_id, -+ flags) == -1); -+ if (EOVERFLOW != errno) -+ perror_msg_and_skip("name_to_handle_at"); -+ printf("%s%s(AT_FDCWD, \"%s\"%s, {handle_bytes=0 => %u}" -+ ", %p, AT_SYMLINK_FOLLOW) = -1 EOVERFLOW (%m)\n", -+ my_secontext, "name_to_handle_at", -+ path, path_secontext, -+ handle->handle_bytes, &mount_id); -+ -+ assert(syscall(__NR_name_to_handle_at, fdcwd, path, handle, &mount_id, -+ flags) == 0); -+ printf("%s%s(AT_FDCWD, \"%s\"%s, {handle_bytes=%u" -+ ", handle_type=%d, f_handle=", -+ my_secontext, "name_to_handle_at", -+ path, path_secontext, -+ handle->handle_bytes, handle->handle_type); -+ print_handle_data(handle->f_handle, handle->handle_bytes); -+ printf("}, [%d], AT_SYMLINK_FOLLOW) = 0\n", mount_id); -+ -+ printf("%s%s(-1, {handle_bytes=%u, handle_type=%d, f_handle=", -+ my_secontext, "open_by_handle_at", -+ handle->handle_bytes, handle->handle_type); -+ print_handle_data(handle->f_handle, handle->handle_bytes); -+ int rc = syscall(__NR_open_by_handle_at, -1, handle, -+ O_RDONLY | O_DIRECTORY); -+ printf("}, O_RDONLY|O_DIRECTORY) = %d %s (%m)\n", rc, errno2name()); -+ -+# ifndef TEST_SECONTEXT - static const struct strval dirfds[] = { - { (kernel_ulong_t) 0xdeadca57badda7a1ULL, "-1159878751" }, - { (kernel_ulong_t) 0x12345678ffffff9cULL, "AT_FDCWD" }, -@@ -171,29 +249,11 @@ - }; - - static const char str64[] = STR64; -- -- - char *bogus_path1 = tail_memdup(str64, PATH1_SIZE); - char *bogus_path2 = tail_memdup(str64, sizeof(str64)); -- -- struct file_handle *handle = -- tail_alloc(sizeof(struct file_handle) + MAX_HANDLE_SZ); -- struct file_handle *handle_0 = -- tail_alloc(sizeof(struct file_handle) + 0); -- struct file_handle *handle_8 = -- tail_alloc(sizeof(struct file_handle) + 8); -- struct file_handle *handle_128 = -- tail_alloc(sizeof(struct file_handle) + 128); -- struct file_handle *handle_256 = -- tail_alloc(sizeof(struct file_handle) + 256); -- TAIL_ALLOC_OBJECT_CONST_PTR(int, bogus_mount_id); -- -- char handle_0_addr[sizeof("0x") + sizeof(void *) * 2]; -- - char bogus_path1_addr[sizeof("0x") + sizeof(void *) * 2]; - char bogus_path1_after_addr[sizeof("0x") + sizeof(void *) * 2]; - -- - struct strval paths[] = { - { (kernel_ulong_t) 0, "NULL" }, - { (kernel_ulong_t) (uintptr_t) (bogus_path1 + PATH1_SIZE), -@@ -229,62 +289,16 @@ - (kernel_ulong_t) (uintptr_t) bogus_mount_id, - }; - -- const int flags = 0x400; -- int mount_id; - unsigned int i; - unsigned int j; - unsigned int k; - unsigned int l; - unsigned int m; - -- - snprintf(bogus_path1_addr, sizeof(bogus_path1_addr), "%p", bogus_path1); - snprintf(bogus_path1_after_addr, sizeof(bogus_path1_after_addr), "%p", - bogus_path1 + PATH1_SIZE); - -- handle_0->handle_bytes = 256; -- handle_8->handle_bytes = 0; -- handle_128->handle_bytes = 128; -- handle_256->handle_bytes = 256; -- -- fill_memory((char *) handle_128 + sizeof(struct file_handle), 128); -- fill_memory((char *) handle_256 + sizeof(struct file_handle), 256); -- -- snprintf(handle_0_addr, sizeof(handle_0_addr), "%p", -- handle_0 + sizeof(struct file_handle)); -- -- handle->handle_bytes = 0; -- -- assert(syscall(__NR_name_to_handle_at, fdcwd, ".", handle, &mount_id, -- flags | 1) == -1); -- if (EINVAL != errno) -- perror_msg_and_skip("name_to_handle_at"); -- printf("name_to_handle_at(AT_FDCWD, \".\", {handle_bytes=0}, %p" -- ", AT_SYMLINK_FOLLOW|0x1) = -1 EINVAL (%m)\n", &mount_id); -- -- assert(syscall(__NR_name_to_handle_at, fdcwd, ".", handle, &mount_id, -- flags) == -1); -- if (EOVERFLOW != errno) -- perror_msg_and_skip("name_to_handle_at"); -- printf("name_to_handle_at(AT_FDCWD, \".\", {handle_bytes=0 => %u}" -- ", %p, AT_SYMLINK_FOLLOW) = -1 EOVERFLOW (%m)\n", -- handle->handle_bytes, &mount_id); -- -- assert(syscall(__NR_name_to_handle_at, fdcwd, ".", handle, &mount_id, -- flags) == 0); -- printf("name_to_handle_at(AT_FDCWD, \".\", {handle_bytes=%u" -- ", handle_type=%d, f_handle=", -- handle->handle_bytes, handle->handle_type); -- print_handle_data(handle->f_handle, handle->handle_bytes); -- printf("}, [%d], AT_SYMLINK_FOLLOW) = 0\n", mount_id); -- -- printf("open_by_handle_at(-1, {handle_bytes=%u, handle_type=%d" -- ", f_handle=", handle->handle_bytes, handle->handle_type); -- print_handle_data(handle->f_handle, handle->handle_bytes); -- int rc = syscall(__NR_open_by_handle_at, -1, handle, -- O_RDONLY | O_DIRECTORY); -- printf("}, O_RDONLY|O_DIRECTORY) = %d %s (%m)\n", rc, errno2name()); -- - for (i = 0; i < ARRAY_SIZE(dirfds); i++) { - for (j = 0; j < ARRAY_SIZE(paths); j++) { - for (k = 0; k < ARRAY_SIZE(name_handles); k++) { -@@ -320,6 +334,68 @@ - } - } - } -+# endif -+ -+ /* -+ * Tests with dirfd. -+ */ -+ -+ int cwd_fd = get_dir_fd("."); -+ char *cwd = get_fd_path(cwd_fd); -+ char *cwd_secontext = SECONTEXT_FILE("."); -+ -+ assert(syscall(__NR_name_to_handle_at, cwd_fd, path, handle, &mount_id, -+ flags) == 0); -+ printf("%s%s(%d%s, \"%s\"%s, {handle_bytes=%u, handle_type=%d" -+ ", f_handle=", -+ my_secontext, "name_to_handle_at", -+ cwd_fd, cwd_secontext, -+ path, path_secontext, -+ handle->handle_bytes, handle->handle_type); -+ print_handle_data((unsigned char *) handle + -+ sizeof(struct file_handle), -+ handle->handle_bytes); -+ printf("}, [%d], AT_SYMLINK_FOLLOW) = 0\n", mount_id); -+ -+ printf("%s%s(-1, {handle_bytes=%u, handle_type=%d, f_handle=", -+ my_secontext, "open_by_handle_at", -+ handle->handle_bytes, handle->handle_type); -+ print_handle_data((unsigned char *) handle + -+ sizeof(struct file_handle), -+ handle->handle_bytes); -+ rc = syscall(__NR_open_by_handle_at, -1, handle, -+ O_RDONLY | O_DIRECTORY); -+ printf("}, O_RDONLY|O_DIRECTORY) = %s\n", sprintrc(rc)); -+ -+ /* cwd_fd ignored when path is absolute */ -+ if (chdir("..")) -+ perror_msg_and_fail("chdir"); -+ -+ assert(syscall(__NR_name_to_handle_at, cwd_fd, cwd, handle, &mount_id, -+ flags) == 0); -+ printf("%s%s(%d%s, \"%s\"%s, {handle_bytes=%u" -+ ", handle_type=%d, f_handle=", -+ my_secontext, "name_to_handle_at", -+ cwd_fd, cwd_secontext, -+ cwd, cwd_secontext, -+ handle->handle_bytes, handle->handle_type); -+ print_handle_data((unsigned char *) handle + -+ sizeof(struct file_handle), -+ handle->handle_bytes); -+ printf("}, [%d], AT_SYMLINK_FOLLOW) = 0\n", mount_id); -+ -+ printf("%s%s(-1, {handle_bytes=%u, handle_type=%d, f_handle=", -+ my_secontext, "open_by_handle_at", -+ handle->handle_bytes, handle->handle_type); -+ print_handle_data((unsigned char *) handle + -+ sizeof(struct file_handle), -+ handle->handle_bytes); -+ rc = syscall(__NR_open_by_handle_at, -1, handle, -+ O_RDONLY | O_DIRECTORY); -+ printf("}, O_RDONLY|O_DIRECTORY) = %s\n", sprintrc(rc)); -+ -+ if (fchdir(cwd_fd)) -+ perror_msg_and_fail("fchdir"); - - puts("+++ exited with 0 +++"); - return 0; -Index: strace-5.7/tests-mx32/gen_secontext.sh -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/gen_secontext.sh 2021-08-24 21:08:43.277245841 +0200 -@@ -0,0 +1,72 @@ -+#!/bin/sh -efu -+# -+# Copyright (c) 2021 The strace developers. -+# All rights reserved. -+# -+# SPDX-License-Identifier: GPL-2.0-or-later -+ -+usage() -+{ -+ cat >&2 <] -+ -+Generate secontext files from list. -+EOF -+ exit 1 -+} -+ -+if [ $# -eq 0 ]; then -+ input="${0%/*}/gen_tests.in" -+else -+ input="$1" -+ shift -+fi -+dir="$(dirname "$input")" -+[ $# -eq 0 ] || usage -+ -+{ -+ cat < "$dir/secontext.am" -+ -+sed -r -n 's/^([^#[:space:]]+--secontext)[[:space:]].*/\1/p' < "$input" | -+while read -r name; do { -+ cat <<-EOF > "$dir/$name.c" -+ /* -+ * Copyright (c) 2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+ #include "tests.h" -+ -+ #ifdef HAVE_SELINUX_RUNTIME -+ -+ # define TEST_SECONTEXT -+ # include "${name%--secontext}.c" -+ -+ #else -+ -+ SKIP_MAIN_UNDEFINED("HAVE_SELINUX_RUNTIME") -+ -+ #endif -+ EOF -+} < /dev/null; done -+ -+sed -r -n 's/^([^#[:space:]]+--secontext_full)[[:space:]].*/\1/p' < "$input" | -+while read -r name; do { -+ cat <<-EOF > "$dir/$name.c" -+ #define PRINT_SECONTEXT_FULL -+ #include "${name%_full}.c" -+ EOF -+} < /dev/null; done -Index: strace-5.7/tests-mx32/gen_tests.in -=================================================================== ---- strace-5.7.orig/tests-mx32/gen_tests.in 2021-08-24 21:08:35.397312536 +0200 -+++ strace-5.7/tests-mx32/gen_tests.in 2021-08-24 21:08:43.278245832 +0200 -@@ -10,6 +10,8 @@ - accept -a22 - accept4 -a37 - access -a30 --trace-path=access_sample -+access--secontext -a30 --secontext --trace-path=access_sample -e trace=access -+access--secontext_full -a30 --secontext=full --trace-path=access_sample -e trace=access - acct -a20 - add_key -a30 -s12 - adjtimex -a15 -@@ -24,6 +26,8 @@ - bpf-v -a20 -v -e trace=bpf - btrfs +ioctl.test - chmod -a28 -+chmod--secontext -a28 --secontext -e trace=chmod -+chmod--secontext_full -a28 --secontext=full -e trace=chmod - chown -a28 - chown32 -a31 - chroot -a24 -@@ -71,25 +75,43 @@ - epoll_pwait - epoll_wait -a26 - erestartsys -a34 -e signal=none -e trace=recvfrom -+execve--secontext +execve.test --secontext -+execve--secontext_full +execve.test --secontext=full - execveat -+execveat--secontext --secontext --trace=execveat -+execveat--secontext_full --secontext=full --trace=execveat - execveat-v -v -e trace=execveat -+faccessat--secontext +faccessat.test -a24 --secontext -+faccessat--secontext_full +faccessat.test -a24 --secontext=full - faccessat-P -a23 --trace=faccessat -P /dev/full - faccessat-y +faccessat.test -a24 -y -+faccessat-y--secontext +faccessat.test -a24 -y --secontext -+faccessat-y--secontext_full +faccessat.test -a24 -y --secontext=full - faccessat-yy +faccessat.test -a24 -yy - fadvise64_64 +fadvise64.test - fallocate -a18 - fanotify_init - fanotify_mark -a32 -+fanotify_mark--secontext -a32 --secontext -e trace=fanotify_mark -+fanotify_mark--secontext_full -a32 --secontext=full -e trace=fanotify_mark - fanotify_mark-Xabbrev -a32 -Xabbrev -e trace=fanotify_mark - fanotify_mark-Xraw -a32 -Xraw -e trace=fanotify_mark - fanotify_mark-Xverbose -a32 -Xverbose -e trace=fanotify_mark - fchdir -a11 - fchmod -a15 -+fchmod--secontext -a15 --secontext -e trace=fchmod -+fchmod--secontext_full -a15 --secontext=full -e trace=fchmod - fchmod-y -y -e trace=fchmod -+fchmod-y--secontext -a15 -y --secontext -e trace=fchmod -+fchmod-y--secontext_full -a15 -y --secontext=full -e trace=fchmod - fchmodat -+fchmodat--secontext --secontext -e trace=fchmodat -+fchmodat--secontext_full --secontext=full -e trace=fchmodat - fchown -a16 - fchown32 -a18 - fchownat -+fchownat--secontext --secontext -e trace=fchownat -+fchownat--secontext_full --secontext=full -e trace=fchownat - fcntl -a8 - fcntl--pidns-translation test_pidns -a8 -e trace=fcntl - fcntl64 -a8 -@@ -97,6 +119,8 @@ - fdatasync -a14 - file_handle -e trace=name_to_handle_at,open_by_handle_at - file_ioctl +ioctl.test -+file_handle--secontext --secontext -e trace=name_to_handle_at,open_by_handle_at -+file_handle--secontext_full --secontext=full -e trace=name_to_handle_at,open_by_handle_at - filter_seccomp . "${srcdir=.}/filter_seccomp.sh"; test_prog_set --seccomp-bpf -f - filter_seccomp-flag ../$NAME - finit_module -a25 -@@ -295,6 +319,8 @@ - lchown32 -a32 - link - linkat -+linkat--secontext --secontext -e trace=linkat -+linkat--secontext_full --secontext=full -e trace=linkat - lookup_dcookie -a27 - lstat -a31 --no-abbrev --trace-path=stat.sample --trace-path=/dev/full - lstat64 -a32 --no-abbrev --trace-path=stat.sample --trace-path=/dev/full -@@ -434,9 +460,13 @@ - oldselect-efault-P -a13 -e trace=select -P /dev/full 9>>/dev/full - oldstat -a32 -v -P stat.sample -P /dev/full - open -a30 -P $NAME.sample -+open--secontext -a30 -P open.sample --secontext --trace=open -+open--secontext_full -a30 -P open.sample --secontext=full --trace=open - open_tree -a30 -y - open_tree-P -a30 --decode-fds -P /dev/full -e trace=open_tree - openat -a36 -P $NAME.sample -+openat--secontext -a36 -P openat.sample -P $PWD/openat.sample --secontext -e trace=openat -+openat--secontext_full -a36 -P openat.sample -P $PWD/openat.sample --secontext=full -e trace=openat - openat2 -a35 - openat2-Xabbrev --trace=openat2 -a35 -Xabbrev - openat2-Xraw --trace=openat2 -a32 -Xraw -Index: strace-5.7/tests-mx32/linkat.c -=================================================================== ---- strace-5.7.orig/tests-mx32/linkat.c 2021-08-24 21:08:35.397312536 +0200 -+++ strace-5.7/tests-mx32/linkat.c 2021-08-24 21:08:43.278245832 +0200 -@@ -10,8 +10,14 @@ - - #ifdef __NR_linkat - -+# include - # include -+# include - # include -+# include -+ -+# include "secontext.h" -+# include "xmalloc.h" - - int - main(void) -@@ -27,18 +33,158 @@ - const long fd_old = (long) 0xdeadbeefffffffffULL; - const long fd_new = (long) 0xdeadbeeffffffffeULL; - -+ char *my_secontext = SECONTEXT_PID_MY(); -+ -+ (void) unlink(sample_1); -+ (void) unlink(sample_2); -+ - long rc = syscall(__NR_linkat, fd_old, sample_1, fd_new, sample_2, 0); -- printf("linkat(%d, \"%s\", %d, \"%s\", 0) = %ld %s (%m)\n", -+ printf("%s%s(%d, \"%s\", %d, \"%s\", 0) = %ld %s (%m)\n", -+ my_secontext, "linkat", - (int) fd_old, sample_1, (int) fd_new, sample_2, - rc, errno2name()); - - rc = syscall(__NR_linkat, -100, sample_1, -100, sample_2, -1L); -- printf("linkat(%s, \"%s\", %s, \"%s\", %s) = %ld %s (%m)\n", -+ printf("%s%s(%s, \"%s\", %s, \"%s\", %s) = %ld %s (%m)\n", -+ my_secontext, "linkat", - "AT_FDCWD", sample_1, "AT_FDCWD", sample_2, - "AT_SYMLINK_NOFOLLOW|AT_REMOVEDIR|AT_SYMLINK_FOLLOW" - "|AT_NO_AUTOMOUNT|AT_EMPTY_PATH|AT_RECURSIVE|0xffff60ff", - rc, errno2name()); - -+ /* -+ * Tests with AT_FDCWD. -+ */ -+ -+ int fd_sample_1 = open(sample_1, O_RDONLY | O_CREAT, 0400); -+ if (fd_sample_1 < 0) -+ perror_msg_and_fail("open"); -+ if (close(fd_sample_1)) -+ perror_msg_and_fail("close"); -+ -+ char *sample_1_secontext = SECONTEXT_FILE(sample_1); -+ -+ rc = syscall(__NR_linkat, -100, sample_1, -100, sample_2, 0); -+ /* no context printed for sample_2 since file doesn't exist yet */ -+ printf("%s%s(AT_FDCWD, \"%s\"%s, AT_FDCWD, \"%s\", 0) = %s\n", -+ my_secontext, "linkat", -+ sample_1, sample_1_secontext, -+ sample_2, -+ sprintrc(rc)); -+ -+ const char *sample_2_secontext = sample_1_secontext; -+ -+ rc = syscall(__NR_linkat, -100, sample_1, -100, sample_2, 0); -+ printf("%s%s(AT_FDCWD, \"%s\"%s, AT_FDCWD, \"%s\"%s, 0) = %s\n", -+ my_secontext, "linkat", -+ sample_1, sample_1_secontext, -+ sample_2, sample_2_secontext, -+ sprintrc(rc)); -+ -+ int fd_sample_2 = open(sample_2, O_RDONLY | O_CREAT, 0400); -+ if (fd_sample_2 < 0) -+ perror_msg_and_fail("open"); -+ if (close(fd_sample_2)) -+ perror_msg_and_fail("close"); -+ -+ free(sample_1_secontext); -+ update_secontext_type(sample_1, "default_t"); -+ sample_1_secontext = SECONTEXT_FILE(sample_1); -+ sample_2_secontext = sample_1_secontext; -+ -+ rc = syscall(__NR_linkat, -100, sample_1, -100, sample_2, 0); -+ printf("%s%s(AT_FDCWD, \"%s\"%s, AT_FDCWD, \"%s\"%s, 0) = %s\n", -+ my_secontext, "linkat", -+ sample_1, sample_1_secontext, -+ sample_2, sample_2_secontext, -+ sprintrc(rc)); -+ -+ if (unlink(sample_2)) -+ perror_msg_and_fail("unlink: %s", sample_2); -+ -+ /* -+ * Tests with dirfd. -+ */ -+ -+ int dfd_old = get_dir_fd("."); -+ char *cwd = get_fd_path(dfd_old); -+ char *dfd_old_secontext = SECONTEXT_FILE("."); -+ -+ rc = syscall(__NR_linkat, dfd_old, sample_1, -100, sample_2, 0); -+ /* no context printed for sample_2 since file doesn't exist yet */ -+ printf("%s%s(%d%s, \"%s\"%s, AT_FDCWD, \"%s\", 0) = %s\n", -+ my_secontext, "linkat", -+ dfd_old, dfd_old_secontext, -+ sample_1, sample_1_secontext, -+ sample_2, -+ sprintrc(rc)); -+ -+ rc = syscall(__NR_linkat, dfd_old, sample_1, -100, sample_2, 0); -+ printf("%s%s(%d%s, \"%s\"%s, AT_FDCWD, \"%s\"%s, 0) = %s\n", -+ my_secontext, "linkat", -+ dfd_old, dfd_old_secontext, -+ sample_1, sample_1_secontext, -+ sample_2, sample_2_secontext, -+ sprintrc(rc)); -+ -+ if (unlink(sample_2)) -+ perror_msg_and_fail("unlink: %s", sample_2); -+ -+ static const char new_dir[] = "new"; -+ char *new_sample_2 = xasprintf("%s/%s", new_dir, sample_2); -+ -+ (void) unlink(new_sample_2); -+ (void) rmdir(new_dir); -+ -+ if (mkdir(new_dir, 0700)) -+ perror_msg_and_fail("mkdir"); -+ char *new_dir_realpath = xasprintf("%s/%s", cwd, new_dir); -+ char *new_dir_secontext = SECONTEXT_FILE(new_dir); -+ int dfd_new = get_dir_fd(new_dir); -+ -+ rc = syscall(__NR_linkat, dfd_old, sample_1, dfd_new, sample_2, 0); -+ /* no context printed for sample_2 since file doesn't exist yet */ -+ printf("%s%s(%d%s, \"%s\"%s, %d%s, \"%s\", 0) = %s\n", -+ my_secontext, "linkat", -+ dfd_old, dfd_old_secontext, -+ sample_1, sample_1_secontext, -+ dfd_new, new_dir_secontext, -+ sample_2, -+ sprintrc(rc)); -+ -+ rc = syscall(__NR_linkat, dfd_old, sample_1, dfd_new, sample_2, 0); -+ printf("%s%s(%d%s, \"%s\"%s, %d%s, \"%s\"%s, 0) = %s\n", -+ my_secontext, "linkat", -+ dfd_old, dfd_old_secontext, -+ sample_1, sample_1_secontext, -+ dfd_new, new_dir_secontext, -+ sample_2, SECONTEXT_FILE(new_sample_2), -+ sprintrc(rc)); -+ -+ char *new_sample_2_realpath = xasprintf("%s/%s", new_dir_realpath, sample_2); -+ -+ /* dfd ignored when path is absolute */ -+ if (chdir("../..")) -+ perror_msg_and_fail("chdir"); -+ -+ rc = syscall(__NR_linkat, dfd_old, sample_1, -100, new_sample_2_realpath, 0); -+ printf("%s%s(%d%s, \"%s\"%s, AT_FDCWD, \"%s\"%s, 0) = %s\n", -+ my_secontext, "linkat", -+ dfd_old, dfd_old_secontext, -+ sample_1, sample_1_secontext, -+ new_sample_2_realpath, SECONTEXT_FILE(new_sample_2_realpath), -+ sprintrc(rc)); -+ -+ if (fchdir(dfd_old)) -+ perror_msg_and_fail("fchdir"); -+ -+ if (unlink(sample_1)) -+ perror_msg_and_fail("unlink: %s", sample_1); -+ if (unlink(new_sample_2)) -+ perror_msg_and_fail("unlink: %s", new_sample_2); -+ if (rmdir(new_dir)) -+ perror_msg_and_fail("rmdir: %s", new_dir); -+ - leave_and_remove_subdir(); - - puts("+++ exited with 0 +++"); -Index: strace-5.7/tests-mx32/open.c -=================================================================== ---- strace-5.7.orig/tests-mx32/open.c 2021-08-24 21:08:35.397312536 +0200 -+++ strace-5.7/tests-mx32/open.c 2021-08-24 21:08:43.278245832 +0200 -@@ -15,6 +15,8 @@ - # include - # include - -+# include "secontext.h" -+ - int - main(void) - { -@@ -25,10 +27,12 @@ - create_and_enter_subdir("open_subdir"); - - static const char sample[] = "open.sample"; -+ char *my_secontext = SECONTEXT_PID_MY(); - - long fd = syscall(__NR_open, sample, O_RDONLY|O_CREAT, 0400); -- printf("open(\"%s\", O_RDONLY|O_CREAT, 0400) = %s\n", -- sample, sprintrc(fd)); -+ printf("%s%s(\"%s\", O_RDONLY|O_CREAT, 0400) = %s%s\n", -+ my_secontext, "open", -+ sample, sprintrc(fd), SECONTEXT_FILE(sample)); - - if (fd != -1) { - close(fd); -@@ -36,16 +40,18 @@ - perror_msg_and_fail("unlink"); - - fd = syscall(__NR_open, sample, O_RDONLY); -- printf("open(\"%s\", O_RDONLY) = %s\n", sample, sprintrc(fd)); -+ printf("%s%s(\"%s\", O_RDONLY) = %s\n", -+ my_secontext, "open", sample, sprintrc(fd)); - - fd = syscall(__NR_open, sample, O_WRONLY|O_NONBLOCK|0x80000000); -- printf("open(\"%s\", O_WRONLY|O_NONBLOCK|0x80000000) = %s\n", -- sample, sprintrc(fd)); -+ printf("%s%s(\"%s\", O_WRONLY|O_NONBLOCK|0x80000000) = %s\n", -+ my_secontext, "open", sample, sprintrc(fd)); - } - - # ifdef O_TMPFILE - fd = syscall(__NR_open, sample, O_WRONLY|O_TMPFILE, 0600); -- printf("open(\"%s\", O_WRONLY|O_TMPFILE, 0600) = %s\n", -+ printf("%s%s(\"%s\", O_WRONLY|O_TMPFILE, 0600) = %s\n", -+ my_secontext, "open", - sample, sprintrc(fd)); - # endif /* O_TMPFILE */ - -Index: strace-5.7/tests-mx32/openat.c -=================================================================== ---- strace-5.7.orig/tests-mx32/openat.c 2021-08-24 21:08:35.397312536 +0200 -+++ strace-5.7/tests-mx32/openat.c 2021-08-24 21:08:43.278245832 +0200 -@@ -15,6 +15,8 @@ - # include - # include - -+# include "secontext.h" -+ - # ifdef O_TMPFILE - /* The kernel & C libraries often inline O_DIRECTORY. */ - # define STRACE_O_TMPFILE (O_TMPFILE & ~O_DIRECTORY) -@@ -26,10 +28,12 @@ - - static void - test_mode_flag(unsigned int mode_val, const char *mode_str, -- unsigned int flag_val, const char *flag_str) -+ unsigned int flag_val, const char *flag_str, -+ const char *my_secontext) - { - long rc = syscall(__NR_openat, -1, sample, mode_val | flag_val, 0); -- printf("openat(-1, \"%s\", %s%s%s%s) = %s\n", -+ printf("%s%s(-1, \"%s\", %s%s%s%s) = %s\n", -+ my_secontext, "openat", - sample, mode_str, - flag_val ? "|" : "", flag_str, - flag_val & (O_CREAT | STRACE_O_TMPFILE) ? ", 000" : "", -@@ -45,20 +49,7 @@ - */ - create_and_enter_subdir("openat_subdir"); - -- long fd = syscall(__NR_openat, -100, sample, O_RDONLY|O_CREAT, 0400); -- printf("openat(AT_FDCWD, \"%s\", O_RDONLY|O_CREAT, 0400) = %s\n", -- sample, sprintrc(fd)); -- -- if (fd != -1) { -- close(fd); -- if (unlink(sample) == -1) -- perror_msg_and_fail("unlink"); -- -- fd = syscall(__NR_openat, -100, sample, O_RDONLY); -- printf("openat(AT_FDCWD, \"%s\", O_RDONLY) = %s\n", -- sample, sprintrc(fd)); -- } -- -+ char *my_secontext = SECONTEXT_PID_MY(); - struct { - unsigned int val; - const char *str; -@@ -105,7 +96,73 @@ - for (unsigned int m = 0; m < ARRAY_SIZE(modes); ++m) - for (unsigned int f = 0; f < ARRAY_SIZE(flags); ++f) - test_mode_flag(modes[m].val, modes[m].str, -- flags[f].val, flags[f].str); -+ flags[f].val, flags[f].str, -+ my_secontext); -+ -+ /* -+ * Tests with AT_FDCWD. -+ */ -+ -+ (void) unlink(sample); -+ long fd = syscall(__NR_openat, -100, sample, O_RDONLY|O_CREAT, 0400); -+ -+ char *sample_secontext = SECONTEXT_FILE(sample); -+ -+ /* -+ * File context in openat() is not displayed because file doesn't exist -+ * yet, but is displayed in return value since the file got created. -+ */ -+ printf("%s%s(AT_FDCWD, \"%s\", O_RDONLY|O_CREAT, 0400) = %s%s\n", -+ my_secontext, "openat", -+ sample, -+ sprintrc(fd), sample_secontext); -+ -+ close(fd); -+ -+ fd = syscall(__NR_openat, -100, sample, O_RDONLY); -+ printf("%s%s(AT_FDCWD, \"%s\"%s, O_RDONLY) = %s%s\n", -+ my_secontext, "openat", -+ sample, sample_secontext, -+ sprintrc(fd), sample_secontext); -+ if (fd != -1) { -+ close(fd); -+ if (unlink(sample)) -+ perror_msg_and_fail("unlink"); -+ } -+ -+ /* -+ * Tests with dirfd. -+ */ -+ -+ int cwd_fd = get_dir_fd("."); -+ char *cwd_secontext = SECONTEXT_FILE("."); -+ -+ fd = syscall(__NR_openat, cwd_fd, sample, O_RDONLY|O_CREAT, 0400); -+ if (fd == -1) -+ perror_msg_and_fail("openat"); -+ close(fd); -+ -+ /* -+ * File context in openat() is not displayed because file doesn't exist -+ * yet, but is displayed in return value since the file got created. -+ */ -+ printf("%s%s(%d%s, \"%s\", O_RDONLY|O_CREAT, 0400) = %s%s\n", -+ my_secontext, "openat", -+ cwd_fd, cwd_secontext, -+ sample, -+ sprintrc(fd), sample_secontext); -+ -+ fd = syscall(__NR_openat, cwd_fd, sample, O_RDONLY); -+ printf("%s%s(%d%s, \"%s\"%s, O_RDONLY) = %s%s\n", -+ my_secontext, "openat", -+ cwd_fd, cwd_secontext, -+ sample, sample_secontext, -+ sprintrc(fd), sample_secontext); -+ if (fd != -1) { -+ close(fd); -+ if (unlink(sample)) -+ perror_msg_and_fail("unlink"); -+ } - - leave_and_remove_subdir(); - -Index: strace-5.7/tests-mx32/options-syntax.test -=================================================================== ---- strace-5.7.orig/tests-mx32/options-syntax.test 2021-08-24 21:08:35.398312527 +0200 -+++ strace-5.7/tests-mx32/options-syntax.test 2021-08-24 21:08:43.279245824 +0200 -@@ -2,14 +2,16 @@ - # - # Check strace options syntax. - # --# Copyright (c) 2016 Dmitry V. Levin --# Copyright (c) 2016-2020 The strace developers. -+# Copyright (c) 2016 Dmitry V. Levin -+# Copyright (c) 2016-2021 The strace developers. - # All rights reserved. - # - # SPDX-License-Identifier: GPL-2.0-or-later - - . "${srcdir=.}/syntax.sh" - -+compiled_with_secontext=$(get_config_option ENABLE_SECONTEXT "y") -+ - check_e "Invalid process id: '0'" -p 0 - check_e "Invalid process id: '0'" --attach=0 - check_e "Invalid process id: '-42'" -p -42 -@@ -46,6 +48,8 @@ - check_e '-t and --absolute-timestamps cannot be provided simultaneously' --absolute-timestamps -ttt -p $$ - check_e '-t and --absolute-timestamps cannot be provided simultaneously' -t --timestamps=ns -t -p $$ - check_e '-t and --absolute-timestamps cannot be provided simultaneously' --timestamps=ns -t --absolute-timestamps=unix -p $$ -+[ -z "$compiled_with_secontext" ] || -+ check_h "invalid --secontext argument: 'ss'" --secontext=ss - check_h 'PROG [ARGS] must be specified with -D/--daemonize' -D -p $$ - check_h 'PROG [ARGS] must be specified with -D/--daemonize' -DD -p $$ - check_h 'PROG [ARGS] must be specified with -D/--daemonize' -DDD -p $$ -@@ -281,6 +285,11 @@ - $STRACE_EXE: Only the last of -z/--successful-only/-Z/--failed-only options will take effect. See status qualifier for more complex filters. - $STRACE_EXE: $umsg" -u :nosuchuser: -cirtTyzZ true - -+ if [ -n "$compiled_with_secontext" ]; then -+ check_e "--secontext has no effect with -c/--summary-only -+$STRACE_EXE: $umsg" -u :nosuchuser: -c --secontext true -+ fi -+ - for c in --output-separately -A/--output-append-mode; do - check_e "$c has no effect without -o/--output - $STRACE_EXE: $umsg" -u :nosuchuser: ${c%%/*} true -Index: strace-5.7/tests-mx32/secontext.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/secontext.c 2021-08-24 21:08:43.279245824 +0200 -@@ -0,0 +1,201 @@ -+/* -+ * Copyright (c) 2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+ -+#ifdef HAVE_SELINUX_RUNTIME -+ -+# include -+# include -+# include -+# include -+# include -+# include -+ -+# include "xmalloc.h" -+ -+# define TEST_SECONTEXT -+# include "secontext.h" -+ -+static char * -+secontext_format(char *context, const char *fmt) -+ ATTRIBUTE_FORMAT((printf, 2, 0)) ATTRIBUTE_MALLOC; -+ -+static char * -+secontext_format(char *context, const char *fmt) -+{ -+ int saved_errno = errno; -+ char *res = context ? xasprintf(fmt, context) : xstrdup(""); -+ free(context); -+ errno = saved_errno; -+ return res; -+} -+ -+# define FORMAT_SPACE_BEFORE(string) secontext_format(string, " [%s]") -+# define FORMAT_SPACE_AFTER(string) secontext_format(string, "[%s] ") -+ -+static char * -+strip_trailing_newlines(char *context) -+{ -+ /* -+ * On the CI at least, the context may have a trailing \n, -+ * let's remove it just in case. -+ */ -+ size_t len = strlen(context); -+ for (; len > 0; --len) { -+ if (context[len - 1] != '\n') -+ break; -+ } -+ context[len] = '\0'; -+ return context; -+} -+ -+static char * -+raw_secontext_full_file(const char *filename) -+{ -+ int saved_errno = errno; -+ char *full_secontext = NULL; -+ char *secontext; -+ -+ if (getfilecon(filename, &secontext) >= 0) { -+ full_secontext = strip_trailing_newlines(xstrdup(secontext)); -+ freecon(secontext); -+ } -+ errno = saved_errno; -+ return full_secontext; -+} -+ -+static char * -+raw_secontext_short_file(const char *filename) -+{ -+ int saved_errno = errno; -+ -+ char *ctx = raw_secontext_full_file(filename); -+ if (ctx == NULL) -+ return ctx; -+ -+ char *saveptr = NULL; -+ const char *token; -+ unsigned int i; -+ -+ char *ctx_copy = xstrdup(ctx); -+ char *context = NULL; -+ for (token = strtok_r(ctx_copy, ":", &saveptr), i = 0; -+ token; token = strtok_r(NULL, ":", &saveptr), i++) { -+ if (i == 2) { -+ context = xstrdup(token); -+ break; -+ } -+ } -+ if (context == NULL) -+ context = xstrdup(ctx); -+ free(ctx_copy); -+ free(ctx); -+ -+ errno = saved_errno; -+ return context; -+} -+ -+static char * -+raw_secontext_full_pid(pid_t pid) -+{ -+ int saved_errno = errno; -+ char *full_secontext = NULL; -+ char *secontext; -+ -+ if (getpidcon(pid, &secontext) == 0) { -+ full_secontext = strip_trailing_newlines(xstrdup(secontext)); -+ freecon(secontext); -+ } -+ errno = saved_errno; -+ return full_secontext; -+} -+ -+static char * -+raw_secontext_short_pid(pid_t pid) -+{ -+ int saved_errno = errno; -+ -+ char *ctx = raw_secontext_full_pid(pid); -+ if (ctx == NULL) -+ return ctx; -+ -+ char *saveptr = NULL; -+ const char *token; -+ int i; -+ -+ char *ctx_copy = xstrdup(ctx); -+ char *context = NULL; -+ for (token = strtok_r(ctx_copy, ":", &saveptr), i = 0; -+ token; token = strtok_r(NULL, ":", &saveptr), i++) { -+ if (i == 2) { -+ context = xstrdup(token); -+ break; -+ } -+ } -+ if (context == NULL) -+ context = xstrdup(ctx); -+ free(ctx_copy); -+ free(ctx); -+ -+ errno = saved_errno; -+ return context; -+} -+ -+char * -+secontext_full_file(const char *filename) -+{ -+ return FORMAT_SPACE_BEFORE(raw_secontext_full_file(filename)); -+} -+ -+char * -+secontext_full_pid(pid_t pid) -+{ -+ return FORMAT_SPACE_AFTER(raw_secontext_full_pid(pid)); -+} -+ -+char * -+secontext_short_file(const char *filename) -+{ -+ return FORMAT_SPACE_BEFORE(raw_secontext_short_file(filename)); -+} -+ -+char * -+secontext_short_pid(pid_t pid) -+{ -+ return FORMAT_SPACE_AFTER(raw_secontext_short_pid(pid)); -+} -+ -+void -+update_secontext_type(const char *file, const char *newtype) -+{ -+ char *ctx = raw_secontext_full_file(file); -+ if (ctx == NULL) -+ return; -+ -+ char *saveptr = NULL; -+ char *token; -+ int field; -+ char *split[4]; -+ -+ for (token = strtok_r(ctx, ":", &saveptr), field = 0; -+ token; token = strtok_r(NULL, ":", &saveptr), field++) { -+ assert(field < 4); -+ split[field] = token; -+ } -+ assert(field == 4); -+ -+ char *newcontext = xasprintf("%s:%s:%s:%s", split[0], split[1], -+ newtype, split[3]); -+ -+ (void) setfilecon(file, newcontext); -+ -+ free(newcontext); -+ free(ctx); -+} -+ -+#endif /* HAVE_SELINUX_RUNTIME */ -Index: strace-5.7/tests-mx32/secontext.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/secontext.h 2021-08-24 21:08:43.279245824 +0200 -@@ -0,0 +1,46 @@ -+/* -+ * Copyright (c) 2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+#include "xmalloc.h" -+#include -+ -+#if defined TEST_SECONTEXT && defined HAVE_SELINUX_RUNTIME -+ -+void update_secontext_type(const char *file, const char *newtype); -+ -+# ifdef PRINT_SECONTEXT_FULL -+ -+char *secontext_full_file(const char *) ATTRIBUTE_MALLOC; -+char *secontext_full_pid(pid_t) ATTRIBUTE_MALLOC; -+ -+# define SECONTEXT_FILE(filename) secontext_full_file(filename) -+# define SECONTEXT_PID(pid) secontext_full_pid(pid) -+ -+# else -+ -+char *secontext_short_file(const char *) ATTRIBUTE_MALLOC; -+char *secontext_short_pid(pid_t) ATTRIBUTE_MALLOC; -+ -+# define SECONTEXT_FILE(filename) secontext_short_file(filename) -+# define SECONTEXT_PID(pid) secontext_short_pid(pid) -+ -+# endif -+ -+#else -+ -+static inline void -+update_secontext_type(const char *file, const char *newtype) -+{ -+} -+ -+# define SECONTEXT_FILE(filename) xstrdup("") -+# define SECONTEXT_PID(pid) xstrdup("") -+ -+#endif -+ -+#define SECONTEXT_PID_MY() SECONTEXT_PID(getpid()) -Index: strace-5.7/tests-mx32/strace-V.test -=================================================================== ---- strace-5.7.orig/tests-mx32/strace-V.test 2021-08-24 21:08:35.398312527 +0200 -+++ strace-5.7/tests-mx32/strace-V.test 2021-08-24 21:08:43.279245824 +0200 -@@ -33,7 +33,9 @@ - ;; - esac - --features="${option_unwind}${option_demangle}${option_m32}${option_mx32}" -+option_secontext=$(get_config_option ENABLE_SECONTEXT " secontext") -+ -+features="${option_unwind}${option_demangle}${option_m32}${option_mx32}${option_secontext}" - [ -n "$features" ] || features=" (none)" - - cat > "$EXP" << __EOF__ -Index: strace-5.7/util.c -=================================================================== ---- strace-5.7.orig/util.c 2021-08-24 21:08:35.399312519 +0200 -+++ strace-5.7/util.c 2021-08-24 21:08:43.279245824 +0200 -@@ -26,6 +26,7 @@ - #include "largefile_wrappers.h" - #include "number_set.h" - #include "print_utils.h" -+#include "secontext.h" - #include "static_assert.h" - #include "string_to_uint.h" - #include "xlat.h" -@@ -653,6 +654,13 @@ - } else { - tprintf("%d", fd); - } -+#ifdef ENABLE_SECONTEXT -+ char *context; -+ if (!selinux_getfdcon(pid, fd, &context)) { -+ tprintf(" [%s]", context); -+ free(context); -+ } -+#endif - } - - void -@@ -945,6 +953,14 @@ - else { - path[n++] = !nul_seen; - print_quoted_cstring(path, n); -+ -+#ifdef ENABLE_SECONTEXT -+ char *context; -+ if (nul_seen && !selinux_getfilecon(tcp, path, &context)) { -+ tprintf(" [%s]", context); -+ free(context); -+ } -+#endif - } - - return nul_seen; -Index: strace-5.7/xgetdents.c -=================================================================== ---- strace-5.7.orig/xgetdents.c 2021-08-24 21:08:35.399312519 +0200 -+++ strace-5.7/xgetdents.c 2021-08-24 21:08:43.280245815 +0200 -@@ -122,6 +122,9 @@ - { - if (entering(tcp)) { - printfd(tcp, tcp->u_arg[0]); -+#ifdef ENABLE_SECONTEXT -+ tcp->last_dirfd = (int) tcp->u_arg[0]; -+#endif - tprints(", "); - return 0; - } -Index: strace-5.7/Makefile.in -=================================================================== ---- strace-5.7.orig/Makefile.in 2021-08-24 21:08:35.404312477 +0200 -+++ strace-5.7/Makefile.in 2021-08-24 21:08:43.282245798 +0200 -@@ -122,14 +122,21 @@ - @ENABLE_STACKTRACE_TRUE@@USE_DEMANGLE_TRUE@am__append_11 = $(libiberty_CPPFLAGS) - @ENABLE_STACKTRACE_TRUE@@USE_DEMANGLE_TRUE@am__append_12 = $(libiberty_LDFLAGS) - @ENABLE_STACKTRACE_TRUE@@USE_DEMANGLE_TRUE@am__append_13 = $(libiberty_LIBS) --@HAVE_M32_MPERS_TRUE@am__append_14 = libmpers-m32.a --@HAVE_M32_MPERS_TRUE@am__append_15 = libmpers-m32.a --@HAVE_M32_MPERS_TRUE@am__append_16 = $(mpers_m32_targets) --@HAVE_M32_MPERS_TRUE@am__append_17 = $(mpers_m32_targets) --@HAVE_MX32_MPERS_TRUE@am__append_18 = libmpers-mx32.a --@HAVE_MX32_MPERS_TRUE@am__append_19 = libmpers-mx32.a --@HAVE_MX32_MPERS_TRUE@am__append_20 = $(mpers_mx32_targets) --@HAVE_MX32_MPERS_TRUE@am__append_21 = $(mpers_mx32_targets) -+@ENABLE_SECONTEXT_TRUE@am__append_14 = \ -+@ENABLE_SECONTEXT_TRUE@ secontext.c \ -+@ENABLE_SECONTEXT_TRUE@ secontext.h -+ -+@ENABLE_SECONTEXT_TRUE@am__append_15 = $(libselinux_CPPFLAGS) -+@ENABLE_SECONTEXT_TRUE@am__append_16 = $(libselinux_LDFLAGS) -+@ENABLE_SECONTEXT_TRUE@am__append_17 = $(libselinux_LIBS) -+@HAVE_M32_MPERS_TRUE@am__append_18 = libmpers-m32.a -+@HAVE_M32_MPERS_TRUE@am__append_19 = libmpers-m32.a -+@HAVE_M32_MPERS_TRUE@am__append_20 = $(mpers_m32_targets) -+@HAVE_M32_MPERS_TRUE@am__append_21 = $(mpers_m32_targets) -+@HAVE_MX32_MPERS_TRUE@am__append_22 = libmpers-mx32.a -+@HAVE_MX32_MPERS_TRUE@am__append_23 = libmpers-mx32.a -+@HAVE_MX32_MPERS_TRUE@am__append_24 = $(mpers_mx32_targets) -+@HAVE_MX32_MPERS_TRUE@am__append_25 = $(mpers_mx32_targets) - subdir = . - ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 - am__aclocal_m4_deps = $(top_srcdir)/xlat/btrfs_compress_types.m4 \ -@@ -178,6 +185,7 @@ - $(top_srcdir)/m4/st_esyscmd_s.m4 $(top_srcdir)/m4/st_libdw.m4 \ - $(top_srcdir)/m4/st_libunwind.m4 \ - $(top_srcdir)/m4/st_save_restore_var.m4 \ -+ $(top_srcdir)/m4/st_selinux.m4 \ - $(top_srcdir)/m4/st_stacktrace.m4 \ - $(top_srcdir)/m4/st_warn_cflags.m4 \ - $(top_srcdir)/m4/warnings.m4 $(top_srcdir)/configure.ac -@@ -382,7 +390,7 @@ - types/check-rtnl_link.c types/check-rtnl_mdb.c \ - types/check-rtnl_neightbl.c types/check-rtnl_route.c \ - types/check-v4l2.c unwind.c unwind.h unwind-libdw.c \ -- unwind-libunwind.c -+ unwind-libunwind.c secontext.c secontext.h - am__objects_3 = - am__dirstamp = $(am__leading_dot)dirstamp - am__objects_4 = types/libstrace_a-check-cryptouser.$(OBJEXT) \ -@@ -398,6 +406,8 @@ - @ENABLE_STACKTRACE_TRUE@am__objects_6 = libstrace_a-unwind.$(OBJEXT) - @ENABLE_STACKTRACE_TRUE@@USE_LIBDW_TRUE@am__objects_7 = libstrace_a-unwind-libdw.$(OBJEXT) - @ENABLE_STACKTRACE_TRUE@@USE_LIBUNWIND_TRUE@am__objects_8 = libstrace_a-unwind-libunwind.$(OBJEXT) -+@ENABLE_SECONTEXT_TRUE@am__objects_9 = \ -+@ENABLE_SECONTEXT_TRUE@ libstrace_a-secontext.$(OBJEXT) - am_libstrace_a_OBJECTS = libstrace_a-access.$(OBJEXT) \ - libstrace_a-affinity.$(OBJEXT) libstrace_a-aio.$(OBJEXT) \ - libstrace_a-alpha.$(OBJEXT) \ -@@ -567,7 +577,7 @@ - libstrace_a-xattr.$(OBJEXT) libstrace_a-xgetdents.$(OBJEXT) \ - libstrace_a-xlat.$(OBJEXT) libstrace_a-xmalloc.$(OBJEXT) \ - $(am__objects_3) $(am__objects_5) $(am__objects_6) \ -- $(am__objects_7) $(am__objects_8) -+ $(am__objects_7) $(am__objects_8) $(am__objects_9) - libstrace_a_OBJECTS = $(am_libstrace_a_OBJECTS) - am_strace_OBJECTS = strace-strace.$(OBJEXT) - strace_OBJECTS = $(am_strace_OBJECTS) -@@ -576,10 +586,12 @@ - @ENABLE_STACKTRACE_TRUE@@USE_LIBDW_TRUE@ $(am__DEPENDENCIES_1) - @ENABLE_STACKTRACE_TRUE@@USE_LIBUNWIND_TRUE@am__DEPENDENCIES_3 = $(am__DEPENDENCIES_1) - @ENABLE_STACKTRACE_TRUE@@USE_DEMANGLE_TRUE@am__DEPENDENCIES_4 = $(am__DEPENDENCIES_1) -+@ENABLE_SECONTEXT_TRUE@am__DEPENDENCIES_5 = $(am__DEPENDENCIES_1) - strace_DEPENDENCIES = libstrace.a $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) \ - $(am__DEPENDENCIES_3) $(am__DEPENDENCIES_4) \ -- $(am__DEPENDENCIES_1) $(am__append_14) $(am__append_18) -+ $(am__DEPENDENCIES_5) $(am__DEPENDENCIES_1) $(am__append_18) \ -+ $(am__append_22) - strace_LINK = $(CCLD) $(strace_CFLAGS) $(CFLAGS) $(strace_LDFLAGS) \ - $(LDFLAGS) -o $@ - am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -@@ -1223,6 +1235,9 @@ - libiberty_CPPFLAGS = @libiberty_CPPFLAGS@ - libiberty_LDFLAGS = @libiberty_LDFLAGS@ - libiberty_LIBS = @libiberty_LIBS@ -+libselinux_CPPFLAGS = @libselinux_CPPFLAGS@ -+libselinux_LDFLAGS = @libselinux_LDFLAGS@ -+libselinux_LIBS = @libselinux_LIBS@ - libunwind_CPPFLAGS = @libunwind_CPPFLAGS@ - libunwind_LDFLAGS = @libunwind_LDFLAGS@ - libunwind_LIBS = @libunwind_LIBS@ -@@ -1782,14 +1797,15 @@ - xlat/xattrflags.h xlat/xdp_flags.h xlat/xfs_dqblk_flags.h \ - xlat/xfs_quota_flags.h - strace_CPPFLAGS = $(AM_CPPFLAGS) $(am__append_3) $(am__append_8) \ -- $(am__append_11) $(CODE_COVERAGE_CPPFLAGS) -+ $(am__append_11) $(am__append_15) $(CODE_COVERAGE_CPPFLAGS) - strace_CFLAGS = $(AM_CFLAGS) $(am__append_4) $(CODE_COVERAGE_CFLAGS) --strace_LDFLAGS = $(am__append_5) $(am__append_9) $(am__append_12) -+strace_LDFLAGS = $(am__append_5) $(am__append_9) $(am__append_12) \ -+ $(am__append_16) - strace_LDADD = libstrace.a $(clock_LIBS) $(timer_LIBS) $(am__append_6) \ -- $(am__append_10) $(am__append_13) $(CODE_COVERAGE_LIBS) \ -- $(am__append_14) $(am__append_18) -+ $(am__append_10) $(am__append_13) $(am__append_17) \ -+ $(CODE_COVERAGE_LIBS) $(am__append_18) $(am__append_22) - strace_SOURCES = strace.c --noinst_LIBRARIES = libstrace.a $(am__append_15) $(am__append_19) -+noinst_LIBRARIES = libstrace.a $(am__append_19) $(am__append_23) - libstrace_a_CPPFLAGS = $(strace_CPPFLAGS) - libstrace_a_CFLAGS = $(strace_CFLAGS) - libstrace_a_SOURCES = access.c affinity.c aio.c alpha.c arch_defs.h \ -@@ -1864,7 +1880,7 @@ - wait.h watchdog_ioctl.c xattr.c xfs_quota_stat.h xgetdents.c \ - xgetdents.h xlat.c xlat.h xmalloc.c xmalloc.h xstring.h \ - $(TYPES_HEADER_FILES) $(strace_SOURCES_check) $(am__append_1) \ -- $(am__append_2) $(am__append_7) -+ $(am__append_2) $(am__append_7) $(am__append_14) - strace_SOURCES_check = bpf_attr_check.c $(TYPES_CHECK_FILES) - CODE_COVERAGE_BRANCH_COVERAGE = 1 - CODE_COVERAGE_GENHTML_OPTIONS = $(CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT) \ -@@ -2459,12 +2475,12 @@ - ioctl_redefs_h = $(filter-out ioctl_redefs0.h,$(subst ioctlent,ioctl_redefs,$(ioctlent_h))) - BUILT_SOURCES = $(ioctl_redefs_h) $(ioctlent_h) bpf_attr_check.c \ - native_printer_decls.h native_printer_defs.h printers.h sen.h \ -- sys_func.h .version scno.h $(am__append_16) $(am__append_20) -+ sys_func.h .version scno.h $(am__append_20) $(am__append_24) - CLEANFILES = $(ioctl_redefs_h) $(ioctlent_h) $(mpers_preproc_files) \ - ioctl_iocdef.h ioctl_iocdef.i bpf_attr_check.c \ - native_printer_decls.h native_printer_defs.h printers.h sen.h \ -- sys_func.h syscallent.i scno.h $(am__append_17) \ -- $(am__append_21) -+ sys_func.h syscallent.i scno.h $(am__append_21) \ -+ $(am__append_25) - DISTCLEANFILES = gnu/stubs-32.h gnu/stubs-x32.h linux/linux/signal.h - SCNO_CPPFLAGS = $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(ARCH_MFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) -@@ -2963,6 +2979,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-sched.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-scsi.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-seccomp.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-secontext.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-sendfile.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-sg_io_v3.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-sg_io_v4.Po@am__quote@ # am--include-marker -@@ -7814,6 +7831,20 @@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -c -o libstrace_a-unwind-libunwind.obj `if test -f 'unwind-libunwind.c'; then $(CYGPATH_W) 'unwind-libunwind.c'; else $(CYGPATH_W) '$(srcdir)/unwind-libunwind.c'; fi` - -+libstrace_a-secontext.o: secontext.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -MT libstrace_a-secontext.o -MD -MP -MF $(DEPDIR)/libstrace_a-secontext.Tpo -c -o libstrace_a-secontext.o `test -f 'secontext.c' || echo '$(srcdir)/'`secontext.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libstrace_a-secontext.Tpo $(DEPDIR)/libstrace_a-secontext.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='secontext.c' object='libstrace_a-secontext.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -c -o libstrace_a-secontext.o `test -f 'secontext.c' || echo '$(srcdir)/'`secontext.c -+ -+libstrace_a-secontext.obj: secontext.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -MT libstrace_a-secontext.obj -MD -MP -MF $(DEPDIR)/libstrace_a-secontext.Tpo -c -o libstrace_a-secontext.obj `if test -f 'secontext.c'; then $(CYGPATH_W) 'secontext.c'; else $(CYGPATH_W) '$(srcdir)/secontext.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libstrace_a-secontext.Tpo $(DEPDIR)/libstrace_a-secontext.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='secontext.c' object='libstrace_a-secontext.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -c -o libstrace_a-secontext.obj `if test -f 'secontext.c'; then $(CYGPATH_W) 'secontext.c'; else $(CYGPATH_W) '$(srcdir)/secontext.c'; fi` -+ - strace-strace.o: strace.c - @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-strace.o -MD -MP -MF $(DEPDIR)/strace-strace.Tpo -c -o strace-strace.o `test -f 'strace.c' || echo '$(srcdir)/'`strace.c - @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-strace.Tpo $(DEPDIR)/strace-strace.Po -Index: strace-5.7/tests/Makefile.in -=================================================================== ---- strace-5.7.orig/tests/Makefile.in 2021-08-24 21:08:35.436312206 +0200 -+++ strace-5.7/tests/Makefile.in 2021-08-24 21:08:43.286245764 +0200 -@@ -22,6 +22,8 @@ - # - # SPDX-License-Identifier: GPL-2.0-or-later - -+# Generated by ./tests/gen_secontext.sh from ./tests/gen_tests.in; do not edit. -+ - # scno.h make rules for strace. - # - # Copyright (c) 2017-2019 Dmitry V. Levin -@@ -102,8 +104,8 @@ - POST_UNINSTALL = : - build_triplet = @build@ - host_triplet = @host@ --check_PROGRAMS = $(am__EXEEXT_1) _newselect-P$(EXEEXT) answer$(EXEEXT) \ -- attach-f-p$(EXEEXT) attach-f-p-cmd$(EXEEXT) \ -+check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) _newselect-P$(EXEEXT) \ -+ answer$(EXEEXT) attach-f-p$(EXEEXT) attach-f-p-cmd$(EXEEXT) \ - attach-p-cmd-cmd$(EXEEXT) attach-p-cmd-p$(EXEEXT) \ - block_reset_raise_run$(EXEEXT) block_reset_run$(EXEEXT) \ - bpf-obj_get_info_by_fd$(EXEEXT) \ -@@ -221,7 +223,7 @@ - xetpriority--pidns-translation$(EXEEXT) \ - xet_robust_list--pidns-translation$(EXEEXT) zeroargc$(EXEEXT) - @ENABLE_STACKTRACE_TRUE@@USE_DEMANGLE_TRUE@am__append_1 = strace-k-demangle.test --TESTS = $(GEN_TESTS) $(DECODER_TESTS) $(MISC_TESTS) $(am__EXEEXT_2) -+TESTS = $(GEN_TESTS) $(DECODER_TESTS) $(MISC_TESTS) $(am__EXEEXT_3) - subdir = tests - ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 - am__aclocal_m4_deps = $(top_srcdir)/xlat/btrfs_compress_types.m4 \ -@@ -270,6 +272,7 @@ - $(top_srcdir)/m4/st_esyscmd_s.m4 $(top_srcdir)/m4/st_libdw.m4 \ - $(top_srcdir)/m4/st_libunwind.m4 \ - $(top_srcdir)/m4/st_save_restore_var.m4 \ -+ $(top_srcdir)/m4/st_selinux.m4 \ - $(top_srcdir)/m4/st_stacktrace.m4 \ - $(top_srcdir)/m4/st_warn_cflags.m4 \ - $(top_srcdir)/m4/warnings.m4 $(top_srcdir)/configure.ac -@@ -298,7 +301,8 @@ - epoll_create$(EXEEXT) epoll_create1$(EXEEXT) \ - epoll_ctl$(EXEEXT) epoll_pwait$(EXEEXT) epoll_wait$(EXEEXT) \ - erestartsys$(EXEEXT) eventfd$(EXEEXT) execve$(EXEEXT) \ -- execveat$(EXEEXT) faccessat$(EXEEXT) fadvise64$(EXEEXT) \ -+ execveat$(EXEEXT) faccessat$(EXEEXT) faccessat-P$(EXEEXT) \ -+ faccessat-y$(EXEEXT) faccessat-yy$(EXEEXT) fadvise64$(EXEEXT) \ - fadvise64_64$(EXEEXT) fallocate$(EXEEXT) \ - fanotify_init$(EXEEXT) fanotify_mark$(EXEEXT) \ - fanotify_mark-Xabbrev$(EXEEXT) fanotify_mark-Xraw$(EXEEXT) \ -@@ -543,6 +547,26 @@ - xattr-strings$(EXEEXT) xet_robust_list$(EXEEXT) \ - xet_thread_area_x86$(EXEEXT) xetitimer$(EXEEXT) \ - xetpgid$(EXEEXT) xetpriority$(EXEEXT) xettimeofday$(EXEEXT) -+am__EXEEXT_2 = access--secontext$(EXEEXT) \ -+ access--secontext_full$(EXEEXT) chmod--secontext$(EXEEXT) \ -+ chmod--secontext_full$(EXEEXT) execve--secontext$(EXEEXT) \ -+ execve--secontext_full$(EXEEXT) execveat--secontext$(EXEEXT) \ -+ execveat--secontext_full$(EXEEXT) \ -+ faccessat--secontext$(EXEEXT) \ -+ faccessat--secontext_full$(EXEEXT) \ -+ faccessat-y--secontext$(EXEEXT) \ -+ faccessat-y--secontext_full$(EXEEXT) \ -+ fanotify_mark--secontext$(EXEEXT) \ -+ fanotify_mark--secontext_full$(EXEEXT) \ -+ fchmod--secontext$(EXEEXT) fchmod--secontext_full$(EXEEXT) \ -+ fchmod-y--secontext$(EXEEXT) fchmod-y--secontext_full$(EXEEXT) \ -+ fchmodat--secontext$(EXEEXT) fchmodat--secontext_full$(EXEEXT) \ -+ fchownat--secontext$(EXEEXT) fchownat--secontext_full$(EXEEXT) \ -+ file_handle--secontext$(EXEEXT) \ -+ file_handle--secontext_full$(EXEEXT) \ -+ linkat--secontext$(EXEEXT) linkat--secontext_full$(EXEEXT) \ -+ open--secontext$(EXEEXT) open--secontext_full$(EXEEXT) \ -+ openat--secontext$(EXEEXT) openat--secontext_full$(EXEEXT) - ARFLAGS = cru - AM_V_AR = $(am__v_AR_@AM_V@) - am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@) -@@ -571,6 +595,7 @@ - libtests_a-printxval-Xabbrev.$(OBJEXT) \ - libtests_a-printxval-Xraw.$(OBJEXT) \ - libtests_a-printxval-Xverbose.$(OBJEXT) \ -+ libtests_a-secontext.$(OBJEXT) \ - libtests_a-signal2name.$(OBJEXT) \ - libtests_a-skip_unavailable.$(OBJEXT) \ - libtests_a-sprintrc.$(OBJEXT) libtests_a-status.$(OBJEXT) \ -@@ -600,6 +625,14 @@ - access_OBJECTS = access.$(OBJEXT) - access_LDADD = $(LDADD) - access_DEPENDENCIES = libtests.a -+access__secontext_SOURCES = access--secontext.c -+access__secontext_OBJECTS = access--secontext.$(OBJEXT) -+am__DEPENDENCIES_1 = -+@HAVE_SELINUX_RUNTIME_TRUE@am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1) -+access__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) -+access__secontext_full_SOURCES = access--secontext_full.c -+access__secontext_full_OBJECTS = access--secontext_full.$(OBJEXT) -+access__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) - acct_SOURCES = acct.c - acct_OBJECTS = acct.$(OBJEXT) - acct_LDADD = $(LDADD) -@@ -718,6 +751,12 @@ - chmod_OBJECTS = chmod.$(OBJEXT) - chmod_LDADD = $(LDADD) - chmod_DEPENDENCIES = libtests.a -+chmod__secontext_SOURCES = chmod--secontext.c -+chmod__secontext_OBJECTS = chmod--secontext.$(OBJEXT) -+chmod__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) -+chmod__secontext_full_SOURCES = chmod--secontext_full.c -+chmod__secontext_full_OBJECTS = chmod--secontext_full.$(OBJEXT) -+chmod__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) - chown_SOURCES = chown.c - chown_OBJECTS = chown.$(OBJEXT) - chown_LDADD = $(LDADD) -@@ -828,7 +867,6 @@ - creat_DEPENDENCIES = libtests.a - delay_SOURCES = delay.c - delay_OBJECTS = delay.$(OBJEXT) --am__DEPENDENCIES_1 = - delay_DEPENDENCIES = $(am__DEPENDENCIES_1) $(LDADD) - delete_module_SOURCES = delete_module.c - delete_module_OBJECTS = delete_module.$(OBJEXT) -@@ -930,6 +968,12 @@ - execve_OBJECTS = execve.$(OBJEXT) - execve_LDADD = $(LDADD) - execve_DEPENDENCIES = libtests.a -+execve__secontext_SOURCES = execve--secontext.c -+execve__secontext_OBJECTS = execve--secontext.$(OBJEXT) -+execve__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) -+execve__secontext_full_SOURCES = execve--secontext_full.c -+execve__secontext_full_OBJECTS = execve--secontext_full.$(OBJEXT) -+execve__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) - execve_v_SOURCES = execve-v.c - execve_v_OBJECTS = execve-v.$(OBJEXT) - execve_v_LDADD = $(LDADD) -@@ -938,6 +982,12 @@ - execveat_OBJECTS = execveat.$(OBJEXT) - execveat_LDADD = $(LDADD) - execveat_DEPENDENCIES = libtests.a -+execveat__secontext_SOURCES = execveat--secontext.c -+execveat__secontext_OBJECTS = execveat--secontext.$(OBJEXT) -+execveat__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) -+execveat__secontext_full_SOURCES = execveat--secontext_full.c -+execveat__secontext_full_OBJECTS = execveat--secontext_full.$(OBJEXT) -+execveat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) - execveat_v_SOURCES = execveat-v.c - execveat_v_OBJECTS = execveat-v.$(OBJEXT) - execveat_v_LDADD = $(LDADD) -@@ -946,6 +996,34 @@ - faccessat_OBJECTS = faccessat.$(OBJEXT) - faccessat_LDADD = $(LDADD) - faccessat_DEPENDENCIES = libtests.a -+faccessat__secontext_SOURCES = faccessat--secontext.c -+faccessat__secontext_OBJECTS = faccessat--secontext.$(OBJEXT) -+faccessat__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) -+faccessat__secontext_full_SOURCES = faccessat--secontext_full.c -+faccessat__secontext_full_OBJECTS = \ -+ faccessat--secontext_full.$(OBJEXT) -+faccessat__secontext_full_DEPENDENCIES = $(LDADD) \ -+ $(am__DEPENDENCIES_2) -+faccessat_P_SOURCES = faccessat-P.c -+faccessat_P_OBJECTS = faccessat-P.$(OBJEXT) -+faccessat_P_LDADD = $(LDADD) -+faccessat_P_DEPENDENCIES = libtests.a -+faccessat_y_SOURCES = faccessat-y.c -+faccessat_y_OBJECTS = faccessat-y.$(OBJEXT) -+faccessat_y_LDADD = $(LDADD) -+faccessat_y_DEPENDENCIES = libtests.a -+faccessat_y__secontext_SOURCES = faccessat-y--secontext.c -+faccessat_y__secontext_OBJECTS = faccessat-y--secontext.$(OBJEXT) -+faccessat_y__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) -+faccessat_y__secontext_full_SOURCES = faccessat-y--secontext_full.c -+faccessat_y__secontext_full_OBJECTS = \ -+ faccessat-y--secontext_full.$(OBJEXT) -+faccessat_y__secontext_full_DEPENDENCIES = $(LDADD) \ -+ $(am__DEPENDENCIES_2) -+faccessat_yy_SOURCES = faccessat-yy.c -+faccessat_yy_OBJECTS = faccessat-yy.$(OBJEXT) -+faccessat_yy_LDADD = $(LDADD) -+faccessat_yy_DEPENDENCIES = libtests.a - fadvise64_SOURCES = fadvise64.c - fadvise64_OBJECTS = fadvise64.$(OBJEXT) - fadvise64_LDADD = $(LDADD) -@@ -966,6 +1044,15 @@ - fanotify_mark_OBJECTS = fanotify_mark.$(OBJEXT) - fanotify_mark_LDADD = $(LDADD) - fanotify_mark_DEPENDENCIES = libtests.a -+fanotify_mark__secontext_SOURCES = fanotify_mark--secontext.c -+fanotify_mark__secontext_OBJECTS = fanotify_mark--secontext.$(OBJEXT) -+fanotify_mark__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) -+fanotify_mark__secontext_full_SOURCES = \ -+ fanotify_mark--secontext_full.c -+fanotify_mark__secontext_full_OBJECTS = \ -+ fanotify_mark--secontext_full.$(OBJEXT) -+fanotify_mark__secontext_full_DEPENDENCIES = $(LDADD) \ -+ $(am__DEPENDENCIES_2) - fanotify_mark_Xabbrev_SOURCES = fanotify_mark-Xabbrev.c - fanotify_mark_Xabbrev_OBJECTS = fanotify_mark-Xabbrev.$(OBJEXT) - fanotify_mark_Xabbrev_LDADD = $(LDADD) -@@ -986,14 +1073,32 @@ - fchmod_OBJECTS = fchmod.$(OBJEXT) - fchmod_LDADD = $(LDADD) - fchmod_DEPENDENCIES = libtests.a -+fchmod__secontext_SOURCES = fchmod--secontext.c -+fchmod__secontext_OBJECTS = fchmod--secontext.$(OBJEXT) -+fchmod__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) -+fchmod__secontext_full_SOURCES = fchmod--secontext_full.c -+fchmod__secontext_full_OBJECTS = fchmod--secontext_full.$(OBJEXT) -+fchmod__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) - fchmod_y_SOURCES = fchmod-y.c - fchmod_y_OBJECTS = fchmod-y.$(OBJEXT) - fchmod_y_LDADD = $(LDADD) - fchmod_y_DEPENDENCIES = libtests.a -+fchmod_y__secontext_SOURCES = fchmod-y--secontext.c -+fchmod_y__secontext_OBJECTS = fchmod-y--secontext.$(OBJEXT) -+fchmod_y__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) -+fchmod_y__secontext_full_SOURCES = fchmod-y--secontext_full.c -+fchmod_y__secontext_full_OBJECTS = fchmod-y--secontext_full.$(OBJEXT) -+fchmod_y__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) - fchmodat_SOURCES = fchmodat.c - fchmodat_OBJECTS = fchmodat.$(OBJEXT) - fchmodat_LDADD = $(LDADD) - fchmodat_DEPENDENCIES = libtests.a -+fchmodat__secontext_SOURCES = fchmodat--secontext.c -+fchmodat__secontext_OBJECTS = fchmodat--secontext.$(OBJEXT) -+fchmodat__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) -+fchmodat__secontext_full_SOURCES = fchmodat--secontext_full.c -+fchmodat__secontext_full_OBJECTS = fchmodat--secontext_full.$(OBJEXT) -+fchmodat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) - fchown_SOURCES = fchown.c - fchown_OBJECTS = fchown.$(OBJEXT) - fchown_LDADD = $(LDADD) -@@ -1006,6 +1111,12 @@ - fchownat_OBJECTS = fchownat.$(OBJEXT) - fchownat_LDADD = $(LDADD) - fchownat_DEPENDENCIES = libtests.a -+fchownat__secontext_SOURCES = fchownat--secontext.c -+fchownat__secontext_OBJECTS = fchownat--secontext.$(OBJEXT) -+fchownat__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) -+fchownat__secontext_full_SOURCES = fchownat--secontext_full.c -+fchownat__secontext_full_OBJECTS = fchownat--secontext_full.$(OBJEXT) -+fchownat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) - fcntl_SOURCES = fcntl.c - fcntl_OBJECTS = fcntl.$(OBJEXT) - fcntl_LDADD = $(LDADD) -@@ -1035,6 +1146,14 @@ - file_handle_OBJECTS = file_handle.$(OBJEXT) - file_handle_LDADD = $(LDADD) - file_handle_DEPENDENCIES = libtests.a -+file_handle__secontext_SOURCES = file_handle--secontext.c -+file_handle__secontext_OBJECTS = file_handle--secontext.$(OBJEXT) -+file_handle__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) -+file_handle__secontext_full_SOURCES = file_handle--secontext_full.c -+file_handle__secontext_full_OBJECTS = \ -+ file_handle--secontext_full.$(OBJEXT) -+file_handle__secontext_full_DEPENDENCIES = $(LDADD) \ -+ $(am__DEPENDENCIES_2) - file_ioctl_SOURCES = file_ioctl.c - file_ioctl_OBJECTS = file_ioctl.$(OBJEXT) - file_ioctl_LDADD = $(LDADD) -@@ -1886,6 +2005,12 @@ - linkat_OBJECTS = linkat.$(OBJEXT) - linkat_LDADD = $(LDADD) - linkat_DEPENDENCIES = libtests.a -+linkat__secontext_SOURCES = linkat--secontext.c -+linkat__secontext_OBJECTS = linkat--secontext.$(OBJEXT) -+linkat__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) -+linkat__secontext_full_SOURCES = linkat--secontext_full.c -+linkat__secontext_full_OBJECTS = linkat--secontext_full.$(OBJEXT) -+linkat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) - list_sigaction_signum_SOURCES = list_sigaction_signum.c - list_sigaction_signum_OBJECTS = list_sigaction_signum.$(OBJEXT) - list_sigaction_signum_LDADD = $(LDADD) -@@ -2530,6 +2655,12 @@ - open_OBJECTS = open.$(OBJEXT) - open_LDADD = $(LDADD) - open_DEPENDENCIES = libtests.a -+open__secontext_SOURCES = open--secontext.c -+open__secontext_OBJECTS = open--secontext.$(OBJEXT) -+open__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) -+open__secontext_full_SOURCES = open--secontext_full.c -+open__secontext_full_OBJECTS = open--secontext_full.$(OBJEXT) -+open__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) - open_tree_SOURCES = open_tree.c - open_tree_OBJECTS = open_tree.$(OBJEXT) - open_tree_LDADD = $(LDADD) -@@ -2542,6 +2673,12 @@ - openat_OBJECTS = openat.$(OBJEXT) - openat_LDADD = $(LDADD) - openat_DEPENDENCIES = libtests.a -+openat__secontext_SOURCES = openat--secontext.c -+openat__secontext_OBJECTS = openat--secontext.$(OBJEXT) -+openat__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) -+openat__secontext_full_SOURCES = openat--secontext_full.c -+openat__secontext_full_OBJECTS = openat--secontext_full.$(OBJEXT) -+openat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) - openat2_SOURCES = openat2.c - openat2_OBJECTS = openat2.$(OBJEXT) - openat2_LDADD = $(LDADD) -@@ -4487,7 +4624,8 @@ - am__v_CCLD_0 = @echo " CCLD " $@; - am__v_CCLD_1 = - SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.c accept.c \ -- accept4.c access.c acct.c add_key.c adjtimex.c aio.c \ -+ accept4.c access.c access--secontext.c \ -+ access--secontext_full.c acct.c add_key.c adjtimex.c aio.c \ - aio_pgetevents.c alarm.c answer.c attach-f-p.c \ - attach-f-p-cmd.c attach-p-cmd-cmd.c attach-p-cmd-p.c \ - block_reset_raise_run.c block_reset_run.c bpf.c \ -@@ -4495,7 +4633,8 @@ - bpf-obj_get_info_by_fd-prog-v.c bpf-obj_get_info_by_fd-v.c \ - bpf-success.c bpf-success-long-y.c bpf-success-v.c bpf-v.c \ - brk.c btrfs.c caps.c caps-abbrev.c check_sigblock.c \ -- check_sigign.c chmod.c chown.c chown32.c chroot.c \ -+ check_sigign.c chmod.c chmod--secontext.c \ -+ chmod--secontext_full.c chown.c chown32.c chroot.c \ - clock_adjtime.c clock_nanosleep.c clock_xettime.c \ - clone-flags.c clone3.c clone3-Xabbrev.c clone3-Xraw.c \ - clone3-Xverbose.c clone3-success.c clone3-success-Xabbrev.c \ -@@ -4509,25 +4648,35 @@ - dup-yy.c dup2.c dup2-P.c dup2-y.c dup2-yy.c dup3.c dup3-P.c \ - dup3-y.c dup3-yy.c epoll_create.c epoll_create1.c epoll_ctl.c \ - epoll_pwait.c epoll_wait.c erestartsys.c eventfd.c execve.c \ -- execve-v.c execveat.c execveat-v.c faccessat.c fadvise64.c \ -- fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \ -- fanotify_mark-Xabbrev.c fanotify_mark-Xraw.c \ -- fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmod-y.c \ -- fchmodat.c fchown.c fchown32.c fchownat.c fcntl.c \ -- fcntl--pidns-translation.c fcntl64.c \ -- fcntl64--pidns-translation.c fdatasync.c fflush.c \ -- file_handle.c file_ioctl.c filter-unavailable.c \ -- filter_seccomp-flag.c filter_seccomp-perf.c finit_module.c \ -- flock.c fork--pidns-translation.c fork-f.c fsconfig.c \ -- fsconfig-P.c fsmount.c fsopen.c fspick.c fspick-P.c fstat.c \ -- fstat-Xabbrev.c fstat-Xraw.c fstat-Xverbose.c fstat64.c \ -- fstat64-Xabbrev.c fstat64-Xraw.c fstat64-Xverbose.c \ -- fstatat64.c fstatfs.c fstatfs64.c fsync.c fsync-y.c \ -- ftruncate.c ftruncate64.c futex.c futimesat.c get_mempolicy.c \ -- get_process_reaper.c getcpu.c getcwd.c getdents.c getdents-v.c \ -- getdents64.c getdents64-v.c getegid.c getegid32.c geteuid.c \ -- geteuid32.c getgid.c getgid32.c getgroups.c getgroups32.c \ -- getpeername.c getpgrp.c getpgrp--pidns-translation.c getpid.c \ -+ execve--secontext.c execve--secontext_full.c execve-v.c \ -+ execveat.c execveat--secontext.c execveat--secontext_full.c \ -+ execveat-v.c faccessat.c faccessat--secontext.c \ -+ faccessat--secontext_full.c faccessat-P.c faccessat-y.c \ -+ faccessat-y--secontext.c faccessat-y--secontext_full.c \ -+ faccessat-yy.c fadvise64.c fadvise64_64.c fallocate.c \ -+ fanotify_init.c fanotify_mark.c fanotify_mark--secontext.c \ -+ fanotify_mark--secontext_full.c fanotify_mark-Xabbrev.c \ -+ fanotify_mark-Xraw.c fanotify_mark-Xverbose.c fchdir.c \ -+ fchmod.c fchmod--secontext.c fchmod--secontext_full.c \ -+ fchmod-y.c fchmod-y--secontext.c fchmod-y--secontext_full.c \ -+ fchmodat.c fchmodat--secontext.c fchmodat--secontext_full.c \ -+ fchown.c fchown32.c fchownat.c fchownat--secontext.c \ -+ fchownat--secontext_full.c fcntl.c fcntl--pidns-translation.c \ -+ fcntl64.c fcntl64--pidns-translation.c fdatasync.c fflush.c \ -+ file_handle.c file_handle--secontext.c \ -+ file_handle--secontext_full.c file_ioctl.c \ -+ filter-unavailable.c filter_seccomp-flag.c \ -+ filter_seccomp-perf.c finit_module.c flock.c \ -+ fork--pidns-translation.c fork-f.c fsconfig.c fsconfig-P.c \ -+ fsmount.c fsopen.c fspick.c fspick-P.c fstat.c fstat-Xabbrev.c \ -+ fstat-Xraw.c fstat-Xverbose.c fstat64.c fstat64-Xabbrev.c \ -+ fstat64-Xraw.c fstat64-Xverbose.c fstatat64.c fstatfs.c \ -+ fstatfs64.c fsync.c fsync-y.c ftruncate.c ftruncate64.c \ -+ futex.c futimesat.c get_mempolicy.c get_process_reaper.c \ -+ getcpu.c getcwd.c getdents.c getdents-v.c getdents64.c \ -+ getdents64-v.c getegid.c getegid32.c geteuid.c geteuid32.c \ -+ getgid.c getgid32.c getgroups.c getgroups32.c getpeername.c \ -+ getpgrp.c getpgrp--pidns-translation.c getpid.c \ - getpid--pidns-translation.c getppid.c getrandom.c getresgid.c \ - getresgid32.c getresuid.c getresuid32.c getrlimit.c \ - getrusage.c getsid.c getsid--pidns-translation.c getsockname.c \ -@@ -4578,7 +4727,8 @@ - kexec_file_load.c kexec_load.c keyctl.c keyctl-Xabbrev.c \ - keyctl-Xraw.c keyctl-Xverbose.c kill.c \ - kill--pidns-translation.c kill_child.c ksysent.c lchown.c \ -- lchown32.c link.c linkat.c list_sigaction_signum.c llseek.c \ -+ lchown32.c link.c linkat.c linkat--secontext.c \ -+ linkat--secontext_full.c list_sigaction_signum.c llseek.c \ - localtime.c lookup_dcookie.c looping_threads.c lseek.c lstat.c \ - lstat64.c madvise.c maybe_switch_current_tcp.c \ - maybe_switch_current_tcp--quiet-thread-execve.c mbind.c \ -@@ -4629,23 +4779,25 @@ - old_mmap-Xabbrev.c old_mmap-Xraw.c old_mmap-Xverbose.c \ - old_mmap-v-none.c oldfstat.c oldlstat.c oldselect.c \ - oldselect-P.c oldselect-efault.c oldselect-efault-P.c \ -- oldstat.c open.c open_tree.c open_tree-P.c openat.c openat2.c \ -- openat2-Xabbrev.c openat2-Xraw.c openat2-Xverbose.c \ -- openat2-v.c openat2-v-y.c openat2-v-y-Xabbrev.c \ -- openat2-v-y-Xraw.c openat2-v-y-Xverbose.c openat2-y.c \ -- orphaned_process_group.c osf_utimes.c pause.c pc.c \ -- perf_event_open.c perf_event_open_nonverbose.c \ -- perf_event_open_unabbrev.c personality.c personality-Xabbrev.c \ -- personality-Xraw.c personality-Xverbose.c pidfd_getfd.c \ -- pidfd_getfd-y.c pidfd_getfd-yy.c pidfd_open.c \ -- pidfd_open--decode-fd-path.c pidfd_open--decode-fd-pidfd.c \ -- pidfd_open--decode-fd-socket.c pidfd_open--pidns-translation.c \ -- pidfd_open-P.c pidfd_open-y.c pidfd_open-yy.c \ -- pidfd_send_signal.c pidfd_send_signal--pidns-translation.c \ -- pidns-cache.c pipe.c pipe2.c pkey_alloc.c pkey_free.c \ -- pkey_mprotect.c poll.c poll-P.c ppoll.c ppoll-P.c ppoll-v.c \ -- prctl-arg2-intptr.c prctl-dumpable.c prctl-name.c \ -- prctl-no-args.c prctl-pdeathsig.c prctl-seccomp-filter-v.c \ -+ oldstat.c open.c open--secontext.c open--secontext_full.c \ -+ open_tree.c open_tree-P.c openat.c openat--secontext.c \ -+ openat--secontext_full.c openat2.c openat2-Xabbrev.c \ -+ openat2-Xraw.c openat2-Xverbose.c openat2-v.c openat2-v-y.c \ -+ openat2-v-y-Xabbrev.c openat2-v-y-Xraw.c \ -+ openat2-v-y-Xverbose.c openat2-y.c orphaned_process_group.c \ -+ osf_utimes.c pause.c pc.c perf_event_open.c \ -+ perf_event_open_nonverbose.c perf_event_open_unabbrev.c \ -+ personality.c personality-Xabbrev.c personality-Xraw.c \ -+ personality-Xverbose.c pidfd_getfd.c pidfd_getfd-y.c \ -+ pidfd_getfd-yy.c pidfd_open.c pidfd_open--decode-fd-path.c \ -+ pidfd_open--decode-fd-pidfd.c pidfd_open--decode-fd-socket.c \ -+ pidfd_open--pidns-translation.c pidfd_open-P.c pidfd_open-y.c \ -+ pidfd_open-yy.c pidfd_send_signal.c \ -+ pidfd_send_signal--pidns-translation.c pidns-cache.c pipe.c \ -+ pipe2.c pkey_alloc.c pkey_free.c pkey_mprotect.c poll.c \ -+ poll-P.c ppoll.c ppoll-P.c ppoll-v.c prctl-arg2-intptr.c \ -+ prctl-dumpable.c prctl-name.c prctl-no-args.c \ -+ prctl-pdeathsig.c prctl-seccomp-filter-v.c \ - prctl-seccomp-strict.c prctl-securebits.c prctl-spec-inject.c \ - prctl-tid_address.c prctl-tsc.c pread64-pwrite64.c preadv.c \ - preadv-pwritev.c preadv2-pwritev2.c print_maxfd.c \ -@@ -4735,7 +4887,8 @@ - xetpriority.c xetpriority--pidns-translation.c xettimeofday.c \ - zeroargc.c - DIST_SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.c \ -- accept.c accept4.c access.c acct.c add_key.c adjtimex.c aio.c \ -+ accept.c accept4.c access.c access--secontext.c \ -+ access--secontext_full.c acct.c add_key.c adjtimex.c aio.c \ - aio_pgetevents.c alarm.c answer.c attach-f-p.c \ - attach-f-p-cmd.c attach-p-cmd-cmd.c attach-p-cmd-p.c \ - block_reset_raise_run.c block_reset_run.c bpf.c \ -@@ -4743,7 +4896,8 @@ - bpf-obj_get_info_by_fd-prog-v.c bpf-obj_get_info_by_fd-v.c \ - bpf-success.c bpf-success-long-y.c bpf-success-v.c bpf-v.c \ - brk.c btrfs.c caps.c caps-abbrev.c check_sigblock.c \ -- check_sigign.c chmod.c chown.c chown32.c chroot.c \ -+ check_sigign.c chmod.c chmod--secontext.c \ -+ chmod--secontext_full.c chown.c chown32.c chroot.c \ - clock_adjtime.c clock_nanosleep.c clock_xettime.c \ - clone-flags.c clone3.c clone3-Xabbrev.c clone3-Xraw.c \ - clone3-Xverbose.c clone3-success.c clone3-success-Xabbrev.c \ -@@ -4757,25 +4911,35 @@ - dup-yy.c dup2.c dup2-P.c dup2-y.c dup2-yy.c dup3.c dup3-P.c \ - dup3-y.c dup3-yy.c epoll_create.c epoll_create1.c epoll_ctl.c \ - epoll_pwait.c epoll_wait.c erestartsys.c eventfd.c execve.c \ -- execve-v.c execveat.c execveat-v.c faccessat.c fadvise64.c \ -- fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \ -- fanotify_mark-Xabbrev.c fanotify_mark-Xraw.c \ -- fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmod-y.c \ -- fchmodat.c fchown.c fchown32.c fchownat.c fcntl.c \ -- fcntl--pidns-translation.c fcntl64.c \ -- fcntl64--pidns-translation.c fdatasync.c fflush.c \ -- file_handle.c file_ioctl.c filter-unavailable.c \ -- filter_seccomp-flag.c filter_seccomp-perf.c finit_module.c \ -- flock.c fork--pidns-translation.c fork-f.c fsconfig.c \ -- fsconfig-P.c fsmount.c fsopen.c fspick.c fspick-P.c fstat.c \ -- fstat-Xabbrev.c fstat-Xraw.c fstat-Xverbose.c fstat64.c \ -- fstat64-Xabbrev.c fstat64-Xraw.c fstat64-Xverbose.c \ -- fstatat64.c fstatfs.c fstatfs64.c fsync.c fsync-y.c \ -- ftruncate.c ftruncate64.c futex.c futimesat.c get_mempolicy.c \ -- get_process_reaper.c getcpu.c getcwd.c getdents.c getdents-v.c \ -- getdents64.c getdents64-v.c getegid.c getegid32.c geteuid.c \ -- geteuid32.c getgid.c getgid32.c getgroups.c getgroups32.c \ -- getpeername.c getpgrp.c getpgrp--pidns-translation.c getpid.c \ -+ execve--secontext.c execve--secontext_full.c execve-v.c \ -+ execveat.c execveat--secontext.c execveat--secontext_full.c \ -+ execveat-v.c faccessat.c faccessat--secontext.c \ -+ faccessat--secontext_full.c faccessat-P.c faccessat-y.c \ -+ faccessat-y--secontext.c faccessat-y--secontext_full.c \ -+ faccessat-yy.c fadvise64.c fadvise64_64.c fallocate.c \ -+ fanotify_init.c fanotify_mark.c fanotify_mark--secontext.c \ -+ fanotify_mark--secontext_full.c fanotify_mark-Xabbrev.c \ -+ fanotify_mark-Xraw.c fanotify_mark-Xverbose.c fchdir.c \ -+ fchmod.c fchmod--secontext.c fchmod--secontext_full.c \ -+ fchmod-y.c fchmod-y--secontext.c fchmod-y--secontext_full.c \ -+ fchmodat.c fchmodat--secontext.c fchmodat--secontext_full.c \ -+ fchown.c fchown32.c fchownat.c fchownat--secontext.c \ -+ fchownat--secontext_full.c fcntl.c fcntl--pidns-translation.c \ -+ fcntl64.c fcntl64--pidns-translation.c fdatasync.c fflush.c \ -+ file_handle.c file_handle--secontext.c \ -+ file_handle--secontext_full.c file_ioctl.c \ -+ filter-unavailable.c filter_seccomp-flag.c \ -+ filter_seccomp-perf.c finit_module.c flock.c \ -+ fork--pidns-translation.c fork-f.c fsconfig.c fsconfig-P.c \ -+ fsmount.c fsopen.c fspick.c fspick-P.c fstat.c fstat-Xabbrev.c \ -+ fstat-Xraw.c fstat-Xverbose.c fstat64.c fstat64-Xabbrev.c \ -+ fstat64-Xraw.c fstat64-Xverbose.c fstatat64.c fstatfs.c \ -+ fstatfs64.c fsync.c fsync-y.c ftruncate.c ftruncate64.c \ -+ futex.c futimesat.c get_mempolicy.c get_process_reaper.c \ -+ getcpu.c getcwd.c getdents.c getdents-v.c getdents64.c \ -+ getdents64-v.c getegid.c getegid32.c geteuid.c geteuid32.c \ -+ getgid.c getgid32.c getgroups.c getgroups32.c getpeername.c \ -+ getpgrp.c getpgrp--pidns-translation.c getpid.c \ - getpid--pidns-translation.c getppid.c getrandom.c getresgid.c \ - getresgid32.c getresuid.c getresuid32.c getrlimit.c \ - getrusage.c getsid.c getsid--pidns-translation.c getsockname.c \ -@@ -4826,7 +4990,8 @@ - kexec_file_load.c kexec_load.c keyctl.c keyctl-Xabbrev.c \ - keyctl-Xraw.c keyctl-Xverbose.c kill.c \ - kill--pidns-translation.c kill_child.c ksysent.c lchown.c \ -- lchown32.c link.c linkat.c list_sigaction_signum.c llseek.c \ -+ lchown32.c link.c linkat.c linkat--secontext.c \ -+ linkat--secontext_full.c list_sigaction_signum.c llseek.c \ - localtime.c lookup_dcookie.c looping_threads.c lseek.c lstat.c \ - lstat64.c madvise.c maybe_switch_current_tcp.c \ - maybe_switch_current_tcp--quiet-thread-execve.c mbind.c \ -@@ -4877,23 +5042,25 @@ - old_mmap-Xabbrev.c old_mmap-Xraw.c old_mmap-Xverbose.c \ - old_mmap-v-none.c oldfstat.c oldlstat.c oldselect.c \ - oldselect-P.c oldselect-efault.c oldselect-efault-P.c \ -- oldstat.c open.c open_tree.c open_tree-P.c openat.c openat2.c \ -- openat2-Xabbrev.c openat2-Xraw.c openat2-Xverbose.c \ -- openat2-v.c openat2-v-y.c openat2-v-y-Xabbrev.c \ -- openat2-v-y-Xraw.c openat2-v-y-Xverbose.c openat2-y.c \ -- orphaned_process_group.c osf_utimes.c pause.c pc.c \ -- perf_event_open.c perf_event_open_nonverbose.c \ -- perf_event_open_unabbrev.c personality.c personality-Xabbrev.c \ -- personality-Xraw.c personality-Xverbose.c pidfd_getfd.c \ -- pidfd_getfd-y.c pidfd_getfd-yy.c pidfd_open.c \ -- pidfd_open--decode-fd-path.c pidfd_open--decode-fd-pidfd.c \ -- pidfd_open--decode-fd-socket.c pidfd_open--pidns-translation.c \ -- pidfd_open-P.c pidfd_open-y.c pidfd_open-yy.c \ -- pidfd_send_signal.c pidfd_send_signal--pidns-translation.c \ -- pidns-cache.c pipe.c pipe2.c pkey_alloc.c pkey_free.c \ -- pkey_mprotect.c poll.c poll-P.c ppoll.c ppoll-P.c ppoll-v.c \ -- prctl-arg2-intptr.c prctl-dumpable.c prctl-name.c \ -- prctl-no-args.c prctl-pdeathsig.c prctl-seccomp-filter-v.c \ -+ oldstat.c open.c open--secontext.c open--secontext_full.c \ -+ open_tree.c open_tree-P.c openat.c openat--secontext.c \ -+ openat--secontext_full.c openat2.c openat2-Xabbrev.c \ -+ openat2-Xraw.c openat2-Xverbose.c openat2-v.c openat2-v-y.c \ -+ openat2-v-y-Xabbrev.c openat2-v-y-Xraw.c \ -+ openat2-v-y-Xverbose.c openat2-y.c orphaned_process_group.c \ -+ osf_utimes.c pause.c pc.c perf_event_open.c \ -+ perf_event_open_nonverbose.c perf_event_open_unabbrev.c \ -+ personality.c personality-Xabbrev.c personality-Xraw.c \ -+ personality-Xverbose.c pidfd_getfd.c pidfd_getfd-y.c \ -+ pidfd_getfd-yy.c pidfd_open.c pidfd_open--decode-fd-path.c \ -+ pidfd_open--decode-fd-pidfd.c pidfd_open--decode-fd-socket.c \ -+ pidfd_open--pidns-translation.c pidfd_open-P.c pidfd_open-y.c \ -+ pidfd_open-yy.c pidfd_send_signal.c \ -+ pidfd_send_signal--pidns-translation.c pidns-cache.c pipe.c \ -+ pipe2.c pkey_alloc.c pkey_free.c pkey_mprotect.c poll.c \ -+ poll-P.c ppoll.c ppoll-P.c ppoll-v.c prctl-arg2-intptr.c \ -+ prctl-dumpable.c prctl-name.c prctl-no-args.c \ -+ prctl-pdeathsig.c prctl-seccomp-filter-v.c \ - prctl-seccomp-strict.c prctl-securebits.c prctl-spec-inject.c \ - prctl-tid_address.c prctl-tsc.c pread64-pwrite64.c preadv.c \ - preadv-pwritev.c preadv2-pwritev2.c print_maxfd.c \ -@@ -5194,7 +5361,7 @@ - bases=`echo $$bases` - RECHECK_LOGS = $(TEST_LOGS) - AM_RECURSIVE_TARGETS = check recheck --@ENABLE_STACKTRACE_TRUE@am__EXEEXT_2 = strace-k.test strace-k-p.test \ -+@ENABLE_STACKTRACE_TRUE@am__EXEEXT_3 = strace-k.test strace-k-p.test \ - @ENABLE_STACKTRACE_TRUE@ $(am__append_1) - TEST_SUITE_LOG = test-suite.log - TEST_EXTENSIONS = @EXEEXT@ .test -@@ -5216,7 +5383,8 @@ - esac - am__DIST_COMMON = $(srcdir)/../scno.am $(srcdir)/Makefile.in \ - $(srcdir)/gen_tests.am $(srcdir)/pure_executables.am \ -- $(top_srcdir)/depcomp $(top_srcdir)/test-driver COPYING -+ $(srcdir)/secontext.am $(top_srcdir)/depcomp \ -+ $(top_srcdir)/test-driver COPYING - DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - ACLOCAL = @ACLOCAL@ - AMTAR = @AMTAR@ -@@ -5357,6 +5525,9 @@ - libiberty_CPPFLAGS = @libiberty_CPPFLAGS@ - libiberty_LDFLAGS = @libiberty_LDFLAGS@ - libiberty_LIBS = @libiberty_LIBS@ -+libselinux_CPPFLAGS = @libselinux_CPPFLAGS@ -+libselinux_LDFLAGS = @libselinux_LDFLAGS@ -+libselinux_LIBS = @libselinux_LIBS@ - libunwind_CPPFLAGS = @libunwind_CPPFLAGS@ - libunwind_LDFLAGS = @libunwind_LDFLAGS@ - libunwind_LIBS = @libunwind_LIBS@ -@@ -5400,6 +5571,8 @@ - -DTESTS_SIZEOF_LONG=$(SIZEOF_LONG) - - AM_LDFLAGS = $(ARCH_MFLAGS) -+@HAVE_SELINUX_RUNTIME_FALSE@libselinux_LDADD = -+@HAVE_SELINUX_RUNTIME_TRUE@libselinux_LDADD = $(libselinux_LIBS) - libtests_a_SOURCES = \ - create_nl_socket.c \ - create_tmpfile.c \ -@@ -5426,6 +5599,8 @@ - printxval-Xabbrev.c \ - printxval-Xraw.c \ - printxval-Xverbose.c \ -+ secontext.c \ -+ secontext.h \ - signal2name.c \ - skip_unavailable.c \ - sprintrc.c \ -@@ -5505,6 +5680,9 @@ - execve \ - execveat \ - faccessat \ -+ faccessat-P \ -+ faccessat-y \ -+ faccessat-yy \ - fadvise64 \ - fadvise64_64 \ - fallocate \ -@@ -6077,6 +6255,69 @@ - xettimeofday \ - # - -+secontext_EXECUTABLES = \ -+ access--secontext \ -+ access--secontext_full \ -+ chmod--secontext \ -+ chmod--secontext_full \ -+ execve--secontext \ -+ execve--secontext_full \ -+ execveat--secontext \ -+ execveat--secontext_full \ -+ faccessat--secontext \ -+ faccessat--secontext_full \ -+ faccessat-y--secontext \ -+ faccessat-y--secontext_full \ -+ fanotify_mark--secontext \ -+ fanotify_mark--secontext_full \ -+ fchmod--secontext \ -+ fchmod--secontext_full \ -+ fchmod-y--secontext \ -+ fchmod-y--secontext_full \ -+ fchmodat--secontext \ -+ fchmodat--secontext_full \ -+ fchownat--secontext \ -+ fchownat--secontext_full \ -+ file_handle--secontext \ -+ file_handle--secontext_full \ -+ linkat--secontext \ -+ linkat--secontext_full \ -+ open--secontext \ -+ open--secontext_full \ -+ openat--secontext \ -+ openat--secontext_full \ -+ # -+ -+access__secontext_LDADD = $(LDADD) $(libselinux_LDADD) -+access__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) -+chmod__secontext_LDADD = $(LDADD) $(libselinux_LDADD) -+chmod__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) -+execve__secontext_LDADD = $(LDADD) $(libselinux_LDADD) -+execve__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) -+execveat__secontext_LDADD = $(LDADD) $(libselinux_LDADD) -+execveat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) -+faccessat__secontext_LDADD = $(LDADD) $(libselinux_LDADD) -+faccessat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) -+faccessat_y__secontext_LDADD = $(LDADD) $(libselinux_LDADD) -+faccessat_y__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) -+fanotify_mark__secontext_LDADD = $(LDADD) $(libselinux_LDADD) -+fanotify_mark__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) -+fchmod__secontext_LDADD = $(LDADD) $(libselinux_LDADD) -+fchmod__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) -+fchmod_y__secontext_LDADD = $(LDADD) $(libselinux_LDADD) -+fchmod_y__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) -+fchmodat__secontext_LDADD = $(LDADD) $(libselinux_LDADD) -+fchmodat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) -+fchownat__secontext_LDADD = $(LDADD) $(libselinux_LDADD) -+fchownat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) -+file_handle__secontext_LDADD = $(LDADD) $(libselinux_LDADD) -+file_handle__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) -+linkat__secontext_LDADD = $(LDADD) $(libselinux_LDADD) -+linkat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) -+open__secontext_LDADD = $(LDADD) $(libselinux_LDADD) -+open__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) -+openat__secontext_LDADD = $(LDADD) $(libselinux_LDADD) -+openat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) - attach_f_p_LDADD = -lpthread $(LDADD) - count_f_LDADD = -lpthread $(LDADD) - delay_LDADD = $(clock_LIBS) $(LDADD) -@@ -6129,14 +6370,15 @@ - - # Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in; do not edit. - GEN_TESTS = _newselect.gen.test _newselect-P.gen.test accept.gen.test \ -- accept4.gen.test access.gen.test acct.gen.test \ -- add_key.gen.test adjtimex.gen.test aio.gen.test \ -- aio_pgetevents.gen.test alarm.gen.test bpf.gen.test \ -- bpf-obj_get_info_by_fd.gen.test \ -+ accept4.gen.test access.gen.test access--secontext.gen.test \ -+ access--secontext_full.gen.test acct.gen.test add_key.gen.test \ -+ adjtimex.gen.test aio.gen.test aio_pgetevents.gen.test \ -+ alarm.gen.test bpf.gen.test bpf-obj_get_info_by_fd.gen.test \ - bpf-obj_get_info_by_fd-prog.gen.test \ - bpf-obj_get_info_by_fd-prog-v.gen.test \ - bpf-obj_get_info_by_fd-v.gen.test bpf-v.gen.test \ -- btrfs.gen.test chmod.gen.test chown.gen.test chown32.gen.test \ -+ btrfs.gen.test chmod.gen.test chmod--secontext.gen.test \ -+ chmod--secontext_full.gen.test chown.gen.test chown32.gen.test \ - chroot.gen.test clock.gen.test clock_adjtime.gen.test \ - clock_nanosleep.gen.test clock_xettime.gen.test \ - clone3.gen.test clone3-Xabbrev.gen.test clone3-Xraw.gen.test \ -@@ -6155,21 +6397,36 @@ - dup3-P.gen.test dup3-y.gen.test dup3-yy.gen.test \ - epoll_create.gen.test epoll_create1.gen.test \ - epoll_ctl.gen.test epoll_pwait.gen.test epoll_wait.gen.test \ -- erestartsys.gen.test execveat.gen.test execveat-v.gen.test \ -- faccessat.gen.test fadvise64_64.gen.test fallocate.gen.test \ -+ erestartsys.gen.test execve--secontext.gen.test \ -+ execve--secontext_full.gen.test execveat.gen.test \ -+ execveat--secontext.gen.test execveat--secontext_full.gen.test \ -+ execveat-v.gen.test faccessat--secontext.gen.test \ -+ faccessat--secontext_full.gen.test faccessat-P.gen.test \ -+ faccessat-y.gen.test faccessat-y--secontext.gen.test \ -+ faccessat-y--secontext_full.gen.test faccessat-yy.gen.test \ -+ fadvise64_64.gen.test fallocate.gen.test \ - fanotify_init.gen.test fanotify_mark.gen.test \ -+ fanotify_mark--secontext.gen.test \ -+ fanotify_mark--secontext_full.gen.test \ - fanotify_mark-Xabbrev.gen.test fanotify_mark-Xraw.gen.test \ - fanotify_mark-Xverbose.gen.test fchdir.gen.test \ -- fchmod.gen.test fchmod-y.gen.test fchmodat.gen.test \ -- fchown.gen.test fchown32.gen.test fchownat.gen.test \ -+ fchmod.gen.test fchmod--secontext.gen.test \ -+ fchmod--secontext_full.gen.test fchmod-y.gen.test \ -+ fchmod-y--secontext.gen.test fchmod-y--secontext_full.gen.test \ -+ fchmodat.gen.test fchmodat--secontext.gen.test \ -+ fchmodat--secontext_full.gen.test fchown.gen.test \ -+ fchown32.gen.test fchownat.gen.test \ -+ fchownat--secontext.gen.test fchownat--secontext_full.gen.test \ - fcntl.gen.test fcntl--pidns-translation.gen.test \ - fcntl64.gen.test fcntl64--pidns-translation.gen.test \ - fdatasync.gen.test file_handle.gen.test file_ioctl.gen.test \ -- filter_seccomp.gen.test filter_seccomp-flag.gen.test \ -- finit_module.gen.test flock.gen.test fork-f.gen.test \ -- fsconfig.gen.test fsconfig-P.gen.test fsmount.gen.test \ -- fsopen.gen.test fspick.gen.test fspick-P.gen.test \ -- fstat.gen.test fstat-Xabbrev.gen.test fstat-Xraw.gen.test \ -+ file_handle--secontext.gen.test \ -+ file_handle--secontext_full.gen.test filter_seccomp.gen.test \ -+ filter_seccomp-flag.gen.test finit_module.gen.test \ -+ flock.gen.test fork-f.gen.test fsconfig.gen.test \ -+ fsconfig-P.gen.test fsmount.gen.test fsopen.gen.test \ -+ fspick.gen.test fspick-P.gen.test fstat.gen.test \ -+ fstat-Xabbrev.gen.test fstat-Xraw.gen.test \ - fstat-Xverbose.gen.test fstat64.gen.test \ - fstat64-Xabbrev.gen.test fstat64-Xraw.gen.test \ - fstat64-Xverbose.gen.test fstatat64.gen.test fstatfs.gen.test \ -@@ -6259,8 +6516,9 @@ - keyctl-Xverbose.gen.test kill.gen.test \ - kill--pidns-translation.gen.test ksysent.gen.test \ - lchown.gen.test lchown32.gen.test link.gen.test \ -- linkat.gen.test lookup_dcookie.gen.test lstat.gen.test \ -- lstat64.gen.test madvise.gen.test \ -+ linkat.gen.test linkat--secontext.gen.test \ -+ linkat--secontext_full.gen.test lookup_dcookie.gen.test \ -+ lstat.gen.test lstat64.gen.test madvise.gen.test \ - maybe_switch_current_tcp.gen.test \ - maybe_switch_current_tcp--quiet-thread-execve.gen.test \ - mbind.gen.test mbind-Xabbrev.gen.test mbind-Xraw.gen.test \ -@@ -6328,14 +6586,17 @@ - old_mmap-v-none.gen.test oldfstat.gen.test oldlstat.gen.test \ - oldselect.gen.test oldselect-P.gen.test \ - oldselect-efault.gen.test oldselect-efault-P.gen.test \ -- oldstat.gen.test open.gen.test open_tree.gen.test \ -- open_tree-P.gen.test openat.gen.test openat2.gen.test \ -- openat2-Xabbrev.gen.test openat2-Xraw.gen.test \ -- openat2-Xverbose.gen.test openat2-v.gen.test \ -- openat2-v-y.gen.test openat2-v-y-Xabbrev.gen.test \ -- openat2-v-y-Xraw.gen.test openat2-v-y-Xverbose.gen.test \ -- openat2-y.gen.test orphaned_process_group.gen.test \ -- osf_utimes.gen.test pause.gen.test perf_event_open.gen.test \ -+ oldstat.gen.test open.gen.test open--secontext.gen.test \ -+ open--secontext_full.gen.test open_tree.gen.test \ -+ open_tree-P.gen.test openat.gen.test \ -+ openat--secontext.gen.test openat--secontext_full.gen.test \ -+ openat2.gen.test openat2-Xabbrev.gen.test \ -+ openat2-Xraw.gen.test openat2-Xverbose.gen.test \ -+ openat2-v.gen.test openat2-v-y.gen.test \ -+ openat2-v-y-Xabbrev.gen.test openat2-v-y-Xraw.gen.test \ -+ openat2-v-y-Xverbose.gen.test openat2-y.gen.test \ -+ orphaned_process_group.gen.test osf_utimes.gen.test \ -+ pause.gen.test perf_event_open.gen.test \ - perf_event_open_nonverbose.gen.test \ - perf_event_open_unabbrev.gen.test personality-Xabbrev.gen.test \ - personality-Xraw.gen.test personality-Xverbose.gen.test \ -@@ -6806,7 +7067,7 @@ - - .SUFFIXES: - .SUFFIXES: .c .log .o .obj .test .test$(EXEEXT) .trs --$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/pure_executables.am $(srcdir)/gen_tests.am $(srcdir)/../scno.am $(am__configure_deps) -+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/pure_executables.am $(srcdir)/secontext.am $(srcdir)/gen_tests.am $(srcdir)/../scno.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ -@@ -6826,7 +7087,7 @@ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ - esac; --$(srcdir)/pure_executables.am $(srcdir)/gen_tests.am $(srcdir)/../scno.am $(am__empty): -+$(srcdir)/pure_executables.am $(srcdir)/secontext.am $(srcdir)/gen_tests.am $(srcdir)/../scno.am $(am__empty): - - $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -@@ -6868,6 +7129,14 @@ - @rm -f access$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(access_OBJECTS) $(access_LDADD) $(LIBS) - -+access--secontext$(EXEEXT): $(access__secontext_OBJECTS) $(access__secontext_DEPENDENCIES) $(EXTRA_access__secontext_DEPENDENCIES) -+ @rm -f access--secontext$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(access__secontext_OBJECTS) $(access__secontext_LDADD) $(LIBS) -+ -+access--secontext_full$(EXEEXT): $(access__secontext_full_OBJECTS) $(access__secontext_full_DEPENDENCIES) $(EXTRA_access__secontext_full_DEPENDENCIES) -+ @rm -f access--secontext_full$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(access__secontext_full_OBJECTS) $(access__secontext_full_LDADD) $(LIBS) -+ - acct$(EXEEXT): $(acct_OBJECTS) $(acct_DEPENDENCIES) $(EXTRA_acct_DEPENDENCIES) - @rm -f acct$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(acct_OBJECTS) $(acct_LDADD) $(LIBS) -@@ -6984,6 +7253,14 @@ - @rm -f chmod$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(chmod_OBJECTS) $(chmod_LDADD) $(LIBS) - -+chmod--secontext$(EXEEXT): $(chmod__secontext_OBJECTS) $(chmod__secontext_DEPENDENCIES) $(EXTRA_chmod__secontext_DEPENDENCIES) -+ @rm -f chmod--secontext$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(chmod__secontext_OBJECTS) $(chmod__secontext_LDADD) $(LIBS) -+ -+chmod--secontext_full$(EXEEXT): $(chmod__secontext_full_OBJECTS) $(chmod__secontext_full_DEPENDENCIES) $(EXTRA_chmod__secontext_full_DEPENDENCIES) -+ @rm -f chmod--secontext_full$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(chmod__secontext_full_OBJECTS) $(chmod__secontext_full_LDADD) $(LIBS) -+ - chown$(EXEEXT): $(chown_OBJECTS) $(chown_DEPENDENCIES) $(EXTRA_chown_DEPENDENCIES) - @rm -f chown$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(chown_OBJECTS) $(chown_LDADD) $(LIBS) -@@ -7196,6 +7473,14 @@ - @rm -f execve$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(execve_OBJECTS) $(execve_LDADD) $(LIBS) - -+execve--secontext$(EXEEXT): $(execve__secontext_OBJECTS) $(execve__secontext_DEPENDENCIES) $(EXTRA_execve__secontext_DEPENDENCIES) -+ @rm -f execve--secontext$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(execve__secontext_OBJECTS) $(execve__secontext_LDADD) $(LIBS) -+ -+execve--secontext_full$(EXEEXT): $(execve__secontext_full_OBJECTS) $(execve__secontext_full_DEPENDENCIES) $(EXTRA_execve__secontext_full_DEPENDENCIES) -+ @rm -f execve--secontext_full$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(execve__secontext_full_OBJECTS) $(execve__secontext_full_LDADD) $(LIBS) -+ - execve-v$(EXEEXT): $(execve_v_OBJECTS) $(execve_v_DEPENDENCIES) $(EXTRA_execve_v_DEPENDENCIES) - @rm -f execve-v$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(execve_v_OBJECTS) $(execve_v_LDADD) $(LIBS) -@@ -7204,6 +7489,14 @@ - @rm -f execveat$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(execveat_OBJECTS) $(execveat_LDADD) $(LIBS) - -+execveat--secontext$(EXEEXT): $(execveat__secontext_OBJECTS) $(execveat__secontext_DEPENDENCIES) $(EXTRA_execveat__secontext_DEPENDENCIES) -+ @rm -f execveat--secontext$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(execveat__secontext_OBJECTS) $(execveat__secontext_LDADD) $(LIBS) -+ -+execveat--secontext_full$(EXEEXT): $(execveat__secontext_full_OBJECTS) $(execveat__secontext_full_DEPENDENCIES) $(EXTRA_execveat__secontext_full_DEPENDENCIES) -+ @rm -f execveat--secontext_full$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(execveat__secontext_full_OBJECTS) $(execveat__secontext_full_LDADD) $(LIBS) -+ - execveat-v$(EXEEXT): $(execveat_v_OBJECTS) $(execveat_v_DEPENDENCIES) $(EXTRA_execveat_v_DEPENDENCIES) - @rm -f execveat-v$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(execveat_v_OBJECTS) $(execveat_v_LDADD) $(LIBS) -@@ -7212,6 +7505,34 @@ - @rm -f faccessat$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(faccessat_OBJECTS) $(faccessat_LDADD) $(LIBS) - -+faccessat--secontext$(EXEEXT): $(faccessat__secontext_OBJECTS) $(faccessat__secontext_DEPENDENCIES) $(EXTRA_faccessat__secontext_DEPENDENCIES) -+ @rm -f faccessat--secontext$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(faccessat__secontext_OBJECTS) $(faccessat__secontext_LDADD) $(LIBS) -+ -+faccessat--secontext_full$(EXEEXT): $(faccessat__secontext_full_OBJECTS) $(faccessat__secontext_full_DEPENDENCIES) $(EXTRA_faccessat__secontext_full_DEPENDENCIES) -+ @rm -f faccessat--secontext_full$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(faccessat__secontext_full_OBJECTS) $(faccessat__secontext_full_LDADD) $(LIBS) -+ -+faccessat-P$(EXEEXT): $(faccessat_P_OBJECTS) $(faccessat_P_DEPENDENCIES) $(EXTRA_faccessat_P_DEPENDENCIES) -+ @rm -f faccessat-P$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(faccessat_P_OBJECTS) $(faccessat_P_LDADD) $(LIBS) -+ -+faccessat-y$(EXEEXT): $(faccessat_y_OBJECTS) $(faccessat_y_DEPENDENCIES) $(EXTRA_faccessat_y_DEPENDENCIES) -+ @rm -f faccessat-y$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(faccessat_y_OBJECTS) $(faccessat_y_LDADD) $(LIBS) -+ -+faccessat-y--secontext$(EXEEXT): $(faccessat_y__secontext_OBJECTS) $(faccessat_y__secontext_DEPENDENCIES) $(EXTRA_faccessat_y__secontext_DEPENDENCIES) -+ @rm -f faccessat-y--secontext$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(faccessat_y__secontext_OBJECTS) $(faccessat_y__secontext_LDADD) $(LIBS) -+ -+faccessat-y--secontext_full$(EXEEXT): $(faccessat_y__secontext_full_OBJECTS) $(faccessat_y__secontext_full_DEPENDENCIES) $(EXTRA_faccessat_y__secontext_full_DEPENDENCIES) -+ @rm -f faccessat-y--secontext_full$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(faccessat_y__secontext_full_OBJECTS) $(faccessat_y__secontext_full_LDADD) $(LIBS) -+ -+faccessat-yy$(EXEEXT): $(faccessat_yy_OBJECTS) $(faccessat_yy_DEPENDENCIES) $(EXTRA_faccessat_yy_DEPENDENCIES) -+ @rm -f faccessat-yy$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(faccessat_yy_OBJECTS) $(faccessat_yy_LDADD) $(LIBS) -+ - fadvise64$(EXEEXT): $(fadvise64_OBJECTS) $(fadvise64_DEPENDENCIES) $(EXTRA_fadvise64_DEPENDENCIES) - @rm -f fadvise64$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(fadvise64_OBJECTS) $(fadvise64_LDADD) $(LIBS) -@@ -7232,6 +7553,14 @@ - @rm -f fanotify_mark$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(fanotify_mark_OBJECTS) $(fanotify_mark_LDADD) $(LIBS) - -+fanotify_mark--secontext$(EXEEXT): $(fanotify_mark__secontext_OBJECTS) $(fanotify_mark__secontext_DEPENDENCIES) $(EXTRA_fanotify_mark__secontext_DEPENDENCIES) -+ @rm -f fanotify_mark--secontext$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(fanotify_mark__secontext_OBJECTS) $(fanotify_mark__secontext_LDADD) $(LIBS) -+ -+fanotify_mark--secontext_full$(EXEEXT): $(fanotify_mark__secontext_full_OBJECTS) $(fanotify_mark__secontext_full_DEPENDENCIES) $(EXTRA_fanotify_mark__secontext_full_DEPENDENCIES) -+ @rm -f fanotify_mark--secontext_full$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(fanotify_mark__secontext_full_OBJECTS) $(fanotify_mark__secontext_full_LDADD) $(LIBS) -+ - fanotify_mark-Xabbrev$(EXEEXT): $(fanotify_mark_Xabbrev_OBJECTS) $(fanotify_mark_Xabbrev_DEPENDENCIES) $(EXTRA_fanotify_mark_Xabbrev_DEPENDENCIES) - @rm -f fanotify_mark-Xabbrev$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(fanotify_mark_Xabbrev_OBJECTS) $(fanotify_mark_Xabbrev_LDADD) $(LIBS) -@@ -7252,14 +7581,38 @@ - @rm -f fchmod$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(fchmod_OBJECTS) $(fchmod_LDADD) $(LIBS) - -+fchmod--secontext$(EXEEXT): $(fchmod__secontext_OBJECTS) $(fchmod__secontext_DEPENDENCIES) $(EXTRA_fchmod__secontext_DEPENDENCIES) -+ @rm -f fchmod--secontext$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(fchmod__secontext_OBJECTS) $(fchmod__secontext_LDADD) $(LIBS) -+ -+fchmod--secontext_full$(EXEEXT): $(fchmod__secontext_full_OBJECTS) $(fchmod__secontext_full_DEPENDENCIES) $(EXTRA_fchmod__secontext_full_DEPENDENCIES) -+ @rm -f fchmod--secontext_full$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(fchmod__secontext_full_OBJECTS) $(fchmod__secontext_full_LDADD) $(LIBS) -+ - fchmod-y$(EXEEXT): $(fchmod_y_OBJECTS) $(fchmod_y_DEPENDENCIES) $(EXTRA_fchmod_y_DEPENDENCIES) - @rm -f fchmod-y$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(fchmod_y_OBJECTS) $(fchmod_y_LDADD) $(LIBS) - -+fchmod-y--secontext$(EXEEXT): $(fchmod_y__secontext_OBJECTS) $(fchmod_y__secontext_DEPENDENCIES) $(EXTRA_fchmod_y__secontext_DEPENDENCIES) -+ @rm -f fchmod-y--secontext$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(fchmod_y__secontext_OBJECTS) $(fchmod_y__secontext_LDADD) $(LIBS) -+ -+fchmod-y--secontext_full$(EXEEXT): $(fchmod_y__secontext_full_OBJECTS) $(fchmod_y__secontext_full_DEPENDENCIES) $(EXTRA_fchmod_y__secontext_full_DEPENDENCIES) -+ @rm -f fchmod-y--secontext_full$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(fchmod_y__secontext_full_OBJECTS) $(fchmod_y__secontext_full_LDADD) $(LIBS) -+ - fchmodat$(EXEEXT): $(fchmodat_OBJECTS) $(fchmodat_DEPENDENCIES) $(EXTRA_fchmodat_DEPENDENCIES) - @rm -f fchmodat$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(fchmodat_OBJECTS) $(fchmodat_LDADD) $(LIBS) - -+fchmodat--secontext$(EXEEXT): $(fchmodat__secontext_OBJECTS) $(fchmodat__secontext_DEPENDENCIES) $(EXTRA_fchmodat__secontext_DEPENDENCIES) -+ @rm -f fchmodat--secontext$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(fchmodat__secontext_OBJECTS) $(fchmodat__secontext_LDADD) $(LIBS) -+ -+fchmodat--secontext_full$(EXEEXT): $(fchmodat__secontext_full_OBJECTS) $(fchmodat__secontext_full_DEPENDENCIES) $(EXTRA_fchmodat__secontext_full_DEPENDENCIES) -+ @rm -f fchmodat--secontext_full$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(fchmodat__secontext_full_OBJECTS) $(fchmodat__secontext_full_LDADD) $(LIBS) -+ - fchown$(EXEEXT): $(fchown_OBJECTS) $(fchown_DEPENDENCIES) $(EXTRA_fchown_DEPENDENCIES) - @rm -f fchown$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(fchown_OBJECTS) $(fchown_LDADD) $(LIBS) -@@ -7272,6 +7625,14 @@ - @rm -f fchownat$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(fchownat_OBJECTS) $(fchownat_LDADD) $(LIBS) - -+fchownat--secontext$(EXEEXT): $(fchownat__secontext_OBJECTS) $(fchownat__secontext_DEPENDENCIES) $(EXTRA_fchownat__secontext_DEPENDENCIES) -+ @rm -f fchownat--secontext$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(fchownat__secontext_OBJECTS) $(fchownat__secontext_LDADD) $(LIBS) -+ -+fchownat--secontext_full$(EXEEXT): $(fchownat__secontext_full_OBJECTS) $(fchownat__secontext_full_DEPENDENCIES) $(EXTRA_fchownat__secontext_full_DEPENDENCIES) -+ @rm -f fchownat--secontext_full$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(fchownat__secontext_full_OBJECTS) $(fchownat__secontext_full_LDADD) $(LIBS) -+ - fcntl$(EXEEXT): $(fcntl_OBJECTS) $(fcntl_DEPENDENCIES) $(EXTRA_fcntl_DEPENDENCIES) - @rm -f fcntl$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(fcntl_OBJECTS) $(fcntl_LDADD) $(LIBS) -@@ -7300,6 +7661,14 @@ - @rm -f file_handle$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(file_handle_OBJECTS) $(file_handle_LDADD) $(LIBS) - -+file_handle--secontext$(EXEEXT): $(file_handle__secontext_OBJECTS) $(file_handle__secontext_DEPENDENCIES) $(EXTRA_file_handle__secontext_DEPENDENCIES) -+ @rm -f file_handle--secontext$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(file_handle__secontext_OBJECTS) $(file_handle__secontext_LDADD) $(LIBS) -+ -+file_handle--secontext_full$(EXEEXT): $(file_handle__secontext_full_OBJECTS) $(file_handle__secontext_full_DEPENDENCIES) $(EXTRA_file_handle__secontext_full_DEPENDENCIES) -+ @rm -f file_handle--secontext_full$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(file_handle__secontext_full_OBJECTS) $(file_handle__secontext_full_LDADD) $(LIBS) -+ - file_ioctl$(EXEEXT): $(file_ioctl_OBJECTS) $(file_ioctl_DEPENDENCIES) $(EXTRA_file_ioctl_DEPENDENCIES) - @rm -f file_ioctl$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(file_ioctl_OBJECTS) $(file_ioctl_LDADD) $(LIBS) -@@ -8124,6 +8493,14 @@ - @rm -f linkat$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(linkat_OBJECTS) $(linkat_LDADD) $(LIBS) - -+linkat--secontext$(EXEEXT): $(linkat__secontext_OBJECTS) $(linkat__secontext_DEPENDENCIES) $(EXTRA_linkat__secontext_DEPENDENCIES) -+ @rm -f linkat--secontext$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(linkat__secontext_OBJECTS) $(linkat__secontext_LDADD) $(LIBS) -+ -+linkat--secontext_full$(EXEEXT): $(linkat__secontext_full_OBJECTS) $(linkat__secontext_full_DEPENDENCIES) $(EXTRA_linkat__secontext_full_DEPENDENCIES) -+ @rm -f linkat--secontext_full$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(linkat__secontext_full_OBJECTS) $(linkat__secontext_full_LDADD) $(LIBS) -+ - list_sigaction_signum$(EXEEXT): $(list_sigaction_signum_OBJECTS) $(list_sigaction_signum_DEPENDENCIES) $(EXTRA_list_sigaction_signum_DEPENDENCIES) - @rm -f list_sigaction_signum$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(list_sigaction_signum_OBJECTS) $(list_sigaction_signum_LDADD) $(LIBS) -@@ -8756,6 +9133,14 @@ - @rm -f open$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(open_OBJECTS) $(open_LDADD) $(LIBS) - -+open--secontext$(EXEEXT): $(open__secontext_OBJECTS) $(open__secontext_DEPENDENCIES) $(EXTRA_open__secontext_DEPENDENCIES) -+ @rm -f open--secontext$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(open__secontext_OBJECTS) $(open__secontext_LDADD) $(LIBS) -+ -+open--secontext_full$(EXEEXT): $(open__secontext_full_OBJECTS) $(open__secontext_full_DEPENDENCIES) $(EXTRA_open__secontext_full_DEPENDENCIES) -+ @rm -f open--secontext_full$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(open__secontext_full_OBJECTS) $(open__secontext_full_LDADD) $(LIBS) -+ - open_tree$(EXEEXT): $(open_tree_OBJECTS) $(open_tree_DEPENDENCIES) $(EXTRA_open_tree_DEPENDENCIES) - @rm -f open_tree$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(open_tree_OBJECTS) $(open_tree_LDADD) $(LIBS) -@@ -8768,6 +9153,14 @@ - @rm -f openat$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(openat_OBJECTS) $(openat_LDADD) $(LIBS) - -+openat--secontext$(EXEEXT): $(openat__secontext_OBJECTS) $(openat__secontext_DEPENDENCIES) $(EXTRA_openat__secontext_DEPENDENCIES) -+ @rm -f openat--secontext$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(openat__secontext_OBJECTS) $(openat__secontext_LDADD) $(LIBS) -+ -+openat--secontext_full$(EXEEXT): $(openat__secontext_full_OBJECTS) $(openat__secontext_full_DEPENDENCIES) $(EXTRA_openat__secontext_full_DEPENDENCIES) -+ @rm -f openat--secontext_full$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(openat__secontext_full_OBJECTS) $(openat__secontext_full_LDADD) $(LIBS) -+ - openat2$(EXEEXT): $(openat2_OBJECTS) $(openat2_DEPENDENCIES) $(EXTRA_openat2_DEPENDENCIES) - @rm -f openat2$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(openat2_OBJECTS) $(openat2_LDADD) $(LIBS) -@@ -10094,6 +10487,8 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/_newselect.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/accept.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/accept4.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/access--secontext.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/access--secontext_full.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/access.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/acct.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/add_key.Po@am__quote@ # am--include-marker -@@ -10123,6 +10518,8 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/caps.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_sigblock.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_sigign.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmod--secontext.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmod--secontext_full.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmod.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chown.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chown32.Po@am__quote@ # am--include-marker -@@ -10176,25 +10573,46 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/epoll_wait.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/erestartsys.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eventfd.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve--secontext.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve--secontext_full.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve-v.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat--secontext.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat--secontext_full.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat-v.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat--secontext.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat--secontext_full.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-P.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-y--secontext.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-y--secontext_full.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-y.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-yy.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fadvise64.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fadvise64_64.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fallocate.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_init.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark--secontext.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark--secontext_full.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark-Xabbrev.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark-Xraw.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark-Xverbose.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchdir.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod--secontext.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod--secontext_full.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y--secontext.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y--secontext_full.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat--secontext.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat--secontext_full.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchown.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchown32.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat--secontext.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat--secontext_full.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl.Po@am__quote@ # am--include-marker -@@ -10202,6 +10620,8 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl64.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fdatasync.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fflush.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_handle--secontext.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_handle--secontext_full.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_handle.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_ioctl.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filter-unavailable.Po@am__quote@ # am--include-marker -@@ -10431,6 +10851,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-printxval-Xabbrev.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-printxval-Xraw.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-printxval-Xverbose.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-secontext.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-signal2name.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-skip_unavailable.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-sprintrc.Po@am__quote@ # am--include-marker -@@ -10443,6 +10864,8 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-tprintf.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-xmalloc_for_tests.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/link.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat--secontext.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat--secontext_full.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/list_sigaction_signum.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/llseek.Po@am__quote@ # am--include-marker -@@ -10601,9 +11024,13 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oldselect-efault.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oldselect.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oldstat.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open--secontext.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open--secontext_full.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open_tree-P.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open_tree.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat--secontext.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat--secontext_full.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat2-Xabbrev.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat2-Xraw.Po@am__quote@ # am--include-marker -@@ -11300,6 +11727,20 @@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-printxval-Xverbose.obj `if test -f 'printxval-Xverbose.c'; then $(CYGPATH_W) 'printxval-Xverbose.c'; else $(CYGPATH_W) '$(srcdir)/printxval-Xverbose.c'; fi` - -+libtests_a-secontext.o: secontext.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-secontext.o -MD -MP -MF $(DEPDIR)/libtests_a-secontext.Tpo -c -o libtests_a-secontext.o `test -f 'secontext.c' || echo '$(srcdir)/'`secontext.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-secontext.Tpo $(DEPDIR)/libtests_a-secontext.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='secontext.c' object='libtests_a-secontext.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-secontext.o `test -f 'secontext.c' || echo '$(srcdir)/'`secontext.c -+ -+libtests_a-secontext.obj: secontext.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-secontext.obj -MD -MP -MF $(DEPDIR)/libtests_a-secontext.Tpo -c -o libtests_a-secontext.obj `if test -f 'secontext.c'; then $(CYGPATH_W) 'secontext.c'; else $(CYGPATH_W) '$(srcdir)/secontext.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-secontext.Tpo $(DEPDIR)/libtests_a-secontext.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='secontext.c' object='libtests_a-secontext.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-secontext.obj `if test -f 'secontext.c'; then $(CYGPATH_W) 'secontext.c'; else $(CYGPATH_W) '$(srcdir)/secontext.c'; fi` -+ - libtests_a-signal2name.o: signal2name.c - @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-signal2name.o -MD -MP -MF $(DEPDIR)/libtests_a-signal2name.Tpo -c -o libtests_a-signal2name.o `test -f 'signal2name.c' || echo '$(srcdir)/'`signal2name.c - @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-signal2name.Tpo $(DEPDIR)/libtests_a-signal2name.Po -@@ -13841,6 +14282,12 @@ - $(srcdir)/access.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/access--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ -+$(srcdir)/access--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/acct.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -13883,6 +14330,12 @@ - $(srcdir)/chmod.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/chmod--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ -+$(srcdir)/chmod--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/chown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -14024,13 +14477,43 @@ - $(srcdir)/erestartsys.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/execve--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ -+$(srcdir)/execve--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/execveat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/execveat--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ -+$(srcdir)/execveat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/execveat-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - --$(srcdir)/faccessat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+$(srcdir)/faccessat--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ -+$(srcdir)/faccessat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ -+$(srcdir)/faccessat-P.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ -+$(srcdir)/faccessat-y.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ -+$(srcdir)/faccessat-y--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ -+$(srcdir)/faccessat-y--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ -+$(srcdir)/faccessat-yy.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - - $(srcdir)/fadvise64_64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -@@ -14045,6 +14528,12 @@ - $(srcdir)/fanotify_mark.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/fanotify_mark--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ -+$(srcdir)/fanotify_mark--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/fanotify_mark-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -14060,12 +14549,30 @@ - $(srcdir)/fchmod.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/fchmod--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ -+$(srcdir)/fchmod--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/fchmod-y.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/fchmod-y--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ -+$(srcdir)/fchmod-y--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/fchmodat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/fchmodat--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ -+$(srcdir)/fchmodat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/fchown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -14075,6 +14582,12 @@ - $(srcdir)/fchownat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/fchownat--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ -+$(srcdir)/fchownat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/fcntl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -14096,6 +14609,12 @@ - $(srcdir)/file_ioctl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/file_handle--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ -+$(srcdir)/file_handle--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/filter_seccomp.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -14690,6 +15209,12 @@ - $(srcdir)/linkat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/linkat--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ -+$(srcdir)/linkat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/lookup_dcookie.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -15107,6 +15632,12 @@ - $(srcdir)/open.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/open--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ -+$(srcdir)/open--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/open_tree.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -15116,6 +15647,12 @@ - $(srcdir)/openat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/openat--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ -+$(srcdir)/openat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/openat2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -Index: strace-5.7/tests-m32/Makefile.in -=================================================================== ---- strace-5.7.orig/tests-m32/Makefile.in 2021-08-24 21:08:35.467311943 +0200 -+++ strace-5.7/tests-m32/Makefile.in 2021-08-24 21:08:43.289245739 +0200 -@@ -22,6 +22,8 @@ - # - # SPDX-License-Identifier: GPL-2.0-or-later - -+# Generated by ./tests/gen_secontext.sh from ./tests/gen_tests.in; do not edit. -+ - # scno.h make rules for strace. - # - # Copyright (c) 2017-2019 Dmitry V. Levin -@@ -102,8 +104,8 @@ - POST_UNINSTALL = : - build_triplet = @build@ - host_triplet = @host@ --check_PROGRAMS = $(am__EXEEXT_1) _newselect-P$(EXEEXT) answer$(EXEEXT) \ -- attach-f-p$(EXEEXT) attach-f-p-cmd$(EXEEXT) \ -+check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) _newselect-P$(EXEEXT) \ -+ answer$(EXEEXT) attach-f-p$(EXEEXT) attach-f-p-cmd$(EXEEXT) \ - attach-p-cmd-cmd$(EXEEXT) attach-p-cmd-p$(EXEEXT) \ - block_reset_raise_run$(EXEEXT) block_reset_run$(EXEEXT) \ - bpf-obj_get_info_by_fd$(EXEEXT) \ -@@ -221,7 +223,7 @@ - xetpriority--pidns-translation$(EXEEXT) \ - xet_robust_list--pidns-translation$(EXEEXT) zeroargc$(EXEEXT) - @ENABLE_STACKTRACE_TRUE@@USE_DEMANGLE_TRUE@am__append_1 = strace-k-demangle.test --TESTS = $(GEN_TESTS) $(DECODER_TESTS) $(MISC_TESTS) $(am__EXEEXT_2) -+TESTS = $(GEN_TESTS) $(DECODER_TESTS) $(MISC_TESTS) $(am__EXEEXT_3) - subdir = tests-m32 - ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 - am__aclocal_m4_deps = $(top_srcdir)/xlat/btrfs_compress_types.m4 \ -@@ -270,6 +272,7 @@ - $(top_srcdir)/m4/st_esyscmd_s.m4 $(top_srcdir)/m4/st_libdw.m4 \ - $(top_srcdir)/m4/st_libunwind.m4 \ - $(top_srcdir)/m4/st_save_restore_var.m4 \ -+ $(top_srcdir)/m4/st_selinux.m4 \ - $(top_srcdir)/m4/st_stacktrace.m4 \ - $(top_srcdir)/m4/st_warn_cflags.m4 \ - $(top_srcdir)/m4/warnings.m4 $(top_srcdir)/configure.ac -@@ -298,7 +301,8 @@ - epoll_create$(EXEEXT) epoll_create1$(EXEEXT) \ - epoll_ctl$(EXEEXT) epoll_pwait$(EXEEXT) epoll_wait$(EXEEXT) \ - erestartsys$(EXEEXT) eventfd$(EXEEXT) execve$(EXEEXT) \ -- execveat$(EXEEXT) faccessat$(EXEEXT) fadvise64$(EXEEXT) \ -+ execveat$(EXEEXT) faccessat$(EXEEXT) faccessat-P$(EXEEXT) \ -+ faccessat-y$(EXEEXT) faccessat-yy$(EXEEXT) fadvise64$(EXEEXT) \ - fadvise64_64$(EXEEXT) fallocate$(EXEEXT) \ - fanotify_init$(EXEEXT) fanotify_mark$(EXEEXT) \ - fanotify_mark-Xabbrev$(EXEEXT) fanotify_mark-Xraw$(EXEEXT) \ -@@ -543,6 +547,26 @@ - xattr-strings$(EXEEXT) xet_robust_list$(EXEEXT) \ - xet_thread_area_x86$(EXEEXT) xetitimer$(EXEEXT) \ - xetpgid$(EXEEXT) xetpriority$(EXEEXT) xettimeofday$(EXEEXT) -+am__EXEEXT_2 = access--secontext$(EXEEXT) \ -+ access--secontext_full$(EXEEXT) chmod--secontext$(EXEEXT) \ -+ chmod--secontext_full$(EXEEXT) execve--secontext$(EXEEXT) \ -+ execve--secontext_full$(EXEEXT) execveat--secontext$(EXEEXT) \ -+ execveat--secontext_full$(EXEEXT) \ -+ faccessat--secontext$(EXEEXT) \ -+ faccessat--secontext_full$(EXEEXT) \ -+ faccessat-y--secontext$(EXEEXT) \ -+ faccessat-y--secontext_full$(EXEEXT) \ -+ fanotify_mark--secontext$(EXEEXT) \ -+ fanotify_mark--secontext_full$(EXEEXT) \ -+ fchmod--secontext$(EXEEXT) fchmod--secontext_full$(EXEEXT) \ -+ fchmod-y--secontext$(EXEEXT) fchmod-y--secontext_full$(EXEEXT) \ -+ fchmodat--secontext$(EXEEXT) fchmodat--secontext_full$(EXEEXT) \ -+ fchownat--secontext$(EXEEXT) fchownat--secontext_full$(EXEEXT) \ -+ file_handle--secontext$(EXEEXT) \ -+ file_handle--secontext_full$(EXEEXT) \ -+ linkat--secontext$(EXEEXT) linkat--secontext_full$(EXEEXT) \ -+ open--secontext$(EXEEXT) open--secontext_full$(EXEEXT) \ -+ openat--secontext$(EXEEXT) openat--secontext_full$(EXEEXT) - ARFLAGS = cru - AM_V_AR = $(am__v_AR_@AM_V@) - am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@) -@@ -571,6 +595,7 @@ - libtests_a-printxval-Xabbrev.$(OBJEXT) \ - libtests_a-printxval-Xraw.$(OBJEXT) \ - libtests_a-printxval-Xverbose.$(OBJEXT) \ -+ libtests_a-secontext.$(OBJEXT) \ - libtests_a-signal2name.$(OBJEXT) \ - libtests_a-skip_unavailable.$(OBJEXT) \ - libtests_a-sprintrc.$(OBJEXT) libtests_a-status.$(OBJEXT) \ -@@ -600,6 +625,15 @@ - access_OBJECTS = access.$(OBJEXT) - access_LDADD = $(LDADD) - access_DEPENDENCIES = libtests.a -+access__secontext_SOURCES = access--secontext.c -+access__secontext_OBJECTS = access--secontext.$(OBJEXT) -+am__DEPENDENCIES_1 = -+@HAVE_M32_SELINUX_RUNTIME_TRUE@am__DEPENDENCIES_2 = \ -+@HAVE_M32_SELINUX_RUNTIME_TRUE@ $(am__DEPENDENCIES_1) -+access__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) -+access__secontext_full_SOURCES = access--secontext_full.c -+access__secontext_full_OBJECTS = access--secontext_full.$(OBJEXT) -+access__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) - acct_SOURCES = acct.c - acct_OBJECTS = acct.$(OBJEXT) - acct_LDADD = $(LDADD) -@@ -718,6 +752,12 @@ - chmod_OBJECTS = chmod.$(OBJEXT) - chmod_LDADD = $(LDADD) - chmod_DEPENDENCIES = libtests.a -+chmod__secontext_SOURCES = chmod--secontext.c -+chmod__secontext_OBJECTS = chmod--secontext.$(OBJEXT) -+chmod__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) -+chmod__secontext_full_SOURCES = chmod--secontext_full.c -+chmod__secontext_full_OBJECTS = chmod--secontext_full.$(OBJEXT) -+chmod__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) - chown_SOURCES = chown.c - chown_OBJECTS = chown.$(OBJEXT) - chown_LDADD = $(LDADD) -@@ -828,7 +868,6 @@ - creat_DEPENDENCIES = libtests.a - delay_SOURCES = delay.c - delay_OBJECTS = delay.$(OBJEXT) --am__DEPENDENCIES_1 = - delay_DEPENDENCIES = $(am__DEPENDENCIES_1) $(LDADD) - delete_module_SOURCES = delete_module.c - delete_module_OBJECTS = delete_module.$(OBJEXT) -@@ -930,6 +969,12 @@ - execve_OBJECTS = execve.$(OBJEXT) - execve_LDADD = $(LDADD) - execve_DEPENDENCIES = libtests.a -+execve__secontext_SOURCES = execve--secontext.c -+execve__secontext_OBJECTS = execve--secontext.$(OBJEXT) -+execve__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) -+execve__secontext_full_SOURCES = execve--secontext_full.c -+execve__secontext_full_OBJECTS = execve--secontext_full.$(OBJEXT) -+execve__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) - execve_v_SOURCES = execve-v.c - execve_v_OBJECTS = execve-v.$(OBJEXT) - execve_v_LDADD = $(LDADD) -@@ -938,6 +983,12 @@ - execveat_OBJECTS = execveat.$(OBJEXT) - execveat_LDADD = $(LDADD) - execveat_DEPENDENCIES = libtests.a -+execveat__secontext_SOURCES = execveat--secontext.c -+execveat__secontext_OBJECTS = execveat--secontext.$(OBJEXT) -+execveat__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) -+execveat__secontext_full_SOURCES = execveat--secontext_full.c -+execveat__secontext_full_OBJECTS = execveat--secontext_full.$(OBJEXT) -+execveat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) - execveat_v_SOURCES = execveat-v.c - execveat_v_OBJECTS = execveat-v.$(OBJEXT) - execveat_v_LDADD = $(LDADD) -@@ -946,6 +997,34 @@ - faccessat_OBJECTS = faccessat.$(OBJEXT) - faccessat_LDADD = $(LDADD) - faccessat_DEPENDENCIES = libtests.a -+faccessat__secontext_SOURCES = faccessat--secontext.c -+faccessat__secontext_OBJECTS = faccessat--secontext.$(OBJEXT) -+faccessat__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) -+faccessat__secontext_full_SOURCES = faccessat--secontext_full.c -+faccessat__secontext_full_OBJECTS = \ -+ faccessat--secontext_full.$(OBJEXT) -+faccessat__secontext_full_DEPENDENCIES = $(LDADD) \ -+ $(am__DEPENDENCIES_2) -+faccessat_P_SOURCES = faccessat-P.c -+faccessat_P_OBJECTS = faccessat-P.$(OBJEXT) -+faccessat_P_LDADD = $(LDADD) -+faccessat_P_DEPENDENCIES = libtests.a -+faccessat_y_SOURCES = faccessat-y.c -+faccessat_y_OBJECTS = faccessat-y.$(OBJEXT) -+faccessat_y_LDADD = $(LDADD) -+faccessat_y_DEPENDENCIES = libtests.a -+faccessat_y__secontext_SOURCES = faccessat-y--secontext.c -+faccessat_y__secontext_OBJECTS = faccessat-y--secontext.$(OBJEXT) -+faccessat_y__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) -+faccessat_y__secontext_full_SOURCES = faccessat-y--secontext_full.c -+faccessat_y__secontext_full_OBJECTS = \ -+ faccessat-y--secontext_full.$(OBJEXT) -+faccessat_y__secontext_full_DEPENDENCIES = $(LDADD) \ -+ $(am__DEPENDENCIES_2) -+faccessat_yy_SOURCES = faccessat-yy.c -+faccessat_yy_OBJECTS = faccessat-yy.$(OBJEXT) -+faccessat_yy_LDADD = $(LDADD) -+faccessat_yy_DEPENDENCIES = libtests.a - fadvise64_SOURCES = fadvise64.c - fadvise64_OBJECTS = fadvise64.$(OBJEXT) - fadvise64_LDADD = $(LDADD) -@@ -966,6 +1045,15 @@ - fanotify_mark_OBJECTS = fanotify_mark.$(OBJEXT) - fanotify_mark_LDADD = $(LDADD) - fanotify_mark_DEPENDENCIES = libtests.a -+fanotify_mark__secontext_SOURCES = fanotify_mark--secontext.c -+fanotify_mark__secontext_OBJECTS = fanotify_mark--secontext.$(OBJEXT) -+fanotify_mark__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) -+fanotify_mark__secontext_full_SOURCES = \ -+ fanotify_mark--secontext_full.c -+fanotify_mark__secontext_full_OBJECTS = \ -+ fanotify_mark--secontext_full.$(OBJEXT) -+fanotify_mark__secontext_full_DEPENDENCIES = $(LDADD) \ -+ $(am__DEPENDENCIES_2) - fanotify_mark_Xabbrev_SOURCES = fanotify_mark-Xabbrev.c - fanotify_mark_Xabbrev_OBJECTS = fanotify_mark-Xabbrev.$(OBJEXT) - fanotify_mark_Xabbrev_LDADD = $(LDADD) -@@ -986,14 +1074,32 @@ - fchmod_OBJECTS = fchmod.$(OBJEXT) - fchmod_LDADD = $(LDADD) - fchmod_DEPENDENCIES = libtests.a -+fchmod__secontext_SOURCES = fchmod--secontext.c -+fchmod__secontext_OBJECTS = fchmod--secontext.$(OBJEXT) -+fchmod__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) -+fchmod__secontext_full_SOURCES = fchmod--secontext_full.c -+fchmod__secontext_full_OBJECTS = fchmod--secontext_full.$(OBJEXT) -+fchmod__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) - fchmod_y_SOURCES = fchmod-y.c - fchmod_y_OBJECTS = fchmod-y.$(OBJEXT) - fchmod_y_LDADD = $(LDADD) - fchmod_y_DEPENDENCIES = libtests.a -+fchmod_y__secontext_SOURCES = fchmod-y--secontext.c -+fchmod_y__secontext_OBJECTS = fchmod-y--secontext.$(OBJEXT) -+fchmod_y__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) -+fchmod_y__secontext_full_SOURCES = fchmod-y--secontext_full.c -+fchmod_y__secontext_full_OBJECTS = fchmod-y--secontext_full.$(OBJEXT) -+fchmod_y__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) - fchmodat_SOURCES = fchmodat.c - fchmodat_OBJECTS = fchmodat.$(OBJEXT) - fchmodat_LDADD = $(LDADD) - fchmodat_DEPENDENCIES = libtests.a -+fchmodat__secontext_SOURCES = fchmodat--secontext.c -+fchmodat__secontext_OBJECTS = fchmodat--secontext.$(OBJEXT) -+fchmodat__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) -+fchmodat__secontext_full_SOURCES = fchmodat--secontext_full.c -+fchmodat__secontext_full_OBJECTS = fchmodat--secontext_full.$(OBJEXT) -+fchmodat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) - fchown_SOURCES = fchown.c - fchown_OBJECTS = fchown.$(OBJEXT) - fchown_LDADD = $(LDADD) -@@ -1006,6 +1112,12 @@ - fchownat_OBJECTS = fchownat.$(OBJEXT) - fchownat_LDADD = $(LDADD) - fchownat_DEPENDENCIES = libtests.a -+fchownat__secontext_SOURCES = fchownat--secontext.c -+fchownat__secontext_OBJECTS = fchownat--secontext.$(OBJEXT) -+fchownat__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) -+fchownat__secontext_full_SOURCES = fchownat--secontext_full.c -+fchownat__secontext_full_OBJECTS = fchownat--secontext_full.$(OBJEXT) -+fchownat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) - fcntl_SOURCES = fcntl.c - fcntl_OBJECTS = fcntl.$(OBJEXT) - fcntl_LDADD = $(LDADD) -@@ -1035,6 +1147,14 @@ - file_handle_OBJECTS = file_handle.$(OBJEXT) - file_handle_LDADD = $(LDADD) - file_handle_DEPENDENCIES = libtests.a -+file_handle__secontext_SOURCES = file_handle--secontext.c -+file_handle__secontext_OBJECTS = file_handle--secontext.$(OBJEXT) -+file_handle__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) -+file_handle__secontext_full_SOURCES = file_handle--secontext_full.c -+file_handle__secontext_full_OBJECTS = \ -+ file_handle--secontext_full.$(OBJEXT) -+file_handle__secontext_full_DEPENDENCIES = $(LDADD) \ -+ $(am__DEPENDENCIES_2) - file_ioctl_SOURCES = file_ioctl.c - file_ioctl_OBJECTS = file_ioctl.$(OBJEXT) - file_ioctl_LDADD = $(LDADD) -@@ -1886,6 +2006,12 @@ - linkat_OBJECTS = linkat.$(OBJEXT) - linkat_LDADD = $(LDADD) - linkat_DEPENDENCIES = libtests.a -+linkat__secontext_SOURCES = linkat--secontext.c -+linkat__secontext_OBJECTS = linkat--secontext.$(OBJEXT) -+linkat__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) -+linkat__secontext_full_SOURCES = linkat--secontext_full.c -+linkat__secontext_full_OBJECTS = linkat--secontext_full.$(OBJEXT) -+linkat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) - list_sigaction_signum_SOURCES = list_sigaction_signum.c - list_sigaction_signum_OBJECTS = list_sigaction_signum.$(OBJEXT) - list_sigaction_signum_LDADD = $(LDADD) -@@ -2530,6 +2656,12 @@ - open_OBJECTS = open.$(OBJEXT) - open_LDADD = $(LDADD) - open_DEPENDENCIES = libtests.a -+open__secontext_SOURCES = open--secontext.c -+open__secontext_OBJECTS = open--secontext.$(OBJEXT) -+open__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) -+open__secontext_full_SOURCES = open--secontext_full.c -+open__secontext_full_OBJECTS = open--secontext_full.$(OBJEXT) -+open__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) - open_tree_SOURCES = open_tree.c - open_tree_OBJECTS = open_tree.$(OBJEXT) - open_tree_LDADD = $(LDADD) -@@ -2542,6 +2674,12 @@ - openat_OBJECTS = openat.$(OBJEXT) - openat_LDADD = $(LDADD) - openat_DEPENDENCIES = libtests.a -+openat__secontext_SOURCES = openat--secontext.c -+openat__secontext_OBJECTS = openat--secontext.$(OBJEXT) -+openat__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) -+openat__secontext_full_SOURCES = openat--secontext_full.c -+openat__secontext_full_OBJECTS = openat--secontext_full.$(OBJEXT) -+openat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) - openat2_SOURCES = openat2.c - openat2_OBJECTS = openat2.$(OBJEXT) - openat2_LDADD = $(LDADD) -@@ -4487,7 +4625,8 @@ - am__v_CCLD_0 = @echo " CCLD " $@; - am__v_CCLD_1 = - SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.c accept.c \ -- accept4.c access.c acct.c add_key.c adjtimex.c aio.c \ -+ accept4.c access.c access--secontext.c \ -+ access--secontext_full.c acct.c add_key.c adjtimex.c aio.c \ - aio_pgetevents.c alarm.c answer.c attach-f-p.c \ - attach-f-p-cmd.c attach-p-cmd-cmd.c attach-p-cmd-p.c \ - block_reset_raise_run.c block_reset_run.c bpf.c \ -@@ -4495,7 +4634,8 @@ - bpf-obj_get_info_by_fd-prog-v.c bpf-obj_get_info_by_fd-v.c \ - bpf-success.c bpf-success-long-y.c bpf-success-v.c bpf-v.c \ - brk.c btrfs.c caps.c caps-abbrev.c check_sigblock.c \ -- check_sigign.c chmod.c chown.c chown32.c chroot.c \ -+ check_sigign.c chmod.c chmod--secontext.c \ -+ chmod--secontext_full.c chown.c chown32.c chroot.c \ - clock_adjtime.c clock_nanosleep.c clock_xettime.c \ - clone-flags.c clone3.c clone3-Xabbrev.c clone3-Xraw.c \ - clone3-Xverbose.c clone3-success.c clone3-success-Xabbrev.c \ -@@ -4509,25 +4649,35 @@ - dup-yy.c dup2.c dup2-P.c dup2-y.c dup2-yy.c dup3.c dup3-P.c \ - dup3-y.c dup3-yy.c epoll_create.c epoll_create1.c epoll_ctl.c \ - epoll_pwait.c epoll_wait.c erestartsys.c eventfd.c execve.c \ -- execve-v.c execveat.c execveat-v.c faccessat.c fadvise64.c \ -- fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \ -- fanotify_mark-Xabbrev.c fanotify_mark-Xraw.c \ -- fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmod-y.c \ -- fchmodat.c fchown.c fchown32.c fchownat.c fcntl.c \ -- fcntl--pidns-translation.c fcntl64.c \ -- fcntl64--pidns-translation.c fdatasync.c fflush.c \ -- file_handle.c file_ioctl.c filter-unavailable.c \ -- filter_seccomp-flag.c filter_seccomp-perf.c finit_module.c \ -- flock.c fork--pidns-translation.c fork-f.c fsconfig.c \ -- fsconfig-P.c fsmount.c fsopen.c fspick.c fspick-P.c fstat.c \ -- fstat-Xabbrev.c fstat-Xraw.c fstat-Xverbose.c fstat64.c \ -- fstat64-Xabbrev.c fstat64-Xraw.c fstat64-Xverbose.c \ -- fstatat64.c fstatfs.c fstatfs64.c fsync.c fsync-y.c \ -- ftruncate.c ftruncate64.c futex.c futimesat.c get_mempolicy.c \ -- get_process_reaper.c getcpu.c getcwd.c getdents.c getdents-v.c \ -- getdents64.c getdents64-v.c getegid.c getegid32.c geteuid.c \ -- geteuid32.c getgid.c getgid32.c getgroups.c getgroups32.c \ -- getpeername.c getpgrp.c getpgrp--pidns-translation.c getpid.c \ -+ execve--secontext.c execve--secontext_full.c execve-v.c \ -+ execveat.c execveat--secontext.c execveat--secontext_full.c \ -+ execveat-v.c faccessat.c faccessat--secontext.c \ -+ faccessat--secontext_full.c faccessat-P.c faccessat-y.c \ -+ faccessat-y--secontext.c faccessat-y--secontext_full.c \ -+ faccessat-yy.c fadvise64.c fadvise64_64.c fallocate.c \ -+ fanotify_init.c fanotify_mark.c fanotify_mark--secontext.c \ -+ fanotify_mark--secontext_full.c fanotify_mark-Xabbrev.c \ -+ fanotify_mark-Xraw.c fanotify_mark-Xverbose.c fchdir.c \ -+ fchmod.c fchmod--secontext.c fchmod--secontext_full.c \ -+ fchmod-y.c fchmod-y--secontext.c fchmod-y--secontext_full.c \ -+ fchmodat.c fchmodat--secontext.c fchmodat--secontext_full.c \ -+ fchown.c fchown32.c fchownat.c fchownat--secontext.c \ -+ fchownat--secontext_full.c fcntl.c fcntl--pidns-translation.c \ -+ fcntl64.c fcntl64--pidns-translation.c fdatasync.c fflush.c \ -+ file_handle.c file_handle--secontext.c \ -+ file_handle--secontext_full.c file_ioctl.c \ -+ filter-unavailable.c filter_seccomp-flag.c \ -+ filter_seccomp-perf.c finit_module.c flock.c \ -+ fork--pidns-translation.c fork-f.c fsconfig.c fsconfig-P.c \ -+ fsmount.c fsopen.c fspick.c fspick-P.c fstat.c fstat-Xabbrev.c \ -+ fstat-Xraw.c fstat-Xverbose.c fstat64.c fstat64-Xabbrev.c \ -+ fstat64-Xraw.c fstat64-Xverbose.c fstatat64.c fstatfs.c \ -+ fstatfs64.c fsync.c fsync-y.c ftruncate.c ftruncate64.c \ -+ futex.c futimesat.c get_mempolicy.c get_process_reaper.c \ -+ getcpu.c getcwd.c getdents.c getdents-v.c getdents64.c \ -+ getdents64-v.c getegid.c getegid32.c geteuid.c geteuid32.c \ -+ getgid.c getgid32.c getgroups.c getgroups32.c getpeername.c \ -+ getpgrp.c getpgrp--pidns-translation.c getpid.c \ - getpid--pidns-translation.c getppid.c getrandom.c getresgid.c \ - getresgid32.c getresuid.c getresuid32.c getrlimit.c \ - getrusage.c getsid.c getsid--pidns-translation.c getsockname.c \ -@@ -4578,7 +4728,8 @@ - kexec_file_load.c kexec_load.c keyctl.c keyctl-Xabbrev.c \ - keyctl-Xraw.c keyctl-Xverbose.c kill.c \ - kill--pidns-translation.c kill_child.c ksysent.c lchown.c \ -- lchown32.c link.c linkat.c list_sigaction_signum.c llseek.c \ -+ lchown32.c link.c linkat.c linkat--secontext.c \ -+ linkat--secontext_full.c list_sigaction_signum.c llseek.c \ - localtime.c lookup_dcookie.c looping_threads.c lseek.c lstat.c \ - lstat64.c madvise.c maybe_switch_current_tcp.c \ - maybe_switch_current_tcp--quiet-thread-execve.c mbind.c \ -@@ -4629,23 +4780,25 @@ - old_mmap-Xabbrev.c old_mmap-Xraw.c old_mmap-Xverbose.c \ - old_mmap-v-none.c oldfstat.c oldlstat.c oldselect.c \ - oldselect-P.c oldselect-efault.c oldselect-efault-P.c \ -- oldstat.c open.c open_tree.c open_tree-P.c openat.c openat2.c \ -- openat2-Xabbrev.c openat2-Xraw.c openat2-Xverbose.c \ -- openat2-v.c openat2-v-y.c openat2-v-y-Xabbrev.c \ -- openat2-v-y-Xraw.c openat2-v-y-Xverbose.c openat2-y.c \ -- orphaned_process_group.c osf_utimes.c pause.c pc.c \ -- perf_event_open.c perf_event_open_nonverbose.c \ -- perf_event_open_unabbrev.c personality.c personality-Xabbrev.c \ -- personality-Xraw.c personality-Xverbose.c pidfd_getfd.c \ -- pidfd_getfd-y.c pidfd_getfd-yy.c pidfd_open.c \ -- pidfd_open--decode-fd-path.c pidfd_open--decode-fd-pidfd.c \ -- pidfd_open--decode-fd-socket.c pidfd_open--pidns-translation.c \ -- pidfd_open-P.c pidfd_open-y.c pidfd_open-yy.c \ -- pidfd_send_signal.c pidfd_send_signal--pidns-translation.c \ -- pidns-cache.c pipe.c pipe2.c pkey_alloc.c pkey_free.c \ -- pkey_mprotect.c poll.c poll-P.c ppoll.c ppoll-P.c ppoll-v.c \ -- prctl-arg2-intptr.c prctl-dumpable.c prctl-name.c \ -- prctl-no-args.c prctl-pdeathsig.c prctl-seccomp-filter-v.c \ -+ oldstat.c open.c open--secontext.c open--secontext_full.c \ -+ open_tree.c open_tree-P.c openat.c openat--secontext.c \ -+ openat--secontext_full.c openat2.c openat2-Xabbrev.c \ -+ openat2-Xraw.c openat2-Xverbose.c openat2-v.c openat2-v-y.c \ -+ openat2-v-y-Xabbrev.c openat2-v-y-Xraw.c \ -+ openat2-v-y-Xverbose.c openat2-y.c orphaned_process_group.c \ -+ osf_utimes.c pause.c pc.c perf_event_open.c \ -+ perf_event_open_nonverbose.c perf_event_open_unabbrev.c \ -+ personality.c personality-Xabbrev.c personality-Xraw.c \ -+ personality-Xverbose.c pidfd_getfd.c pidfd_getfd-y.c \ -+ pidfd_getfd-yy.c pidfd_open.c pidfd_open--decode-fd-path.c \ -+ pidfd_open--decode-fd-pidfd.c pidfd_open--decode-fd-socket.c \ -+ pidfd_open--pidns-translation.c pidfd_open-P.c pidfd_open-y.c \ -+ pidfd_open-yy.c pidfd_send_signal.c \ -+ pidfd_send_signal--pidns-translation.c pidns-cache.c pipe.c \ -+ pipe2.c pkey_alloc.c pkey_free.c pkey_mprotect.c poll.c \ -+ poll-P.c ppoll.c ppoll-P.c ppoll-v.c prctl-arg2-intptr.c \ -+ prctl-dumpable.c prctl-name.c prctl-no-args.c \ -+ prctl-pdeathsig.c prctl-seccomp-filter-v.c \ - prctl-seccomp-strict.c prctl-securebits.c prctl-spec-inject.c \ - prctl-tid_address.c prctl-tsc.c pread64-pwrite64.c preadv.c \ - preadv-pwritev.c preadv2-pwritev2.c print_maxfd.c \ -@@ -4735,7 +4888,8 @@ - xetpriority.c xetpriority--pidns-translation.c xettimeofday.c \ - zeroargc.c - DIST_SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.c \ -- accept.c accept4.c access.c acct.c add_key.c adjtimex.c aio.c \ -+ accept.c accept4.c access.c access--secontext.c \ -+ access--secontext_full.c acct.c add_key.c adjtimex.c aio.c \ - aio_pgetevents.c alarm.c answer.c attach-f-p.c \ - attach-f-p-cmd.c attach-p-cmd-cmd.c attach-p-cmd-p.c \ - block_reset_raise_run.c block_reset_run.c bpf.c \ -@@ -4743,7 +4897,8 @@ - bpf-obj_get_info_by_fd-prog-v.c bpf-obj_get_info_by_fd-v.c \ - bpf-success.c bpf-success-long-y.c bpf-success-v.c bpf-v.c \ - brk.c btrfs.c caps.c caps-abbrev.c check_sigblock.c \ -- check_sigign.c chmod.c chown.c chown32.c chroot.c \ -+ check_sigign.c chmod.c chmod--secontext.c \ -+ chmod--secontext_full.c chown.c chown32.c chroot.c \ - clock_adjtime.c clock_nanosleep.c clock_xettime.c \ - clone-flags.c clone3.c clone3-Xabbrev.c clone3-Xraw.c \ - clone3-Xverbose.c clone3-success.c clone3-success-Xabbrev.c \ -@@ -4757,25 +4912,35 @@ - dup-yy.c dup2.c dup2-P.c dup2-y.c dup2-yy.c dup3.c dup3-P.c \ - dup3-y.c dup3-yy.c epoll_create.c epoll_create1.c epoll_ctl.c \ - epoll_pwait.c epoll_wait.c erestartsys.c eventfd.c execve.c \ -- execve-v.c execveat.c execveat-v.c faccessat.c fadvise64.c \ -- fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \ -- fanotify_mark-Xabbrev.c fanotify_mark-Xraw.c \ -- fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmod-y.c \ -- fchmodat.c fchown.c fchown32.c fchownat.c fcntl.c \ -- fcntl--pidns-translation.c fcntl64.c \ -- fcntl64--pidns-translation.c fdatasync.c fflush.c \ -- file_handle.c file_ioctl.c filter-unavailable.c \ -- filter_seccomp-flag.c filter_seccomp-perf.c finit_module.c \ -- flock.c fork--pidns-translation.c fork-f.c fsconfig.c \ -- fsconfig-P.c fsmount.c fsopen.c fspick.c fspick-P.c fstat.c \ -- fstat-Xabbrev.c fstat-Xraw.c fstat-Xverbose.c fstat64.c \ -- fstat64-Xabbrev.c fstat64-Xraw.c fstat64-Xverbose.c \ -- fstatat64.c fstatfs.c fstatfs64.c fsync.c fsync-y.c \ -- ftruncate.c ftruncate64.c futex.c futimesat.c get_mempolicy.c \ -- get_process_reaper.c getcpu.c getcwd.c getdents.c getdents-v.c \ -- getdents64.c getdents64-v.c getegid.c getegid32.c geteuid.c \ -- geteuid32.c getgid.c getgid32.c getgroups.c getgroups32.c \ -- getpeername.c getpgrp.c getpgrp--pidns-translation.c getpid.c \ -+ execve--secontext.c execve--secontext_full.c execve-v.c \ -+ execveat.c execveat--secontext.c execveat--secontext_full.c \ -+ execveat-v.c faccessat.c faccessat--secontext.c \ -+ faccessat--secontext_full.c faccessat-P.c faccessat-y.c \ -+ faccessat-y--secontext.c faccessat-y--secontext_full.c \ -+ faccessat-yy.c fadvise64.c fadvise64_64.c fallocate.c \ -+ fanotify_init.c fanotify_mark.c fanotify_mark--secontext.c \ -+ fanotify_mark--secontext_full.c fanotify_mark-Xabbrev.c \ -+ fanotify_mark-Xraw.c fanotify_mark-Xverbose.c fchdir.c \ -+ fchmod.c fchmod--secontext.c fchmod--secontext_full.c \ -+ fchmod-y.c fchmod-y--secontext.c fchmod-y--secontext_full.c \ -+ fchmodat.c fchmodat--secontext.c fchmodat--secontext_full.c \ -+ fchown.c fchown32.c fchownat.c fchownat--secontext.c \ -+ fchownat--secontext_full.c fcntl.c fcntl--pidns-translation.c \ -+ fcntl64.c fcntl64--pidns-translation.c fdatasync.c fflush.c \ -+ file_handle.c file_handle--secontext.c \ -+ file_handle--secontext_full.c file_ioctl.c \ -+ filter-unavailable.c filter_seccomp-flag.c \ -+ filter_seccomp-perf.c finit_module.c flock.c \ -+ fork--pidns-translation.c fork-f.c fsconfig.c fsconfig-P.c \ -+ fsmount.c fsopen.c fspick.c fspick-P.c fstat.c fstat-Xabbrev.c \ -+ fstat-Xraw.c fstat-Xverbose.c fstat64.c fstat64-Xabbrev.c \ -+ fstat64-Xraw.c fstat64-Xverbose.c fstatat64.c fstatfs.c \ -+ fstatfs64.c fsync.c fsync-y.c ftruncate.c ftruncate64.c \ -+ futex.c futimesat.c get_mempolicy.c get_process_reaper.c \ -+ getcpu.c getcwd.c getdents.c getdents-v.c getdents64.c \ -+ getdents64-v.c getegid.c getegid32.c geteuid.c geteuid32.c \ -+ getgid.c getgid32.c getgroups.c getgroups32.c getpeername.c \ -+ getpgrp.c getpgrp--pidns-translation.c getpid.c \ - getpid--pidns-translation.c getppid.c getrandom.c getresgid.c \ - getresgid32.c getresuid.c getresuid32.c getrlimit.c \ - getrusage.c getsid.c getsid--pidns-translation.c getsockname.c \ -@@ -4826,7 +4991,8 @@ - kexec_file_load.c kexec_load.c keyctl.c keyctl-Xabbrev.c \ - keyctl-Xraw.c keyctl-Xverbose.c kill.c \ - kill--pidns-translation.c kill_child.c ksysent.c lchown.c \ -- lchown32.c link.c linkat.c list_sigaction_signum.c llseek.c \ -+ lchown32.c link.c linkat.c linkat--secontext.c \ -+ linkat--secontext_full.c list_sigaction_signum.c llseek.c \ - localtime.c lookup_dcookie.c looping_threads.c lseek.c lstat.c \ - lstat64.c madvise.c maybe_switch_current_tcp.c \ - maybe_switch_current_tcp--quiet-thread-execve.c mbind.c \ -@@ -4877,23 +5043,25 @@ - old_mmap-Xabbrev.c old_mmap-Xraw.c old_mmap-Xverbose.c \ - old_mmap-v-none.c oldfstat.c oldlstat.c oldselect.c \ - oldselect-P.c oldselect-efault.c oldselect-efault-P.c \ -- oldstat.c open.c open_tree.c open_tree-P.c openat.c openat2.c \ -- openat2-Xabbrev.c openat2-Xraw.c openat2-Xverbose.c \ -- openat2-v.c openat2-v-y.c openat2-v-y-Xabbrev.c \ -- openat2-v-y-Xraw.c openat2-v-y-Xverbose.c openat2-y.c \ -- orphaned_process_group.c osf_utimes.c pause.c pc.c \ -- perf_event_open.c perf_event_open_nonverbose.c \ -- perf_event_open_unabbrev.c personality.c personality-Xabbrev.c \ -- personality-Xraw.c personality-Xverbose.c pidfd_getfd.c \ -- pidfd_getfd-y.c pidfd_getfd-yy.c pidfd_open.c \ -- pidfd_open--decode-fd-path.c pidfd_open--decode-fd-pidfd.c \ -- pidfd_open--decode-fd-socket.c pidfd_open--pidns-translation.c \ -- pidfd_open-P.c pidfd_open-y.c pidfd_open-yy.c \ -- pidfd_send_signal.c pidfd_send_signal--pidns-translation.c \ -- pidns-cache.c pipe.c pipe2.c pkey_alloc.c pkey_free.c \ -- pkey_mprotect.c poll.c poll-P.c ppoll.c ppoll-P.c ppoll-v.c \ -- prctl-arg2-intptr.c prctl-dumpable.c prctl-name.c \ -- prctl-no-args.c prctl-pdeathsig.c prctl-seccomp-filter-v.c \ -+ oldstat.c open.c open--secontext.c open--secontext_full.c \ -+ open_tree.c open_tree-P.c openat.c openat--secontext.c \ -+ openat--secontext_full.c openat2.c openat2-Xabbrev.c \ -+ openat2-Xraw.c openat2-Xverbose.c openat2-v.c openat2-v-y.c \ -+ openat2-v-y-Xabbrev.c openat2-v-y-Xraw.c \ -+ openat2-v-y-Xverbose.c openat2-y.c orphaned_process_group.c \ -+ osf_utimes.c pause.c pc.c perf_event_open.c \ -+ perf_event_open_nonverbose.c perf_event_open_unabbrev.c \ -+ personality.c personality-Xabbrev.c personality-Xraw.c \ -+ personality-Xverbose.c pidfd_getfd.c pidfd_getfd-y.c \ -+ pidfd_getfd-yy.c pidfd_open.c pidfd_open--decode-fd-path.c \ -+ pidfd_open--decode-fd-pidfd.c pidfd_open--decode-fd-socket.c \ -+ pidfd_open--pidns-translation.c pidfd_open-P.c pidfd_open-y.c \ -+ pidfd_open-yy.c pidfd_send_signal.c \ -+ pidfd_send_signal--pidns-translation.c pidns-cache.c pipe.c \ -+ pipe2.c pkey_alloc.c pkey_free.c pkey_mprotect.c poll.c \ -+ poll-P.c ppoll.c ppoll-P.c ppoll-v.c prctl-arg2-intptr.c \ -+ prctl-dumpable.c prctl-name.c prctl-no-args.c \ -+ prctl-pdeathsig.c prctl-seccomp-filter-v.c \ - prctl-seccomp-strict.c prctl-securebits.c prctl-spec-inject.c \ - prctl-tid_address.c prctl-tsc.c pread64-pwrite64.c preadv.c \ - preadv-pwritev.c preadv2-pwritev2.c print_maxfd.c \ -@@ -5194,7 +5362,7 @@ - bases=`echo $$bases` - RECHECK_LOGS = $(TEST_LOGS) - AM_RECURSIVE_TARGETS = check recheck --@ENABLE_STACKTRACE_TRUE@am__EXEEXT_2 = strace-k.test strace-k-p.test \ -+@ENABLE_STACKTRACE_TRUE@am__EXEEXT_3 = strace-k.test strace-k-p.test \ - @ENABLE_STACKTRACE_TRUE@ $(am__append_1) - TEST_SUITE_LOG = test-suite.log - TEST_EXTENSIONS = @EXEEXT@ .test -@@ -5216,7 +5384,8 @@ - esac - am__DIST_COMMON = $(srcdir)/../scno.am $(srcdir)/Makefile.in \ - $(srcdir)/gen_tests.am $(srcdir)/pure_executables.am \ -- $(top_srcdir)/depcomp $(top_srcdir)/test-driver COPYING -+ $(srcdir)/secontext.am $(top_srcdir)/depcomp \ -+ $(top_srcdir)/test-driver COPYING - DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - ACLOCAL = @ACLOCAL@ - AMTAR = @AMTAR@ -@@ -5357,6 +5526,9 @@ - libiberty_CPPFLAGS = @libiberty_CPPFLAGS@ - libiberty_LDFLAGS = @libiberty_LDFLAGS@ - libiberty_LIBS = @libiberty_LIBS@ -+libselinux_CPPFLAGS = @libselinux_CPPFLAGS@ -+libselinux_LDFLAGS = @libselinux_LDFLAGS@ -+libselinux_LIBS = @libselinux_LIBS@ - libunwind_CPPFLAGS = @libunwind_CPPFLAGS@ - libunwind_LDFLAGS = @libunwind_LDFLAGS@ - libunwind_LIBS = @libunwind_LIBS@ -@@ -5400,6 +5572,8 @@ - -DTESTS_SIZEOF_LONG=$(SIZEOF_LONG) - - AM_LDFLAGS = $(ARCH_MFLAGS) -+@HAVE_M32_SELINUX_RUNTIME_FALSE@libselinux_LDADD = -+@HAVE_M32_SELINUX_RUNTIME_TRUE@libselinux_LDADD = $(libselinux_LIBS) - libtests_a_SOURCES = \ - create_nl_socket.c \ - create_tmpfile.c \ -@@ -5426,6 +5600,8 @@ - printxval-Xabbrev.c \ - printxval-Xraw.c \ - printxval-Xverbose.c \ -+ secontext.c \ -+ secontext.h \ - signal2name.c \ - skip_unavailable.c \ - sprintrc.c \ -@@ -5505,6 +5681,9 @@ - execve \ - execveat \ - faccessat \ -+ faccessat-P \ -+ faccessat-y \ -+ faccessat-yy \ - fadvise64 \ - fadvise64_64 \ - fallocate \ -@@ -6077,6 +6256,69 @@ - xettimeofday \ - # - -+secontext_EXECUTABLES = \ -+ access--secontext \ -+ access--secontext_full \ -+ chmod--secontext \ -+ chmod--secontext_full \ -+ execve--secontext \ -+ execve--secontext_full \ -+ execveat--secontext \ -+ execveat--secontext_full \ -+ faccessat--secontext \ -+ faccessat--secontext_full \ -+ faccessat-y--secontext \ -+ faccessat-y--secontext_full \ -+ fanotify_mark--secontext \ -+ fanotify_mark--secontext_full \ -+ fchmod--secontext \ -+ fchmod--secontext_full \ -+ fchmod-y--secontext \ -+ fchmod-y--secontext_full \ -+ fchmodat--secontext \ -+ fchmodat--secontext_full \ -+ fchownat--secontext \ -+ fchownat--secontext_full \ -+ file_handle--secontext \ -+ file_handle--secontext_full \ -+ linkat--secontext \ -+ linkat--secontext_full \ -+ open--secontext \ -+ open--secontext_full \ -+ openat--secontext \ -+ openat--secontext_full \ -+ # -+ -+access__secontext_LDADD = $(LDADD) $(libselinux_LDADD) -+access__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) -+chmod__secontext_LDADD = $(LDADD) $(libselinux_LDADD) -+chmod__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) -+execve__secontext_LDADD = $(LDADD) $(libselinux_LDADD) -+execve__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) -+execveat__secontext_LDADD = $(LDADD) $(libselinux_LDADD) -+execveat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) -+faccessat__secontext_LDADD = $(LDADD) $(libselinux_LDADD) -+faccessat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) -+faccessat_y__secontext_LDADD = $(LDADD) $(libselinux_LDADD) -+faccessat_y__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) -+fanotify_mark__secontext_LDADD = $(LDADD) $(libselinux_LDADD) -+fanotify_mark__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) -+fchmod__secontext_LDADD = $(LDADD) $(libselinux_LDADD) -+fchmod__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) -+fchmod_y__secontext_LDADD = $(LDADD) $(libselinux_LDADD) -+fchmod_y__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) -+fchmodat__secontext_LDADD = $(LDADD) $(libselinux_LDADD) -+fchmodat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) -+fchownat__secontext_LDADD = $(LDADD) $(libselinux_LDADD) -+fchownat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) -+file_handle__secontext_LDADD = $(LDADD) $(libselinux_LDADD) -+file_handle__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) -+linkat__secontext_LDADD = $(LDADD) $(libselinux_LDADD) -+linkat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) -+open__secontext_LDADD = $(LDADD) $(libselinux_LDADD) -+open__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) -+openat__secontext_LDADD = $(LDADD) $(libselinux_LDADD) -+openat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) - attach_f_p_LDADD = -lpthread $(LDADD) - count_f_LDADD = -lpthread $(LDADD) - delay_LDADD = $(clock_LIBS) $(LDADD) -@@ -6129,14 +6371,15 @@ - - # Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in; do not edit. - GEN_TESTS = _newselect.gen.test _newselect-P.gen.test accept.gen.test \ -- accept4.gen.test access.gen.test acct.gen.test \ -- add_key.gen.test adjtimex.gen.test aio.gen.test \ -- aio_pgetevents.gen.test alarm.gen.test bpf.gen.test \ -- bpf-obj_get_info_by_fd.gen.test \ -+ accept4.gen.test access.gen.test access--secontext.gen.test \ -+ access--secontext_full.gen.test acct.gen.test add_key.gen.test \ -+ adjtimex.gen.test aio.gen.test aio_pgetevents.gen.test \ -+ alarm.gen.test bpf.gen.test bpf-obj_get_info_by_fd.gen.test \ - bpf-obj_get_info_by_fd-prog.gen.test \ - bpf-obj_get_info_by_fd-prog-v.gen.test \ - bpf-obj_get_info_by_fd-v.gen.test bpf-v.gen.test \ -- btrfs.gen.test chmod.gen.test chown.gen.test chown32.gen.test \ -+ btrfs.gen.test chmod.gen.test chmod--secontext.gen.test \ -+ chmod--secontext_full.gen.test chown.gen.test chown32.gen.test \ - chroot.gen.test clock.gen.test clock_adjtime.gen.test \ - clock_nanosleep.gen.test clock_xettime.gen.test \ - clone3.gen.test clone3-Xabbrev.gen.test clone3-Xraw.gen.test \ -@@ -6155,21 +6398,36 @@ - dup3-P.gen.test dup3-y.gen.test dup3-yy.gen.test \ - epoll_create.gen.test epoll_create1.gen.test \ - epoll_ctl.gen.test epoll_pwait.gen.test epoll_wait.gen.test \ -- erestartsys.gen.test execveat.gen.test execveat-v.gen.test \ -- faccessat.gen.test fadvise64_64.gen.test fallocate.gen.test \ -+ erestartsys.gen.test execve--secontext.gen.test \ -+ execve--secontext_full.gen.test execveat.gen.test \ -+ execveat--secontext.gen.test execveat--secontext_full.gen.test \ -+ execveat-v.gen.test faccessat--secontext.gen.test \ -+ faccessat--secontext_full.gen.test faccessat-P.gen.test \ -+ faccessat-y.gen.test faccessat-y--secontext.gen.test \ -+ faccessat-y--secontext_full.gen.test faccessat-yy.gen.test \ -+ fadvise64_64.gen.test fallocate.gen.test \ - fanotify_init.gen.test fanotify_mark.gen.test \ -+ fanotify_mark--secontext.gen.test \ -+ fanotify_mark--secontext_full.gen.test \ - fanotify_mark-Xabbrev.gen.test fanotify_mark-Xraw.gen.test \ - fanotify_mark-Xverbose.gen.test fchdir.gen.test \ -- fchmod.gen.test fchmod-y.gen.test fchmodat.gen.test \ -- fchown.gen.test fchown32.gen.test fchownat.gen.test \ -+ fchmod.gen.test fchmod--secontext.gen.test \ -+ fchmod--secontext_full.gen.test fchmod-y.gen.test \ -+ fchmod-y--secontext.gen.test fchmod-y--secontext_full.gen.test \ -+ fchmodat.gen.test fchmodat--secontext.gen.test \ -+ fchmodat--secontext_full.gen.test fchown.gen.test \ -+ fchown32.gen.test fchownat.gen.test \ -+ fchownat--secontext.gen.test fchownat--secontext_full.gen.test \ - fcntl.gen.test fcntl--pidns-translation.gen.test \ - fcntl64.gen.test fcntl64--pidns-translation.gen.test \ - fdatasync.gen.test file_handle.gen.test file_ioctl.gen.test \ -- filter_seccomp.gen.test filter_seccomp-flag.gen.test \ -- finit_module.gen.test flock.gen.test fork-f.gen.test \ -- fsconfig.gen.test fsconfig-P.gen.test fsmount.gen.test \ -- fsopen.gen.test fspick.gen.test fspick-P.gen.test \ -- fstat.gen.test fstat-Xabbrev.gen.test fstat-Xraw.gen.test \ -+ file_handle--secontext.gen.test \ -+ file_handle--secontext_full.gen.test filter_seccomp.gen.test \ -+ filter_seccomp-flag.gen.test finit_module.gen.test \ -+ flock.gen.test fork-f.gen.test fsconfig.gen.test \ -+ fsconfig-P.gen.test fsmount.gen.test fsopen.gen.test \ -+ fspick.gen.test fspick-P.gen.test fstat.gen.test \ -+ fstat-Xabbrev.gen.test fstat-Xraw.gen.test \ - fstat-Xverbose.gen.test fstat64.gen.test \ - fstat64-Xabbrev.gen.test fstat64-Xraw.gen.test \ - fstat64-Xverbose.gen.test fstatat64.gen.test fstatfs.gen.test \ -@@ -6259,8 +6517,9 @@ - keyctl-Xverbose.gen.test kill.gen.test \ - kill--pidns-translation.gen.test ksysent.gen.test \ - lchown.gen.test lchown32.gen.test link.gen.test \ -- linkat.gen.test lookup_dcookie.gen.test lstat.gen.test \ -- lstat64.gen.test madvise.gen.test \ -+ linkat.gen.test linkat--secontext.gen.test \ -+ linkat--secontext_full.gen.test lookup_dcookie.gen.test \ -+ lstat.gen.test lstat64.gen.test madvise.gen.test \ - maybe_switch_current_tcp.gen.test \ - maybe_switch_current_tcp--quiet-thread-execve.gen.test \ - mbind.gen.test mbind-Xabbrev.gen.test mbind-Xraw.gen.test \ -@@ -6328,14 +6587,17 @@ - old_mmap-v-none.gen.test oldfstat.gen.test oldlstat.gen.test \ - oldselect.gen.test oldselect-P.gen.test \ - oldselect-efault.gen.test oldselect-efault-P.gen.test \ -- oldstat.gen.test open.gen.test open_tree.gen.test \ -- open_tree-P.gen.test openat.gen.test openat2.gen.test \ -- openat2-Xabbrev.gen.test openat2-Xraw.gen.test \ -- openat2-Xverbose.gen.test openat2-v.gen.test \ -- openat2-v-y.gen.test openat2-v-y-Xabbrev.gen.test \ -- openat2-v-y-Xraw.gen.test openat2-v-y-Xverbose.gen.test \ -- openat2-y.gen.test orphaned_process_group.gen.test \ -- osf_utimes.gen.test pause.gen.test perf_event_open.gen.test \ -+ oldstat.gen.test open.gen.test open--secontext.gen.test \ -+ open--secontext_full.gen.test open_tree.gen.test \ -+ open_tree-P.gen.test openat.gen.test \ -+ openat--secontext.gen.test openat--secontext_full.gen.test \ -+ openat2.gen.test openat2-Xabbrev.gen.test \ -+ openat2-Xraw.gen.test openat2-Xverbose.gen.test \ -+ openat2-v.gen.test openat2-v-y.gen.test \ -+ openat2-v-y-Xabbrev.gen.test openat2-v-y-Xraw.gen.test \ -+ openat2-v-y-Xverbose.gen.test openat2-y.gen.test \ -+ orphaned_process_group.gen.test osf_utimes.gen.test \ -+ pause.gen.test perf_event_open.gen.test \ - perf_event_open_nonverbose.gen.test \ - perf_event_open_unabbrev.gen.test personality-Xabbrev.gen.test \ - personality-Xraw.gen.test personality-Xverbose.gen.test \ -@@ -6806,7 +7068,7 @@ - - .SUFFIXES: - .SUFFIXES: .c .log .o .obj .test .test$(EXEEXT) .trs --$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/pure_executables.am $(srcdir)/gen_tests.am $(srcdir)/../scno.am $(am__configure_deps) -+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/pure_executables.am $(srcdir)/secontext.am $(srcdir)/gen_tests.am $(srcdir)/../scno.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ -@@ -6826,7 +7088,7 @@ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ - esac; --$(srcdir)/pure_executables.am $(srcdir)/gen_tests.am $(srcdir)/../scno.am $(am__empty): -+$(srcdir)/pure_executables.am $(srcdir)/secontext.am $(srcdir)/gen_tests.am $(srcdir)/../scno.am $(am__empty): - - $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -@@ -6868,6 +7130,14 @@ - @rm -f access$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(access_OBJECTS) $(access_LDADD) $(LIBS) - -+access--secontext$(EXEEXT): $(access__secontext_OBJECTS) $(access__secontext_DEPENDENCIES) $(EXTRA_access__secontext_DEPENDENCIES) -+ @rm -f access--secontext$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(access__secontext_OBJECTS) $(access__secontext_LDADD) $(LIBS) -+ -+access--secontext_full$(EXEEXT): $(access__secontext_full_OBJECTS) $(access__secontext_full_DEPENDENCIES) $(EXTRA_access__secontext_full_DEPENDENCIES) -+ @rm -f access--secontext_full$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(access__secontext_full_OBJECTS) $(access__secontext_full_LDADD) $(LIBS) -+ - acct$(EXEEXT): $(acct_OBJECTS) $(acct_DEPENDENCIES) $(EXTRA_acct_DEPENDENCIES) - @rm -f acct$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(acct_OBJECTS) $(acct_LDADD) $(LIBS) -@@ -6984,6 +7254,14 @@ - @rm -f chmod$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(chmod_OBJECTS) $(chmod_LDADD) $(LIBS) - -+chmod--secontext$(EXEEXT): $(chmod__secontext_OBJECTS) $(chmod__secontext_DEPENDENCIES) $(EXTRA_chmod__secontext_DEPENDENCIES) -+ @rm -f chmod--secontext$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(chmod__secontext_OBJECTS) $(chmod__secontext_LDADD) $(LIBS) -+ -+chmod--secontext_full$(EXEEXT): $(chmod__secontext_full_OBJECTS) $(chmod__secontext_full_DEPENDENCIES) $(EXTRA_chmod__secontext_full_DEPENDENCIES) -+ @rm -f chmod--secontext_full$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(chmod__secontext_full_OBJECTS) $(chmod__secontext_full_LDADD) $(LIBS) -+ - chown$(EXEEXT): $(chown_OBJECTS) $(chown_DEPENDENCIES) $(EXTRA_chown_DEPENDENCIES) - @rm -f chown$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(chown_OBJECTS) $(chown_LDADD) $(LIBS) -@@ -7196,6 +7474,14 @@ - @rm -f execve$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(execve_OBJECTS) $(execve_LDADD) $(LIBS) - -+execve--secontext$(EXEEXT): $(execve__secontext_OBJECTS) $(execve__secontext_DEPENDENCIES) $(EXTRA_execve__secontext_DEPENDENCIES) -+ @rm -f execve--secontext$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(execve__secontext_OBJECTS) $(execve__secontext_LDADD) $(LIBS) -+ -+execve--secontext_full$(EXEEXT): $(execve__secontext_full_OBJECTS) $(execve__secontext_full_DEPENDENCIES) $(EXTRA_execve__secontext_full_DEPENDENCIES) -+ @rm -f execve--secontext_full$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(execve__secontext_full_OBJECTS) $(execve__secontext_full_LDADD) $(LIBS) -+ - execve-v$(EXEEXT): $(execve_v_OBJECTS) $(execve_v_DEPENDENCIES) $(EXTRA_execve_v_DEPENDENCIES) - @rm -f execve-v$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(execve_v_OBJECTS) $(execve_v_LDADD) $(LIBS) -@@ -7204,6 +7490,14 @@ - @rm -f execveat$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(execveat_OBJECTS) $(execveat_LDADD) $(LIBS) - -+execveat--secontext$(EXEEXT): $(execveat__secontext_OBJECTS) $(execveat__secontext_DEPENDENCIES) $(EXTRA_execveat__secontext_DEPENDENCIES) -+ @rm -f execveat--secontext$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(execveat__secontext_OBJECTS) $(execveat__secontext_LDADD) $(LIBS) -+ -+execveat--secontext_full$(EXEEXT): $(execveat__secontext_full_OBJECTS) $(execveat__secontext_full_DEPENDENCIES) $(EXTRA_execveat__secontext_full_DEPENDENCIES) -+ @rm -f execveat--secontext_full$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(execveat__secontext_full_OBJECTS) $(execveat__secontext_full_LDADD) $(LIBS) -+ - execveat-v$(EXEEXT): $(execveat_v_OBJECTS) $(execveat_v_DEPENDENCIES) $(EXTRA_execveat_v_DEPENDENCIES) - @rm -f execveat-v$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(execveat_v_OBJECTS) $(execveat_v_LDADD) $(LIBS) -@@ -7212,6 +7506,34 @@ - @rm -f faccessat$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(faccessat_OBJECTS) $(faccessat_LDADD) $(LIBS) - -+faccessat--secontext$(EXEEXT): $(faccessat__secontext_OBJECTS) $(faccessat__secontext_DEPENDENCIES) $(EXTRA_faccessat__secontext_DEPENDENCIES) -+ @rm -f faccessat--secontext$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(faccessat__secontext_OBJECTS) $(faccessat__secontext_LDADD) $(LIBS) -+ -+faccessat--secontext_full$(EXEEXT): $(faccessat__secontext_full_OBJECTS) $(faccessat__secontext_full_DEPENDENCIES) $(EXTRA_faccessat__secontext_full_DEPENDENCIES) -+ @rm -f faccessat--secontext_full$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(faccessat__secontext_full_OBJECTS) $(faccessat__secontext_full_LDADD) $(LIBS) -+ -+faccessat-P$(EXEEXT): $(faccessat_P_OBJECTS) $(faccessat_P_DEPENDENCIES) $(EXTRA_faccessat_P_DEPENDENCIES) -+ @rm -f faccessat-P$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(faccessat_P_OBJECTS) $(faccessat_P_LDADD) $(LIBS) -+ -+faccessat-y$(EXEEXT): $(faccessat_y_OBJECTS) $(faccessat_y_DEPENDENCIES) $(EXTRA_faccessat_y_DEPENDENCIES) -+ @rm -f faccessat-y$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(faccessat_y_OBJECTS) $(faccessat_y_LDADD) $(LIBS) -+ -+faccessat-y--secontext$(EXEEXT): $(faccessat_y__secontext_OBJECTS) $(faccessat_y__secontext_DEPENDENCIES) $(EXTRA_faccessat_y__secontext_DEPENDENCIES) -+ @rm -f faccessat-y--secontext$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(faccessat_y__secontext_OBJECTS) $(faccessat_y__secontext_LDADD) $(LIBS) -+ -+faccessat-y--secontext_full$(EXEEXT): $(faccessat_y__secontext_full_OBJECTS) $(faccessat_y__secontext_full_DEPENDENCIES) $(EXTRA_faccessat_y__secontext_full_DEPENDENCIES) -+ @rm -f faccessat-y--secontext_full$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(faccessat_y__secontext_full_OBJECTS) $(faccessat_y__secontext_full_LDADD) $(LIBS) -+ -+faccessat-yy$(EXEEXT): $(faccessat_yy_OBJECTS) $(faccessat_yy_DEPENDENCIES) $(EXTRA_faccessat_yy_DEPENDENCIES) -+ @rm -f faccessat-yy$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(faccessat_yy_OBJECTS) $(faccessat_yy_LDADD) $(LIBS) -+ - fadvise64$(EXEEXT): $(fadvise64_OBJECTS) $(fadvise64_DEPENDENCIES) $(EXTRA_fadvise64_DEPENDENCIES) - @rm -f fadvise64$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(fadvise64_OBJECTS) $(fadvise64_LDADD) $(LIBS) -@@ -7232,6 +7554,14 @@ - @rm -f fanotify_mark$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(fanotify_mark_OBJECTS) $(fanotify_mark_LDADD) $(LIBS) - -+fanotify_mark--secontext$(EXEEXT): $(fanotify_mark__secontext_OBJECTS) $(fanotify_mark__secontext_DEPENDENCIES) $(EXTRA_fanotify_mark__secontext_DEPENDENCIES) -+ @rm -f fanotify_mark--secontext$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(fanotify_mark__secontext_OBJECTS) $(fanotify_mark__secontext_LDADD) $(LIBS) -+ -+fanotify_mark--secontext_full$(EXEEXT): $(fanotify_mark__secontext_full_OBJECTS) $(fanotify_mark__secontext_full_DEPENDENCIES) $(EXTRA_fanotify_mark__secontext_full_DEPENDENCIES) -+ @rm -f fanotify_mark--secontext_full$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(fanotify_mark__secontext_full_OBJECTS) $(fanotify_mark__secontext_full_LDADD) $(LIBS) -+ - fanotify_mark-Xabbrev$(EXEEXT): $(fanotify_mark_Xabbrev_OBJECTS) $(fanotify_mark_Xabbrev_DEPENDENCIES) $(EXTRA_fanotify_mark_Xabbrev_DEPENDENCIES) - @rm -f fanotify_mark-Xabbrev$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(fanotify_mark_Xabbrev_OBJECTS) $(fanotify_mark_Xabbrev_LDADD) $(LIBS) -@@ -7252,14 +7582,38 @@ - @rm -f fchmod$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(fchmod_OBJECTS) $(fchmod_LDADD) $(LIBS) - -+fchmod--secontext$(EXEEXT): $(fchmod__secontext_OBJECTS) $(fchmod__secontext_DEPENDENCIES) $(EXTRA_fchmod__secontext_DEPENDENCIES) -+ @rm -f fchmod--secontext$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(fchmod__secontext_OBJECTS) $(fchmod__secontext_LDADD) $(LIBS) -+ -+fchmod--secontext_full$(EXEEXT): $(fchmod__secontext_full_OBJECTS) $(fchmod__secontext_full_DEPENDENCIES) $(EXTRA_fchmod__secontext_full_DEPENDENCIES) -+ @rm -f fchmod--secontext_full$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(fchmod__secontext_full_OBJECTS) $(fchmod__secontext_full_LDADD) $(LIBS) -+ - fchmod-y$(EXEEXT): $(fchmod_y_OBJECTS) $(fchmod_y_DEPENDENCIES) $(EXTRA_fchmod_y_DEPENDENCIES) - @rm -f fchmod-y$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(fchmod_y_OBJECTS) $(fchmod_y_LDADD) $(LIBS) - -+fchmod-y--secontext$(EXEEXT): $(fchmod_y__secontext_OBJECTS) $(fchmod_y__secontext_DEPENDENCIES) $(EXTRA_fchmod_y__secontext_DEPENDENCIES) -+ @rm -f fchmod-y--secontext$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(fchmod_y__secontext_OBJECTS) $(fchmod_y__secontext_LDADD) $(LIBS) -+ -+fchmod-y--secontext_full$(EXEEXT): $(fchmod_y__secontext_full_OBJECTS) $(fchmod_y__secontext_full_DEPENDENCIES) $(EXTRA_fchmod_y__secontext_full_DEPENDENCIES) -+ @rm -f fchmod-y--secontext_full$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(fchmod_y__secontext_full_OBJECTS) $(fchmod_y__secontext_full_LDADD) $(LIBS) -+ - fchmodat$(EXEEXT): $(fchmodat_OBJECTS) $(fchmodat_DEPENDENCIES) $(EXTRA_fchmodat_DEPENDENCIES) - @rm -f fchmodat$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(fchmodat_OBJECTS) $(fchmodat_LDADD) $(LIBS) - -+fchmodat--secontext$(EXEEXT): $(fchmodat__secontext_OBJECTS) $(fchmodat__secontext_DEPENDENCIES) $(EXTRA_fchmodat__secontext_DEPENDENCIES) -+ @rm -f fchmodat--secontext$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(fchmodat__secontext_OBJECTS) $(fchmodat__secontext_LDADD) $(LIBS) -+ -+fchmodat--secontext_full$(EXEEXT): $(fchmodat__secontext_full_OBJECTS) $(fchmodat__secontext_full_DEPENDENCIES) $(EXTRA_fchmodat__secontext_full_DEPENDENCIES) -+ @rm -f fchmodat--secontext_full$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(fchmodat__secontext_full_OBJECTS) $(fchmodat__secontext_full_LDADD) $(LIBS) -+ - fchown$(EXEEXT): $(fchown_OBJECTS) $(fchown_DEPENDENCIES) $(EXTRA_fchown_DEPENDENCIES) - @rm -f fchown$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(fchown_OBJECTS) $(fchown_LDADD) $(LIBS) -@@ -7272,6 +7626,14 @@ - @rm -f fchownat$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(fchownat_OBJECTS) $(fchownat_LDADD) $(LIBS) - -+fchownat--secontext$(EXEEXT): $(fchownat__secontext_OBJECTS) $(fchownat__secontext_DEPENDENCIES) $(EXTRA_fchownat__secontext_DEPENDENCIES) -+ @rm -f fchownat--secontext$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(fchownat__secontext_OBJECTS) $(fchownat__secontext_LDADD) $(LIBS) -+ -+fchownat--secontext_full$(EXEEXT): $(fchownat__secontext_full_OBJECTS) $(fchownat__secontext_full_DEPENDENCIES) $(EXTRA_fchownat__secontext_full_DEPENDENCIES) -+ @rm -f fchownat--secontext_full$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(fchownat__secontext_full_OBJECTS) $(fchownat__secontext_full_LDADD) $(LIBS) -+ - fcntl$(EXEEXT): $(fcntl_OBJECTS) $(fcntl_DEPENDENCIES) $(EXTRA_fcntl_DEPENDENCIES) - @rm -f fcntl$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(fcntl_OBJECTS) $(fcntl_LDADD) $(LIBS) -@@ -7300,6 +7662,14 @@ - @rm -f file_handle$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(file_handle_OBJECTS) $(file_handle_LDADD) $(LIBS) - -+file_handle--secontext$(EXEEXT): $(file_handle__secontext_OBJECTS) $(file_handle__secontext_DEPENDENCIES) $(EXTRA_file_handle__secontext_DEPENDENCIES) -+ @rm -f file_handle--secontext$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(file_handle__secontext_OBJECTS) $(file_handle__secontext_LDADD) $(LIBS) -+ -+file_handle--secontext_full$(EXEEXT): $(file_handle__secontext_full_OBJECTS) $(file_handle__secontext_full_DEPENDENCIES) $(EXTRA_file_handle__secontext_full_DEPENDENCIES) -+ @rm -f file_handle--secontext_full$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(file_handle__secontext_full_OBJECTS) $(file_handle__secontext_full_LDADD) $(LIBS) -+ - file_ioctl$(EXEEXT): $(file_ioctl_OBJECTS) $(file_ioctl_DEPENDENCIES) $(EXTRA_file_ioctl_DEPENDENCIES) - @rm -f file_ioctl$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(file_ioctl_OBJECTS) $(file_ioctl_LDADD) $(LIBS) -@@ -8124,6 +8494,14 @@ - @rm -f linkat$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(linkat_OBJECTS) $(linkat_LDADD) $(LIBS) - -+linkat--secontext$(EXEEXT): $(linkat__secontext_OBJECTS) $(linkat__secontext_DEPENDENCIES) $(EXTRA_linkat__secontext_DEPENDENCIES) -+ @rm -f linkat--secontext$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(linkat__secontext_OBJECTS) $(linkat__secontext_LDADD) $(LIBS) -+ -+linkat--secontext_full$(EXEEXT): $(linkat__secontext_full_OBJECTS) $(linkat__secontext_full_DEPENDENCIES) $(EXTRA_linkat__secontext_full_DEPENDENCIES) -+ @rm -f linkat--secontext_full$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(linkat__secontext_full_OBJECTS) $(linkat__secontext_full_LDADD) $(LIBS) -+ - list_sigaction_signum$(EXEEXT): $(list_sigaction_signum_OBJECTS) $(list_sigaction_signum_DEPENDENCIES) $(EXTRA_list_sigaction_signum_DEPENDENCIES) - @rm -f list_sigaction_signum$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(list_sigaction_signum_OBJECTS) $(list_sigaction_signum_LDADD) $(LIBS) -@@ -8756,6 +9134,14 @@ - @rm -f open$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(open_OBJECTS) $(open_LDADD) $(LIBS) - -+open--secontext$(EXEEXT): $(open__secontext_OBJECTS) $(open__secontext_DEPENDENCIES) $(EXTRA_open__secontext_DEPENDENCIES) -+ @rm -f open--secontext$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(open__secontext_OBJECTS) $(open__secontext_LDADD) $(LIBS) -+ -+open--secontext_full$(EXEEXT): $(open__secontext_full_OBJECTS) $(open__secontext_full_DEPENDENCIES) $(EXTRA_open__secontext_full_DEPENDENCIES) -+ @rm -f open--secontext_full$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(open__secontext_full_OBJECTS) $(open__secontext_full_LDADD) $(LIBS) -+ - open_tree$(EXEEXT): $(open_tree_OBJECTS) $(open_tree_DEPENDENCIES) $(EXTRA_open_tree_DEPENDENCIES) - @rm -f open_tree$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(open_tree_OBJECTS) $(open_tree_LDADD) $(LIBS) -@@ -8768,6 +9154,14 @@ - @rm -f openat$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(openat_OBJECTS) $(openat_LDADD) $(LIBS) - -+openat--secontext$(EXEEXT): $(openat__secontext_OBJECTS) $(openat__secontext_DEPENDENCIES) $(EXTRA_openat__secontext_DEPENDENCIES) -+ @rm -f openat--secontext$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(openat__secontext_OBJECTS) $(openat__secontext_LDADD) $(LIBS) -+ -+openat--secontext_full$(EXEEXT): $(openat__secontext_full_OBJECTS) $(openat__secontext_full_DEPENDENCIES) $(EXTRA_openat__secontext_full_DEPENDENCIES) -+ @rm -f openat--secontext_full$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(openat__secontext_full_OBJECTS) $(openat__secontext_full_LDADD) $(LIBS) -+ - openat2$(EXEEXT): $(openat2_OBJECTS) $(openat2_DEPENDENCIES) $(EXTRA_openat2_DEPENDENCIES) - @rm -f openat2$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(openat2_OBJECTS) $(openat2_LDADD) $(LIBS) -@@ -10094,6 +10488,8 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/_newselect.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/accept.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/accept4.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/access--secontext.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/access--secontext_full.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/access.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/acct.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/add_key.Po@am__quote@ # am--include-marker -@@ -10123,6 +10519,8 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/caps.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_sigblock.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_sigign.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmod--secontext.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmod--secontext_full.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmod.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chown.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chown32.Po@am__quote@ # am--include-marker -@@ -10176,25 +10574,46 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/epoll_wait.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/erestartsys.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eventfd.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve--secontext.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve--secontext_full.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve-v.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat--secontext.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat--secontext_full.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat-v.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat--secontext.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat--secontext_full.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-P.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-y--secontext.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-y--secontext_full.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-y.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-yy.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fadvise64.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fadvise64_64.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fallocate.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_init.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark--secontext.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark--secontext_full.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark-Xabbrev.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark-Xraw.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark-Xverbose.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchdir.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod--secontext.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod--secontext_full.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y--secontext.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y--secontext_full.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat--secontext.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat--secontext_full.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchown.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchown32.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat--secontext.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat--secontext_full.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl.Po@am__quote@ # am--include-marker -@@ -10202,6 +10621,8 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl64.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fdatasync.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fflush.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_handle--secontext.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_handle--secontext_full.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_handle.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_ioctl.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filter-unavailable.Po@am__quote@ # am--include-marker -@@ -10431,6 +10852,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-printxval-Xabbrev.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-printxval-Xraw.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-printxval-Xverbose.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-secontext.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-signal2name.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-skip_unavailable.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-sprintrc.Po@am__quote@ # am--include-marker -@@ -10443,6 +10865,8 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-tprintf.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-xmalloc_for_tests.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/link.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat--secontext.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat--secontext_full.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/list_sigaction_signum.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/llseek.Po@am__quote@ # am--include-marker -@@ -10601,9 +11025,13 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oldselect-efault.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oldselect.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oldstat.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open--secontext.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open--secontext_full.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open_tree-P.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open_tree.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat--secontext.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat--secontext_full.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat2-Xabbrev.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat2-Xraw.Po@am__quote@ # am--include-marker -@@ -11300,6 +11728,20 @@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-printxval-Xverbose.obj `if test -f 'printxval-Xverbose.c'; then $(CYGPATH_W) 'printxval-Xverbose.c'; else $(CYGPATH_W) '$(srcdir)/printxval-Xverbose.c'; fi` - -+libtests_a-secontext.o: secontext.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-secontext.o -MD -MP -MF $(DEPDIR)/libtests_a-secontext.Tpo -c -o libtests_a-secontext.o `test -f 'secontext.c' || echo '$(srcdir)/'`secontext.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-secontext.Tpo $(DEPDIR)/libtests_a-secontext.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='secontext.c' object='libtests_a-secontext.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-secontext.o `test -f 'secontext.c' || echo '$(srcdir)/'`secontext.c -+ -+libtests_a-secontext.obj: secontext.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-secontext.obj -MD -MP -MF $(DEPDIR)/libtests_a-secontext.Tpo -c -o libtests_a-secontext.obj `if test -f 'secontext.c'; then $(CYGPATH_W) 'secontext.c'; else $(CYGPATH_W) '$(srcdir)/secontext.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-secontext.Tpo $(DEPDIR)/libtests_a-secontext.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='secontext.c' object='libtests_a-secontext.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-secontext.obj `if test -f 'secontext.c'; then $(CYGPATH_W) 'secontext.c'; else $(CYGPATH_W) '$(srcdir)/secontext.c'; fi` -+ - libtests_a-signal2name.o: signal2name.c - @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-signal2name.o -MD -MP -MF $(DEPDIR)/libtests_a-signal2name.Tpo -c -o libtests_a-signal2name.o `test -f 'signal2name.c' || echo '$(srcdir)/'`signal2name.c - @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-signal2name.Tpo $(DEPDIR)/libtests_a-signal2name.Po -@@ -13841,6 +14283,12 @@ - $(srcdir)/access.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/access--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ -+$(srcdir)/access--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/acct.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -13883,6 +14331,12 @@ - $(srcdir)/chmod.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/chmod--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ -+$(srcdir)/chmod--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/chown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -14024,13 +14478,43 @@ - $(srcdir)/erestartsys.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/execve--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ -+$(srcdir)/execve--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/execveat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/execveat--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ -+$(srcdir)/execveat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/execveat-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - --$(srcdir)/faccessat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+$(srcdir)/faccessat--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ -+$(srcdir)/faccessat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ -+$(srcdir)/faccessat-P.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ -+$(srcdir)/faccessat-y.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ -+$(srcdir)/faccessat-y--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ -+$(srcdir)/faccessat-y--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ -+$(srcdir)/faccessat-yy.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - - $(srcdir)/fadvise64_64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -@@ -14045,6 +14529,12 @@ - $(srcdir)/fanotify_mark.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/fanotify_mark--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ -+$(srcdir)/fanotify_mark--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/fanotify_mark-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -14060,12 +14550,30 @@ - $(srcdir)/fchmod.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/fchmod--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ -+$(srcdir)/fchmod--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/fchmod-y.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/fchmod-y--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ -+$(srcdir)/fchmod-y--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/fchmodat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/fchmodat--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ -+$(srcdir)/fchmodat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/fchown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -14075,6 +14583,12 @@ - $(srcdir)/fchownat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/fchownat--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ -+$(srcdir)/fchownat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/fcntl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -14096,6 +14610,12 @@ - $(srcdir)/file_ioctl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/file_handle--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ -+$(srcdir)/file_handle--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/filter_seccomp.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -14690,6 +15210,12 @@ - $(srcdir)/linkat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/linkat--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ -+$(srcdir)/linkat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/lookup_dcookie.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -15107,6 +15633,12 @@ - $(srcdir)/open.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/open--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ -+$(srcdir)/open--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/open_tree.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -15116,6 +15648,12 @@ - $(srcdir)/openat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/openat--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ -+$(srcdir)/openat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/openat2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -Index: strace-5.7/tests-mx32/Makefile.in -=================================================================== ---- strace-5.7.orig/tests-mx32/Makefile.in 2021-08-24 21:08:35.498311681 +0200 -+++ strace-5.7/tests-mx32/Makefile.in 2021-08-24 21:08:43.292245714 +0200 -@@ -22,6 +22,8 @@ - # - # SPDX-License-Identifier: GPL-2.0-or-later - -+# Generated by ./tests/gen_secontext.sh from ./tests/gen_tests.in; do not edit. -+ - # scno.h make rules for strace. - # - # Copyright (c) 2017-2019 Dmitry V. Levin -@@ -102,8 +104,8 @@ - POST_UNINSTALL = : - build_triplet = @build@ - host_triplet = @host@ --check_PROGRAMS = $(am__EXEEXT_1) _newselect-P$(EXEEXT) answer$(EXEEXT) \ -- attach-f-p$(EXEEXT) attach-f-p-cmd$(EXEEXT) \ -+check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) _newselect-P$(EXEEXT) \ -+ answer$(EXEEXT) attach-f-p$(EXEEXT) attach-f-p-cmd$(EXEEXT) \ - attach-p-cmd-cmd$(EXEEXT) attach-p-cmd-p$(EXEEXT) \ - block_reset_raise_run$(EXEEXT) block_reset_run$(EXEEXT) \ - bpf-obj_get_info_by_fd$(EXEEXT) \ -@@ -221,7 +223,7 @@ - xetpriority--pidns-translation$(EXEEXT) \ - xet_robust_list--pidns-translation$(EXEEXT) zeroargc$(EXEEXT) - @ENABLE_STACKTRACE_TRUE@@USE_DEMANGLE_TRUE@am__append_1 = strace-k-demangle.test --TESTS = $(GEN_TESTS) $(DECODER_TESTS) $(MISC_TESTS) $(am__EXEEXT_2) -+TESTS = $(GEN_TESTS) $(DECODER_TESTS) $(MISC_TESTS) $(am__EXEEXT_3) - subdir = tests-mx32 - ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 - am__aclocal_m4_deps = $(top_srcdir)/xlat/btrfs_compress_types.m4 \ -@@ -270,6 +272,7 @@ - $(top_srcdir)/m4/st_esyscmd_s.m4 $(top_srcdir)/m4/st_libdw.m4 \ - $(top_srcdir)/m4/st_libunwind.m4 \ - $(top_srcdir)/m4/st_save_restore_var.m4 \ -+ $(top_srcdir)/m4/st_selinux.m4 \ - $(top_srcdir)/m4/st_stacktrace.m4 \ - $(top_srcdir)/m4/st_warn_cflags.m4 \ - $(top_srcdir)/m4/warnings.m4 $(top_srcdir)/configure.ac -@@ -298,7 +301,8 @@ - epoll_create$(EXEEXT) epoll_create1$(EXEEXT) \ - epoll_ctl$(EXEEXT) epoll_pwait$(EXEEXT) epoll_wait$(EXEEXT) \ - erestartsys$(EXEEXT) eventfd$(EXEEXT) execve$(EXEEXT) \ -- execveat$(EXEEXT) faccessat$(EXEEXT) fadvise64$(EXEEXT) \ -+ execveat$(EXEEXT) faccessat$(EXEEXT) faccessat-P$(EXEEXT) \ -+ faccessat-y$(EXEEXT) faccessat-yy$(EXEEXT) fadvise64$(EXEEXT) \ - fadvise64_64$(EXEEXT) fallocate$(EXEEXT) \ - fanotify_init$(EXEEXT) fanotify_mark$(EXEEXT) \ - fanotify_mark-Xabbrev$(EXEEXT) fanotify_mark-Xraw$(EXEEXT) \ -@@ -543,6 +547,26 @@ - xattr-strings$(EXEEXT) xet_robust_list$(EXEEXT) \ - xet_thread_area_x86$(EXEEXT) xetitimer$(EXEEXT) \ - xetpgid$(EXEEXT) xetpriority$(EXEEXT) xettimeofday$(EXEEXT) -+am__EXEEXT_2 = access--secontext$(EXEEXT) \ -+ access--secontext_full$(EXEEXT) chmod--secontext$(EXEEXT) \ -+ chmod--secontext_full$(EXEEXT) execve--secontext$(EXEEXT) \ -+ execve--secontext_full$(EXEEXT) execveat--secontext$(EXEEXT) \ -+ execveat--secontext_full$(EXEEXT) \ -+ faccessat--secontext$(EXEEXT) \ -+ faccessat--secontext_full$(EXEEXT) \ -+ faccessat-y--secontext$(EXEEXT) \ -+ faccessat-y--secontext_full$(EXEEXT) \ -+ fanotify_mark--secontext$(EXEEXT) \ -+ fanotify_mark--secontext_full$(EXEEXT) \ -+ fchmod--secontext$(EXEEXT) fchmod--secontext_full$(EXEEXT) \ -+ fchmod-y--secontext$(EXEEXT) fchmod-y--secontext_full$(EXEEXT) \ -+ fchmodat--secontext$(EXEEXT) fchmodat--secontext_full$(EXEEXT) \ -+ fchownat--secontext$(EXEEXT) fchownat--secontext_full$(EXEEXT) \ -+ file_handle--secontext$(EXEEXT) \ -+ file_handle--secontext_full$(EXEEXT) \ -+ linkat--secontext$(EXEEXT) linkat--secontext_full$(EXEEXT) \ -+ open--secontext$(EXEEXT) open--secontext_full$(EXEEXT) \ -+ openat--secontext$(EXEEXT) openat--secontext_full$(EXEEXT) - ARFLAGS = cru - AM_V_AR = $(am__v_AR_@AM_V@) - am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@) -@@ -571,6 +595,7 @@ - libtests_a-printxval-Xabbrev.$(OBJEXT) \ - libtests_a-printxval-Xraw.$(OBJEXT) \ - libtests_a-printxval-Xverbose.$(OBJEXT) \ -+ libtests_a-secontext.$(OBJEXT) \ - libtests_a-signal2name.$(OBJEXT) \ - libtests_a-skip_unavailable.$(OBJEXT) \ - libtests_a-sprintrc.$(OBJEXT) libtests_a-status.$(OBJEXT) \ -@@ -600,6 +625,15 @@ - access_OBJECTS = access.$(OBJEXT) - access_LDADD = $(LDADD) - access_DEPENDENCIES = libtests.a -+access__secontext_SOURCES = access--secontext.c -+access__secontext_OBJECTS = access--secontext.$(OBJEXT) -+am__DEPENDENCIES_1 = -+@HAVE_MX32_SELINUX_RUNTIME_TRUE@am__DEPENDENCIES_2 = \ -+@HAVE_MX32_SELINUX_RUNTIME_TRUE@ $(am__DEPENDENCIES_1) -+access__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) -+access__secontext_full_SOURCES = access--secontext_full.c -+access__secontext_full_OBJECTS = access--secontext_full.$(OBJEXT) -+access__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) - acct_SOURCES = acct.c - acct_OBJECTS = acct.$(OBJEXT) - acct_LDADD = $(LDADD) -@@ -718,6 +752,12 @@ - chmod_OBJECTS = chmod.$(OBJEXT) - chmod_LDADD = $(LDADD) - chmod_DEPENDENCIES = libtests.a -+chmod__secontext_SOURCES = chmod--secontext.c -+chmod__secontext_OBJECTS = chmod--secontext.$(OBJEXT) -+chmod__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) -+chmod__secontext_full_SOURCES = chmod--secontext_full.c -+chmod__secontext_full_OBJECTS = chmod--secontext_full.$(OBJEXT) -+chmod__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) - chown_SOURCES = chown.c - chown_OBJECTS = chown.$(OBJEXT) - chown_LDADD = $(LDADD) -@@ -828,7 +868,6 @@ - creat_DEPENDENCIES = libtests.a - delay_SOURCES = delay.c - delay_OBJECTS = delay.$(OBJEXT) --am__DEPENDENCIES_1 = - delay_DEPENDENCIES = $(am__DEPENDENCIES_1) $(LDADD) - delete_module_SOURCES = delete_module.c - delete_module_OBJECTS = delete_module.$(OBJEXT) -@@ -930,6 +969,12 @@ - execve_OBJECTS = execve.$(OBJEXT) - execve_LDADD = $(LDADD) - execve_DEPENDENCIES = libtests.a -+execve__secontext_SOURCES = execve--secontext.c -+execve__secontext_OBJECTS = execve--secontext.$(OBJEXT) -+execve__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) -+execve__secontext_full_SOURCES = execve--secontext_full.c -+execve__secontext_full_OBJECTS = execve--secontext_full.$(OBJEXT) -+execve__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) - execve_v_SOURCES = execve-v.c - execve_v_OBJECTS = execve-v.$(OBJEXT) - execve_v_LDADD = $(LDADD) -@@ -938,6 +983,12 @@ - execveat_OBJECTS = execveat.$(OBJEXT) - execveat_LDADD = $(LDADD) - execveat_DEPENDENCIES = libtests.a -+execveat__secontext_SOURCES = execveat--secontext.c -+execveat__secontext_OBJECTS = execveat--secontext.$(OBJEXT) -+execveat__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) -+execveat__secontext_full_SOURCES = execveat--secontext_full.c -+execveat__secontext_full_OBJECTS = execveat--secontext_full.$(OBJEXT) -+execveat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) - execveat_v_SOURCES = execveat-v.c - execveat_v_OBJECTS = execveat-v.$(OBJEXT) - execveat_v_LDADD = $(LDADD) -@@ -946,6 +997,34 @@ - faccessat_OBJECTS = faccessat.$(OBJEXT) - faccessat_LDADD = $(LDADD) - faccessat_DEPENDENCIES = libtests.a -+faccessat__secontext_SOURCES = faccessat--secontext.c -+faccessat__secontext_OBJECTS = faccessat--secontext.$(OBJEXT) -+faccessat__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) -+faccessat__secontext_full_SOURCES = faccessat--secontext_full.c -+faccessat__secontext_full_OBJECTS = \ -+ faccessat--secontext_full.$(OBJEXT) -+faccessat__secontext_full_DEPENDENCIES = $(LDADD) \ -+ $(am__DEPENDENCIES_2) -+faccessat_P_SOURCES = faccessat-P.c -+faccessat_P_OBJECTS = faccessat-P.$(OBJEXT) -+faccessat_P_LDADD = $(LDADD) -+faccessat_P_DEPENDENCIES = libtests.a -+faccessat_y_SOURCES = faccessat-y.c -+faccessat_y_OBJECTS = faccessat-y.$(OBJEXT) -+faccessat_y_LDADD = $(LDADD) -+faccessat_y_DEPENDENCIES = libtests.a -+faccessat_y__secontext_SOURCES = faccessat-y--secontext.c -+faccessat_y__secontext_OBJECTS = faccessat-y--secontext.$(OBJEXT) -+faccessat_y__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) -+faccessat_y__secontext_full_SOURCES = faccessat-y--secontext_full.c -+faccessat_y__secontext_full_OBJECTS = \ -+ faccessat-y--secontext_full.$(OBJEXT) -+faccessat_y__secontext_full_DEPENDENCIES = $(LDADD) \ -+ $(am__DEPENDENCIES_2) -+faccessat_yy_SOURCES = faccessat-yy.c -+faccessat_yy_OBJECTS = faccessat-yy.$(OBJEXT) -+faccessat_yy_LDADD = $(LDADD) -+faccessat_yy_DEPENDENCIES = libtests.a - fadvise64_SOURCES = fadvise64.c - fadvise64_OBJECTS = fadvise64.$(OBJEXT) - fadvise64_LDADD = $(LDADD) -@@ -966,6 +1045,15 @@ - fanotify_mark_OBJECTS = fanotify_mark.$(OBJEXT) - fanotify_mark_LDADD = $(LDADD) - fanotify_mark_DEPENDENCIES = libtests.a -+fanotify_mark__secontext_SOURCES = fanotify_mark--secontext.c -+fanotify_mark__secontext_OBJECTS = fanotify_mark--secontext.$(OBJEXT) -+fanotify_mark__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) -+fanotify_mark__secontext_full_SOURCES = \ -+ fanotify_mark--secontext_full.c -+fanotify_mark__secontext_full_OBJECTS = \ -+ fanotify_mark--secontext_full.$(OBJEXT) -+fanotify_mark__secontext_full_DEPENDENCIES = $(LDADD) \ -+ $(am__DEPENDENCIES_2) - fanotify_mark_Xabbrev_SOURCES = fanotify_mark-Xabbrev.c - fanotify_mark_Xabbrev_OBJECTS = fanotify_mark-Xabbrev.$(OBJEXT) - fanotify_mark_Xabbrev_LDADD = $(LDADD) -@@ -986,14 +1074,32 @@ - fchmod_OBJECTS = fchmod.$(OBJEXT) - fchmod_LDADD = $(LDADD) - fchmod_DEPENDENCIES = libtests.a -+fchmod__secontext_SOURCES = fchmod--secontext.c -+fchmod__secontext_OBJECTS = fchmod--secontext.$(OBJEXT) -+fchmod__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) -+fchmod__secontext_full_SOURCES = fchmod--secontext_full.c -+fchmod__secontext_full_OBJECTS = fchmod--secontext_full.$(OBJEXT) -+fchmod__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) - fchmod_y_SOURCES = fchmod-y.c - fchmod_y_OBJECTS = fchmod-y.$(OBJEXT) - fchmod_y_LDADD = $(LDADD) - fchmod_y_DEPENDENCIES = libtests.a -+fchmod_y__secontext_SOURCES = fchmod-y--secontext.c -+fchmod_y__secontext_OBJECTS = fchmod-y--secontext.$(OBJEXT) -+fchmod_y__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) -+fchmod_y__secontext_full_SOURCES = fchmod-y--secontext_full.c -+fchmod_y__secontext_full_OBJECTS = fchmod-y--secontext_full.$(OBJEXT) -+fchmod_y__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) - fchmodat_SOURCES = fchmodat.c - fchmodat_OBJECTS = fchmodat.$(OBJEXT) - fchmodat_LDADD = $(LDADD) - fchmodat_DEPENDENCIES = libtests.a -+fchmodat__secontext_SOURCES = fchmodat--secontext.c -+fchmodat__secontext_OBJECTS = fchmodat--secontext.$(OBJEXT) -+fchmodat__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) -+fchmodat__secontext_full_SOURCES = fchmodat--secontext_full.c -+fchmodat__secontext_full_OBJECTS = fchmodat--secontext_full.$(OBJEXT) -+fchmodat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) - fchown_SOURCES = fchown.c - fchown_OBJECTS = fchown.$(OBJEXT) - fchown_LDADD = $(LDADD) -@@ -1006,6 +1112,12 @@ - fchownat_OBJECTS = fchownat.$(OBJEXT) - fchownat_LDADD = $(LDADD) - fchownat_DEPENDENCIES = libtests.a -+fchownat__secontext_SOURCES = fchownat--secontext.c -+fchownat__secontext_OBJECTS = fchownat--secontext.$(OBJEXT) -+fchownat__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) -+fchownat__secontext_full_SOURCES = fchownat--secontext_full.c -+fchownat__secontext_full_OBJECTS = fchownat--secontext_full.$(OBJEXT) -+fchownat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) - fcntl_SOURCES = fcntl.c - fcntl_OBJECTS = fcntl.$(OBJEXT) - fcntl_LDADD = $(LDADD) -@@ -1035,6 +1147,14 @@ - file_handle_OBJECTS = file_handle.$(OBJEXT) - file_handle_LDADD = $(LDADD) - file_handle_DEPENDENCIES = libtests.a -+file_handle__secontext_SOURCES = file_handle--secontext.c -+file_handle__secontext_OBJECTS = file_handle--secontext.$(OBJEXT) -+file_handle__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) -+file_handle__secontext_full_SOURCES = file_handle--secontext_full.c -+file_handle__secontext_full_OBJECTS = \ -+ file_handle--secontext_full.$(OBJEXT) -+file_handle__secontext_full_DEPENDENCIES = $(LDADD) \ -+ $(am__DEPENDENCIES_2) - file_ioctl_SOURCES = file_ioctl.c - file_ioctl_OBJECTS = file_ioctl.$(OBJEXT) - file_ioctl_LDADD = $(LDADD) -@@ -1886,6 +2006,12 @@ - linkat_OBJECTS = linkat.$(OBJEXT) - linkat_LDADD = $(LDADD) - linkat_DEPENDENCIES = libtests.a -+linkat__secontext_SOURCES = linkat--secontext.c -+linkat__secontext_OBJECTS = linkat--secontext.$(OBJEXT) -+linkat__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) -+linkat__secontext_full_SOURCES = linkat--secontext_full.c -+linkat__secontext_full_OBJECTS = linkat--secontext_full.$(OBJEXT) -+linkat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) - list_sigaction_signum_SOURCES = list_sigaction_signum.c - list_sigaction_signum_OBJECTS = list_sigaction_signum.$(OBJEXT) - list_sigaction_signum_LDADD = $(LDADD) -@@ -2530,6 +2656,12 @@ - open_OBJECTS = open.$(OBJEXT) - open_LDADD = $(LDADD) - open_DEPENDENCIES = libtests.a -+open__secontext_SOURCES = open--secontext.c -+open__secontext_OBJECTS = open--secontext.$(OBJEXT) -+open__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) -+open__secontext_full_SOURCES = open--secontext_full.c -+open__secontext_full_OBJECTS = open--secontext_full.$(OBJEXT) -+open__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) - open_tree_SOURCES = open_tree.c - open_tree_OBJECTS = open_tree.$(OBJEXT) - open_tree_LDADD = $(LDADD) -@@ -2542,6 +2674,12 @@ - openat_OBJECTS = openat.$(OBJEXT) - openat_LDADD = $(LDADD) - openat_DEPENDENCIES = libtests.a -+openat__secontext_SOURCES = openat--secontext.c -+openat__secontext_OBJECTS = openat--secontext.$(OBJEXT) -+openat__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) -+openat__secontext_full_SOURCES = openat--secontext_full.c -+openat__secontext_full_OBJECTS = openat--secontext_full.$(OBJEXT) -+openat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) - openat2_SOURCES = openat2.c - openat2_OBJECTS = openat2.$(OBJEXT) - openat2_LDADD = $(LDADD) -@@ -4487,7 +4625,8 @@ - am__v_CCLD_0 = @echo " CCLD " $@; - am__v_CCLD_1 = - SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.c accept.c \ -- accept4.c access.c acct.c add_key.c adjtimex.c aio.c \ -+ accept4.c access.c access--secontext.c \ -+ access--secontext_full.c acct.c add_key.c adjtimex.c aio.c \ - aio_pgetevents.c alarm.c answer.c attach-f-p.c \ - attach-f-p-cmd.c attach-p-cmd-cmd.c attach-p-cmd-p.c \ - block_reset_raise_run.c block_reset_run.c bpf.c \ -@@ -4495,7 +4634,8 @@ - bpf-obj_get_info_by_fd-prog-v.c bpf-obj_get_info_by_fd-v.c \ - bpf-success.c bpf-success-long-y.c bpf-success-v.c bpf-v.c \ - brk.c btrfs.c caps.c caps-abbrev.c check_sigblock.c \ -- check_sigign.c chmod.c chown.c chown32.c chroot.c \ -+ check_sigign.c chmod.c chmod--secontext.c \ -+ chmod--secontext_full.c chown.c chown32.c chroot.c \ - clock_adjtime.c clock_nanosleep.c clock_xettime.c \ - clone-flags.c clone3.c clone3-Xabbrev.c clone3-Xraw.c \ - clone3-Xverbose.c clone3-success.c clone3-success-Xabbrev.c \ -@@ -4509,25 +4649,35 @@ - dup-yy.c dup2.c dup2-P.c dup2-y.c dup2-yy.c dup3.c dup3-P.c \ - dup3-y.c dup3-yy.c epoll_create.c epoll_create1.c epoll_ctl.c \ - epoll_pwait.c epoll_wait.c erestartsys.c eventfd.c execve.c \ -- execve-v.c execveat.c execveat-v.c faccessat.c fadvise64.c \ -- fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \ -- fanotify_mark-Xabbrev.c fanotify_mark-Xraw.c \ -- fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmod-y.c \ -- fchmodat.c fchown.c fchown32.c fchownat.c fcntl.c \ -- fcntl--pidns-translation.c fcntl64.c \ -- fcntl64--pidns-translation.c fdatasync.c fflush.c \ -- file_handle.c file_ioctl.c filter-unavailable.c \ -- filter_seccomp-flag.c filter_seccomp-perf.c finit_module.c \ -- flock.c fork--pidns-translation.c fork-f.c fsconfig.c \ -- fsconfig-P.c fsmount.c fsopen.c fspick.c fspick-P.c fstat.c \ -- fstat-Xabbrev.c fstat-Xraw.c fstat-Xverbose.c fstat64.c \ -- fstat64-Xabbrev.c fstat64-Xraw.c fstat64-Xverbose.c \ -- fstatat64.c fstatfs.c fstatfs64.c fsync.c fsync-y.c \ -- ftruncate.c ftruncate64.c futex.c futimesat.c get_mempolicy.c \ -- get_process_reaper.c getcpu.c getcwd.c getdents.c getdents-v.c \ -- getdents64.c getdents64-v.c getegid.c getegid32.c geteuid.c \ -- geteuid32.c getgid.c getgid32.c getgroups.c getgroups32.c \ -- getpeername.c getpgrp.c getpgrp--pidns-translation.c getpid.c \ -+ execve--secontext.c execve--secontext_full.c execve-v.c \ -+ execveat.c execveat--secontext.c execveat--secontext_full.c \ -+ execveat-v.c faccessat.c faccessat--secontext.c \ -+ faccessat--secontext_full.c faccessat-P.c faccessat-y.c \ -+ faccessat-y--secontext.c faccessat-y--secontext_full.c \ -+ faccessat-yy.c fadvise64.c fadvise64_64.c fallocate.c \ -+ fanotify_init.c fanotify_mark.c fanotify_mark--secontext.c \ -+ fanotify_mark--secontext_full.c fanotify_mark-Xabbrev.c \ -+ fanotify_mark-Xraw.c fanotify_mark-Xverbose.c fchdir.c \ -+ fchmod.c fchmod--secontext.c fchmod--secontext_full.c \ -+ fchmod-y.c fchmod-y--secontext.c fchmod-y--secontext_full.c \ -+ fchmodat.c fchmodat--secontext.c fchmodat--secontext_full.c \ -+ fchown.c fchown32.c fchownat.c fchownat--secontext.c \ -+ fchownat--secontext_full.c fcntl.c fcntl--pidns-translation.c \ -+ fcntl64.c fcntl64--pidns-translation.c fdatasync.c fflush.c \ -+ file_handle.c file_handle--secontext.c \ -+ file_handle--secontext_full.c file_ioctl.c \ -+ filter-unavailable.c filter_seccomp-flag.c \ -+ filter_seccomp-perf.c finit_module.c flock.c \ -+ fork--pidns-translation.c fork-f.c fsconfig.c fsconfig-P.c \ -+ fsmount.c fsopen.c fspick.c fspick-P.c fstat.c fstat-Xabbrev.c \ -+ fstat-Xraw.c fstat-Xverbose.c fstat64.c fstat64-Xabbrev.c \ -+ fstat64-Xraw.c fstat64-Xverbose.c fstatat64.c fstatfs.c \ -+ fstatfs64.c fsync.c fsync-y.c ftruncate.c ftruncate64.c \ -+ futex.c futimesat.c get_mempolicy.c get_process_reaper.c \ -+ getcpu.c getcwd.c getdents.c getdents-v.c getdents64.c \ -+ getdents64-v.c getegid.c getegid32.c geteuid.c geteuid32.c \ -+ getgid.c getgid32.c getgroups.c getgroups32.c getpeername.c \ -+ getpgrp.c getpgrp--pidns-translation.c getpid.c \ - getpid--pidns-translation.c getppid.c getrandom.c getresgid.c \ - getresgid32.c getresuid.c getresuid32.c getrlimit.c \ - getrusage.c getsid.c getsid--pidns-translation.c getsockname.c \ -@@ -4578,7 +4728,8 @@ - kexec_file_load.c kexec_load.c keyctl.c keyctl-Xabbrev.c \ - keyctl-Xraw.c keyctl-Xverbose.c kill.c \ - kill--pidns-translation.c kill_child.c ksysent.c lchown.c \ -- lchown32.c link.c linkat.c list_sigaction_signum.c llseek.c \ -+ lchown32.c link.c linkat.c linkat--secontext.c \ -+ linkat--secontext_full.c list_sigaction_signum.c llseek.c \ - localtime.c lookup_dcookie.c looping_threads.c lseek.c lstat.c \ - lstat64.c madvise.c maybe_switch_current_tcp.c \ - maybe_switch_current_tcp--quiet-thread-execve.c mbind.c \ -@@ -4629,23 +4780,25 @@ - old_mmap-Xabbrev.c old_mmap-Xraw.c old_mmap-Xverbose.c \ - old_mmap-v-none.c oldfstat.c oldlstat.c oldselect.c \ - oldselect-P.c oldselect-efault.c oldselect-efault-P.c \ -- oldstat.c open.c open_tree.c open_tree-P.c openat.c openat2.c \ -- openat2-Xabbrev.c openat2-Xraw.c openat2-Xverbose.c \ -- openat2-v.c openat2-v-y.c openat2-v-y-Xabbrev.c \ -- openat2-v-y-Xraw.c openat2-v-y-Xverbose.c openat2-y.c \ -- orphaned_process_group.c osf_utimes.c pause.c pc.c \ -- perf_event_open.c perf_event_open_nonverbose.c \ -- perf_event_open_unabbrev.c personality.c personality-Xabbrev.c \ -- personality-Xraw.c personality-Xverbose.c pidfd_getfd.c \ -- pidfd_getfd-y.c pidfd_getfd-yy.c pidfd_open.c \ -- pidfd_open--decode-fd-path.c pidfd_open--decode-fd-pidfd.c \ -- pidfd_open--decode-fd-socket.c pidfd_open--pidns-translation.c \ -- pidfd_open-P.c pidfd_open-y.c pidfd_open-yy.c \ -- pidfd_send_signal.c pidfd_send_signal--pidns-translation.c \ -- pidns-cache.c pipe.c pipe2.c pkey_alloc.c pkey_free.c \ -- pkey_mprotect.c poll.c poll-P.c ppoll.c ppoll-P.c ppoll-v.c \ -- prctl-arg2-intptr.c prctl-dumpable.c prctl-name.c \ -- prctl-no-args.c prctl-pdeathsig.c prctl-seccomp-filter-v.c \ -+ oldstat.c open.c open--secontext.c open--secontext_full.c \ -+ open_tree.c open_tree-P.c openat.c openat--secontext.c \ -+ openat--secontext_full.c openat2.c openat2-Xabbrev.c \ -+ openat2-Xraw.c openat2-Xverbose.c openat2-v.c openat2-v-y.c \ -+ openat2-v-y-Xabbrev.c openat2-v-y-Xraw.c \ -+ openat2-v-y-Xverbose.c openat2-y.c orphaned_process_group.c \ -+ osf_utimes.c pause.c pc.c perf_event_open.c \ -+ perf_event_open_nonverbose.c perf_event_open_unabbrev.c \ -+ personality.c personality-Xabbrev.c personality-Xraw.c \ -+ personality-Xverbose.c pidfd_getfd.c pidfd_getfd-y.c \ -+ pidfd_getfd-yy.c pidfd_open.c pidfd_open--decode-fd-path.c \ -+ pidfd_open--decode-fd-pidfd.c pidfd_open--decode-fd-socket.c \ -+ pidfd_open--pidns-translation.c pidfd_open-P.c pidfd_open-y.c \ -+ pidfd_open-yy.c pidfd_send_signal.c \ -+ pidfd_send_signal--pidns-translation.c pidns-cache.c pipe.c \ -+ pipe2.c pkey_alloc.c pkey_free.c pkey_mprotect.c poll.c \ -+ poll-P.c ppoll.c ppoll-P.c ppoll-v.c prctl-arg2-intptr.c \ -+ prctl-dumpable.c prctl-name.c prctl-no-args.c \ -+ prctl-pdeathsig.c prctl-seccomp-filter-v.c \ - prctl-seccomp-strict.c prctl-securebits.c prctl-spec-inject.c \ - prctl-tid_address.c prctl-tsc.c pread64-pwrite64.c preadv.c \ - preadv-pwritev.c preadv2-pwritev2.c print_maxfd.c \ -@@ -4735,7 +4888,8 @@ - xetpriority.c xetpriority--pidns-translation.c xettimeofday.c \ - zeroargc.c - DIST_SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.c \ -- accept.c accept4.c access.c acct.c add_key.c adjtimex.c aio.c \ -+ accept.c accept4.c access.c access--secontext.c \ -+ access--secontext_full.c acct.c add_key.c adjtimex.c aio.c \ - aio_pgetevents.c alarm.c answer.c attach-f-p.c \ - attach-f-p-cmd.c attach-p-cmd-cmd.c attach-p-cmd-p.c \ - block_reset_raise_run.c block_reset_run.c bpf.c \ -@@ -4743,7 +4897,8 @@ - bpf-obj_get_info_by_fd-prog-v.c bpf-obj_get_info_by_fd-v.c \ - bpf-success.c bpf-success-long-y.c bpf-success-v.c bpf-v.c \ - brk.c btrfs.c caps.c caps-abbrev.c check_sigblock.c \ -- check_sigign.c chmod.c chown.c chown32.c chroot.c \ -+ check_sigign.c chmod.c chmod--secontext.c \ -+ chmod--secontext_full.c chown.c chown32.c chroot.c \ - clock_adjtime.c clock_nanosleep.c clock_xettime.c \ - clone-flags.c clone3.c clone3-Xabbrev.c clone3-Xraw.c \ - clone3-Xverbose.c clone3-success.c clone3-success-Xabbrev.c \ -@@ -4757,25 +4912,35 @@ - dup-yy.c dup2.c dup2-P.c dup2-y.c dup2-yy.c dup3.c dup3-P.c \ - dup3-y.c dup3-yy.c epoll_create.c epoll_create1.c epoll_ctl.c \ - epoll_pwait.c epoll_wait.c erestartsys.c eventfd.c execve.c \ -- execve-v.c execveat.c execveat-v.c faccessat.c fadvise64.c \ -- fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \ -- fanotify_mark-Xabbrev.c fanotify_mark-Xraw.c \ -- fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmod-y.c \ -- fchmodat.c fchown.c fchown32.c fchownat.c fcntl.c \ -- fcntl--pidns-translation.c fcntl64.c \ -- fcntl64--pidns-translation.c fdatasync.c fflush.c \ -- file_handle.c file_ioctl.c filter-unavailable.c \ -- filter_seccomp-flag.c filter_seccomp-perf.c finit_module.c \ -- flock.c fork--pidns-translation.c fork-f.c fsconfig.c \ -- fsconfig-P.c fsmount.c fsopen.c fspick.c fspick-P.c fstat.c \ -- fstat-Xabbrev.c fstat-Xraw.c fstat-Xverbose.c fstat64.c \ -- fstat64-Xabbrev.c fstat64-Xraw.c fstat64-Xverbose.c \ -- fstatat64.c fstatfs.c fstatfs64.c fsync.c fsync-y.c \ -- ftruncate.c ftruncate64.c futex.c futimesat.c get_mempolicy.c \ -- get_process_reaper.c getcpu.c getcwd.c getdents.c getdents-v.c \ -- getdents64.c getdents64-v.c getegid.c getegid32.c geteuid.c \ -- geteuid32.c getgid.c getgid32.c getgroups.c getgroups32.c \ -- getpeername.c getpgrp.c getpgrp--pidns-translation.c getpid.c \ -+ execve--secontext.c execve--secontext_full.c execve-v.c \ -+ execveat.c execveat--secontext.c execveat--secontext_full.c \ -+ execveat-v.c faccessat.c faccessat--secontext.c \ -+ faccessat--secontext_full.c faccessat-P.c faccessat-y.c \ -+ faccessat-y--secontext.c faccessat-y--secontext_full.c \ -+ faccessat-yy.c fadvise64.c fadvise64_64.c fallocate.c \ -+ fanotify_init.c fanotify_mark.c fanotify_mark--secontext.c \ -+ fanotify_mark--secontext_full.c fanotify_mark-Xabbrev.c \ -+ fanotify_mark-Xraw.c fanotify_mark-Xverbose.c fchdir.c \ -+ fchmod.c fchmod--secontext.c fchmod--secontext_full.c \ -+ fchmod-y.c fchmod-y--secontext.c fchmod-y--secontext_full.c \ -+ fchmodat.c fchmodat--secontext.c fchmodat--secontext_full.c \ -+ fchown.c fchown32.c fchownat.c fchownat--secontext.c \ -+ fchownat--secontext_full.c fcntl.c fcntl--pidns-translation.c \ -+ fcntl64.c fcntl64--pidns-translation.c fdatasync.c fflush.c \ -+ file_handle.c file_handle--secontext.c \ -+ file_handle--secontext_full.c file_ioctl.c \ -+ filter-unavailable.c filter_seccomp-flag.c \ -+ filter_seccomp-perf.c finit_module.c flock.c \ -+ fork--pidns-translation.c fork-f.c fsconfig.c fsconfig-P.c \ -+ fsmount.c fsopen.c fspick.c fspick-P.c fstat.c fstat-Xabbrev.c \ -+ fstat-Xraw.c fstat-Xverbose.c fstat64.c fstat64-Xabbrev.c \ -+ fstat64-Xraw.c fstat64-Xverbose.c fstatat64.c fstatfs.c \ -+ fstatfs64.c fsync.c fsync-y.c ftruncate.c ftruncate64.c \ -+ futex.c futimesat.c get_mempolicy.c get_process_reaper.c \ -+ getcpu.c getcwd.c getdents.c getdents-v.c getdents64.c \ -+ getdents64-v.c getegid.c getegid32.c geteuid.c geteuid32.c \ -+ getgid.c getgid32.c getgroups.c getgroups32.c getpeername.c \ -+ getpgrp.c getpgrp--pidns-translation.c getpid.c \ - getpid--pidns-translation.c getppid.c getrandom.c getresgid.c \ - getresgid32.c getresuid.c getresuid32.c getrlimit.c \ - getrusage.c getsid.c getsid--pidns-translation.c getsockname.c \ -@@ -4826,7 +4991,8 @@ - kexec_file_load.c kexec_load.c keyctl.c keyctl-Xabbrev.c \ - keyctl-Xraw.c keyctl-Xverbose.c kill.c \ - kill--pidns-translation.c kill_child.c ksysent.c lchown.c \ -- lchown32.c link.c linkat.c list_sigaction_signum.c llseek.c \ -+ lchown32.c link.c linkat.c linkat--secontext.c \ -+ linkat--secontext_full.c list_sigaction_signum.c llseek.c \ - localtime.c lookup_dcookie.c looping_threads.c lseek.c lstat.c \ - lstat64.c madvise.c maybe_switch_current_tcp.c \ - maybe_switch_current_tcp--quiet-thread-execve.c mbind.c \ -@@ -4877,23 +5043,25 @@ - old_mmap-Xabbrev.c old_mmap-Xraw.c old_mmap-Xverbose.c \ - old_mmap-v-none.c oldfstat.c oldlstat.c oldselect.c \ - oldselect-P.c oldselect-efault.c oldselect-efault-P.c \ -- oldstat.c open.c open_tree.c open_tree-P.c openat.c openat2.c \ -- openat2-Xabbrev.c openat2-Xraw.c openat2-Xverbose.c \ -- openat2-v.c openat2-v-y.c openat2-v-y-Xabbrev.c \ -- openat2-v-y-Xraw.c openat2-v-y-Xverbose.c openat2-y.c \ -- orphaned_process_group.c osf_utimes.c pause.c pc.c \ -- perf_event_open.c perf_event_open_nonverbose.c \ -- perf_event_open_unabbrev.c personality.c personality-Xabbrev.c \ -- personality-Xraw.c personality-Xverbose.c pidfd_getfd.c \ -- pidfd_getfd-y.c pidfd_getfd-yy.c pidfd_open.c \ -- pidfd_open--decode-fd-path.c pidfd_open--decode-fd-pidfd.c \ -- pidfd_open--decode-fd-socket.c pidfd_open--pidns-translation.c \ -- pidfd_open-P.c pidfd_open-y.c pidfd_open-yy.c \ -- pidfd_send_signal.c pidfd_send_signal--pidns-translation.c \ -- pidns-cache.c pipe.c pipe2.c pkey_alloc.c pkey_free.c \ -- pkey_mprotect.c poll.c poll-P.c ppoll.c ppoll-P.c ppoll-v.c \ -- prctl-arg2-intptr.c prctl-dumpable.c prctl-name.c \ -- prctl-no-args.c prctl-pdeathsig.c prctl-seccomp-filter-v.c \ -+ oldstat.c open.c open--secontext.c open--secontext_full.c \ -+ open_tree.c open_tree-P.c openat.c openat--secontext.c \ -+ openat--secontext_full.c openat2.c openat2-Xabbrev.c \ -+ openat2-Xraw.c openat2-Xverbose.c openat2-v.c openat2-v-y.c \ -+ openat2-v-y-Xabbrev.c openat2-v-y-Xraw.c \ -+ openat2-v-y-Xverbose.c openat2-y.c orphaned_process_group.c \ -+ osf_utimes.c pause.c pc.c perf_event_open.c \ -+ perf_event_open_nonverbose.c perf_event_open_unabbrev.c \ -+ personality.c personality-Xabbrev.c personality-Xraw.c \ -+ personality-Xverbose.c pidfd_getfd.c pidfd_getfd-y.c \ -+ pidfd_getfd-yy.c pidfd_open.c pidfd_open--decode-fd-path.c \ -+ pidfd_open--decode-fd-pidfd.c pidfd_open--decode-fd-socket.c \ -+ pidfd_open--pidns-translation.c pidfd_open-P.c pidfd_open-y.c \ -+ pidfd_open-yy.c pidfd_send_signal.c \ -+ pidfd_send_signal--pidns-translation.c pidns-cache.c pipe.c \ -+ pipe2.c pkey_alloc.c pkey_free.c pkey_mprotect.c poll.c \ -+ poll-P.c ppoll.c ppoll-P.c ppoll-v.c prctl-arg2-intptr.c \ -+ prctl-dumpable.c prctl-name.c prctl-no-args.c \ -+ prctl-pdeathsig.c prctl-seccomp-filter-v.c \ - prctl-seccomp-strict.c prctl-securebits.c prctl-spec-inject.c \ - prctl-tid_address.c prctl-tsc.c pread64-pwrite64.c preadv.c \ - preadv-pwritev.c preadv2-pwritev2.c print_maxfd.c \ -@@ -5194,7 +5362,7 @@ - bases=`echo $$bases` - RECHECK_LOGS = $(TEST_LOGS) - AM_RECURSIVE_TARGETS = check recheck --@ENABLE_STACKTRACE_TRUE@am__EXEEXT_2 = strace-k.test strace-k-p.test \ -+@ENABLE_STACKTRACE_TRUE@am__EXEEXT_3 = strace-k.test strace-k-p.test \ - @ENABLE_STACKTRACE_TRUE@ $(am__append_1) - TEST_SUITE_LOG = test-suite.log - TEST_EXTENSIONS = @EXEEXT@ .test -@@ -5216,7 +5384,8 @@ - esac - am__DIST_COMMON = $(srcdir)/../scno.am $(srcdir)/Makefile.in \ - $(srcdir)/gen_tests.am $(srcdir)/pure_executables.am \ -- $(top_srcdir)/depcomp $(top_srcdir)/test-driver COPYING -+ $(srcdir)/secontext.am $(top_srcdir)/depcomp \ -+ $(top_srcdir)/test-driver COPYING - DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - ACLOCAL = @ACLOCAL@ - AMTAR = @AMTAR@ -@@ -5357,6 +5526,9 @@ - libiberty_CPPFLAGS = @libiberty_CPPFLAGS@ - libiberty_LDFLAGS = @libiberty_LDFLAGS@ - libiberty_LIBS = @libiberty_LIBS@ -+libselinux_CPPFLAGS = @libselinux_CPPFLAGS@ -+libselinux_LDFLAGS = @libselinux_LDFLAGS@ -+libselinux_LIBS = @libselinux_LIBS@ - libunwind_CPPFLAGS = @libunwind_CPPFLAGS@ - libunwind_LDFLAGS = @libunwind_LDFLAGS@ - libunwind_LIBS = @libunwind_LIBS@ -@@ -5400,6 +5572,8 @@ - -DTESTS_SIZEOF_LONG=$(SIZEOF_LONG) - - AM_LDFLAGS = $(ARCH_MFLAGS) -+@HAVE_MX32_SELINUX_RUNTIME_FALSE@libselinux_LDADD = -+@HAVE_MX32_SELINUX_RUNTIME_TRUE@libselinux_LDADD = $(libselinux_LIBS) - libtests_a_SOURCES = \ - create_nl_socket.c \ - create_tmpfile.c \ -@@ -5426,6 +5600,8 @@ - printxval-Xabbrev.c \ - printxval-Xraw.c \ - printxval-Xverbose.c \ -+ secontext.c \ -+ secontext.h \ - signal2name.c \ - skip_unavailable.c \ - sprintrc.c \ -@@ -5505,6 +5681,9 @@ - execve \ - execveat \ - faccessat \ -+ faccessat-P \ -+ faccessat-y \ -+ faccessat-yy \ - fadvise64 \ - fadvise64_64 \ - fallocate \ -@@ -6077,6 +6256,69 @@ - xettimeofday \ - # - -+secontext_EXECUTABLES = \ -+ access--secontext \ -+ access--secontext_full \ -+ chmod--secontext \ -+ chmod--secontext_full \ -+ execve--secontext \ -+ execve--secontext_full \ -+ execveat--secontext \ -+ execveat--secontext_full \ -+ faccessat--secontext \ -+ faccessat--secontext_full \ -+ faccessat-y--secontext \ -+ faccessat-y--secontext_full \ -+ fanotify_mark--secontext \ -+ fanotify_mark--secontext_full \ -+ fchmod--secontext \ -+ fchmod--secontext_full \ -+ fchmod-y--secontext \ -+ fchmod-y--secontext_full \ -+ fchmodat--secontext \ -+ fchmodat--secontext_full \ -+ fchownat--secontext \ -+ fchownat--secontext_full \ -+ file_handle--secontext \ -+ file_handle--secontext_full \ -+ linkat--secontext \ -+ linkat--secontext_full \ -+ open--secontext \ -+ open--secontext_full \ -+ openat--secontext \ -+ openat--secontext_full \ -+ # -+ -+access__secontext_LDADD = $(LDADD) $(libselinux_LDADD) -+access__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) -+chmod__secontext_LDADD = $(LDADD) $(libselinux_LDADD) -+chmod__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) -+execve__secontext_LDADD = $(LDADD) $(libselinux_LDADD) -+execve__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) -+execveat__secontext_LDADD = $(LDADD) $(libselinux_LDADD) -+execveat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) -+faccessat__secontext_LDADD = $(LDADD) $(libselinux_LDADD) -+faccessat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) -+faccessat_y__secontext_LDADD = $(LDADD) $(libselinux_LDADD) -+faccessat_y__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) -+fanotify_mark__secontext_LDADD = $(LDADD) $(libselinux_LDADD) -+fanotify_mark__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) -+fchmod__secontext_LDADD = $(LDADD) $(libselinux_LDADD) -+fchmod__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) -+fchmod_y__secontext_LDADD = $(LDADD) $(libselinux_LDADD) -+fchmod_y__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) -+fchmodat__secontext_LDADD = $(LDADD) $(libselinux_LDADD) -+fchmodat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) -+fchownat__secontext_LDADD = $(LDADD) $(libselinux_LDADD) -+fchownat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) -+file_handle__secontext_LDADD = $(LDADD) $(libselinux_LDADD) -+file_handle__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) -+linkat__secontext_LDADD = $(LDADD) $(libselinux_LDADD) -+linkat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) -+open__secontext_LDADD = $(LDADD) $(libselinux_LDADD) -+open__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) -+openat__secontext_LDADD = $(LDADD) $(libselinux_LDADD) -+openat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) - attach_f_p_LDADD = -lpthread $(LDADD) - count_f_LDADD = -lpthread $(LDADD) - delay_LDADD = $(clock_LIBS) $(LDADD) -@@ -6129,14 +6371,15 @@ - - # Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in; do not edit. - GEN_TESTS = _newselect.gen.test _newselect-P.gen.test accept.gen.test \ -- accept4.gen.test access.gen.test acct.gen.test \ -- add_key.gen.test adjtimex.gen.test aio.gen.test \ -- aio_pgetevents.gen.test alarm.gen.test bpf.gen.test \ -- bpf-obj_get_info_by_fd.gen.test \ -+ accept4.gen.test access.gen.test access--secontext.gen.test \ -+ access--secontext_full.gen.test acct.gen.test add_key.gen.test \ -+ adjtimex.gen.test aio.gen.test aio_pgetevents.gen.test \ -+ alarm.gen.test bpf.gen.test bpf-obj_get_info_by_fd.gen.test \ - bpf-obj_get_info_by_fd-prog.gen.test \ - bpf-obj_get_info_by_fd-prog-v.gen.test \ - bpf-obj_get_info_by_fd-v.gen.test bpf-v.gen.test \ -- btrfs.gen.test chmod.gen.test chown.gen.test chown32.gen.test \ -+ btrfs.gen.test chmod.gen.test chmod--secontext.gen.test \ -+ chmod--secontext_full.gen.test chown.gen.test chown32.gen.test \ - chroot.gen.test clock.gen.test clock_adjtime.gen.test \ - clock_nanosleep.gen.test clock_xettime.gen.test \ - clone3.gen.test clone3-Xabbrev.gen.test clone3-Xraw.gen.test \ -@@ -6155,21 +6398,36 @@ - dup3-P.gen.test dup3-y.gen.test dup3-yy.gen.test \ - epoll_create.gen.test epoll_create1.gen.test \ - epoll_ctl.gen.test epoll_pwait.gen.test epoll_wait.gen.test \ -- erestartsys.gen.test execveat.gen.test execveat-v.gen.test \ -- faccessat.gen.test fadvise64_64.gen.test fallocate.gen.test \ -+ erestartsys.gen.test execve--secontext.gen.test \ -+ execve--secontext_full.gen.test execveat.gen.test \ -+ execveat--secontext.gen.test execveat--secontext_full.gen.test \ -+ execveat-v.gen.test faccessat--secontext.gen.test \ -+ faccessat--secontext_full.gen.test faccessat-P.gen.test \ -+ faccessat-y.gen.test faccessat-y--secontext.gen.test \ -+ faccessat-y--secontext_full.gen.test faccessat-yy.gen.test \ -+ fadvise64_64.gen.test fallocate.gen.test \ - fanotify_init.gen.test fanotify_mark.gen.test \ -+ fanotify_mark--secontext.gen.test \ -+ fanotify_mark--secontext_full.gen.test \ - fanotify_mark-Xabbrev.gen.test fanotify_mark-Xraw.gen.test \ - fanotify_mark-Xverbose.gen.test fchdir.gen.test \ -- fchmod.gen.test fchmod-y.gen.test fchmodat.gen.test \ -- fchown.gen.test fchown32.gen.test fchownat.gen.test \ -+ fchmod.gen.test fchmod--secontext.gen.test \ -+ fchmod--secontext_full.gen.test fchmod-y.gen.test \ -+ fchmod-y--secontext.gen.test fchmod-y--secontext_full.gen.test \ -+ fchmodat.gen.test fchmodat--secontext.gen.test \ -+ fchmodat--secontext_full.gen.test fchown.gen.test \ -+ fchown32.gen.test fchownat.gen.test \ -+ fchownat--secontext.gen.test fchownat--secontext_full.gen.test \ - fcntl.gen.test fcntl--pidns-translation.gen.test \ - fcntl64.gen.test fcntl64--pidns-translation.gen.test \ - fdatasync.gen.test file_handle.gen.test file_ioctl.gen.test \ -- filter_seccomp.gen.test filter_seccomp-flag.gen.test \ -- finit_module.gen.test flock.gen.test fork-f.gen.test \ -- fsconfig.gen.test fsconfig-P.gen.test fsmount.gen.test \ -- fsopen.gen.test fspick.gen.test fspick-P.gen.test \ -- fstat.gen.test fstat-Xabbrev.gen.test fstat-Xraw.gen.test \ -+ file_handle--secontext.gen.test \ -+ file_handle--secontext_full.gen.test filter_seccomp.gen.test \ -+ filter_seccomp-flag.gen.test finit_module.gen.test \ -+ flock.gen.test fork-f.gen.test fsconfig.gen.test \ -+ fsconfig-P.gen.test fsmount.gen.test fsopen.gen.test \ -+ fspick.gen.test fspick-P.gen.test fstat.gen.test \ -+ fstat-Xabbrev.gen.test fstat-Xraw.gen.test \ - fstat-Xverbose.gen.test fstat64.gen.test \ - fstat64-Xabbrev.gen.test fstat64-Xraw.gen.test \ - fstat64-Xverbose.gen.test fstatat64.gen.test fstatfs.gen.test \ -@@ -6259,8 +6517,9 @@ - keyctl-Xverbose.gen.test kill.gen.test \ - kill--pidns-translation.gen.test ksysent.gen.test \ - lchown.gen.test lchown32.gen.test link.gen.test \ -- linkat.gen.test lookup_dcookie.gen.test lstat.gen.test \ -- lstat64.gen.test madvise.gen.test \ -+ linkat.gen.test linkat--secontext.gen.test \ -+ linkat--secontext_full.gen.test lookup_dcookie.gen.test \ -+ lstat.gen.test lstat64.gen.test madvise.gen.test \ - maybe_switch_current_tcp.gen.test \ - maybe_switch_current_tcp--quiet-thread-execve.gen.test \ - mbind.gen.test mbind-Xabbrev.gen.test mbind-Xraw.gen.test \ -@@ -6328,14 +6587,17 @@ - old_mmap-v-none.gen.test oldfstat.gen.test oldlstat.gen.test \ - oldselect.gen.test oldselect-P.gen.test \ - oldselect-efault.gen.test oldselect-efault-P.gen.test \ -- oldstat.gen.test open.gen.test open_tree.gen.test \ -- open_tree-P.gen.test openat.gen.test openat2.gen.test \ -- openat2-Xabbrev.gen.test openat2-Xraw.gen.test \ -- openat2-Xverbose.gen.test openat2-v.gen.test \ -- openat2-v-y.gen.test openat2-v-y-Xabbrev.gen.test \ -- openat2-v-y-Xraw.gen.test openat2-v-y-Xverbose.gen.test \ -- openat2-y.gen.test orphaned_process_group.gen.test \ -- osf_utimes.gen.test pause.gen.test perf_event_open.gen.test \ -+ oldstat.gen.test open.gen.test open--secontext.gen.test \ -+ open--secontext_full.gen.test open_tree.gen.test \ -+ open_tree-P.gen.test openat.gen.test \ -+ openat--secontext.gen.test openat--secontext_full.gen.test \ -+ openat2.gen.test openat2-Xabbrev.gen.test \ -+ openat2-Xraw.gen.test openat2-Xverbose.gen.test \ -+ openat2-v.gen.test openat2-v-y.gen.test \ -+ openat2-v-y-Xabbrev.gen.test openat2-v-y-Xraw.gen.test \ -+ openat2-v-y-Xverbose.gen.test openat2-y.gen.test \ -+ orphaned_process_group.gen.test osf_utimes.gen.test \ -+ pause.gen.test perf_event_open.gen.test \ - perf_event_open_nonverbose.gen.test \ - perf_event_open_unabbrev.gen.test personality-Xabbrev.gen.test \ - personality-Xraw.gen.test personality-Xverbose.gen.test \ -@@ -6806,7 +7068,7 @@ - - .SUFFIXES: - .SUFFIXES: .c .log .o .obj .test .test$(EXEEXT) .trs --$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/pure_executables.am $(srcdir)/gen_tests.am $(srcdir)/../scno.am $(am__configure_deps) -+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/pure_executables.am $(srcdir)/secontext.am $(srcdir)/gen_tests.am $(srcdir)/../scno.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ -@@ -6826,7 +7088,7 @@ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ - esac; --$(srcdir)/pure_executables.am $(srcdir)/gen_tests.am $(srcdir)/../scno.am $(am__empty): -+$(srcdir)/pure_executables.am $(srcdir)/secontext.am $(srcdir)/gen_tests.am $(srcdir)/../scno.am $(am__empty): - - $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -@@ -6868,6 +7130,14 @@ - @rm -f access$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(access_OBJECTS) $(access_LDADD) $(LIBS) - -+access--secontext$(EXEEXT): $(access__secontext_OBJECTS) $(access__secontext_DEPENDENCIES) $(EXTRA_access__secontext_DEPENDENCIES) -+ @rm -f access--secontext$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(access__secontext_OBJECTS) $(access__secontext_LDADD) $(LIBS) -+ -+access--secontext_full$(EXEEXT): $(access__secontext_full_OBJECTS) $(access__secontext_full_DEPENDENCIES) $(EXTRA_access__secontext_full_DEPENDENCIES) -+ @rm -f access--secontext_full$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(access__secontext_full_OBJECTS) $(access__secontext_full_LDADD) $(LIBS) -+ - acct$(EXEEXT): $(acct_OBJECTS) $(acct_DEPENDENCIES) $(EXTRA_acct_DEPENDENCIES) - @rm -f acct$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(acct_OBJECTS) $(acct_LDADD) $(LIBS) -@@ -6984,6 +7254,14 @@ - @rm -f chmod$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(chmod_OBJECTS) $(chmod_LDADD) $(LIBS) - -+chmod--secontext$(EXEEXT): $(chmod__secontext_OBJECTS) $(chmod__secontext_DEPENDENCIES) $(EXTRA_chmod__secontext_DEPENDENCIES) -+ @rm -f chmod--secontext$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(chmod__secontext_OBJECTS) $(chmod__secontext_LDADD) $(LIBS) -+ -+chmod--secontext_full$(EXEEXT): $(chmod__secontext_full_OBJECTS) $(chmod__secontext_full_DEPENDENCIES) $(EXTRA_chmod__secontext_full_DEPENDENCIES) -+ @rm -f chmod--secontext_full$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(chmod__secontext_full_OBJECTS) $(chmod__secontext_full_LDADD) $(LIBS) -+ - chown$(EXEEXT): $(chown_OBJECTS) $(chown_DEPENDENCIES) $(EXTRA_chown_DEPENDENCIES) - @rm -f chown$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(chown_OBJECTS) $(chown_LDADD) $(LIBS) -@@ -7196,6 +7474,14 @@ - @rm -f execve$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(execve_OBJECTS) $(execve_LDADD) $(LIBS) - -+execve--secontext$(EXEEXT): $(execve__secontext_OBJECTS) $(execve__secontext_DEPENDENCIES) $(EXTRA_execve__secontext_DEPENDENCIES) -+ @rm -f execve--secontext$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(execve__secontext_OBJECTS) $(execve__secontext_LDADD) $(LIBS) -+ -+execve--secontext_full$(EXEEXT): $(execve__secontext_full_OBJECTS) $(execve__secontext_full_DEPENDENCIES) $(EXTRA_execve__secontext_full_DEPENDENCIES) -+ @rm -f execve--secontext_full$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(execve__secontext_full_OBJECTS) $(execve__secontext_full_LDADD) $(LIBS) -+ - execve-v$(EXEEXT): $(execve_v_OBJECTS) $(execve_v_DEPENDENCIES) $(EXTRA_execve_v_DEPENDENCIES) - @rm -f execve-v$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(execve_v_OBJECTS) $(execve_v_LDADD) $(LIBS) -@@ -7204,6 +7490,14 @@ - @rm -f execveat$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(execveat_OBJECTS) $(execveat_LDADD) $(LIBS) - -+execveat--secontext$(EXEEXT): $(execveat__secontext_OBJECTS) $(execveat__secontext_DEPENDENCIES) $(EXTRA_execveat__secontext_DEPENDENCIES) -+ @rm -f execveat--secontext$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(execveat__secontext_OBJECTS) $(execveat__secontext_LDADD) $(LIBS) -+ -+execveat--secontext_full$(EXEEXT): $(execveat__secontext_full_OBJECTS) $(execveat__secontext_full_DEPENDENCIES) $(EXTRA_execveat__secontext_full_DEPENDENCIES) -+ @rm -f execveat--secontext_full$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(execveat__secontext_full_OBJECTS) $(execveat__secontext_full_LDADD) $(LIBS) -+ - execveat-v$(EXEEXT): $(execveat_v_OBJECTS) $(execveat_v_DEPENDENCIES) $(EXTRA_execveat_v_DEPENDENCIES) - @rm -f execveat-v$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(execveat_v_OBJECTS) $(execveat_v_LDADD) $(LIBS) -@@ -7212,6 +7506,34 @@ - @rm -f faccessat$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(faccessat_OBJECTS) $(faccessat_LDADD) $(LIBS) - -+faccessat--secontext$(EXEEXT): $(faccessat__secontext_OBJECTS) $(faccessat__secontext_DEPENDENCIES) $(EXTRA_faccessat__secontext_DEPENDENCIES) -+ @rm -f faccessat--secontext$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(faccessat__secontext_OBJECTS) $(faccessat__secontext_LDADD) $(LIBS) -+ -+faccessat--secontext_full$(EXEEXT): $(faccessat__secontext_full_OBJECTS) $(faccessat__secontext_full_DEPENDENCIES) $(EXTRA_faccessat__secontext_full_DEPENDENCIES) -+ @rm -f faccessat--secontext_full$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(faccessat__secontext_full_OBJECTS) $(faccessat__secontext_full_LDADD) $(LIBS) -+ -+faccessat-P$(EXEEXT): $(faccessat_P_OBJECTS) $(faccessat_P_DEPENDENCIES) $(EXTRA_faccessat_P_DEPENDENCIES) -+ @rm -f faccessat-P$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(faccessat_P_OBJECTS) $(faccessat_P_LDADD) $(LIBS) -+ -+faccessat-y$(EXEEXT): $(faccessat_y_OBJECTS) $(faccessat_y_DEPENDENCIES) $(EXTRA_faccessat_y_DEPENDENCIES) -+ @rm -f faccessat-y$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(faccessat_y_OBJECTS) $(faccessat_y_LDADD) $(LIBS) -+ -+faccessat-y--secontext$(EXEEXT): $(faccessat_y__secontext_OBJECTS) $(faccessat_y__secontext_DEPENDENCIES) $(EXTRA_faccessat_y__secontext_DEPENDENCIES) -+ @rm -f faccessat-y--secontext$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(faccessat_y__secontext_OBJECTS) $(faccessat_y__secontext_LDADD) $(LIBS) -+ -+faccessat-y--secontext_full$(EXEEXT): $(faccessat_y__secontext_full_OBJECTS) $(faccessat_y__secontext_full_DEPENDENCIES) $(EXTRA_faccessat_y__secontext_full_DEPENDENCIES) -+ @rm -f faccessat-y--secontext_full$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(faccessat_y__secontext_full_OBJECTS) $(faccessat_y__secontext_full_LDADD) $(LIBS) -+ -+faccessat-yy$(EXEEXT): $(faccessat_yy_OBJECTS) $(faccessat_yy_DEPENDENCIES) $(EXTRA_faccessat_yy_DEPENDENCIES) -+ @rm -f faccessat-yy$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(faccessat_yy_OBJECTS) $(faccessat_yy_LDADD) $(LIBS) -+ - fadvise64$(EXEEXT): $(fadvise64_OBJECTS) $(fadvise64_DEPENDENCIES) $(EXTRA_fadvise64_DEPENDENCIES) - @rm -f fadvise64$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(fadvise64_OBJECTS) $(fadvise64_LDADD) $(LIBS) -@@ -7232,6 +7554,14 @@ - @rm -f fanotify_mark$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(fanotify_mark_OBJECTS) $(fanotify_mark_LDADD) $(LIBS) - -+fanotify_mark--secontext$(EXEEXT): $(fanotify_mark__secontext_OBJECTS) $(fanotify_mark__secontext_DEPENDENCIES) $(EXTRA_fanotify_mark__secontext_DEPENDENCIES) -+ @rm -f fanotify_mark--secontext$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(fanotify_mark__secontext_OBJECTS) $(fanotify_mark__secontext_LDADD) $(LIBS) -+ -+fanotify_mark--secontext_full$(EXEEXT): $(fanotify_mark__secontext_full_OBJECTS) $(fanotify_mark__secontext_full_DEPENDENCIES) $(EXTRA_fanotify_mark__secontext_full_DEPENDENCIES) -+ @rm -f fanotify_mark--secontext_full$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(fanotify_mark__secontext_full_OBJECTS) $(fanotify_mark__secontext_full_LDADD) $(LIBS) -+ - fanotify_mark-Xabbrev$(EXEEXT): $(fanotify_mark_Xabbrev_OBJECTS) $(fanotify_mark_Xabbrev_DEPENDENCIES) $(EXTRA_fanotify_mark_Xabbrev_DEPENDENCIES) - @rm -f fanotify_mark-Xabbrev$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(fanotify_mark_Xabbrev_OBJECTS) $(fanotify_mark_Xabbrev_LDADD) $(LIBS) -@@ -7252,14 +7582,38 @@ - @rm -f fchmod$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(fchmod_OBJECTS) $(fchmod_LDADD) $(LIBS) - -+fchmod--secontext$(EXEEXT): $(fchmod__secontext_OBJECTS) $(fchmod__secontext_DEPENDENCIES) $(EXTRA_fchmod__secontext_DEPENDENCIES) -+ @rm -f fchmod--secontext$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(fchmod__secontext_OBJECTS) $(fchmod__secontext_LDADD) $(LIBS) -+ -+fchmod--secontext_full$(EXEEXT): $(fchmod__secontext_full_OBJECTS) $(fchmod__secontext_full_DEPENDENCIES) $(EXTRA_fchmod__secontext_full_DEPENDENCIES) -+ @rm -f fchmod--secontext_full$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(fchmod__secontext_full_OBJECTS) $(fchmod__secontext_full_LDADD) $(LIBS) -+ - fchmod-y$(EXEEXT): $(fchmod_y_OBJECTS) $(fchmod_y_DEPENDENCIES) $(EXTRA_fchmod_y_DEPENDENCIES) - @rm -f fchmod-y$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(fchmod_y_OBJECTS) $(fchmod_y_LDADD) $(LIBS) - -+fchmod-y--secontext$(EXEEXT): $(fchmod_y__secontext_OBJECTS) $(fchmod_y__secontext_DEPENDENCIES) $(EXTRA_fchmod_y__secontext_DEPENDENCIES) -+ @rm -f fchmod-y--secontext$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(fchmod_y__secontext_OBJECTS) $(fchmod_y__secontext_LDADD) $(LIBS) -+ -+fchmod-y--secontext_full$(EXEEXT): $(fchmod_y__secontext_full_OBJECTS) $(fchmod_y__secontext_full_DEPENDENCIES) $(EXTRA_fchmod_y__secontext_full_DEPENDENCIES) -+ @rm -f fchmod-y--secontext_full$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(fchmod_y__secontext_full_OBJECTS) $(fchmod_y__secontext_full_LDADD) $(LIBS) -+ - fchmodat$(EXEEXT): $(fchmodat_OBJECTS) $(fchmodat_DEPENDENCIES) $(EXTRA_fchmodat_DEPENDENCIES) - @rm -f fchmodat$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(fchmodat_OBJECTS) $(fchmodat_LDADD) $(LIBS) - -+fchmodat--secontext$(EXEEXT): $(fchmodat__secontext_OBJECTS) $(fchmodat__secontext_DEPENDENCIES) $(EXTRA_fchmodat__secontext_DEPENDENCIES) -+ @rm -f fchmodat--secontext$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(fchmodat__secontext_OBJECTS) $(fchmodat__secontext_LDADD) $(LIBS) -+ -+fchmodat--secontext_full$(EXEEXT): $(fchmodat__secontext_full_OBJECTS) $(fchmodat__secontext_full_DEPENDENCIES) $(EXTRA_fchmodat__secontext_full_DEPENDENCIES) -+ @rm -f fchmodat--secontext_full$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(fchmodat__secontext_full_OBJECTS) $(fchmodat__secontext_full_LDADD) $(LIBS) -+ - fchown$(EXEEXT): $(fchown_OBJECTS) $(fchown_DEPENDENCIES) $(EXTRA_fchown_DEPENDENCIES) - @rm -f fchown$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(fchown_OBJECTS) $(fchown_LDADD) $(LIBS) -@@ -7272,6 +7626,14 @@ - @rm -f fchownat$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(fchownat_OBJECTS) $(fchownat_LDADD) $(LIBS) - -+fchownat--secontext$(EXEEXT): $(fchownat__secontext_OBJECTS) $(fchownat__secontext_DEPENDENCIES) $(EXTRA_fchownat__secontext_DEPENDENCIES) -+ @rm -f fchownat--secontext$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(fchownat__secontext_OBJECTS) $(fchownat__secontext_LDADD) $(LIBS) -+ -+fchownat--secontext_full$(EXEEXT): $(fchownat__secontext_full_OBJECTS) $(fchownat__secontext_full_DEPENDENCIES) $(EXTRA_fchownat__secontext_full_DEPENDENCIES) -+ @rm -f fchownat--secontext_full$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(fchownat__secontext_full_OBJECTS) $(fchownat__secontext_full_LDADD) $(LIBS) -+ - fcntl$(EXEEXT): $(fcntl_OBJECTS) $(fcntl_DEPENDENCIES) $(EXTRA_fcntl_DEPENDENCIES) - @rm -f fcntl$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(fcntl_OBJECTS) $(fcntl_LDADD) $(LIBS) -@@ -7300,6 +7662,14 @@ - @rm -f file_handle$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(file_handle_OBJECTS) $(file_handle_LDADD) $(LIBS) - -+file_handle--secontext$(EXEEXT): $(file_handle__secontext_OBJECTS) $(file_handle__secontext_DEPENDENCIES) $(EXTRA_file_handle__secontext_DEPENDENCIES) -+ @rm -f file_handle--secontext$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(file_handle__secontext_OBJECTS) $(file_handle__secontext_LDADD) $(LIBS) -+ -+file_handle--secontext_full$(EXEEXT): $(file_handle__secontext_full_OBJECTS) $(file_handle__secontext_full_DEPENDENCIES) $(EXTRA_file_handle__secontext_full_DEPENDENCIES) -+ @rm -f file_handle--secontext_full$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(file_handle__secontext_full_OBJECTS) $(file_handle__secontext_full_LDADD) $(LIBS) -+ - file_ioctl$(EXEEXT): $(file_ioctl_OBJECTS) $(file_ioctl_DEPENDENCIES) $(EXTRA_file_ioctl_DEPENDENCIES) - @rm -f file_ioctl$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(file_ioctl_OBJECTS) $(file_ioctl_LDADD) $(LIBS) -@@ -8124,6 +8494,14 @@ - @rm -f linkat$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(linkat_OBJECTS) $(linkat_LDADD) $(LIBS) - -+linkat--secontext$(EXEEXT): $(linkat__secontext_OBJECTS) $(linkat__secontext_DEPENDENCIES) $(EXTRA_linkat__secontext_DEPENDENCIES) -+ @rm -f linkat--secontext$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(linkat__secontext_OBJECTS) $(linkat__secontext_LDADD) $(LIBS) -+ -+linkat--secontext_full$(EXEEXT): $(linkat__secontext_full_OBJECTS) $(linkat__secontext_full_DEPENDENCIES) $(EXTRA_linkat__secontext_full_DEPENDENCIES) -+ @rm -f linkat--secontext_full$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(linkat__secontext_full_OBJECTS) $(linkat__secontext_full_LDADD) $(LIBS) -+ - list_sigaction_signum$(EXEEXT): $(list_sigaction_signum_OBJECTS) $(list_sigaction_signum_DEPENDENCIES) $(EXTRA_list_sigaction_signum_DEPENDENCIES) - @rm -f list_sigaction_signum$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(list_sigaction_signum_OBJECTS) $(list_sigaction_signum_LDADD) $(LIBS) -@@ -8756,6 +9134,14 @@ - @rm -f open$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(open_OBJECTS) $(open_LDADD) $(LIBS) - -+open--secontext$(EXEEXT): $(open__secontext_OBJECTS) $(open__secontext_DEPENDENCIES) $(EXTRA_open__secontext_DEPENDENCIES) -+ @rm -f open--secontext$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(open__secontext_OBJECTS) $(open__secontext_LDADD) $(LIBS) -+ -+open--secontext_full$(EXEEXT): $(open__secontext_full_OBJECTS) $(open__secontext_full_DEPENDENCIES) $(EXTRA_open__secontext_full_DEPENDENCIES) -+ @rm -f open--secontext_full$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(open__secontext_full_OBJECTS) $(open__secontext_full_LDADD) $(LIBS) -+ - open_tree$(EXEEXT): $(open_tree_OBJECTS) $(open_tree_DEPENDENCIES) $(EXTRA_open_tree_DEPENDENCIES) - @rm -f open_tree$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(open_tree_OBJECTS) $(open_tree_LDADD) $(LIBS) -@@ -8768,6 +9154,14 @@ - @rm -f openat$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(openat_OBJECTS) $(openat_LDADD) $(LIBS) - -+openat--secontext$(EXEEXT): $(openat__secontext_OBJECTS) $(openat__secontext_DEPENDENCIES) $(EXTRA_openat__secontext_DEPENDENCIES) -+ @rm -f openat--secontext$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(openat__secontext_OBJECTS) $(openat__secontext_LDADD) $(LIBS) -+ -+openat--secontext_full$(EXEEXT): $(openat__secontext_full_OBJECTS) $(openat__secontext_full_DEPENDENCIES) $(EXTRA_openat__secontext_full_DEPENDENCIES) -+ @rm -f openat--secontext_full$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(openat__secontext_full_OBJECTS) $(openat__secontext_full_LDADD) $(LIBS) -+ - openat2$(EXEEXT): $(openat2_OBJECTS) $(openat2_DEPENDENCIES) $(EXTRA_openat2_DEPENDENCIES) - @rm -f openat2$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(openat2_OBJECTS) $(openat2_LDADD) $(LIBS) -@@ -10094,6 +10488,8 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/_newselect.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/accept.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/accept4.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/access--secontext.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/access--secontext_full.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/access.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/acct.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/add_key.Po@am__quote@ # am--include-marker -@@ -10123,6 +10519,8 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/caps.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_sigblock.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_sigign.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmod--secontext.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmod--secontext_full.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmod.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chown.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chown32.Po@am__quote@ # am--include-marker -@@ -10176,25 +10574,46 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/epoll_wait.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/erestartsys.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eventfd.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve--secontext.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve--secontext_full.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve-v.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat--secontext.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat--secontext_full.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat-v.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat--secontext.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat--secontext_full.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-P.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-y--secontext.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-y--secontext_full.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-y.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-yy.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fadvise64.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fadvise64_64.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fallocate.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_init.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark--secontext.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark--secontext_full.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark-Xabbrev.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark-Xraw.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark-Xverbose.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchdir.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod--secontext.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod--secontext_full.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y--secontext.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y--secontext_full.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat--secontext.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat--secontext_full.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchown.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchown32.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat--secontext.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat--secontext_full.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl--pidns-translation.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl.Po@am__quote@ # am--include-marker -@@ -10202,6 +10621,8 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl64.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fdatasync.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fflush.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_handle--secontext.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_handle--secontext_full.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_handle.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_ioctl.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filter-unavailable.Po@am__quote@ # am--include-marker -@@ -10431,6 +10852,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-printxval-Xabbrev.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-printxval-Xraw.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-printxval-Xverbose.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-secontext.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-signal2name.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-skip_unavailable.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-sprintrc.Po@am__quote@ # am--include-marker -@@ -10443,6 +10865,8 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-tprintf.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-xmalloc_for_tests.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/link.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat--secontext.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat--secontext_full.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/list_sigaction_signum.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/llseek.Po@am__quote@ # am--include-marker -@@ -10601,9 +11025,13 @@ - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oldselect-efault.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oldselect.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oldstat.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open--secontext.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open--secontext_full.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open_tree-P.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open_tree.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat--secontext.Po@am__quote@ # am--include-marker -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat--secontext_full.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat2-Xabbrev.Po@am__quote@ # am--include-marker - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat2-Xraw.Po@am__quote@ # am--include-marker -@@ -11300,6 +11728,20 @@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-printxval-Xverbose.obj `if test -f 'printxval-Xverbose.c'; then $(CYGPATH_W) 'printxval-Xverbose.c'; else $(CYGPATH_W) '$(srcdir)/printxval-Xverbose.c'; fi` - -+libtests_a-secontext.o: secontext.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-secontext.o -MD -MP -MF $(DEPDIR)/libtests_a-secontext.Tpo -c -o libtests_a-secontext.o `test -f 'secontext.c' || echo '$(srcdir)/'`secontext.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-secontext.Tpo $(DEPDIR)/libtests_a-secontext.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='secontext.c' object='libtests_a-secontext.o' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-secontext.o `test -f 'secontext.c' || echo '$(srcdir)/'`secontext.c -+ -+libtests_a-secontext.obj: secontext.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-secontext.obj -MD -MP -MF $(DEPDIR)/libtests_a-secontext.Tpo -c -o libtests_a-secontext.obj `if test -f 'secontext.c'; then $(CYGPATH_W) 'secontext.c'; else $(CYGPATH_W) '$(srcdir)/secontext.c'; fi` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-secontext.Tpo $(DEPDIR)/libtests_a-secontext.Po -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='secontext.c' object='libtests_a-secontext.obj' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-secontext.obj `if test -f 'secontext.c'; then $(CYGPATH_W) 'secontext.c'; else $(CYGPATH_W) '$(srcdir)/secontext.c'; fi` -+ - libtests_a-signal2name.o: signal2name.c - @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-signal2name.o -MD -MP -MF $(DEPDIR)/libtests_a-signal2name.Tpo -c -o libtests_a-signal2name.o `test -f 'signal2name.c' || echo '$(srcdir)/'`signal2name.c - @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-signal2name.Tpo $(DEPDIR)/libtests_a-signal2name.Po -@@ -13841,6 +14283,12 @@ - $(srcdir)/access.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/access--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ -+$(srcdir)/access--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/acct.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -13883,6 +14331,12 @@ - $(srcdir)/chmod.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/chmod--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ -+$(srcdir)/chmod--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/chown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -14024,13 +14478,43 @@ - $(srcdir)/erestartsys.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/execve--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ -+$(srcdir)/execve--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/execveat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/execveat--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ -+$(srcdir)/execveat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/execveat-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - --$(srcdir)/faccessat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+$(srcdir)/faccessat--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ -+$(srcdir)/faccessat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ -+$(srcdir)/faccessat-P.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ -+$(srcdir)/faccessat-y.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ -+$(srcdir)/faccessat-y--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ -+$(srcdir)/faccessat-y--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ -+$(srcdir)/faccessat-yy.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - - $(srcdir)/fadvise64_64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -@@ -14045,6 +14529,12 @@ - $(srcdir)/fanotify_mark.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/fanotify_mark--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ -+$(srcdir)/fanotify_mark--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/fanotify_mark-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -14060,12 +14550,30 @@ - $(srcdir)/fchmod.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/fchmod--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ -+$(srcdir)/fchmod--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/fchmod-y.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/fchmod-y--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ -+$(srcdir)/fchmod-y--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/fchmodat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/fchmodat--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ -+$(srcdir)/fchmodat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/fchown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -14075,6 +14583,12 @@ - $(srcdir)/fchownat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/fchownat--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ -+$(srcdir)/fchownat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/fcntl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -14096,6 +14610,12 @@ - $(srcdir)/file_ioctl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/file_handle--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ -+$(srcdir)/file_handle--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/filter_seccomp.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -14690,6 +15210,12 @@ - $(srcdir)/linkat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/linkat--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ -+$(srcdir)/linkat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/lookup_dcookie.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -15107,6 +15633,12 @@ - $(srcdir)/open.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/open--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ -+$(srcdir)/open--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/open_tree.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -@@ -15116,6 +15648,12 @@ - $(srcdir)/openat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -+$(srcdir)/openat--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ -+$(srcdir)/openat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in -+ $(AM_V_GEN) $^ $@ -+ - $(srcdir)/openat2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in - $(AM_V_GEN) $^ $@ - -Index: strace-5.7/tests-m32/access--secontext.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/access--secontext.c 2021-08-24 21:08:43.293245705 +0200 -@@ -0,0 +1,19 @@ -+/* -+ * Copyright (c) 2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+ -+#ifdef HAVE_M32_SELINUX_RUNTIME -+ -+# define TEST_SECONTEXT -+# include "access.c" -+ -+#else -+ -+SKIP_MAIN_UNDEFINED("HAVE_M32_SELINUX_RUNTIME") -+ -+#endif -Index: strace-5.7/tests-m32/chmod--secontext.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/chmod--secontext.c 2021-08-24 21:08:43.293245705 +0200 -@@ -0,0 +1,19 @@ -+/* -+ * Copyright (c) 2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+ -+#ifdef HAVE_M32_SELINUX_RUNTIME -+ -+# define TEST_SECONTEXT -+# include "chmod.c" -+ -+#else -+ -+SKIP_MAIN_UNDEFINED("HAVE_M32_SELINUX_RUNTIME") -+ -+#endif -Index: strace-5.7/tests-m32/execve--secontext.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/execve--secontext.c 2021-08-24 21:08:43.293245705 +0200 -@@ -0,0 +1,19 @@ -+/* -+ * Copyright (c) 2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+ -+#ifdef HAVE_M32_SELINUX_RUNTIME -+ -+# define TEST_SECONTEXT -+# include "execve.c" -+ -+#else -+ -+SKIP_MAIN_UNDEFINED("HAVE_M32_SELINUX_RUNTIME") -+ -+#endif -Index: strace-5.7/tests-m32/execveat--secontext.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/execveat--secontext.c 2021-08-24 21:08:43.293245705 +0200 -@@ -0,0 +1,19 @@ -+/* -+ * Copyright (c) 2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+ -+#ifdef HAVE_M32_SELINUX_RUNTIME -+ -+# define TEST_SECONTEXT -+# include "execveat.c" -+ -+#else -+ -+SKIP_MAIN_UNDEFINED("HAVE_M32_SELINUX_RUNTIME") -+ -+#endif -Index: strace-5.7/tests-m32/faccessat--secontext.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/faccessat--secontext.c 2021-08-24 21:08:43.293245705 +0200 -@@ -0,0 +1,19 @@ -+/* -+ * Copyright (c) 2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+ -+#ifdef HAVE_M32_SELINUX_RUNTIME -+ -+# define TEST_SECONTEXT -+# include "faccessat.c" -+ -+#else -+ -+SKIP_MAIN_UNDEFINED("HAVE_M32_SELINUX_RUNTIME") -+ -+#endif -Index: strace-5.7/tests-m32/faccessat-y--secontext.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/faccessat-y--secontext.c 2021-08-24 21:08:43.294245697 +0200 -@@ -0,0 +1,19 @@ -+/* -+ * Copyright (c) 2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+ -+#ifdef HAVE_M32_SELINUX_RUNTIME -+ -+# define TEST_SECONTEXT -+# include "faccessat-y.c" -+ -+#else -+ -+SKIP_MAIN_UNDEFINED("HAVE_M32_SELINUX_RUNTIME") -+ -+#endif -Index: strace-5.7/tests-m32/fanotify_mark--secontext.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/fanotify_mark--secontext.c 2021-08-24 21:08:43.294245697 +0200 -@@ -0,0 +1,19 @@ -+/* -+ * Copyright (c) 2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+ -+#ifdef HAVE_M32_SELINUX_RUNTIME -+ -+# define TEST_SECONTEXT -+# include "fanotify_mark.c" -+ -+#else -+ -+SKIP_MAIN_UNDEFINED("HAVE_M32_SELINUX_RUNTIME") -+ -+#endif -Index: strace-5.7/tests-m32/fchmod--secontext.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/fchmod--secontext.c 2021-08-24 21:08:43.294245697 +0200 -@@ -0,0 +1,19 @@ -+/* -+ * Copyright (c) 2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+ -+#ifdef HAVE_M32_SELINUX_RUNTIME -+ -+# define TEST_SECONTEXT -+# include "fchmod.c" -+ -+#else -+ -+SKIP_MAIN_UNDEFINED("HAVE_M32_SELINUX_RUNTIME") -+ -+#endif -Index: strace-5.7/tests-m32/fchmod-y--secontext.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/fchmod-y--secontext.c 2021-08-24 21:08:43.294245697 +0200 -@@ -0,0 +1,19 @@ -+/* -+ * Copyright (c) 2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+ -+#ifdef HAVE_M32_SELINUX_RUNTIME -+ -+# define TEST_SECONTEXT -+# include "fchmod-y.c" -+ -+#else -+ -+SKIP_MAIN_UNDEFINED("HAVE_M32_SELINUX_RUNTIME") -+ -+#endif -Index: strace-5.7/tests-m32/fchmodat--secontext.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/fchmodat--secontext.c 2021-08-24 21:08:43.294245697 +0200 -@@ -0,0 +1,19 @@ -+/* -+ * Copyright (c) 2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+ -+#ifdef HAVE_M32_SELINUX_RUNTIME -+ -+# define TEST_SECONTEXT -+# include "fchmodat.c" -+ -+#else -+ -+SKIP_MAIN_UNDEFINED("HAVE_M32_SELINUX_RUNTIME") -+ -+#endif -Index: strace-5.7/tests-m32/fchownat--secontext.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/fchownat--secontext.c 2021-08-24 21:08:43.294245697 +0200 -@@ -0,0 +1,19 @@ -+/* -+ * Copyright (c) 2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+ -+#ifdef HAVE_M32_SELINUX_RUNTIME -+ -+# define TEST_SECONTEXT -+# include "fchownat.c" -+ -+#else -+ -+SKIP_MAIN_UNDEFINED("HAVE_M32_SELINUX_RUNTIME") -+ -+#endif -Index: strace-5.7/tests-m32/file_handle--secontext.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/file_handle--secontext.c 2021-08-24 21:08:43.294245697 +0200 -@@ -0,0 +1,19 @@ -+/* -+ * Copyright (c) 2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+ -+#ifdef HAVE_M32_SELINUX_RUNTIME -+ -+# define TEST_SECONTEXT -+# include "file_handle.c" -+ -+#else -+ -+SKIP_MAIN_UNDEFINED("HAVE_M32_SELINUX_RUNTIME") -+ -+#endif -Index: strace-5.7/tests-m32/linkat--secontext.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/linkat--secontext.c 2021-08-24 21:08:43.294245697 +0200 -@@ -0,0 +1,19 @@ -+/* -+ * Copyright (c) 2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+ -+#ifdef HAVE_M32_SELINUX_RUNTIME -+ -+# define TEST_SECONTEXT -+# include "linkat.c" -+ -+#else -+ -+SKIP_MAIN_UNDEFINED("HAVE_M32_SELINUX_RUNTIME") -+ -+#endif -Index: strace-5.7/tests-m32/open--secontext.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/open--secontext.c 2021-08-24 21:08:43.294245697 +0200 -@@ -0,0 +1,19 @@ -+/* -+ * Copyright (c) 2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+ -+#ifdef HAVE_M32_SELINUX_RUNTIME -+ -+# define TEST_SECONTEXT -+# include "open.c" -+ -+#else -+ -+SKIP_MAIN_UNDEFINED("HAVE_M32_SELINUX_RUNTIME") -+ -+#endif -Index: strace-5.7/tests-m32/openat--secontext.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/openat--secontext.c 2021-08-24 21:08:43.294245697 +0200 -@@ -0,0 +1,19 @@ -+/* -+ * Copyright (c) 2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+ -+#ifdef HAVE_M32_SELINUX_RUNTIME -+ -+# define TEST_SECONTEXT -+# include "openat.c" -+ -+#else -+ -+SKIP_MAIN_UNDEFINED("HAVE_M32_SELINUX_RUNTIME") -+ -+#endif -Index: strace-5.7/tests-mx32/access--secontext.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/access--secontext.c 2021-08-24 21:08:43.295245688 +0200 -@@ -0,0 +1,19 @@ -+/* -+ * Copyright (c) 2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+ -+#ifdef HAVE_MX32_SELINUX_RUNTIME -+ -+# define TEST_SECONTEXT -+# include "access.c" -+ -+#else -+ -+SKIP_MAIN_UNDEFINED("HAVE_MX32_SELINUX_RUNTIME") -+ -+#endif -Index: strace-5.7/tests-mx32/chmod--secontext.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/chmod--secontext.c 2021-08-24 21:08:43.295245688 +0200 -@@ -0,0 +1,19 @@ -+/* -+ * Copyright (c) 2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+ -+#ifdef HAVE_MX32_SELINUX_RUNTIME -+ -+# define TEST_SECONTEXT -+# include "chmod.c" -+ -+#else -+ -+SKIP_MAIN_UNDEFINED("HAVE_MX32_SELINUX_RUNTIME") -+ -+#endif -Index: strace-5.7/tests-mx32/execve--secontext.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/execve--secontext.c 2021-08-24 21:08:43.295245688 +0200 -@@ -0,0 +1,19 @@ -+/* -+ * Copyright (c) 2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+ -+#ifdef HAVE_MX32_SELINUX_RUNTIME -+ -+# define TEST_SECONTEXT -+# include "execve.c" -+ -+#else -+ -+SKIP_MAIN_UNDEFINED("HAVE_MX32_SELINUX_RUNTIME") -+ -+#endif -Index: strace-5.7/tests-mx32/execveat--secontext.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/execveat--secontext.c 2021-08-24 21:08:43.295245688 +0200 -@@ -0,0 +1,19 @@ -+/* -+ * Copyright (c) 2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+ -+#ifdef HAVE_MX32_SELINUX_RUNTIME -+ -+# define TEST_SECONTEXT -+# include "execveat.c" -+ -+#else -+ -+SKIP_MAIN_UNDEFINED("HAVE_MX32_SELINUX_RUNTIME") -+ -+#endif -Index: strace-5.7/tests-mx32/faccessat--secontext.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/faccessat--secontext.c 2021-08-24 21:08:43.295245688 +0200 -@@ -0,0 +1,19 @@ -+/* -+ * Copyright (c) 2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+ -+#ifdef HAVE_MX32_SELINUX_RUNTIME -+ -+# define TEST_SECONTEXT -+# include "faccessat.c" -+ -+#else -+ -+SKIP_MAIN_UNDEFINED("HAVE_MX32_SELINUX_RUNTIME") -+ -+#endif -Index: strace-5.7/tests-mx32/faccessat-y--secontext.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/faccessat-y--secontext.c 2021-08-24 21:08:43.295245688 +0200 -@@ -0,0 +1,19 @@ -+/* -+ * Copyright (c) 2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+ -+#ifdef HAVE_MX32_SELINUX_RUNTIME -+ -+# define TEST_SECONTEXT -+# include "faccessat-y.c" -+ -+#else -+ -+SKIP_MAIN_UNDEFINED("HAVE_MX32_SELINUX_RUNTIME") -+ -+#endif -Index: strace-5.7/tests-mx32/fanotify_mark--secontext.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/fanotify_mark--secontext.c 2021-08-24 21:08:43.295245688 +0200 -@@ -0,0 +1,19 @@ -+/* -+ * Copyright (c) 2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+ -+#ifdef HAVE_MX32_SELINUX_RUNTIME -+ -+# define TEST_SECONTEXT -+# include "fanotify_mark.c" -+ -+#else -+ -+SKIP_MAIN_UNDEFINED("HAVE_MX32_SELINUX_RUNTIME") -+ -+#endif -Index: strace-5.7/tests-mx32/fchmod--secontext.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/fchmod--secontext.c 2021-08-24 21:08:43.295245688 +0200 -@@ -0,0 +1,19 @@ -+/* -+ * Copyright (c) 2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+ -+#ifdef HAVE_MX32_SELINUX_RUNTIME -+ -+# define TEST_SECONTEXT -+# include "fchmod.c" -+ -+#else -+ -+SKIP_MAIN_UNDEFINED("HAVE_MX32_SELINUX_RUNTIME") -+ -+#endif -Index: strace-5.7/tests-mx32/fchmod-y--secontext.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/fchmod-y--secontext.c 2021-08-24 21:08:43.295245688 +0200 -@@ -0,0 +1,19 @@ -+/* -+ * Copyright (c) 2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+ -+#ifdef HAVE_MX32_SELINUX_RUNTIME -+ -+# define TEST_SECONTEXT -+# include "fchmod-y.c" -+ -+#else -+ -+SKIP_MAIN_UNDEFINED("HAVE_MX32_SELINUX_RUNTIME") -+ -+#endif -Index: strace-5.7/tests-mx32/fchmodat--secontext.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/fchmodat--secontext.c 2021-08-24 21:08:43.296245680 +0200 -@@ -0,0 +1,19 @@ -+/* -+ * Copyright (c) 2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+ -+#ifdef HAVE_MX32_SELINUX_RUNTIME -+ -+# define TEST_SECONTEXT -+# include "fchmodat.c" -+ -+#else -+ -+SKIP_MAIN_UNDEFINED("HAVE_MX32_SELINUX_RUNTIME") -+ -+#endif -Index: strace-5.7/tests-mx32/fchownat--secontext.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/fchownat--secontext.c 2021-08-24 21:08:43.296245680 +0200 -@@ -0,0 +1,19 @@ -+/* -+ * Copyright (c) 2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+ -+#ifdef HAVE_MX32_SELINUX_RUNTIME -+ -+# define TEST_SECONTEXT -+# include "fchownat.c" -+ -+#else -+ -+SKIP_MAIN_UNDEFINED("HAVE_MX32_SELINUX_RUNTIME") -+ -+#endif -Index: strace-5.7/tests-mx32/file_handle--secontext.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/file_handle--secontext.c 2021-08-24 21:08:43.296245680 +0200 -@@ -0,0 +1,19 @@ -+/* -+ * Copyright (c) 2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+ -+#ifdef HAVE_MX32_SELINUX_RUNTIME -+ -+# define TEST_SECONTEXT -+# include "file_handle.c" -+ -+#else -+ -+SKIP_MAIN_UNDEFINED("HAVE_MX32_SELINUX_RUNTIME") -+ -+#endif -Index: strace-5.7/tests-mx32/linkat--secontext.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/linkat--secontext.c 2021-08-24 21:08:43.296245680 +0200 -@@ -0,0 +1,19 @@ -+/* -+ * Copyright (c) 2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+ -+#ifdef HAVE_MX32_SELINUX_RUNTIME -+ -+# define TEST_SECONTEXT -+# include "linkat.c" -+ -+#else -+ -+SKIP_MAIN_UNDEFINED("HAVE_MX32_SELINUX_RUNTIME") -+ -+#endif -Index: strace-5.7/tests-mx32/open--secontext.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/open--secontext.c 2021-08-24 21:08:43.296245680 +0200 -@@ -0,0 +1,19 @@ -+/* -+ * Copyright (c) 2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+ -+#ifdef HAVE_MX32_SELINUX_RUNTIME -+ -+# define TEST_SECONTEXT -+# include "open.c" -+ -+#else -+ -+SKIP_MAIN_UNDEFINED("HAVE_MX32_SELINUX_RUNTIME") -+ -+#endif -Index: strace-5.7/tests-mx32/openat--secontext.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/openat--secontext.c 2021-08-24 21:08:43.296245680 +0200 -@@ -0,0 +1,19 @@ -+/* -+ * Copyright (c) 2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+ -+#ifdef HAVE_MX32_SELINUX_RUNTIME -+ -+# define TEST_SECONTEXT -+# include "openat.c" -+ -+#else -+ -+SKIP_MAIN_UNDEFINED("HAVE_MX32_SELINUX_RUNTIME") -+ -+#endif -Index: strace-5.7/tests/access--secontext.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/access--secontext.c 2021-08-24 21:08:43.296245680 +0200 -@@ -0,0 +1,19 @@ -+/* -+ * Copyright (c) 2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+ -+#ifdef HAVE_SELINUX_RUNTIME -+ -+# define TEST_SECONTEXT -+# include "access.c" -+ -+#else -+ -+SKIP_MAIN_UNDEFINED("HAVE_SELINUX_RUNTIME") -+ -+#endif -Index: strace-5.7/tests/chmod--secontext.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/chmod--secontext.c 2021-08-24 21:08:43.296245680 +0200 -@@ -0,0 +1,19 @@ -+/* -+ * Copyright (c) 2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+ -+#ifdef HAVE_SELINUX_RUNTIME -+ -+# define TEST_SECONTEXT -+# include "chmod.c" -+ -+#else -+ -+SKIP_MAIN_UNDEFINED("HAVE_SELINUX_RUNTIME") -+ -+#endif -Index: strace-5.7/tests/execve--secontext.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/execve--secontext.c 2021-08-24 21:08:43.296245680 +0200 -@@ -0,0 +1,19 @@ -+/* -+ * Copyright (c) 2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+ -+#ifdef HAVE_SELINUX_RUNTIME -+ -+# define TEST_SECONTEXT -+# include "execve.c" -+ -+#else -+ -+SKIP_MAIN_UNDEFINED("HAVE_SELINUX_RUNTIME") -+ -+#endif -Index: strace-5.7/tests/execveat--secontext.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/execveat--secontext.c 2021-08-24 21:08:43.297245671 +0200 -@@ -0,0 +1,19 @@ -+/* -+ * Copyright (c) 2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+ -+#ifdef HAVE_SELINUX_RUNTIME -+ -+# define TEST_SECONTEXT -+# include "execveat.c" -+ -+#else -+ -+SKIP_MAIN_UNDEFINED("HAVE_SELINUX_RUNTIME") -+ -+#endif -Index: strace-5.7/tests/faccessat--secontext.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/faccessat--secontext.c 2021-08-24 21:08:43.297245671 +0200 -@@ -0,0 +1,19 @@ -+/* -+ * Copyright (c) 2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+ -+#ifdef HAVE_SELINUX_RUNTIME -+ -+# define TEST_SECONTEXT -+# include "faccessat.c" -+ -+#else -+ -+SKIP_MAIN_UNDEFINED("HAVE_SELINUX_RUNTIME") -+ -+#endif -Index: strace-5.7/tests/faccessat-y--secontext.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/faccessat-y--secontext.c 2021-08-24 21:08:43.297245671 +0200 -@@ -0,0 +1,19 @@ -+/* -+ * Copyright (c) 2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+ -+#ifdef HAVE_SELINUX_RUNTIME -+ -+# define TEST_SECONTEXT -+# include "faccessat-y.c" -+ -+#else -+ -+SKIP_MAIN_UNDEFINED("HAVE_SELINUX_RUNTIME") -+ -+#endif -Index: strace-5.7/tests/fanotify_mark--secontext.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/fanotify_mark--secontext.c 2021-08-24 21:08:43.297245671 +0200 -@@ -0,0 +1,19 @@ -+/* -+ * Copyright (c) 2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+ -+#ifdef HAVE_SELINUX_RUNTIME -+ -+# define TEST_SECONTEXT -+# include "fanotify_mark.c" -+ -+#else -+ -+SKIP_MAIN_UNDEFINED("HAVE_SELINUX_RUNTIME") -+ -+#endif -Index: strace-5.7/tests/fchmod--secontext.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/fchmod--secontext.c 2021-08-24 21:08:43.297245671 +0200 -@@ -0,0 +1,19 @@ -+/* -+ * Copyright (c) 2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+ -+#ifdef HAVE_SELINUX_RUNTIME -+ -+# define TEST_SECONTEXT -+# include "fchmod.c" -+ -+#else -+ -+SKIP_MAIN_UNDEFINED("HAVE_SELINUX_RUNTIME") -+ -+#endif -Index: strace-5.7/tests/fchmod-y--secontext.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/fchmod-y--secontext.c 2021-08-24 21:08:43.297245671 +0200 -@@ -0,0 +1,19 @@ -+/* -+ * Copyright (c) 2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+ -+#ifdef HAVE_SELINUX_RUNTIME -+ -+# define TEST_SECONTEXT -+# include "fchmod-y.c" -+ -+#else -+ -+SKIP_MAIN_UNDEFINED("HAVE_SELINUX_RUNTIME") -+ -+#endif -Index: strace-5.7/tests/fchmodat--secontext.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/fchmodat--secontext.c 2021-08-24 21:08:43.297245671 +0200 -@@ -0,0 +1,19 @@ -+/* -+ * Copyright (c) 2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+ -+#ifdef HAVE_SELINUX_RUNTIME -+ -+# define TEST_SECONTEXT -+# include "fchmodat.c" -+ -+#else -+ -+SKIP_MAIN_UNDEFINED("HAVE_SELINUX_RUNTIME") -+ -+#endif -Index: strace-5.7/tests/fchownat--secontext.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/fchownat--secontext.c 2021-08-24 21:08:43.297245671 +0200 -@@ -0,0 +1,19 @@ -+/* -+ * Copyright (c) 2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+ -+#ifdef HAVE_SELINUX_RUNTIME -+ -+# define TEST_SECONTEXT -+# include "fchownat.c" -+ -+#else -+ -+SKIP_MAIN_UNDEFINED("HAVE_SELINUX_RUNTIME") -+ -+#endif -Index: strace-5.7/tests/file_handle--secontext.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/file_handle--secontext.c 2021-08-24 21:08:43.297245671 +0200 -@@ -0,0 +1,19 @@ -+/* -+ * Copyright (c) 2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+ -+#ifdef HAVE_SELINUX_RUNTIME -+ -+# define TEST_SECONTEXT -+# include "file_handle.c" -+ -+#else -+ -+SKIP_MAIN_UNDEFINED("HAVE_SELINUX_RUNTIME") -+ -+#endif -Index: strace-5.7/tests/linkat--secontext.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/linkat--secontext.c 2021-08-24 21:08:43.298245663 +0200 -@@ -0,0 +1,19 @@ -+/* -+ * Copyright (c) 2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+ -+#ifdef HAVE_SELINUX_RUNTIME -+ -+# define TEST_SECONTEXT -+# include "linkat.c" -+ -+#else -+ -+SKIP_MAIN_UNDEFINED("HAVE_SELINUX_RUNTIME") -+ -+#endif -Index: strace-5.7/tests/open--secontext.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/open--secontext.c 2021-08-24 21:08:43.298245663 +0200 -@@ -0,0 +1,19 @@ -+/* -+ * Copyright (c) 2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+ -+#ifdef HAVE_SELINUX_RUNTIME -+ -+# define TEST_SECONTEXT -+# include "open.c" -+ -+#else -+ -+SKIP_MAIN_UNDEFINED("HAVE_SELINUX_RUNTIME") -+ -+#endif -Index: strace-5.7/tests/openat--secontext.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/openat--secontext.c 2021-08-24 21:08:43.298245663 +0200 -@@ -0,0 +1,19 @@ -+/* -+ * Copyright (c) 2021 The strace developers. -+ * All rights reserved. -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#include "tests.h" -+ -+#ifdef HAVE_SELINUX_RUNTIME -+ -+# define TEST_SECONTEXT -+# include "openat.c" -+ -+#else -+ -+SKIP_MAIN_UNDEFINED("HAVE_SELINUX_RUNTIME") -+ -+#endif -Index: strace-5.7/tests-m32/access--secontext_full.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/access--secontext_full.c 2021-08-24 21:08:43.298245663 +0200 -@@ -0,0 +1,2 @@ -+#define PRINT_SECONTEXT_FULL -+#include "access--secontext.c" -Index: strace-5.7/tests-m32/chmod--secontext_full.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/chmod--secontext_full.c 2021-08-24 21:08:43.298245663 +0200 -@@ -0,0 +1,2 @@ -+#define PRINT_SECONTEXT_FULL -+#include "chmod--secontext.c" -Index: strace-5.7/tests-m32/execve--secontext_full.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/execve--secontext_full.c 2021-08-24 21:08:43.298245663 +0200 -@@ -0,0 +1,2 @@ -+#define PRINT_SECONTEXT_FULL -+#include "execve--secontext.c" -Index: strace-5.7/tests-m32/execveat--secontext_full.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/execveat--secontext_full.c 2021-08-24 21:08:43.298245663 +0200 -@@ -0,0 +1,2 @@ -+#define PRINT_SECONTEXT_FULL -+#include "execveat--secontext.c" -Index: strace-5.7/tests-m32/faccessat--secontext_full.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/faccessat--secontext_full.c 2021-08-24 21:08:43.298245663 +0200 -@@ -0,0 +1,2 @@ -+#define PRINT_SECONTEXT_FULL -+#include "faccessat--secontext.c" -Index: strace-5.7/tests-m32/faccessat-y--secontext_full.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/faccessat-y--secontext_full.c 2021-08-24 21:08:43.298245663 +0200 -@@ -0,0 +1,2 @@ -+#define PRINT_SECONTEXT_FULL -+#include "faccessat-y--secontext.c" -Index: strace-5.7/tests-m32/fanotify_mark--secontext_full.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/fanotify_mark--secontext_full.c 2021-08-24 21:08:43.298245663 +0200 -@@ -0,0 +1,2 @@ -+#define PRINT_SECONTEXT_FULL -+#include "fanotify_mark--secontext.c" -Index: strace-5.7/tests-m32/fchmod--secontext_full.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/fchmod--secontext_full.c 2021-08-24 21:08:43.299245654 +0200 -@@ -0,0 +1,2 @@ -+#define PRINT_SECONTEXT_FULL -+#include "fchmod--secontext.c" -Index: strace-5.7/tests-m32/fchmod-y--secontext_full.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/fchmod-y--secontext_full.c 2021-08-24 21:08:43.299245654 +0200 -@@ -0,0 +1,2 @@ -+#define PRINT_SECONTEXT_FULL -+#include "fchmod-y--secontext.c" -Index: strace-5.7/tests-m32/fchmodat--secontext_full.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/fchmodat--secontext_full.c 2021-08-24 21:08:43.299245654 +0200 -@@ -0,0 +1,2 @@ -+#define PRINT_SECONTEXT_FULL -+#include "fchmodat--secontext.c" -Index: strace-5.7/tests-m32/fchownat--secontext_full.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/fchownat--secontext_full.c 2021-08-24 21:08:43.299245654 +0200 -@@ -0,0 +1,2 @@ -+#define PRINT_SECONTEXT_FULL -+#include "fchownat--secontext.c" -Index: strace-5.7/tests-m32/file_handle--secontext_full.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/file_handle--secontext_full.c 2021-08-24 21:08:43.299245654 +0200 -@@ -0,0 +1,2 @@ -+#define PRINT_SECONTEXT_FULL -+#include "file_handle--secontext.c" -Index: strace-5.7/tests-m32/linkat--secontext_full.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/linkat--secontext_full.c 2021-08-24 21:08:43.299245654 +0200 -@@ -0,0 +1,2 @@ -+#define PRINT_SECONTEXT_FULL -+#include "linkat--secontext.c" -Index: strace-5.7/tests-m32/open--secontext_full.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/open--secontext_full.c 2021-08-24 21:08:43.299245654 +0200 -@@ -0,0 +1,2 @@ -+#define PRINT_SECONTEXT_FULL -+#include "open--secontext.c" -Index: strace-5.7/tests-m32/openat--secontext_full.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-m32/openat--secontext_full.c 2021-08-24 21:08:43.299245654 +0200 -@@ -0,0 +1,2 @@ -+#define PRINT_SECONTEXT_FULL -+#include "openat--secontext.c" -Index: strace-5.7/tests-mx32/access--secontext_full.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/access--secontext_full.c 2021-08-24 21:08:43.299245654 +0200 -@@ -0,0 +1,2 @@ -+#define PRINT_SECONTEXT_FULL -+#include "access--secontext.c" -Index: strace-5.7/tests-mx32/chmod--secontext_full.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/chmod--secontext_full.c 2021-08-24 21:08:43.299245654 +0200 -@@ -0,0 +1,2 @@ -+#define PRINT_SECONTEXT_FULL -+#include "chmod--secontext.c" -Index: strace-5.7/tests-mx32/execve--secontext_full.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/execve--secontext_full.c 2021-08-24 21:08:43.300245646 +0200 -@@ -0,0 +1,2 @@ -+#define PRINT_SECONTEXT_FULL -+#include "execve--secontext.c" -Index: strace-5.7/tests-mx32/execveat--secontext_full.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/execveat--secontext_full.c 2021-08-24 21:08:43.300245646 +0200 -@@ -0,0 +1,2 @@ -+#define PRINT_SECONTEXT_FULL -+#include "execveat--secontext.c" -Index: strace-5.7/tests-mx32/faccessat--secontext_full.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/faccessat--secontext_full.c 2021-08-24 21:08:43.300245646 +0200 -@@ -0,0 +1,2 @@ -+#define PRINT_SECONTEXT_FULL -+#include "faccessat--secontext.c" -Index: strace-5.7/tests-mx32/faccessat-y--secontext_full.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/faccessat-y--secontext_full.c 2021-08-24 21:08:43.300245646 +0200 -@@ -0,0 +1,2 @@ -+#define PRINT_SECONTEXT_FULL -+#include "faccessat-y--secontext.c" -Index: strace-5.7/tests-mx32/fanotify_mark--secontext_full.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/fanotify_mark--secontext_full.c 2021-08-24 21:08:43.300245646 +0200 -@@ -0,0 +1,2 @@ -+#define PRINT_SECONTEXT_FULL -+#include "fanotify_mark--secontext.c" -Index: strace-5.7/tests-mx32/fchmod--secontext_full.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/fchmod--secontext_full.c 2021-08-24 21:08:43.300245646 +0200 -@@ -0,0 +1,2 @@ -+#define PRINT_SECONTEXT_FULL -+#include "fchmod--secontext.c" -Index: strace-5.7/tests-mx32/fchmod-y--secontext_full.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/fchmod-y--secontext_full.c 2021-08-24 21:08:43.300245646 +0200 -@@ -0,0 +1,2 @@ -+#define PRINT_SECONTEXT_FULL -+#include "fchmod-y--secontext.c" -Index: strace-5.7/tests-mx32/fchmodat--secontext_full.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/fchmodat--secontext_full.c 2021-08-24 21:08:43.301245637 +0200 -@@ -0,0 +1,2 @@ -+#define PRINT_SECONTEXT_FULL -+#include "fchmodat--secontext.c" -Index: strace-5.7/tests-mx32/fchownat--secontext_full.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/fchownat--secontext_full.c 2021-08-24 21:08:43.301245637 +0200 -@@ -0,0 +1,2 @@ -+#define PRINT_SECONTEXT_FULL -+#include "fchownat--secontext.c" -Index: strace-5.7/tests-mx32/file_handle--secontext_full.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/file_handle--secontext_full.c 2021-08-24 21:08:43.301245637 +0200 -@@ -0,0 +1,2 @@ -+#define PRINT_SECONTEXT_FULL -+#include "file_handle--secontext.c" -Index: strace-5.7/tests-mx32/linkat--secontext_full.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/linkat--secontext_full.c 2021-08-24 21:08:43.301245637 +0200 -@@ -0,0 +1,2 @@ -+#define PRINT_SECONTEXT_FULL -+#include "linkat--secontext.c" -Index: strace-5.7/tests-mx32/open--secontext_full.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/open--secontext_full.c 2021-08-24 21:08:43.301245637 +0200 -@@ -0,0 +1,2 @@ -+#define PRINT_SECONTEXT_FULL -+#include "open--secontext.c" -Index: strace-5.7/tests-mx32/openat--secontext_full.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests-mx32/openat--secontext_full.c 2021-08-24 21:08:43.301245637 +0200 -@@ -0,0 +1,2 @@ -+#define PRINT_SECONTEXT_FULL -+#include "openat--secontext.c" -Index: strace-5.7/tests/access--secontext_full.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/access--secontext_full.c 2021-08-24 21:08:43.301245637 +0200 -@@ -0,0 +1,2 @@ -+#define PRINT_SECONTEXT_FULL -+#include "access--secontext.c" -Index: strace-5.7/tests/chmod--secontext_full.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/chmod--secontext_full.c 2021-08-24 21:08:43.302245629 +0200 -@@ -0,0 +1,2 @@ -+#define PRINT_SECONTEXT_FULL -+#include "chmod--secontext.c" -Index: strace-5.7/tests/execve--secontext_full.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/execve--secontext_full.c 2021-08-24 21:08:43.302245629 +0200 -@@ -0,0 +1,2 @@ -+#define PRINT_SECONTEXT_FULL -+#include "execve--secontext.c" -Index: strace-5.7/tests/execveat--secontext_full.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/execveat--secontext_full.c 2021-08-24 21:08:43.302245629 +0200 -@@ -0,0 +1,2 @@ -+#define PRINT_SECONTEXT_FULL -+#include "execveat--secontext.c" -Index: strace-5.7/tests/faccessat--secontext_full.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/faccessat--secontext_full.c 2021-08-24 21:08:43.302245629 +0200 -@@ -0,0 +1,2 @@ -+#define PRINT_SECONTEXT_FULL -+#include "faccessat--secontext.c" -Index: strace-5.7/tests/faccessat-y--secontext_full.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/faccessat-y--secontext_full.c 2021-08-24 21:08:43.302245629 +0200 -@@ -0,0 +1,2 @@ -+#define PRINT_SECONTEXT_FULL -+#include "faccessat-y--secontext.c" -Index: strace-5.7/tests/fanotify_mark--secontext_full.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/fanotify_mark--secontext_full.c 2021-08-24 21:08:43.302245629 +0200 -@@ -0,0 +1,2 @@ -+#define PRINT_SECONTEXT_FULL -+#include "fanotify_mark--secontext.c" -Index: strace-5.7/tests/fchmod--secontext_full.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/fchmod--secontext_full.c 2021-08-24 21:08:43.302245629 +0200 -@@ -0,0 +1,2 @@ -+#define PRINT_SECONTEXT_FULL -+#include "fchmod--secontext.c" -Index: strace-5.7/tests/fchmod-y--secontext_full.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/fchmod-y--secontext_full.c 2021-08-24 21:08:43.303245621 +0200 -@@ -0,0 +1,2 @@ -+#define PRINT_SECONTEXT_FULL -+#include "fchmod-y--secontext.c" -Index: strace-5.7/tests/fchmodat--secontext_full.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/fchmodat--secontext_full.c 2021-08-24 21:08:43.303245621 +0200 -@@ -0,0 +1,2 @@ -+#define PRINT_SECONTEXT_FULL -+#include "fchmodat--secontext.c" -Index: strace-5.7/tests/fchownat--secontext_full.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/fchownat--secontext_full.c 2021-08-24 21:08:43.303245621 +0200 -@@ -0,0 +1,2 @@ -+#define PRINT_SECONTEXT_FULL -+#include "fchownat--secontext.c" -Index: strace-5.7/tests/file_handle--secontext_full.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/file_handle--secontext_full.c 2021-08-24 21:08:43.303245621 +0200 -@@ -0,0 +1,2 @@ -+#define PRINT_SECONTEXT_FULL -+#include "file_handle--secontext.c" -Index: strace-5.7/tests/linkat--secontext_full.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/linkat--secontext_full.c 2021-08-24 21:08:43.303245621 +0200 -@@ -0,0 +1,2 @@ -+#define PRINT_SECONTEXT_FULL -+#include "linkat--secontext.c" -Index: strace-5.7/tests/open--secontext_full.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/open--secontext_full.c 2021-08-24 21:08:43.303245621 +0200 -@@ -0,0 +1,2 @@ -+#define PRINT_SECONTEXT_FULL -+#include "open--secontext.c" -Index: strace-5.7/tests/openat--secontext_full.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ strace-5.7/tests/openat--secontext_full.c 2021-08-24 21:08:43.303245621 +0200 -@@ -0,0 +1,2 @@ -+#define PRINT_SECONTEXT_FULL -+#include "openat--secontext.c" -Index: strace-5.7/config.h.in -=================================================================== ---- strace-5.7.orig/config.h.in 2021-08-24 21:08:35.510311579 +0200 -+++ strace-5.7/config.h.in 2021-08-24 21:08:43.304245612 +0200 -@@ -36,6 +36,9 @@ - /* Define to 1 if you want OABI support on ARM EABI. */ - #undef ENABLE_ARM_OABI - -+/* Define to enable SELinux security contexts support */ -+#undef ENABLE_SECONTEXT -+ - /* Define to enable stack tracing support */ - #undef ENABLE_STACKTRACE - -@@ -2253,6 +2256,12 @@ - /* Define to 1 if you have the header file. */ - #undef HAVE_SCSI_SG_H - -+/* Define to enable SELinux security contexts testing */ -+#undef HAVE_SELINUX_RUNTIME -+ -+/* Define to 1 if you have the header file. */ -+#undef HAVE_SELINUX_SELINUX_H -+ - /* Define to 1 if `si_overrun' is a member of `siginfo_t'. */ - #undef HAVE_SIGINFO_T_SI_OVERRUN - -Index: strace-5.7/configure -=================================================================== ---- strace-5.7.orig/configure 2021-08-24 17:01:46.714990240 +0200 -+++ strace-5.7/configure 2021-08-24 21:08:43.315245519 +0200 -@@ -641,10 +641,14 @@ - VALGRIND - HAVE_MX32_MPERS_FALSE - HAVE_MX32_MPERS_TRUE -+HAVE_MX32_SELINUX_RUNTIME_FALSE -+HAVE_MX32_SELINUX_RUNTIME_TRUE - HAVE_MX32_RUNTIME_FALSE - HAVE_MX32_RUNTIME_TRUE - HAVE_M32_MPERS_FALSE - HAVE_M32_MPERS_TRUE -+HAVE_M32_SELINUX_RUNTIME_FALSE -+HAVE_M32_SELINUX_RUNTIME_TRUE - HAVE_M32_RUNTIME_FALSE - HAVE_M32_RUNTIME_TRUE - CFLAGS_FOR_MX32 -@@ -655,6 +659,13 @@ - CPPFLAGS_FOR_M32 - CPP_FOR_M32 - CC_FOR_M32 -+HAVE_SELINUX_RUNTIME_FALSE -+HAVE_SELINUX_RUNTIME_TRUE -+ENABLE_SECONTEXT_FALSE -+ENABLE_SECONTEXT_TRUE -+libselinux_CPPFLAGS -+libselinux_LDFLAGS -+libselinux_LIBS - USE_DEMANGLE_FALSE - USE_DEMANGLE_TRUE - libiberty_CPPFLAGS -@@ -827,6 +838,7 @@ - with_libdw - with_libunwind - with_libiberty -+with_libselinux - enable_mpers - enable_valgrind - enable_valgrind_memcheck -@@ -1498,6 +1510,7 @@ - - --with-libunwind use libunwind to implement stack tracing support - --with-libiberty use libiberty to demangle symbols in stack trace -+ --with-libselinux use libselinux to collect security contexts - - Some influential environment variables: - CC C compiler command -@@ -22728,6 +22741,203 @@ - - - -+ -+libselinux_CPPFLAGS= -+libselinux_LDFLAGS= -+libselinux_LIBS= -+enable_secontext=no -+ -+ -+# Check whether --with-libselinux was given. -+if test "${with_libselinux+set}" = set; then : -+ withval=$with_libselinux; case "${withval}" in -+ yes|no|check) ;; -+ *) with_libselinux=yes -+ libselinux_CPPFLAGS="-I${withval}/include" -+ libselinux_LDFLAGS="-L${withval}/lib" ;; -+ esac -+else -+ with_libselinux=check -+ -+fi -+ -+ -+if test "x$with_libselinux" != xno; then : -+ saved_CPPFLAGS="$CPPFLAGS" -+ CPPFLAGS="$CPPFLAGS $libselinux_CPPFLAGS" -+ found_selinux_h=no -+ for ac_header in selinux/selinux.h -+do : -+ ac_fn_c_check_header_mongrel "$LINENO" "selinux/selinux.h" "ac_cv_header_selinux_selinux_h" "$ac_includes_default" -+if test "x$ac_cv_header_selinux_selinux_h" = xyes; then : -+ cat >>confdefs.h <<_ACEOF -+#define HAVE_SELINUX_SELINUX_H 1 -+_ACEOF -+ found_selinux_h=yes -+fi -+ -+done -+ -+ CPPFLAGS="$saved_CPPFLAGS" -+ if test "x$found_selinux_h" = xyes; then : -+ saved_LDFLAGS="$LDFLAGS" -+ LDFLAGS="$LDFLAGS $libselinux_LDFLAGS" -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getpidcon in -lselinux" >&5 -+$as_echo_n "checking for getpidcon in -lselinux... " >&6; } -+if ${ac_cv_lib_selinux_getpidcon+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ ac_check_lib_save_LIBS=$LIBS -+LIBS="-lselinux $LIBS" -+cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ -+ -+/* Override any GCC internal prototype to avoid an error. -+ Use char because int might match the return type of a GCC -+ builtin and then its argument prototype would still apply. */ -+#ifdef __cplusplus -+extern "C" -+#endif -+char getpidcon (); -+int -+main () -+{ -+return getpidcon (); -+ ; -+ return 0; -+} -+_ACEOF -+if ac_fn_c_try_link "$LINENO"; then : -+ ac_cv_lib_selinux_getpidcon=yes -+else -+ ac_cv_lib_selinux_getpidcon=no -+fi -+rm -f core conftest.err conftest.$ac_objext \ -+ conftest$ac_exeext conftest.$ac_ext -+LIBS=$ac_check_lib_save_LIBS -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_selinux_getpidcon" >&5 -+$as_echo "$ac_cv_lib_selinux_getpidcon" >&6; } -+if test "x$ac_cv_lib_selinux_getpidcon" = xyes; then : -+ libselinux_LIBS="-lselinux" -+ enable_secontext=yes -+ -+else -+ if test "x$with_libselinux" != xcheck; then -+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -+as_fn_error $? "failed to find getpidcon in libselinux -+See \`config.log' for more details" "$LINENO" 5; } -+ fi -+ -+ -+fi -+ -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getfilecon in -lselinux" >&5 -+$as_echo_n "checking for getfilecon in -lselinux... " >&6; } -+if ${ac_cv_lib_selinux_getfilecon+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ ac_check_lib_save_LIBS=$LIBS -+LIBS="-lselinux $LIBS" -+cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ -+ -+/* Override any GCC internal prototype to avoid an error. -+ Use char because int might match the return type of a GCC -+ builtin and then its argument prototype would still apply. */ -+#ifdef __cplusplus -+extern "C" -+#endif -+char getfilecon (); -+int -+main () -+{ -+return getfilecon (); -+ ; -+ return 0; -+} -+_ACEOF -+if ac_fn_c_try_link "$LINENO"; then : -+ ac_cv_lib_selinux_getfilecon=yes -+else -+ ac_cv_lib_selinux_getfilecon=no -+fi -+rm -f core conftest.err conftest.$ac_objext \ -+ conftest$ac_exeext conftest.$ac_ext -+LIBS=$ac_check_lib_save_LIBS -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_selinux_getfilecon" >&5 -+$as_echo "$ac_cv_lib_selinux_getfilecon" >&6; } -+if test "x$ac_cv_lib_selinux_getfilecon" = xyes; then : -+ libselinux_LIBS="-lselinux" -+ enable_secontext=yes -+ -+else -+ if test "x$with_libselinux" != xcheck; then -+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -+as_fn_error $? "failed to find getfilecon in libselinux -+See \`config.log' for more details" "$LINENO" 5; } -+ fi -+ -+ -+fi -+ -+ LDFLAGS="$saved_LDFLAGS" -+ -+else -+ if test "x$with_libselinux" != xcheck; then -+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -+as_fn_error $? "failed to find selinux.h -+See \`config.log' for more details" "$LINENO" 5; } -+ fi -+ -+ -+fi -+ -+ -+fi -+ -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable security contexts support" >&5 -+$as_echo_n "checking whether to enable security contexts support... " >&6; } -+if test "x$enable_secontext" = xyes; then : -+ -+$as_echo "#define ENABLE_SECONTEXT 1" >>confdefs.h -+ -+ -+$as_echo "#define HAVE_SELINUX_RUNTIME 1" >>confdefs.h -+ -+ -+ -+ -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -+$as_echo "yes" >&6; } -+else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+$as_echo "no" >&6; } -+fi -+ -+ if test "x$enable_secontext" = xyes; then -+ ENABLE_SECONTEXT_TRUE= -+ ENABLE_SECONTEXT_FALSE='#' -+else -+ ENABLE_SECONTEXT_TRUE='#' -+ ENABLE_SECONTEXT_FALSE= -+fi -+ -+ if test "x$enable_secontext" = xyes; then -+ HAVE_SELINUX_RUNTIME_TRUE= -+ HAVE_SELINUX_RUNTIME_FALSE='#' -+else -+ HAVE_SELINUX_RUNTIME_TRUE='#' -+ HAVE_SELINUX_RUNTIME_FALSE= -+fi -+ -+ -+ -+ - if test "$arch" = mips && test "$no_create" != yes; then - mkdir -p linux/mips - if $srcdir/linux/mips/genstub.sh \ -@@ -22839,6 +23049,8 @@ - - - -+ -+ - if test -n "${CC+set}"; then : - st_saved_CC="${CC}"; unset CC - fi -@@ -22964,6 +23176,47 @@ - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $st_cv_m32_mpers" >&5 - $as_echo "$st_cv_m32_mpers" >&6; } -+ if test "x$enable_secontext$st_cv_m32_mpers$st_cv_m32_runtime" = xyesyesyes; then : -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether selinux runtime works with m32 personality" >&5 -+$as_echo_n "checking whether selinux runtime works with m32 personality... " >&6; } -+if ${st_cv_m32_selinux_runtime+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ saved_CPPFLAGS="$CPPFLAGS" -+ saved_LDFLAGS="$LDFLAGS_FOR_M32" -+ saved_LIBS="$LIBS" -+ CPPFLAGS="$CPPFLAGS $libselinux_CPPFLAGS" -+ LDFLAGS_FOR_M32="$LDFLAGS_FOR_M32 $libselinux_LDFLAGS" -+ LIBS="$LIBS $libselinux_LIBS" -+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ -+#include -+int -+main () -+{ -+return 0 -+ ; -+ return 0; -+} -+_ACEOF -+if ac_fn_c_try_link "$LINENO"; then : -+ st_cv_m32_selinux_runtime=yes -+else -+ st_cv_m32_selinux_runtime=no -+fi -+rm -f core conftest.err conftest.$ac_objext \ -+ conftest$ac_exeext conftest.$ac_ext -+ LIBS="$saved_LIBS" -+ LDFLAGS_FOR_M32="$saved_LDFLAGS" -+ CPPFLAGS="$saved_CPPFLAGS" -+ -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $st_cv_m32_selinux_runtime" >&5 -+$as_echo "$st_cv_m32_selinux_runtime" >&6; } -+ -+else -+ st_cv_m32_selinux_runtime=no -+fi - if test $st_cv_m32_mpers = yes; then - - $as_echo "#define HAVE_M32_MPERS 1" >>confdefs.h -@@ -23387,6 +23640,7 @@ - *) # case "$enable_mpers" - st_cv_m32_runtime=no - st_cv_m32_mpers=no -+ st_cv_m32_selinux_runtime=no - ;; - esac - -@@ -23418,6 +23672,14 @@ - HAVE_M32_RUNTIME_FALSE= - fi - -+ if test "$st_cv_m32_mpers$st_cv_m32_selinux_runtime" = yesyes; then -+ HAVE_M32_SELINUX_RUNTIME_TRUE= -+ HAVE_M32_SELINUX_RUNTIME_FALSE='#' -+else -+ HAVE_M32_SELINUX_RUNTIME_TRUE='#' -+ HAVE_M32_SELINUX_RUNTIME_FALSE= -+fi -+ - if test "$st_cv_m32_mpers" = yes; then - HAVE_M32_MPERS_TRUE= - HAVE_M32_MPERS_FALSE='#' -@@ -23467,6 +23729,10 @@ - - - -+ -+ -+ -+ - if test -n "${CC+set}"; then : - st_saved_CC="${CC}"; unset CC - fi -@@ -23592,6 +23858,47 @@ - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $st_cv_mx32_mpers" >&5 - $as_echo "$st_cv_mx32_mpers" >&6; } -+ if test "x$enable_secontext$st_cv_mx32_mpers$st_cv_mx32_runtime" = xyesyesyes; then : -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether selinux runtime works with mx32 personality" >&5 -+$as_echo_n "checking whether selinux runtime works with mx32 personality... " >&6; } -+if ${st_cv_mx32_selinux_runtime+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ saved_CPPFLAGS="$CPPFLAGS" -+ saved_LDFLAGS="$LDFLAGS_FOR_MX32" -+ saved_LIBS="$LIBS" -+ CPPFLAGS="$CPPFLAGS $libselinux_CPPFLAGS" -+ LDFLAGS_FOR_MX32="$LDFLAGS_FOR_MX32 $libselinux_LDFLAGS" -+ LIBS="$LIBS $libselinux_LIBS" -+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ -+#include -+int -+main () -+{ -+return 0 -+ ; -+ return 0; -+} -+_ACEOF -+if ac_fn_c_try_link "$LINENO"; then : -+ st_cv_mx32_selinux_runtime=yes -+else -+ st_cv_mx32_selinux_runtime=no -+fi -+rm -f core conftest.err conftest.$ac_objext \ -+ conftest$ac_exeext conftest.$ac_ext -+ LIBS="$saved_LIBS" -+ LDFLAGS_FOR_MX32="$saved_LDFLAGS" -+ CPPFLAGS="$saved_CPPFLAGS" -+ -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $st_cv_mx32_selinux_runtime" >&5 -+$as_echo "$st_cv_mx32_selinux_runtime" >&6; } -+ -+else -+ st_cv_mx32_selinux_runtime=no -+fi - if test $st_cv_mx32_mpers = yes; then - - $as_echo "#define HAVE_MX32_MPERS 1" >>confdefs.h -@@ -24015,6 +24322,7 @@ - *) # case "$enable_mpers" - st_cv_mx32_runtime=no - st_cv_mx32_mpers=no -+ st_cv_mx32_selinux_runtime=no - ;; - esac - -@@ -24046,6 +24354,14 @@ - HAVE_MX32_RUNTIME_FALSE= - fi - -+ if test "$st_cv_mx32_mpers$st_cv_mx32_selinux_runtime" = yesyes; then -+ HAVE_MX32_SELINUX_RUNTIME_TRUE= -+ HAVE_MX32_SELINUX_RUNTIME_FALSE='#' -+else -+ HAVE_MX32_SELINUX_RUNTIME_TRUE='#' -+ HAVE_MX32_SELINUX_RUNTIME_FALSE= -+fi -+ - if test "$st_cv_mx32_mpers" = yes; then - HAVE_MX32_MPERS_TRUE= - HAVE_MX32_MPERS_FALSE='#' -@@ -24088,6 +24404,8 @@ - - - -+ -+ - # Check whether --enable-valgrind was given. - if test "${enable_valgrind+set}" = set; then : - enableval=$enable_valgrind; enable_valgrind=$enableval -@@ -24659,10 +24977,22 @@ - as_fn_error $? "conditional \"USE_DEMANGLE\" was never defined. - Usually this means the macro was only invoked conditionally." "$LINENO" 5 - fi -+if test -z "${ENABLE_SECONTEXT_TRUE}" && test -z "${ENABLE_SECONTEXT_FALSE}"; then -+ as_fn_error $? "conditional \"ENABLE_SECONTEXT\" was never defined. -+Usually this means the macro was only invoked conditionally." "$LINENO" 5 -+fi -+if test -z "${HAVE_SELINUX_RUNTIME_TRUE}" && test -z "${HAVE_SELINUX_RUNTIME_FALSE}"; then -+ as_fn_error $? "conditional \"HAVE_SELINUX_RUNTIME\" was never defined. -+Usually this means the macro was only invoked conditionally." "$LINENO" 5 -+fi - if test -z "${HAVE_M32_RUNTIME_TRUE}" && test -z "${HAVE_M32_RUNTIME_FALSE}"; then - as_fn_error $? "conditional \"HAVE_M32_RUNTIME\" was never defined. - Usually this means the macro was only invoked conditionally." "$LINENO" 5 - fi -+if test -z "${HAVE_M32_SELINUX_RUNTIME_TRUE}" && test -z "${HAVE_M32_SELINUX_RUNTIME_FALSE}"; then -+ as_fn_error $? "conditional \"HAVE_M32_SELINUX_RUNTIME\" was never defined. -+Usually this means the macro was only invoked conditionally." "$LINENO" 5 -+fi - if test -z "${HAVE_M32_MPERS_TRUE}" && test -z "${HAVE_M32_MPERS_FALSE}"; then - as_fn_error $? "conditional \"HAVE_M32_MPERS\" was never defined. - Usually this means the macro was only invoked conditionally." "$LINENO" 5 -@@ -24671,6 +25001,10 @@ - as_fn_error $? "conditional \"HAVE_MX32_RUNTIME\" was never defined. - Usually this means the macro was only invoked conditionally." "$LINENO" 5 - fi -+if test -z "${HAVE_MX32_SELINUX_RUNTIME_TRUE}" && test -z "${HAVE_MX32_SELINUX_RUNTIME_FALSE}"; then -+ as_fn_error $? "conditional \"HAVE_MX32_SELINUX_RUNTIME\" was never defined. -+Usually this means the macro was only invoked conditionally." "$LINENO" 5 -+fi - if test -z "${HAVE_MX32_MPERS_TRUE}" && test -z "${HAVE_MX32_MPERS_FALSE}"; then - as_fn_error $? "conditional \"HAVE_MX32_MPERS\" was never defined. - Usually this means the macro was only invoked conditionally." "$LINENO" 5 diff --git a/SOURCES/0155-m4-mpers.m4-generate-HAVE_-_SELINUX_RUNTIME-config-d.patch b/SOURCES/0155-m4-mpers.m4-generate-HAVE_-_SELINUX_RUNTIME-config-d.patch index 7eb61f1..d7f05d3 100644 --- a/SOURCES/0155-m4-mpers.m4-generate-HAVE_-_SELINUX_RUNTIME-config-d.patch +++ b/SOURCES/0155-m4-mpers.m4-generate-HAVE_-_SELINUX_RUNTIME-config-d.patch @@ -32,10 +32,10 @@ Index: strace-5.7/m4/mpers.m4 fi CPPFLAGS="$saved_CPPFLAGS" CFLAGS="$saved_CFLAGS" -Index: strace-5.7/config.h.in +Index: strace-5.7/src/config.h.in =================================================================== ---- strace-5.7.orig/config.h.in 2021-08-24 21:08:43.304245612 +0200 -+++ strace-5.7/config.h.in 2021-08-24 21:26:07.437408141 +0200 +--- strace-5.7.orig/src/config.h.in 2021-08-24 21:08:43.304245612 +0200 ++++ strace-5.7/src/config.h.in 2021-08-24 21:26:07.437408141 +0200 @@ -2181,6 +2181,9 @@ /* Define to 1 if you have mpers_name mpers support */ #undef HAVE_M32_MPERS @@ -60,7 +60,7 @@ Index: strace-5.7/configure =================================================================== --- strace-5.7.orig/configure 2021-08-24 21:08:43.315245519 +0200 +++ strace-5.7/configure 2021-08-24 21:26:07.439408124 +0200 -@@ -23632,6 +23632,11 @@ +@@ -19317,6 +19217,11 @@ fi fi @@ -72,7 +72,7 @@ Index: strace-5.7/configure fi CPPFLAGS="$saved_CPPFLAGS" CFLAGS="$saved_CFLAGS" -@@ -24314,6 +24319,11 @@ +@@ -20001,6 +20006,11 @@ fi fi diff --git a/SOURCES/0156-Introduce-GLIBC_PREREQ_GE-and-GLIBC_PREREQ_LT-macros.patch b/SOURCES/0156-Introduce-GLIBC_PREREQ_GE-and-GLIBC_PREREQ_LT-macros.patch deleted file mode 100644 index 0ad0eef..0000000 --- a/SOURCES/0156-Introduce-GLIBC_PREREQ_GE-and-GLIBC_PREREQ_LT-macros.patch +++ /dev/null @@ -1,209 +0,0 @@ -From 21bbf3a53b8be9b3fe90bcdb66c7ded35bc3e344 Mon Sep 17 00:00:00 2001 -From: "Dmitry V. Levin" -Date: Sat, 12 Sep 2020 08:00:00 +0000 -Subject: [PATCH 156/162] Introduce GLIBC_PREREQ_GE and GLIBC_PREREQ_LT macros - -* gcc_compat.h (GLIBC_PREREQ_GE, GLIBC_PREREQ_LT): New macros. -* tests/ipc_msg.c: Use GLIBC_PREREQ_LT instead of manual checking -for __GLIBC__ and __GLIBC_MINOR__. -* tests/readahead.c: Likewise. ---- - gcc_compat.h | 15 +++++++++++++++ - tests/ipc_msg.c | 9 +++------ - tests/readahead.c | 16 ++++++---------- - 3 files changed, 24 insertions(+), 16 deletions(-) - -diff --git a/gcc_compat.h b/gcc_compat.h -index 0525b5e..4c23ebc 100644 ---- a/gcc_compat.h -+++ b/gcc_compat.h -@@ -23,6 +23,21 @@ - # define CLANG_PREREQ(maj, min) 0 - # endif - -+# ifdef __GLIBC__ -+# ifdef __GLIBC_MINOR__ -+# define GLIBC_PREREQ_GE(maj, min) \ -+ ((__GLIBC__ << 16) + __GLIBC_MINOR__ >= ((maj) << 16) + (min)) -+# define GLIBC_PREREQ_LT(maj, min) \ -+ ((__GLIBC__ << 16) + __GLIBC_MINOR__ < ((maj) << 16) + (min)) -+# else /* !__GLIBC_MINOR__ */ -+# define GLIBC_PREREQ_GE(maj, min) 0 -+# define GLIBC_PREREQ_LT(maj, min) 1 -+# endif -+# else /* !__GLIBC__ */ -+# define GLIBC_PREREQ_GE(maj, min) 0 -+# define GLIBC_PREREQ_LT(maj, min) 0 -+# endif -+ - # if !(GNUC_PREREQ(2, 0) || CLANG_PREREQ(1, 0)) - # define __attribute__(x) /* empty */ - # endif -diff --git a/tests/ipc_msg.c b/tests/ipc_msg.c -index 63bdd77..dd0f303 100644 ---- a/tests/ipc_msg.c -+++ b/tests/ipc_msg.c -@@ -26,12 +26,9 @@ - * which led to segmentation fault. - */ - #undef TEST_MSGCTL_BOGUS_ADDR --#if defined __GLIBC__ && (defined POWERPC64 || defined POWERPC64LE) --# if !(defined __GLIBC_MINOR__) \ -- || ((__GLIBC__ << 16) + __GLIBC_MINOR__ < (2 << 16) + 23) --# define TEST_MSGCTL_BOGUS_ADDR 0 --# endif --#endif /* __GLIBC__ && (POWERPC64 || POWERPC64LE) */ -+#if GLIBC_PREREQ_LT(2, 23) && (defined POWERPC64 || defined POWERPC64LE) -+# define TEST_MSGCTL_BOGUS_ADDR 0 -+#endif - - #ifndef TEST_MSGCTL_BOGUS_ADDR - # define TEST_MSGCTL_BOGUS_ADDR 1 -diff --git a/tests/readahead.c b/tests/readahead.c -index 86d09b0..6f4b81e 100644 ---- a/tests/readahead.c -+++ b/tests/readahead.c -@@ -11,24 +11,20 @@ - - #ifdef HAVE_READAHEAD - /* Check for glibc readahead argument passing bugs. */ --# ifdef __GLIBC__ - /* - * glibc < 2.8 had an incorrect order of higher and lower parts of offset, - * see https://sourceware.org/bugzilla/show_bug.cgi?id=5208 - */ --# if !(defined __GLIBC_MINOR__ && \ -- (__GLIBC__ << 16) + __GLIBC_MINOR__ >= (2 << 16) + 8) --# undef HAVE_READAHEAD --# endif /* glibc < 2.8 */ -+# if GLIBC_PREREQ_LT(2, 8) -+# undef HAVE_READAHEAD -+# endif /* glibc < 2.8 */ - /* - * glibc < 2.25 had an incorrect implementation on mips n64, - * see https://sourceware.org/bugzilla/show_bug.cgi?id=21026 - */ --# if defined LINUX_MIPSN64 && !(defined __GLIBC_MINOR__ && \ -- (__GLIBC__ << 16) + __GLIBC_MINOR__ >= (2 << 16) + 25) --# undef HAVE_READAHEAD --# endif /* LINUX_MIPSN64 && glibc < 2.25 */ --# endif /* __GLIBC__ */ -+# if GLIBC_PREREQ_LT(2, 25) && defined LINUX_MIPSN64 -+# undef HAVE_READAHEAD -+# endif /* LINUX_MIPSN64 && glibc < 2.25 */ - #endif /* HAVE_READAHEAD */ - - #ifdef HAVE_READAHEAD -diff --git a/tests-m32/ipc_msg.c b/tests-m32/ipc_msg.c -index 63bdd77..dd0f303 100644 ---- a/tests-m32/ipc_msg.c -+++ b/tests-m32/ipc_msg.c -@@ -26,12 +26,9 @@ - * which led to segmentation fault. - */ - #undef TEST_MSGCTL_BOGUS_ADDR --#if defined __GLIBC__ && (defined POWERPC64 || defined POWERPC64LE) --# if !(defined __GLIBC_MINOR__) \ -- || ((__GLIBC__ << 16) + __GLIBC_MINOR__ < (2 << 16) + 23) --# define TEST_MSGCTL_BOGUS_ADDR 0 --# endif --#endif /* __GLIBC__ && (POWERPC64 || POWERPC64LE) */ -+#if GLIBC_PREREQ_LT(2, 23) && (defined POWERPC64 || defined POWERPC64LE) -+# define TEST_MSGCTL_BOGUS_ADDR 0 -+#endif - - #ifndef TEST_MSGCTL_BOGUS_ADDR - # define TEST_MSGCTL_BOGUS_ADDR 1 -diff --git a/tests-m32/readahead.c b/tests-m32/readahead.c -index 86d09b0..6f4b81e 100644 ---- a/tests-m32/readahead.c -+++ b/tests-m32/readahead.c -@@ -11,24 +11,20 @@ - - #ifdef HAVE_READAHEAD - /* Check for glibc readahead argument passing bugs. */ --# ifdef __GLIBC__ - /* - * glibc < 2.8 had an incorrect order of higher and lower parts of offset, - * see https://sourceware.org/bugzilla/show_bug.cgi?id=5208 - */ --# if !(defined __GLIBC_MINOR__ && \ -- (__GLIBC__ << 16) + __GLIBC_MINOR__ >= (2 << 16) + 8) --# undef HAVE_READAHEAD --# endif /* glibc < 2.8 */ -+# if GLIBC_PREREQ_LT(2, 8) -+# undef HAVE_READAHEAD -+# endif /* glibc < 2.8 */ - /* - * glibc < 2.25 had an incorrect implementation on mips n64, - * see https://sourceware.org/bugzilla/show_bug.cgi?id=21026 - */ --# if defined LINUX_MIPSN64 && !(defined __GLIBC_MINOR__ && \ -- (__GLIBC__ << 16) + __GLIBC_MINOR__ >= (2 << 16) + 25) --# undef HAVE_READAHEAD --# endif /* LINUX_MIPSN64 && glibc < 2.25 */ --# endif /* __GLIBC__ */ -+# if GLIBC_PREREQ_LT(2, 25) && defined LINUX_MIPSN64 -+# undef HAVE_READAHEAD -+# endif /* LINUX_MIPSN64 && glibc < 2.25 */ - #endif /* HAVE_READAHEAD */ - - #ifdef HAVE_READAHEAD -diff --git a/tests-mx32/ipc_msg.c b/tests-mx32/ipc_msg.c -index 63bdd77..dd0f303 100644 ---- a/tests-mx32/ipc_msg.c -+++ b/tests-mx32/ipc_msg.c -@@ -26,12 +26,9 @@ - * which led to segmentation fault. - */ - #undef TEST_MSGCTL_BOGUS_ADDR --#if defined __GLIBC__ && (defined POWERPC64 || defined POWERPC64LE) --# if !(defined __GLIBC_MINOR__) \ -- || ((__GLIBC__ << 16) + __GLIBC_MINOR__ < (2 << 16) + 23) --# define TEST_MSGCTL_BOGUS_ADDR 0 --# endif --#endif /* __GLIBC__ && (POWERPC64 || POWERPC64LE) */ -+#if GLIBC_PREREQ_LT(2, 23) && (defined POWERPC64 || defined POWERPC64LE) -+# define TEST_MSGCTL_BOGUS_ADDR 0 -+#endif - - #ifndef TEST_MSGCTL_BOGUS_ADDR - # define TEST_MSGCTL_BOGUS_ADDR 1 -diff --git a/tests-mx32/readahead.c b/tests-mx32/readahead.c -index 86d09b0..6f4b81e 100644 ---- a/tests-mx32/readahead.c -+++ b/tests-mx32/readahead.c -@@ -11,24 +11,20 @@ - - #ifdef HAVE_READAHEAD - /* Check for glibc readahead argument passing bugs. */ --# ifdef __GLIBC__ - /* - * glibc < 2.8 had an incorrect order of higher and lower parts of offset, - * see https://sourceware.org/bugzilla/show_bug.cgi?id=5208 - */ --# if !(defined __GLIBC_MINOR__ && \ -- (__GLIBC__ << 16) + __GLIBC_MINOR__ >= (2 << 16) + 8) --# undef HAVE_READAHEAD --# endif /* glibc < 2.8 */ -+# if GLIBC_PREREQ_LT(2, 8) -+# undef HAVE_READAHEAD -+# endif /* glibc < 2.8 */ - /* - * glibc < 2.25 had an incorrect implementation on mips n64, - * see https://sourceware.org/bugzilla/show_bug.cgi?id=21026 - */ --# if defined LINUX_MIPSN64 && !(defined __GLIBC_MINOR__ && \ -- (__GLIBC__ << 16) + __GLIBC_MINOR__ >= (2 << 16) + 25) --# undef HAVE_READAHEAD --# endif /* LINUX_MIPSN64 && glibc < 2.25 */ --# endif /* __GLIBC__ */ -+# if GLIBC_PREREQ_LT(2, 25) && defined LINUX_MIPSN64 -+# undef HAVE_READAHEAD -+# endif /* LINUX_MIPSN64 && glibc < 2.25 */ - #endif /* HAVE_READAHEAD */ - - #ifdef HAVE_READAHEAD --- -2.1.4 - diff --git a/SOURCES/0157-tests-ipc_msg.c-disable-TEST_MSGCTL_BOGUS_ADDR-on-gl.patch b/SOURCES/0157-tests-ipc_msg.c-disable-TEST_MSGCTL_BOGUS_ADDR-on-gl.patch deleted file mode 100644 index 351693a..0000000 --- a/SOURCES/0157-tests-ipc_msg.c-disable-TEST_MSGCTL_BOGUS_ADDR-on-gl.patch +++ /dev/null @@ -1,103 +0,0 @@ -From af1e2888699afc985d7f354b875c517531dff4ea Mon Sep 17 00:00:00 2001 -From: "Dmitry V. Levin" -Date: Sat, 12 Sep 2020 08:00:00 +0000 -Subject: [PATCH 157/162] tests/ipc_msg.c: disable TEST_MSGCTL_BOGUS_ADDR on - glibc >= 2.32 - -Starting with commit glibc-2.32~83, on every 32-bit architecture where -32-bit time_t support is enabled, glibc tries to retrieve the data -provided in the third argument of msgctl call. This results to -segfaults inside glibc if TEST_MSGCTL_BOGUS_ADDR is enabled. - -* tests/ipc_msg.c [GLIBC_PREREQ_GE(2, 32) && __TIMESIZE != 64] -(TEST_MSGCTL_BOGUS_ADDR): Define to 0. - -Reported-by: Ruinland ChuanTzu Tsai ---- - tests/ipc_msg.c | 11 ++++++++++- - 1 file changed, 10 insertions(+), 1 deletion(-) - -diff --git a/tests/ipc_msg.c b/tests/ipc_msg.c -index dd0f303..3ab8b90 100644 ---- a/tests/ipc_msg.c -+++ b/tests/ipc_msg.c -@@ -20,12 +20,21 @@ - # define MSG_STAT_ANY 13 - #endif - -+#undef TEST_MSGCTL_BOGUS_ADDR -+ -+/* -+ * Starting with commit glibc-2.32~83, on every 32-bit architecture -+ * where 32-bit time_t support is enabled, glibc tries to retrieve -+ * the data provided in the third argument of msgctl call. -+ */ -+#if GLIBC_PREREQ_GE(2, 32) && defined __TIMESIZE && __TIMESIZE != 64 -+# define TEST_MSGCTL_BOGUS_ADDR 0 -+#endif - /* - * Before glibc-2.22-122-gbe48165, ppc64 code tried to retrieve data - * provided in third argument of msgctl call (in case of IPC_SET cmd) - * which led to segmentation fault. - */ --#undef TEST_MSGCTL_BOGUS_ADDR - #if GLIBC_PREREQ_LT(2, 23) && (defined POWERPC64 || defined POWERPC64LE) - # define TEST_MSGCTL_BOGUS_ADDR 0 - #endif -diff --git a/tests-m32/ipc_msg.c b/tests-m32/ipc_msg.c -index dd0f303..3ab8b90 100644 ---- a/tests-m32/ipc_msg.c -+++ b/tests-m32/ipc_msg.c -@@ -20,12 +20,21 @@ - # define MSG_STAT_ANY 13 - #endif - -+#undef TEST_MSGCTL_BOGUS_ADDR -+ -+/* -+ * Starting with commit glibc-2.32~83, on every 32-bit architecture -+ * where 32-bit time_t support is enabled, glibc tries to retrieve -+ * the data provided in the third argument of msgctl call. -+ */ -+#if GLIBC_PREREQ_GE(2, 32) && defined __TIMESIZE && __TIMESIZE != 64 -+# define TEST_MSGCTL_BOGUS_ADDR 0 -+#endif - /* - * Before glibc-2.22-122-gbe48165, ppc64 code tried to retrieve data - * provided in third argument of msgctl call (in case of IPC_SET cmd) - * which led to segmentation fault. - */ --#undef TEST_MSGCTL_BOGUS_ADDR - #if GLIBC_PREREQ_LT(2, 23) && (defined POWERPC64 || defined POWERPC64LE) - # define TEST_MSGCTL_BOGUS_ADDR 0 - #endif -diff --git a/tests-mx32/ipc_msg.c b/tests-mx32/ipc_msg.c -index dd0f303..3ab8b90 100644 ---- a/tests-mx32/ipc_msg.c -+++ b/tests-mx32/ipc_msg.c -@@ -20,12 +20,21 @@ - # define MSG_STAT_ANY 13 - #endif - -+#undef TEST_MSGCTL_BOGUS_ADDR -+ -+/* -+ * Starting with commit glibc-2.32~83, on every 32-bit architecture -+ * where 32-bit time_t support is enabled, glibc tries to retrieve -+ * the data provided in the third argument of msgctl call. -+ */ -+#if GLIBC_PREREQ_GE(2, 32) && defined __TIMESIZE && __TIMESIZE != 64 -+# define TEST_MSGCTL_BOGUS_ADDR 0 -+#endif - /* - * Before glibc-2.22-122-gbe48165, ppc64 code tried to retrieve data - * provided in third argument of msgctl call (in case of IPC_SET cmd) - * which led to segmentation fault. - */ --#undef TEST_MSGCTL_BOGUS_ADDR - #if GLIBC_PREREQ_LT(2, 23) && (defined POWERPC64 || defined POWERPC64LE) - # define TEST_MSGCTL_BOGUS_ADDR 0 - #endif --- -2.1.4 - diff --git a/SOURCES/0158-tests-disable-TEST_MSGCTL_BOGUS_ADDR-in-ipc_msg-test.patch b/SOURCES/0158-tests-disable-TEST_MSGCTL_BOGUS_ADDR-in-ipc_msg-test.patch deleted file mode 100644 index 1832a5f..0000000 --- a/SOURCES/0158-tests-disable-TEST_MSGCTL_BOGUS_ADDR-in-ipc_msg-test.patch +++ /dev/null @@ -1,89 +0,0 @@ -From b4623939316807928680913ece9a6cefc23a73b2 Mon Sep 17 00:00:00 2001 -From: "Dmitry V. Levin" -Date: Tue, 10 Nov 2020 08:00:00 +0000 -Subject: [PATCH 158/162] tests: disable TEST_MSGCTL_BOGUS_ADDR in ipc_msg test - on glibc >= 2.31 - -Starting with commit glibc-2.31~358, on every architecture where -__ASSUME_SYSVIPC_BROKEN_MODE_T is defined, glibc tries to modify the -data provided in the third argument of msgctl call. This results -to segfaults inside glibc if TEST_MSGCTL_BOGUS_ADDR is enabled. - -* tests/ipc_msg.c [GLIBC_PREREQ_GE(2, 31) && (__m68k__ || __s390__ || -(WORDS_BIGENDIAN && (__arm__ || __microblaze__ || __sh__)))] -(TEST_MSGCTL_BOGUS_ADDR): Define to 0. - -Reported-by: Sven Schnelle ---- - tests/ipc_msg.c | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -diff --git a/tests/ipc_msg.c b/tests/ipc_msg.c -index 3ab8b90..f7c36cd 100644 ---- a/tests/ipc_msg.c -+++ b/tests/ipc_msg.c -@@ -31,6 +31,17 @@ - # define TEST_MSGCTL_BOGUS_ADDR 0 - #endif - /* -+ * Starting with commit glibc-2.31~358, on every architecture where -+ * __ASSUME_SYSVIPC_BROKEN_MODE_T is defined, glibc tries to modify -+ * the data provided in the third argument of msgctl call. -+ */ -+#if GLIBC_PREREQ_GE(2, 31) && \ -+ (defined __m68k__ || defined __s390__ || \ -+ (WORDS_BIGENDIAN && \ -+ (defined __arm__ || defined __microblaze__ || defined __sh__))) -+# define TEST_MSGCTL_BOGUS_ADDR 0 -+#endif -+/* - * Before glibc-2.22-122-gbe48165, ppc64 code tried to retrieve data - * provided in third argument of msgctl call (in case of IPC_SET cmd) - * which led to segmentation fault. -diff --git a/tests-m32/ipc_msg.c b/tests-m32/ipc_msg.c -index 3ab8b90..f7c36cd 100644 ---- a/tests-m32/ipc_msg.c -+++ b/tests-m32/ipc_msg.c -@@ -31,6 +31,17 @@ - # define TEST_MSGCTL_BOGUS_ADDR 0 - #endif - /* -+ * Starting with commit glibc-2.31~358, on every architecture where -+ * __ASSUME_SYSVIPC_BROKEN_MODE_T is defined, glibc tries to modify -+ * the data provided in the third argument of msgctl call. -+ */ -+#if GLIBC_PREREQ_GE(2, 31) && \ -+ (defined __m68k__ || defined __s390__ || \ -+ (WORDS_BIGENDIAN && \ -+ (defined __arm__ || defined __microblaze__ || defined __sh__))) -+# define TEST_MSGCTL_BOGUS_ADDR 0 -+#endif -+/* - * Before glibc-2.22-122-gbe48165, ppc64 code tried to retrieve data - * provided in third argument of msgctl call (in case of IPC_SET cmd) - * which led to segmentation fault. -diff --git a/tests-mx32/ipc_msg.c b/tests-mx32/ipc_msg.c -index 3ab8b90..f7c36cd 100644 ---- a/tests-mx32/ipc_msg.c -+++ b/tests-mx32/ipc_msg.c -@@ -31,6 +31,17 @@ - # define TEST_MSGCTL_BOGUS_ADDR 0 - #endif - /* -+ * Starting with commit glibc-2.31~358, on every architecture where -+ * __ASSUME_SYSVIPC_BROKEN_MODE_T is defined, glibc tries to modify -+ * the data provided in the third argument of msgctl call. -+ */ -+#if GLIBC_PREREQ_GE(2, 31) && \ -+ (defined __m68k__ || defined __s390__ || \ -+ (WORDS_BIGENDIAN && \ -+ (defined __arm__ || defined __microblaze__ || defined __sh__))) -+# define TEST_MSGCTL_BOGUS_ADDR 0 -+#endif -+/* - * Before glibc-2.22-122-gbe48165, ppc64 code tried to retrieve data - * provided in third argument of msgctl call (in case of IPC_SET cmd) - * which led to segmentation fault. --- -2.1.4 - diff --git a/SOURCES/0159-tests-disable-tests-for-invalid-msgctl-commands-on-g.patch b/SOURCES/0159-tests-disable-tests-for-invalid-msgctl-commands-on-g.patch deleted file mode 100644 index 94fe64e..0000000 --- a/SOURCES/0159-tests-disable-tests-for-invalid-msgctl-commands-on-g.patch +++ /dev/null @@ -1,214 +0,0 @@ -From b702ddfd448794f3ac5033c897a07da3de8f5fc7 Mon Sep 17 00:00:00 2001 -From: "Dmitry V. Levin" -Date: Sun, 6 Dec 2020 08:00:00 +0000 -Subject: [PATCH 159/162] tests: disable tests for invalid msgctl commands on - glibc >= 2.32 - -Starting with commit glibc-2.32.9000-149-gbe9b0b9a012780a403a2, -glibc skips msgctl syscall invocations and returns EINVAL -for invalid msgctl commands. - -* tests/ipc_msg.c [GLIBC_PREREQ_GE(2, 32)] (TEST_MSGCTL_BOGUS_CMD): -Define to 0. -[!TEST_MSGCTL_BOGUS_CMD] (TEST_MSGCTL_BOGUS_CMD): Define to 1. -(main) [!TEST_MSGCTL_BOGUS_CMD] (bogus_cmd): Do not define and do not -use. ---- - tests/ipc_msg.c | 21 ++++++++++++++++++++- - 1 file changed, 20 insertions(+), 1 deletion(-) - -diff --git a/tests/ipc_msg.c b/tests/ipc_msg.c -index f7c36cd..6a96a5f 100644 ---- a/tests/ipc_msg.c -+++ b/tests/ipc_msg.c -@@ -21,6 +21,7 @@ - #endif - - #undef TEST_MSGCTL_BOGUS_ADDR -+#undef TEST_MSGCTL_BOGUS_CMD - - /* - * Starting with commit glibc-2.32~83, on every 32-bit architecture -@@ -50,9 +51,21 @@ - # define TEST_MSGCTL_BOGUS_ADDR 0 - #endif - -+/* -+ * Starting with commit glibc-2.32.9000-149-gbe9b0b9a012780a403a2, -+ * glibc skips msgctl syscall invocations and returns EINVAL -+ * for invalid msgctl commands. -+ */ -+#if GLIBC_PREREQ_GE(2, 32) -+# define TEST_MSGCTL_BOGUS_CMD 0 -+#endif -+ - #ifndef TEST_MSGCTL_BOGUS_ADDR - # define TEST_MSGCTL_BOGUS_ADDR 1 - #endif -+#ifndef TEST_MSGCTL_BOGUS_CMD -+# define TEST_MSGCTL_BOGUS_CMD 1 -+#endif - - #if XLAT_RAW - # define str_ipc_excl_nowait "0xface1c00" -@@ -107,12 +120,16 @@ main(void) - static const key_t private_key = - (key_t) (0xffffffff00000000ULL | IPC_PRIVATE); - static const key_t bogus_key = (key_t) 0xeca86420fdb9f531ULL; -+ static const int bogus_flags = 0xface1e55 & ~IPC_CREAT; -+#if TEST_MSGCTL_BOGUS_CMD || TEST_MSGCTL_BOGUS_ADDR - static const int bogus_msgid = 0xfdb97531; -+#endif -+#if TEST_MSGCTL_BOGUS_CMD - static const int bogus_cmd = 0xdeadbeef; -+#endif - #if TEST_MSGCTL_BOGUS_ADDR - static void * const bogus_addr = (void *) -1L; - #endif -- static const int bogus_flags = 0xface1e55 & ~IPC_CREAT; - - int rc; - struct msqid_ds ds; -@@ -129,9 +146,11 @@ main(void) - printf("msgget\\(%s, 0600\\) = %d\n", str_ipc_private, id); - atexit(cleanup); - -+#if TEST_MSGCTL_BOGUS_CMD - rc = msgctl(bogus_msgid, bogus_cmd, NULL); - printf("msgctl\\(%d, (%s\\|)?%s, NULL\\) = %s\n", - bogus_msgid, str_ipc_64, str_bogus_cmd, sprintrc_grep(rc)); -+#endif - - #if TEST_MSGCTL_BOGUS_ADDR - rc = msgctl(bogus_msgid, IPC_SET, bogus_addr); -diff --git a/tests-m32/ipc_msg.c b/tests-m32/ipc_msg.c -index f7c36cd..6a96a5f 100644 ---- a/tests-m32/ipc_msg.c -+++ b/tests-m32/ipc_msg.c -@@ -21,6 +21,7 @@ - #endif - - #undef TEST_MSGCTL_BOGUS_ADDR -+#undef TEST_MSGCTL_BOGUS_CMD - - /* - * Starting with commit glibc-2.32~83, on every 32-bit architecture -@@ -50,9 +51,21 @@ - # define TEST_MSGCTL_BOGUS_ADDR 0 - #endif - -+/* -+ * Starting with commit glibc-2.32.9000-149-gbe9b0b9a012780a403a2, -+ * glibc skips msgctl syscall invocations and returns EINVAL -+ * for invalid msgctl commands. -+ */ -+#if GLIBC_PREREQ_GE(2, 32) -+# define TEST_MSGCTL_BOGUS_CMD 0 -+#endif -+ - #ifndef TEST_MSGCTL_BOGUS_ADDR - # define TEST_MSGCTL_BOGUS_ADDR 1 - #endif -+#ifndef TEST_MSGCTL_BOGUS_CMD -+# define TEST_MSGCTL_BOGUS_CMD 1 -+#endif - - #if XLAT_RAW - # define str_ipc_excl_nowait "0xface1c00" -@@ -107,12 +120,16 @@ main(void) - static const key_t private_key = - (key_t) (0xffffffff00000000ULL | IPC_PRIVATE); - static const key_t bogus_key = (key_t) 0xeca86420fdb9f531ULL; -+ static const int bogus_flags = 0xface1e55 & ~IPC_CREAT; -+#if TEST_MSGCTL_BOGUS_CMD || TEST_MSGCTL_BOGUS_ADDR - static const int bogus_msgid = 0xfdb97531; -+#endif -+#if TEST_MSGCTL_BOGUS_CMD - static const int bogus_cmd = 0xdeadbeef; -+#endif - #if TEST_MSGCTL_BOGUS_ADDR - static void * const bogus_addr = (void *) -1L; - #endif -- static const int bogus_flags = 0xface1e55 & ~IPC_CREAT; - - int rc; - struct msqid_ds ds; -@@ -129,9 +146,11 @@ main(void) - printf("msgget\\(%s, 0600\\) = %d\n", str_ipc_private, id); - atexit(cleanup); - -+#if TEST_MSGCTL_BOGUS_CMD - rc = msgctl(bogus_msgid, bogus_cmd, NULL); - printf("msgctl\\(%d, (%s\\|)?%s, NULL\\) = %s\n", - bogus_msgid, str_ipc_64, str_bogus_cmd, sprintrc_grep(rc)); -+#endif - - #if TEST_MSGCTL_BOGUS_ADDR - rc = msgctl(bogus_msgid, IPC_SET, bogus_addr); -diff --git a/tests-mx32/ipc_msg.c b/tests-mx32/ipc_msg.c -index f7c36cd..6a96a5f 100644 ---- a/tests-mx32/ipc_msg.c -+++ b/tests-mx32/ipc_msg.c -@@ -21,6 +21,7 @@ - #endif - - #undef TEST_MSGCTL_BOGUS_ADDR -+#undef TEST_MSGCTL_BOGUS_CMD - - /* - * Starting with commit glibc-2.32~83, on every 32-bit architecture -@@ -50,9 +51,21 @@ - # define TEST_MSGCTL_BOGUS_ADDR 0 - #endif - -+/* -+ * Starting with commit glibc-2.32.9000-149-gbe9b0b9a012780a403a2, -+ * glibc skips msgctl syscall invocations and returns EINVAL -+ * for invalid msgctl commands. -+ */ -+#if GLIBC_PREREQ_GE(2, 32) -+# define TEST_MSGCTL_BOGUS_CMD 0 -+#endif -+ - #ifndef TEST_MSGCTL_BOGUS_ADDR - # define TEST_MSGCTL_BOGUS_ADDR 1 - #endif -+#ifndef TEST_MSGCTL_BOGUS_CMD -+# define TEST_MSGCTL_BOGUS_CMD 1 -+#endif - - #if XLAT_RAW - # define str_ipc_excl_nowait "0xface1c00" -@@ -107,12 +120,16 @@ main(void) - static const key_t private_key = - (key_t) (0xffffffff00000000ULL | IPC_PRIVATE); - static const key_t bogus_key = (key_t) 0xeca86420fdb9f531ULL; -+ static const int bogus_flags = 0xface1e55 & ~IPC_CREAT; -+#if TEST_MSGCTL_BOGUS_CMD || TEST_MSGCTL_BOGUS_ADDR - static const int bogus_msgid = 0xfdb97531; -+#endif -+#if TEST_MSGCTL_BOGUS_CMD - static const int bogus_cmd = 0xdeadbeef; -+#endif - #if TEST_MSGCTL_BOGUS_ADDR - static void * const bogus_addr = (void *) -1L; - #endif -- static const int bogus_flags = 0xface1e55 & ~IPC_CREAT; - - int rc; - struct msqid_ds ds; -@@ -129,9 +146,11 @@ main(void) - printf("msgget\\(%s, 0600\\) = %d\n", str_ipc_private, id); - atexit(cleanup); - -+#if TEST_MSGCTL_BOGUS_CMD - rc = msgctl(bogus_msgid, bogus_cmd, NULL); - printf("msgctl\\(%d, (%s\\|)?%s, NULL\\) = %s\n", - bogus_msgid, str_ipc_64, str_bogus_cmd, sprintrc_grep(rc)); -+#endif - - #if TEST_MSGCTL_BOGUS_ADDR - rc = msgctl(bogus_msgid, IPC_SET, bogus_addr); --- -2.1.4 - diff --git a/SOURCES/0160-tests-disable-shmctl-IPC_STAT-test-with-a-bogus-addr.patch b/SOURCES/0160-tests-disable-shmctl-IPC_STAT-test-with-a-bogus-addr.patch deleted file mode 100644 index 480848f..0000000 --- a/SOURCES/0160-tests-disable-shmctl-IPC_STAT-test-with-a-bogus-addr.patch +++ /dev/null @@ -1,169 +0,0 @@ -From 8c1a84778bb05a3becc493698b215681bf7249b3 Mon Sep 17 00:00:00 2001 -From: "Dmitry V. Levin" -Date: Sat, 19 Sep 2020 08:00:00 +0000 -Subject: [PATCH 160/162] tests: disable shmctl IPC_STAT test with a bogus - address on glibc >= 2.32 - -Starting with commit glibc-2.32~80, on every 32-bit architecture where -32-bit time_t support is enabled, glibc tries to retrieve the data -provided in the third argument of shmctl call. This results to -segfaults inside glibc when shmctl is called with a bogus address. - -* tests/ipc_shm.c [GLIBC_PREREQ_GE(2, 32) && __TIMESIZE != 64] -(TEST_SHMCTL_BOGUS_ADDR): Define to 0. -(main): Conditionalize on TEST_SHMCTL_BOGUS_ADDR the shmctl IPC_STAT -invocation with a bogus address. ---- - tests/ipc_shm.c | 19 +++++++++++++++++++ - 1 file changed, 19 insertions(+) - -diff --git a/tests/ipc_shm.c b/tests/ipc_shm.c -index 5cd414e..695fd94 100644 ---- a/tests/ipc_shm.c -+++ b/tests/ipc_shm.c -@@ -73,6 +73,21 @@ - # define str_bogus_cmd "0xdefaced2 /\\* SHM_\\?\\?\\? \\*/" - #endif - -+#undef TEST_SHMCTL_BOGUS_ADDR -+ -+/* -+ * Starting with commit glibc-2.32~80, on every 32-bit architecture -+ * where 32-bit time_t support is enabled, glibc tries to retrieve -+ * the data provided in the third argument of shmctl call. -+ */ -+#if GLIBC_PREREQ_GE(2, 32) && defined __TIMESIZE && __TIMESIZE != 64 -+# define TEST_SHMCTL_BOGUS_ADDR 0 -+#endif -+ -+#ifndef TEST_SHMCTL_BOGUS_ADDR -+# define TEST_SHMCTL_BOGUS_ADDR 1 -+#endif -+ - static int id = -1; - - static void -@@ -92,7 +107,9 @@ main(void) - static const key_t bogus_key = (key_t) 0xeca86420fdb97531ULL; - static const int bogus_id = 0xdefaced1; - static const int bogus_cmd = 0xdefaced2; -+#if TEST_SHMCTL_BOGUS_ADDR - static void * const bogus_addr = (void *) -1L; -+#endif - static const size_t bogus_size = - /* - * musl sets size to SIZE_MAX if size argument is greater than -@@ -160,10 +177,12 @@ main(void) - printf("shmctl\\(%d, (%s\\|)?%s, NULL\\) = %s\n", - bogus_id, str_ipc_64, str_bogus_cmd, sprintrc_grep(rc)); - -+#if TEST_SHMCTL_BOGUS_ADDR - rc = shmctl(bogus_id, IPC_STAT, bogus_addr); - printf("shmctl\\(%d, (%s\\|)?%s, %p\\) = %s\n", - bogus_id, str_ipc_64, str_ipc_stat, bogus_addr, - sprintrc_grep(rc)); -+#endif - - if (shmctl(id, IPC_STAT, &ds)) - perror_msg_and_skip("shmctl IPC_STAT"); -diff --git a/tests-m32/ipc_shm.c b/tests-m32/ipc_shm.c -index 5cd414e..695fd94 100644 ---- a/tests-m32/ipc_shm.c -+++ b/tests-m32/ipc_shm.c -@@ -73,6 +73,21 @@ - # define str_bogus_cmd "0xdefaced2 /\\* SHM_\\?\\?\\? \\*/" - #endif - -+#undef TEST_SHMCTL_BOGUS_ADDR -+ -+/* -+ * Starting with commit glibc-2.32~80, on every 32-bit architecture -+ * where 32-bit time_t support is enabled, glibc tries to retrieve -+ * the data provided in the third argument of shmctl call. -+ */ -+#if GLIBC_PREREQ_GE(2, 32) && defined __TIMESIZE && __TIMESIZE != 64 -+# define TEST_SHMCTL_BOGUS_ADDR 0 -+#endif -+ -+#ifndef TEST_SHMCTL_BOGUS_ADDR -+# define TEST_SHMCTL_BOGUS_ADDR 1 -+#endif -+ - static int id = -1; - - static void -@@ -92,7 +107,9 @@ main(void) - static const key_t bogus_key = (key_t) 0xeca86420fdb97531ULL; - static const int bogus_id = 0xdefaced1; - static const int bogus_cmd = 0xdefaced2; -+#if TEST_SHMCTL_BOGUS_ADDR - static void * const bogus_addr = (void *) -1L; -+#endif - static const size_t bogus_size = - /* - * musl sets size to SIZE_MAX if size argument is greater than -@@ -160,10 +177,12 @@ main(void) - printf("shmctl\\(%d, (%s\\|)?%s, NULL\\) = %s\n", - bogus_id, str_ipc_64, str_bogus_cmd, sprintrc_grep(rc)); - -+#if TEST_SHMCTL_BOGUS_ADDR - rc = shmctl(bogus_id, IPC_STAT, bogus_addr); - printf("shmctl\\(%d, (%s\\|)?%s, %p\\) = %s\n", - bogus_id, str_ipc_64, str_ipc_stat, bogus_addr, - sprintrc_grep(rc)); -+#endif - - if (shmctl(id, IPC_STAT, &ds)) - perror_msg_and_skip("shmctl IPC_STAT"); -diff --git a/tests-mx32/ipc_shm.c b/tests-mx32/ipc_shm.c -index 5cd414e..695fd94 100644 ---- a/tests-mx32/ipc_shm.c -+++ b/tests-mx32/ipc_shm.c -@@ -73,6 +73,21 @@ - # define str_bogus_cmd "0xdefaced2 /\\* SHM_\\?\\?\\? \\*/" - #endif - -+#undef TEST_SHMCTL_BOGUS_ADDR -+ -+/* -+ * Starting with commit glibc-2.32~80, on every 32-bit architecture -+ * where 32-bit time_t support is enabled, glibc tries to retrieve -+ * the data provided in the third argument of shmctl call. -+ */ -+#if GLIBC_PREREQ_GE(2, 32) && defined __TIMESIZE && __TIMESIZE != 64 -+# define TEST_SHMCTL_BOGUS_ADDR 0 -+#endif -+ -+#ifndef TEST_SHMCTL_BOGUS_ADDR -+# define TEST_SHMCTL_BOGUS_ADDR 1 -+#endif -+ - static int id = -1; - - static void -@@ -92,7 +107,9 @@ main(void) - static const key_t bogus_key = (key_t) 0xeca86420fdb97531ULL; - static const int bogus_id = 0xdefaced1; - static const int bogus_cmd = 0xdefaced2; -+#if TEST_SHMCTL_BOGUS_ADDR - static void * const bogus_addr = (void *) -1L; -+#endif - static const size_t bogus_size = - /* - * musl sets size to SIZE_MAX if size argument is greater than -@@ -160,10 +177,12 @@ main(void) - printf("shmctl\\(%d, (%s\\|)?%s, NULL\\) = %s\n", - bogus_id, str_ipc_64, str_bogus_cmd, sprintrc_grep(rc)); - -+#if TEST_SHMCTL_BOGUS_ADDR - rc = shmctl(bogus_id, IPC_STAT, bogus_addr); - printf("shmctl\\(%d, (%s\\|)?%s, %p\\) = %s\n", - bogus_id, str_ipc_64, str_ipc_stat, bogus_addr, - sprintrc_grep(rc)); -+#endif - - if (shmctl(id, IPC_STAT, &ds)) - perror_msg_and_skip("shmctl IPC_STAT"); --- -2.1.4 - diff --git a/SOURCES/0161-tests-disable-tests-for-invalid-shmctl-commands-on-g.patch b/SOURCES/0161-tests-disable-tests-for-invalid-shmctl-commands-on-g.patch deleted file mode 100644 index 45d1112..0000000 --- a/SOURCES/0161-tests-disable-tests-for-invalid-shmctl-commands-on-g.patch +++ /dev/null @@ -1,280 +0,0 @@ -From 268b9341ef6397cc337f612563af88ccb5752ca7 Mon Sep 17 00:00:00 2001 -From: "Dmitry V. Levin" -Date: Sun, 6 Dec 2020 08:00:00 +0000 -Subject: [PATCH 161/162] tests: disable tests for invalid shmctl commands on - glibc >= 2.32 - -Starting with commit glibc-2.32.9000-207-g9ebaabeaac1a96b0d91f, -glibc skips shmctl syscall invocations and returns EINVAL -for invalid shmctl commands. - -* tests/ipc_shm.c [GLIBC_PREREQ_GE(2, 32)] (TEST_SHMCTL_BOGUS_CMD): -Define to 0. -[!TEST_SHMCTL_BOGUS_CMD] (TEST_SHMCTL_BOGUS_CMD): Define to 1. -(main) [!TEST_SHMCTL_BOGUS_CMD] (bogus_cmd): Do not define and do not -use. ---- - tests/ipc_shm.c | 49 ++++++++++++++++++++++++++++++++++--------------- - 1 file changed, 34 insertions(+), 15 deletions(-) - -diff --git a/tests/ipc_shm.c b/tests/ipc_shm.c -index 695fd94..350bde5 100644 ---- a/tests/ipc_shm.c -+++ b/tests/ipc_shm.c -@@ -29,6 +29,34 @@ - # define SHM_NORESERVE 010000 - #endif - -+#undef TEST_SHMCTL_BOGUS_ADDR -+#undef TEST_SHMCTL_BOGUS_CMD -+ -+/* -+ * Starting with commit glibc-2.32~80, on every 32-bit architecture -+ * where 32-bit time_t support is enabled, glibc tries to retrieve -+ * the data provided in the third argument of shmctl call. -+ */ -+#if GLIBC_PREREQ_GE(2, 32) && defined __TIMESIZE && __TIMESIZE != 64 -+# define TEST_SHMCTL_BOGUS_ADDR 0 -+#endif -+ -+/* -+ * Starting with commit glibc-2.32.9000-207-g9ebaabeaac1a96b0d91f, -+ * glibc skips shmctl syscall invocations and returns EINVAL -+ * for invalid shmctl commands. -+ */ -+#if GLIBC_PREREQ_GE(2, 32) -+# define TEST_SHMCTL_BOGUS_CMD 0 -+#endif -+ -+#ifndef TEST_SHMCTL_BOGUS_ADDR -+# define TEST_SHMCTL_BOGUS_ADDR 1 -+#endif -+#ifndef TEST_SHMCTL_BOGUS_CMD -+# define TEST_SHMCTL_BOGUS_CMD 1 -+#endif -+ - #include "xlat.h" - #include "xlat/shm_resource_flags.h" - -@@ -73,21 +101,6 @@ - # define str_bogus_cmd "0xdefaced2 /\\* SHM_\\?\\?\\? \\*/" - #endif - --#undef TEST_SHMCTL_BOGUS_ADDR -- --/* -- * Starting with commit glibc-2.32~80, on every 32-bit architecture -- * where 32-bit time_t support is enabled, glibc tries to retrieve -- * the data provided in the third argument of shmctl call. -- */ --#if GLIBC_PREREQ_GE(2, 32) && defined __TIMESIZE && __TIMESIZE != 64 --# define TEST_SHMCTL_BOGUS_ADDR 0 --#endif -- --#ifndef TEST_SHMCTL_BOGUS_ADDR --# define TEST_SHMCTL_BOGUS_ADDR 1 --#endif -- - static int id = -1; - - static void -@@ -105,8 +118,12 @@ main(void) - static const key_t private_key = - (key_t) (0xffffffff00000000ULL | IPC_PRIVATE); - static const key_t bogus_key = (key_t) 0xeca86420fdb97531ULL; -+#if TEST_SHMCTL_BOGUS_CMD || TEST_SHMCTL_BOGUS_ADDR - static const int bogus_id = 0xdefaced1; -+#endif -+#if TEST_SHMCTL_BOGUS_CMD - static const int bogus_cmd = 0xdefaced2; -+#endif - #if TEST_SHMCTL_BOGUS_ADDR - static void * const bogus_addr = (void *) -1L; - #endif -@@ -173,9 +190,11 @@ main(void) - printf("shmget\\(%s, 1, 0600\\) = %d\n", str_ipc_private, id); - atexit(cleanup); - -+#if TEST_SHMCTL_BOGUS_CMD - rc = shmctl(bogus_id, bogus_cmd, NULL); - printf("shmctl\\(%d, (%s\\|)?%s, NULL\\) = %s\n", - bogus_id, str_ipc_64, str_bogus_cmd, sprintrc_grep(rc)); -+#endif - - #if TEST_SHMCTL_BOGUS_ADDR - rc = shmctl(bogus_id, IPC_STAT, bogus_addr); -diff --git a/tests-m32/ipc_shm.c b/tests-m32/ipc_shm.c -index 695fd94..350bde5 100644 ---- a/tests-m32/ipc_shm.c -+++ b/tests-m32/ipc_shm.c -@@ -29,6 +29,34 @@ - # define SHM_NORESERVE 010000 - #endif - -+#undef TEST_SHMCTL_BOGUS_ADDR -+#undef TEST_SHMCTL_BOGUS_CMD -+ -+/* -+ * Starting with commit glibc-2.32~80, on every 32-bit architecture -+ * where 32-bit time_t support is enabled, glibc tries to retrieve -+ * the data provided in the third argument of shmctl call. -+ */ -+#if GLIBC_PREREQ_GE(2, 32) && defined __TIMESIZE && __TIMESIZE != 64 -+# define TEST_SHMCTL_BOGUS_ADDR 0 -+#endif -+ -+/* -+ * Starting with commit glibc-2.32.9000-207-g9ebaabeaac1a96b0d91f, -+ * glibc skips shmctl syscall invocations and returns EINVAL -+ * for invalid shmctl commands. -+ */ -+#if GLIBC_PREREQ_GE(2, 32) -+# define TEST_SHMCTL_BOGUS_CMD 0 -+#endif -+ -+#ifndef TEST_SHMCTL_BOGUS_ADDR -+# define TEST_SHMCTL_BOGUS_ADDR 1 -+#endif -+#ifndef TEST_SHMCTL_BOGUS_CMD -+# define TEST_SHMCTL_BOGUS_CMD 1 -+#endif -+ - #include "xlat.h" - #include "xlat/shm_resource_flags.h" - -@@ -73,21 +101,6 @@ - # define str_bogus_cmd "0xdefaced2 /\\* SHM_\\?\\?\\? \\*/" - #endif - --#undef TEST_SHMCTL_BOGUS_ADDR -- --/* -- * Starting with commit glibc-2.32~80, on every 32-bit architecture -- * where 32-bit time_t support is enabled, glibc tries to retrieve -- * the data provided in the third argument of shmctl call. -- */ --#if GLIBC_PREREQ_GE(2, 32) && defined __TIMESIZE && __TIMESIZE != 64 --# define TEST_SHMCTL_BOGUS_ADDR 0 --#endif -- --#ifndef TEST_SHMCTL_BOGUS_ADDR --# define TEST_SHMCTL_BOGUS_ADDR 1 --#endif -- - static int id = -1; - - static void -@@ -105,8 +118,12 @@ main(void) - static const key_t private_key = - (key_t) (0xffffffff00000000ULL | IPC_PRIVATE); - static const key_t bogus_key = (key_t) 0xeca86420fdb97531ULL; -+#if TEST_SHMCTL_BOGUS_CMD || TEST_SHMCTL_BOGUS_ADDR - static const int bogus_id = 0xdefaced1; -+#endif -+#if TEST_SHMCTL_BOGUS_CMD - static const int bogus_cmd = 0xdefaced2; -+#endif - #if TEST_SHMCTL_BOGUS_ADDR - static void * const bogus_addr = (void *) -1L; - #endif -@@ -173,9 +190,11 @@ main(void) - printf("shmget\\(%s, 1, 0600\\) = %d\n", str_ipc_private, id); - atexit(cleanup); - -+#if TEST_SHMCTL_BOGUS_CMD - rc = shmctl(bogus_id, bogus_cmd, NULL); - printf("shmctl\\(%d, (%s\\|)?%s, NULL\\) = %s\n", - bogus_id, str_ipc_64, str_bogus_cmd, sprintrc_grep(rc)); -+#endif - - #if TEST_SHMCTL_BOGUS_ADDR - rc = shmctl(bogus_id, IPC_STAT, bogus_addr); -diff --git a/tests-mx32/ipc_shm.c b/tests-mx32/ipc_shm.c -index 695fd94..350bde5 100644 ---- a/tests-mx32/ipc_shm.c -+++ b/tests-mx32/ipc_shm.c -@@ -29,6 +29,34 @@ - # define SHM_NORESERVE 010000 - #endif - -+#undef TEST_SHMCTL_BOGUS_ADDR -+#undef TEST_SHMCTL_BOGUS_CMD -+ -+/* -+ * Starting with commit glibc-2.32~80, on every 32-bit architecture -+ * where 32-bit time_t support is enabled, glibc tries to retrieve -+ * the data provided in the third argument of shmctl call. -+ */ -+#if GLIBC_PREREQ_GE(2, 32) && defined __TIMESIZE && __TIMESIZE != 64 -+# define TEST_SHMCTL_BOGUS_ADDR 0 -+#endif -+ -+/* -+ * Starting with commit glibc-2.32.9000-207-g9ebaabeaac1a96b0d91f, -+ * glibc skips shmctl syscall invocations and returns EINVAL -+ * for invalid shmctl commands. -+ */ -+#if GLIBC_PREREQ_GE(2, 32) -+# define TEST_SHMCTL_BOGUS_CMD 0 -+#endif -+ -+#ifndef TEST_SHMCTL_BOGUS_ADDR -+# define TEST_SHMCTL_BOGUS_ADDR 1 -+#endif -+#ifndef TEST_SHMCTL_BOGUS_CMD -+# define TEST_SHMCTL_BOGUS_CMD 1 -+#endif -+ - #include "xlat.h" - #include "xlat/shm_resource_flags.h" - -@@ -73,21 +101,6 @@ - # define str_bogus_cmd "0xdefaced2 /\\* SHM_\\?\\?\\? \\*/" - #endif - --#undef TEST_SHMCTL_BOGUS_ADDR -- --/* -- * Starting with commit glibc-2.32~80, on every 32-bit architecture -- * where 32-bit time_t support is enabled, glibc tries to retrieve -- * the data provided in the third argument of shmctl call. -- */ --#if GLIBC_PREREQ_GE(2, 32) && defined __TIMESIZE && __TIMESIZE != 64 --# define TEST_SHMCTL_BOGUS_ADDR 0 --#endif -- --#ifndef TEST_SHMCTL_BOGUS_ADDR --# define TEST_SHMCTL_BOGUS_ADDR 1 --#endif -- - static int id = -1; - - static void -@@ -105,8 +118,12 @@ main(void) - static const key_t private_key = - (key_t) (0xffffffff00000000ULL | IPC_PRIVATE); - static const key_t bogus_key = (key_t) 0xeca86420fdb97531ULL; -+#if TEST_SHMCTL_BOGUS_CMD || TEST_SHMCTL_BOGUS_ADDR - static const int bogus_id = 0xdefaced1; -+#endif -+#if TEST_SHMCTL_BOGUS_CMD - static const int bogus_cmd = 0xdefaced2; -+#endif - #if TEST_SHMCTL_BOGUS_ADDR - static void * const bogus_addr = (void *) -1L; - #endif -@@ -173,9 +190,11 @@ main(void) - printf("shmget\\(%s, 1, 0600\\) = %d\n", str_ipc_private, id); - atexit(cleanup); - -+#if TEST_SHMCTL_BOGUS_CMD - rc = shmctl(bogus_id, bogus_cmd, NULL); - printf("shmctl\\(%d, (%s\\|)?%s, NULL\\) = %s\n", - bogus_id, str_ipc_64, str_bogus_cmd, sprintrc_grep(rc)); -+#endif - - #if TEST_SHMCTL_BOGUS_ADDR - rc = shmctl(bogus_id, IPC_STAT, bogus_addr); --- -2.1.4 - diff --git a/SOURCES/0162-tests-disable-tests-for-invalid-semctl-commands-on-g.patch b/SOURCES/0162-tests-disable-tests-for-invalid-semctl-commands-on-g.patch deleted file mode 100644 index 61381bf..0000000 --- a/SOURCES/0162-tests-disable-tests-for-invalid-semctl-commands-on-g.patch +++ /dev/null @@ -1,199 +0,0 @@ -From dd8d558394b2b8cb7f743a2a4bf763974d6c2dd9 Mon Sep 17 00:00:00 2001 -From: "Dmitry V. Levin" -Date: Sun, 6 Dec 2020 08:00:00 +0000 -Subject: [PATCH 162/162] tests: disable tests for invalid semctl commands on - glibc >= 2.32 - -Starting with commit glibc-2.32.9000-147-ga16d2abd496bd974a882, -glibc skips semctl syscall invocations and returns EINVAL -for invalid semctl commands. - -* tests/ipc_sem.c [GLIBC_PREREQ_GE(2, 32)] (TEST_SEMCTL_BOGUS_CMD): -Define to 0. -[!TEST_SEMCTL_BOGUS_CMD] (TEST_SEMCTL_BOGUS_CMD): Define to 1. -(main) [!TEST_SEMCTL_BOGUS_CMD] (bogus_semid, bogus_semnum, bogus_cmd, -bogus_arg): Do not define and do not use. ---- - tests/ipc_sem.c | 25 ++++++++++++++++++++++--- - 1 file changed, 22 insertions(+), 3 deletions(-) - -diff --git a/tests/ipc_sem.c b/tests/ipc_sem.c -index 7341f72..0351e53 100644 ---- a/tests/ipc_sem.c -+++ b/tests/ipc_sem.c -@@ -20,6 +20,21 @@ - # define SEM_STAT_ANY 20 - #endif - -+#undef TEST_SEMCTL_BOGUS_CMD -+ -+/* -+ * Starting with commit glibc-2.32.9000-147-ga16d2abd496bd974a882, -+ * glibc skips semctl syscall invocations and returns EINVAL -+ * for invalid semctl commands. -+ */ -+#if GLIBC_PREREQ_GE(2, 32) -+# define TEST_SEMCTL_BOGUS_CMD 0 -+#endif -+ -+#ifndef TEST_SEMCTL_BOGUS_CMD -+# define TEST_SEMCTL_BOGUS_CMD 1 -+#endif -+ - #if XLAT_RAW - # define str_ipc_flags "0xface1e00" - # define str_ipc_private "0" -@@ -78,13 +93,15 @@ main(void) - static const key_t private_key = - (key_t) (0xffffffff00000000ULL | IPC_PRIVATE); - static const key_t bogus_key = (key_t) 0xeca86420fdb97531ULL; -- static const int bogus_semid = 0xfdb97531; -- static const int bogus_semnum = 0xeca86420; - static const int bogus_size = 0xdec0ded1; - static const int bogus_flags = 0xface1e55; -+#if TEST_SEMCTL_BOGUS_CMD -+ static const int bogus_semid = 0xfdb97531; -+ static const int bogus_semnum = 0xeca86420; - static const int bogus_cmd = 0xdeadbeef; - static const unsigned long bogus_arg = - (unsigned long) 0xbadc0dedfffffaceULL; -+#endif - - int rc; - union semun un; -@@ -102,11 +119,13 @@ main(void) - printf("semget\\(%s, 1, 0600\\) = %d\n", str_ipc_private, id); - atexit(cleanup); - -+#if TEST_SEMCTL_BOGUS_CMD - rc = semctl(bogus_semid, bogus_semnum, bogus_cmd, bogus_arg); --#define SEMCTL_BOGUS_ARG_FMT "(%#lx|\\[(%#lx|NULL)\\]|NULL)" -+# define SEMCTL_BOGUS_ARG_FMT "(%#lx|\\[(%#lx|NULL)\\]|NULL)" - printf("semctl\\(%d, %d, (%s\\|)?%s, " SEMCTL_BOGUS_ARG_FMT "\\) = %s\n", - bogus_semid, bogus_semnum, str_ipc_64, str_bogus_cmd, - bogus_arg, bogus_arg, sprintrc_grep(rc)); -+#endif - - un.buf = &ds; - if (semctl(id, 0, IPC_STAT, un)) -diff --git a/tests-m32/ipc_sem.c b/tests-m32/ipc_sem.c -index 7341f72..0351e53 100644 ---- a/tests-m32/ipc_sem.c -+++ b/tests-m32/ipc_sem.c -@@ -20,6 +20,21 @@ - # define SEM_STAT_ANY 20 - #endif - -+#undef TEST_SEMCTL_BOGUS_CMD -+ -+/* -+ * Starting with commit glibc-2.32.9000-147-ga16d2abd496bd974a882, -+ * glibc skips semctl syscall invocations and returns EINVAL -+ * for invalid semctl commands. -+ */ -+#if GLIBC_PREREQ_GE(2, 32) -+# define TEST_SEMCTL_BOGUS_CMD 0 -+#endif -+ -+#ifndef TEST_SEMCTL_BOGUS_CMD -+# define TEST_SEMCTL_BOGUS_CMD 1 -+#endif -+ - #if XLAT_RAW - # define str_ipc_flags "0xface1e00" - # define str_ipc_private "0" -@@ -78,13 +93,15 @@ main(void) - static const key_t private_key = - (key_t) (0xffffffff00000000ULL | IPC_PRIVATE); - static const key_t bogus_key = (key_t) 0xeca86420fdb97531ULL; -- static const int bogus_semid = 0xfdb97531; -- static const int bogus_semnum = 0xeca86420; - static const int bogus_size = 0xdec0ded1; - static const int bogus_flags = 0xface1e55; -+#if TEST_SEMCTL_BOGUS_CMD -+ static const int bogus_semid = 0xfdb97531; -+ static const int bogus_semnum = 0xeca86420; - static const int bogus_cmd = 0xdeadbeef; - static const unsigned long bogus_arg = - (unsigned long) 0xbadc0dedfffffaceULL; -+#endif - - int rc; - union semun un; -@@ -102,11 +119,13 @@ main(void) - printf("semget\\(%s, 1, 0600\\) = %d\n", str_ipc_private, id); - atexit(cleanup); - -+#if TEST_SEMCTL_BOGUS_CMD - rc = semctl(bogus_semid, bogus_semnum, bogus_cmd, bogus_arg); --#define SEMCTL_BOGUS_ARG_FMT "(%#lx|\\[(%#lx|NULL)\\]|NULL)" -+# define SEMCTL_BOGUS_ARG_FMT "(%#lx|\\[(%#lx|NULL)\\]|NULL)" - printf("semctl\\(%d, %d, (%s\\|)?%s, " SEMCTL_BOGUS_ARG_FMT "\\) = %s\n", - bogus_semid, bogus_semnum, str_ipc_64, str_bogus_cmd, - bogus_arg, bogus_arg, sprintrc_grep(rc)); -+#endif - - un.buf = &ds; - if (semctl(id, 0, IPC_STAT, un)) -diff --git a/tests-mx32/ipc_sem.c b/tests-mx32/ipc_sem.c -index 7341f72..0351e53 100644 ---- a/tests-mx32/ipc_sem.c -+++ b/tests-mx32/ipc_sem.c -@@ -20,6 +20,21 @@ - # define SEM_STAT_ANY 20 - #endif - -+#undef TEST_SEMCTL_BOGUS_CMD -+ -+/* -+ * Starting with commit glibc-2.32.9000-147-ga16d2abd496bd974a882, -+ * glibc skips semctl syscall invocations and returns EINVAL -+ * for invalid semctl commands. -+ */ -+#if GLIBC_PREREQ_GE(2, 32) -+# define TEST_SEMCTL_BOGUS_CMD 0 -+#endif -+ -+#ifndef TEST_SEMCTL_BOGUS_CMD -+# define TEST_SEMCTL_BOGUS_CMD 1 -+#endif -+ - #if XLAT_RAW - # define str_ipc_flags "0xface1e00" - # define str_ipc_private "0" -@@ -78,13 +93,15 @@ main(void) - static const key_t private_key = - (key_t) (0xffffffff00000000ULL | IPC_PRIVATE); - static const key_t bogus_key = (key_t) 0xeca86420fdb97531ULL; -- static const int bogus_semid = 0xfdb97531; -- static const int bogus_semnum = 0xeca86420; - static const int bogus_size = 0xdec0ded1; - static const int bogus_flags = 0xface1e55; -+#if TEST_SEMCTL_BOGUS_CMD -+ static const int bogus_semid = 0xfdb97531; -+ static const int bogus_semnum = 0xeca86420; - static const int bogus_cmd = 0xdeadbeef; - static const unsigned long bogus_arg = - (unsigned long) 0xbadc0dedfffffaceULL; -+#endif - - int rc; - union semun un; -@@ -102,11 +119,13 @@ main(void) - printf("semget\\(%s, 1, 0600\\) = %d\n", str_ipc_private, id); - atexit(cleanup); - -+#if TEST_SEMCTL_BOGUS_CMD - rc = semctl(bogus_semid, bogus_semnum, bogus_cmd, bogus_arg); --#define SEMCTL_BOGUS_ARG_FMT "(%#lx|\\[(%#lx|NULL)\\]|NULL)" -+# define SEMCTL_BOGUS_ARG_FMT "(%#lx|\\[(%#lx|NULL)\\]|NULL)" - printf("semctl\\(%d, %d, (%s\\|)?%s, " SEMCTL_BOGUS_ARG_FMT "\\) = %s\n", - bogus_semid, bogus_semnum, str_ipc_64, str_bogus_cmd, - bogus_arg, bogus_arg, sprintrc_grep(rc)); -+#endif - - un.buf = &ds; - if (semctl(id, 0, IPC_STAT, un)) --- -2.1.4 - diff --git a/SOURCES/0163-filter_qualify-free-allocated-data-on-the-error-path.patch b/SOURCES/0163-filter_qualify-free-allocated-data-on-the-error-path.patch new file mode 100644 index 0000000..7043b2f --- /dev/null +++ b/SOURCES/0163-filter_qualify-free-allocated-data-on-the-error-path.patch @@ -0,0 +1,77 @@ +From a034f8a50cbe15d250457ed2eefbf9db059f724f Mon Sep 17 00:00:00 2001 +From: Eugene Syromyatnikov +Date: Wed, 18 Aug 2021 21:48:38 +0200 +Subject: [PATCH 147/150] filter_qualify: free allocated data on the error path + exit of parse_poke_token + +While not terribly required due to the fact that issues with option +parsing lead to program termination, these changes avoid leaking data +allocated in the function's scope and not stored elsewhere, which might +come handy if it ever be used dynamically during the runtime. + +This also has been reported as resource leaks by covscan, and these +changes should calm it. + +* src/filter_qualify.c (parse_poke_token): Go to err label instead of +returning right away; free poke->data, poke, and str_tokenized before +returning false. + +References: https://bugzilla.redhat.com/show_bug.cgi?id=1995509 +--- + src/filter_qualify.c | 18 ++++++++++++------ + 1 file changed, 12 insertions(+), 6 deletions(-) + +diff --git a/src/filter_qualify.c b/src/filter_qualify.c +index df05496..a1a6471 100644 +--- a/src/filter_qualify.c ++++ b/src/filter_qualify.c +@@ -169,34 +169,40 @@ parse_poke_token(const char *input, struct inject_opts *fopts, bool isenter) + poke->is_enter = isenter; + + if ((val = STR_STRIP_PREFIX(token, "@arg")) == token) +- return false; ++ goto err; + if ((val[0] >= '1') && (val[0] <= '7')) { + poke->arg_no = val[0] - '0'; + } else { +- return false; ++ goto err; + } + if (val[1] != '=') +- return false; ++ goto err; + val += 2; + + data_len = strlen(val); + if ((data_len == 0) || (data_len % 2) || (data_len > 2048)) +- return false; ++ goto err; + data_len /= 2; + poke->data_len = data_len; + poke->data = xmalloc(data_len); + + for (size_t i = 0; i < data_len; i++) + if (sscanf(&val[2 * i], "%2hhx", &poke->data[i]) != 1) +- return false; ++ goto err; + + if (poke_add(fopts->data.poke_idx, poke)) +- return false; ++ goto err; + } + free(str_tokenized); + + fopts->data.flags |= flag; + return true; ++ ++err: ++ free(poke->data); ++ free(poke); ++ free(str_tokenized); ++ return false; + } + + static bool +-- +2.1.4 + diff --git a/SOURCES/0164-macros-expand-BIT-macros-add-MASK-macros-add-_SAFE-m.patch b/SOURCES/0164-macros-expand-BIT-macros-add-MASK-macros-add-_SAFE-m.patch new file mode 100644 index 0000000..6ee45fb --- /dev/null +++ b/SOURCES/0164-macros-expand-BIT-macros-add-MASK-macros-add-_SAFE-m.patch @@ -0,0 +1,70 @@ +From 3f3dd44f1964c54b55e8c84343579bd7c1924df5 Mon Sep 17 00:00:00 2001 +From: Eugene Syromyatnikov +Date: Wed, 18 Aug 2021 21:49:12 +0200 +Subject: [PATCH 148/150] macros: expand BIT macros, add MASK macros; add + *_SAFE macros + +These macros might make reading a code that often converts between powers +of 2 and values/masks a bit easier; moreover, the *_SAFE versions should +help in cases where the shift values are expected to be equal to the type +bit width (which lead to UB otherwise). + +Switching from BIT to BIT32 should also clarify bitness, which may be somewhat +murky at times (cf. printxval, printflags, and printxvals). + +* src/macros.h [!BIT] (BIT): Rename to... +[!BIT32] (BIT32): ...this. +[!BIT64] (BIT64): New macro. +[!MASK32] (MASK32): Likewise. +[!MASK64] (MASK64): Likewise. +(BIT32_SAFE, BIT64_SAFE, MASK32_SAFE, MASK64_SAFE): New macros. +(FLAG): Use BIT32. +--- + src/macros.h | 30 +++++++++++++++++++++++++++--- + 1 file changed, 27 insertions(+), 3 deletions(-) + +diff --git a/src/macros.h b/src/macros.h +index 467f5d0..2d7a83d 100644 +--- a/src/macros.h ++++ b/src/macros.h +@@ -78,10 +78,34 @@ is_filled(const char *ptr, char fill, size_t size) + # define IS_ARRAY_ZERO(arr_) \ + is_filled((const char *) (arr_), 0, sizeof(arr_) + MUST_BE_ARRAY(arr_)) + +-# ifndef BIT +-# define BIT(x_) (1U << (x_)) ++# ifndef BIT32 ++# define BIT32(x_) (1U << (x_)) + # endif + +-# define FLAG(name_) name_ = BIT(name_##_BIT) ++# ifndef BIT64 ++# define BIT64(x_) (1ULL << (x_)) ++# endif ++ ++# ifndef MASK32 ++# define MASK32(x_) (BIT32(x_) - 1U) ++# endif ++ ++# ifndef MASK64 ++# define MASK64(x_) (BIT64(x_) - 1ULL) ++# endif ++ ++/* ++ * "Safe" versions that avoid UB for values that are >= type bit size ++ * (the usually expected behaviour of the bit shift in that case is zero, ++ * but at least powerpc is notorious for returning the input value when shift ++ * by 64 bits is performed). ++ */ ++ ++# define BIT32_SAFE(x_) ((x_) < 32 ? BIT32(x_) : 0) ++# define BIT64_SAFE(x_) ((x_) < 64 ? BIT64(x_) : 0) ++# define MASK32_SAFE(x_) (BIT32_SAFE(x_) - 1U) ++# define MASK64_SAFE(x_) (BIT64_SAFE(x_) - 1ULL) ++ ++# define FLAG(name_) name_ = BIT32(name_##_BIT) + + #endif /* !STRACE_MACROS_H */ +-- +2.1.4 + diff --git a/SOURCES/0165-trie-use-BIT-and-MASK-macros.patch b/SOURCES/0165-trie-use-BIT-and-MASK-macros.patch new file mode 100644 index 0000000..91c6fe3 --- /dev/null +++ b/SOURCES/0165-trie-use-BIT-and-MASK-macros.patch @@ -0,0 +1,151 @@ +From 8ef5456338a947944cc03b95c22c837af5884ddc Mon Sep 17 00:00:00 2001 +From: Eugene Syromyatnikov +Date: Wed, 18 Aug 2021 21:51:22 +0200 +Subject: [PATCH 149/150] trie: use BIT* and MASK* macros + +This makes reading the code a bit easier. It also solves some issues +where there is a hypothertical possibility of having bit shifts of size +64, by virtue of using the *_SAFE macros (that should silence some +reported "left shifting by more than 63 bits has undefined behavior" +covscan issues). + +* src/trie.c (trie_create): Use BIT32, MASK64. +(trie_create_data_block): Use BIT32, change iterator variable type +to size_t. +(trie_get_node): Use BIT64, MASK64. +(trie_data_block_calc_pos): Use BIT32, MASK64, MASK64_SAFE. +(trie_iterate_keys_node): Use BIT64, MASK64, MASK64_SAFE. +(trie_free_node): Use BIT64. +--- + src/trie.c | 34 +++++++++++++++++----------------- + 1 file changed, 17 insertions(+), 17 deletions(-) + +diff --git a/src/trie.c b/src/trie.c +index 586ff25..0a231e4 100644 +--- a/src/trie.c ++++ b/src/trie.c +@@ -15,6 +15,7 @@ + #include + + #include "trie.h" ++#include "macros.h" + #include "xmalloc.h" + + static const uint8_t ptr_sz_lg = (sizeof(void *) == 8 ? 6 : 5); +@@ -87,7 +88,7 @@ trie_create(uint8_t key_size, uint8_t item_size_lg, uint8_t node_key_bits, + / t->node_key_bits; + + if (item_size_lg != 6) +- t->empty_value &= (((uint64_t) 1 << (1 << t->item_size_lg)) - 1); ++ t->empty_value &= MASK64(BIT32(t->item_size_lg)); + + return t; + } +@@ -96,8 +97,8 @@ static void * + trie_create_data_block(struct trie *t) + { + uint64_t fill_value = t->empty_value; +- for (int i = 1; i < 1 << (6 - t->item_size_lg); i++) { +- fill_value <<= (1 << t->item_size_lg); ++ for (size_t i = 1; i < BIT32(6 - t->item_size_lg); i++) { ++ fill_value <<= BIT32(t->item_size_lg); + fill_value |= t->empty_value; + } + +@@ -105,7 +106,7 @@ trie_create_data_block(struct trie *t) + if (sz < 6) + sz = 6; + +- size_t count = 1 << (sz - 6); ++ size_t count = BIT32(sz - 6); + uint64_t *data_block = xcalloc(count, 8); + + for (size_t i = 0; i < count; i++) +@@ -119,7 +120,7 @@ trie_get_node(struct trie *t, uint64_t key, bool auto_create) + { + void **cur_node = &(t->data); + +- if (t->key_size < 64 && key > (uint64_t) 1 << t->key_size) ++ if (t->key_size < 64 && key > MASK64(t->key_size)) + return NULL; + + for (uint8_t cur_depth = 0; cur_depth <= t->max_depth; cur_depth++) { +@@ -133,13 +134,13 @@ trie_get_node(struct trie *t, uint64_t key, bool auto_create) + if (cur_depth == t->max_depth) + *cur_node = trie_create_data_block(t); + else +- *cur_node = xcalloc(1 << sz, 1); ++ *cur_node = xcalloc(BIT64(sz), 1); + } + + if (cur_depth == t->max_depth) + break; + +- size_t pos = (key >> offs) & ((1 << (sz - ptr_sz_lg)) - 1); ++ size_t pos = (key >> offs) & MASK64(sz - ptr_sz_lg); + cur_node = (((void **) (*cur_node)) + pos); + } + +@@ -152,7 +153,7 @@ trie_data_block_calc_pos(struct trie *t, uint64_t key, + { + uint64_t key_mask; + +- key_mask = (1 << t->data_block_key_bits) - 1; ++ key_mask = MASK64(t->data_block_key_bits); + *pos = (key & key_mask) >> (6 - t->item_size_lg); + + if (t->item_size_lg == 6) { +@@ -161,10 +162,10 @@ trie_data_block_calc_pos(struct trie *t, uint64_t key, + return; + } + +- key_mask = (1 << (6 - t->item_size_lg)) - 1; +- *offs = (key & key_mask) * (1 << t->item_size_lg); ++ key_mask = MASK64(6 - t->item_size_lg); ++ *offs = (key & key_mask) << t->item_size_lg; + +- *mask = (((uint64_t) 1 << (1 << t->item_size_lg)) - 1) << *offs; ++ *mask = MASK64_SAFE(BIT32(t->item_size_lg)) << *offs; + } + + bool +@@ -211,7 +212,7 @@ trie_iterate_keys_node(struct trie *t, + return 0; + + if (t->key_size < 64) { +- uint64_t key_max = ((uint64_t) 1 << t->key_size) - 1; ++ uint64_t key_max = MASK64(t->key_size); + if (end > key_max) + end = key_max; + } +@@ -228,15 +229,14 @@ trie_iterate_keys_node(struct trie *t, + t->key_size : + trie_get_node_bit_offs(t, depth - 1); + +- uint64_t first_key_in_node = start & +- (uint64_t) -1 << parent_node_bit_off; ++ uint64_t first_key_in_node = start & ~MASK64_SAFE(parent_node_bit_off); + + uint8_t node_bit_off = trie_get_node_bit_offs(t, depth); + uint8_t node_key_bits = parent_node_bit_off - node_bit_off; +- uint64_t mask = ((uint64_t) 1 << (node_key_bits)) - 1; ++ uint64_t mask = MASK64_SAFE(node_key_bits); + uint64_t start_index = (start >> node_bit_off) & mask; + uint64_t end_index = (end >> node_bit_off) & mask; +- uint64_t child_key_count = (uint64_t) 1 << node_bit_off; ++ uint64_t child_key_count = BIT64(node_bit_off); + + uint64_t count = 0; + +@@ -274,7 +274,7 @@ trie_free_node(struct trie *t, void *node, uint8_t depth) + if (depth >= t->max_depth) + goto free_node; + +- size_t sz = 1 << (trie_get_node_size(t, depth) - ptr_sz_lg); ++ size_t sz = BIT64(trie_get_node_size(t, depth) - ptr_sz_lg); + for (size_t i = 0; i < sz; i++) + trie_free_node(t, ((void **) node)[i], depth + 1); + +-- +2.1.4 + diff --git a/SOURCES/0166-tee-rewrite-num_params-access-in-tee_fetch_buf_data.patch b/SOURCES/0166-tee-rewrite-num_params-access-in-tee_fetch_buf_data.patch new file mode 100644 index 0000000..56aa8a1 --- /dev/null +++ b/SOURCES/0166-tee-rewrite-num_params-access-in-tee_fetch_buf_data.patch @@ -0,0 +1,52 @@ +From 3a68f90c2a5a208b475cc2014f85ae04541ec5b6 Mon Sep 17 00:00:00 2001 +From: Eugene Syromyatnikov +Date: Fri, 20 Aug 2021 21:31:01 +0200 +Subject: [PATCH 150/150] tee: rewrite num_params access in tee_fetch_buf_data + +Pointer to num_params field of the fetched structure is passed in a +separate function argument which provokes covscan complaints about +uninitialised accesses and also tingles my aliasing rules senses. +Rewrite to access it via the arg_struct argument which is fetched +earlier in the function flow. + +* src/tee.c (TEE_FETCH_BUF_DATA): Change &arg_.num_params +to offsetof(typeof(arg_), num_params). +(tee_fetch_buf_data): Accept offset of the num_params field instead +of pointer to it; reconstruct the num_params pointer using it. +--- + src/tee.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/src/tee.c b/src/tee.c +index f9eda52..d7e9b15 100644 +--- a/src/tee.c ++++ b/src/tee.c +@@ -33,7 +33,7 @@ struct tee_ioctl_shm_register_fd_data { + + #define TEE_FETCH_BUF_DATA(buf_, arg_, params_) \ + tee_fetch_buf_data(tcp, arg, &buf_, sizeof(arg_), \ +- &arg_, &arg_.num_params, \ ++ &arg_, offsetof(typeof(arg_), num_params), \ + params_) + + /* session id is printed as 0x%x in libteec */ +@@ -56,7 +56,7 @@ tee_fetch_buf_data(struct tcb *const tcp, + struct tee_ioctl_buf_data *buf, + size_t arg_size, + void *arg_struct, +- unsigned *num_params, ++ size_t num_params_offs, + uint64_t *params) + { + if (umove_or_printaddr(tcp, arg, buf)) +@@ -69,6 +69,7 @@ tee_fetch_buf_data(struct tcb *const tcp, + tee_print_buf(buf); + return RVAL_IOCTL_DECODED; + } ++ uint32_t *num_params = (uint32_t *) (arg_struct + num_params_offs); + if (entering(tcp) && + (arg_size + TEE_IOCTL_PARAM_SIZE(*num_params) != buf->buf_len)) { + /* +-- +2.1.4 + diff --git a/SOURCES/0167-print_ifindex-fix-IFNAME_QUOTED_SZ-definition.patch b/SOURCES/0167-print_ifindex-fix-IFNAME_QUOTED_SZ-definition.patch new file mode 100644 index 0000000..9f19614 --- /dev/null +++ b/SOURCES/0167-print_ifindex-fix-IFNAME_QUOTED_SZ-definition.patch @@ -0,0 +1,55 @@ +From e27b06773eaf5c0307bcc5637d7457be9be1e6ea Mon Sep 17 00:00:00 2001 +From: Eugene Syromyatnikov +Date: Wed, 1 Dec 2021 17:11:02 +0100 +Subject: [PATCH] print_ifindex: fix IFNAME_QUOTED_SZ definition + +sizeof(IFNAMSIZ) instead of IFNAMSIZ was mistakenly used +for IFNAME_QUOTED_SZ initial definition in commit v4.23~87 +"print_ifindex: respect xlat style settings". + +* src/print_ifindex.c (IFNAME_QUOTED_SZ): Use IFNAMSIZ +instead of sizeof(IFNAMSIZ). +* NEWS: Mention it. + +Reported-by: Paulo Andrade +Suggested-by: Paulo Andrade +Fixes: v4.23~87 "print_ifindex: respect xlat style settings" +References: https://bugzilla.redhat.com/show_bug.cgi?id=2028146 +--- + NEWS | 4 ++++ + src/print_ifindex.c | 2 +- + 2 files changed, 5 insertions(+), 1 deletion(-) + +diff --git a/NEWS b/NEWS +index 9bab673..a3036b8 100644 +--- a/NEWS ++++ b/NEWS +@@ -16,6 +16,12 @@ Noteworthy changes in release ?.?? (????-??-??) + PTRACE_*, RTM_*, RTPROT_*, TRAP_*, UFFD_*, UFFDIO_*, and V4L2_* constants. + * Updated lists of ioctl commands from Linux 5.13. + ++ * Bug fixes ++ * Fixed insufficient buffer size used for network interface name printing, ++ that previously led to assertions on attempts of printing interface names ++ that require quoting, for example, names longer than 4 characters in -xx ++ mode (addresses RHBZ bug #2028146). ++ + * Portability + * On powerpc and powerpc64, linux kernel >= 2.6.23 is required. + Older versions without a decent PTRACE_GETREGS support will not work. +diff --git a/src/print_ifindex.c b/src/print_ifindex.c +index ec48093..dc9d592 100644 +--- a/src/print_ifindex.c ++++ b/src/print_ifindex.c +@@ -13,7 +13,7 @@ + + # define INI_PFX "if_nametoindex(\"" + # define INI_SFX "\")" +-# define IFNAME_QUOTED_SZ (sizeof(IFNAMSIZ) * 4 + 3) ++# define IFNAME_QUOTED_SZ (IFNAMSIZ * 4 + 3) + + const char * + get_ifname(const unsigned int ifindex) +-- +2.1.4 + diff --git a/SOURCES/0168-m4-fix-st_SELINUX-check.patch b/SOURCES/0168-m4-fix-st_SELINUX-check.patch new file mode 100644 index 0000000..9c3203f --- /dev/null +++ b/SOURCES/0168-m4-fix-st_SELINUX-check.patch @@ -0,0 +1,208 @@ +From b8f375c2c8140e759122bca3e3469386d3ba5184 Mon Sep 17 00:00:00 2001 +From: "Dmitry V. Levin" +Date: Mon, 29 Nov 2021 08:00:00 +0000 +Subject: [PATCH 168/174] m4: fix st_SELINUX check + +* m4/st_selinux.m4: Make sure selinux support is enabled only if +all expected functions are provided by libselinux. + +Fixes: v5.12~49 "Implement --secontext[=full] option to display SELinux contexts" +--- + m4/st_selinux.m4 | 36 ++++++++++++++++-------------------- + 1 file changed, 16 insertions(+), 20 deletions(-) + +diff --git a/m4/st_selinux.m4 b/m4/st_selinux.m4 +index da72a48..7b24eba 100644 +--- a/m4/st_selinux.m4 ++++ b/m4/st_selinux.m4 +@@ -34,29 +34,25 @@ AS_IF([test "x$with_libselinux" != xno], + AS_IF([test "x$found_selinux_h" = xyes], + [saved_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $libselinux_LDFLAGS" +- AC_CHECK_LIB([selinux],[getpidcon], +- [libselinux_LIBS="-lselinux" +- enable_secontext=yes +- ], +- [if test "x$with_libselinux" != xcheck; then +- AC_MSG_FAILURE([failed to find getpidcon in libselinux]) +- fi +- ] +- ) +- AC_CHECK_LIB([selinux],[getfilecon], +- [libselinux_LIBS="-lselinux" +- enable_secontext=yes +- ], +- [if test "x$with_libselinux" != xcheck; then +- AC_MSG_FAILURE([failed to find getfilecon in libselinux]) +- fi +- ] ++ missing= ++ for func in getpidcon getfilecon; do ++ AC_CHECK_LIB([selinux], [$func], [:], ++ [missing="$missing $func"]) ++ done ++ AS_IF([test "x$missing" = x], ++ [libselinux_LIBS="-lselinux" ++ enable_secontext=yes ++ ], ++ [AS_IF([test "x$with_libselinux" != xcheck], ++ [AC_MSG_FAILURE([failed to find in libselinux:$missing])] ++ ) ++ ] + ) + LDFLAGS="$saved_LDFLAGS" + ], +- [if test "x$with_libselinux" != xcheck; then +- AC_MSG_FAILURE([failed to find selinux.h]) +- fi ++ [AS_IF([test "x$with_libselinux" != xcheck], ++ [AC_MSG_FAILURE([failed to find selinux.h])] ++ ) + ] + ) + ] +--- old/configure 2022-02-07 20:17:58.364068436 +0100 ++++ new/configure 2022-02-07 20:19:17.092067347 +0100 +@@ -18437,9 +18437,12 @@ + if test "x$found_selinux_h" = xyes; then : + saved_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $libselinux_LDFLAGS" +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getpidcon in -lselinux" >&5 +-$as_echo_n "checking for getpidcon in -lselinux... " >&6; } +-if ${ac_cv_lib_selinux_getpidcon+:} false; then : ++ missing= ++ for func in getpidcon getfilecon; do ++ as_ac_Lib=`$as_echo "ac_cv_lib_selinux_$func" | $as_tr_sh` ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $func in -lselinux" >&5 ++$as_echo_n "checking for $func in -lselinux... " >&6; } ++if eval \${$as_ac_Lib+:} false; then : + $as_echo_n "(cached) " >&6 + else + ac_check_lib_save_LIBS=$LIBS +@@ -18453,101 +18456,59 @@ + #ifdef __cplusplus + extern "C" + #endif +-char getpidcon (); ++char $func (); + int + main () + { +-return getpidcon (); ++return $func (); + ; + return 0; + } + _ACEOF + if ac_fn_c_try_link "$LINENO"; then : +- ac_cv_lib_selinux_getpidcon=yes ++ eval "$as_ac_Lib=yes" + else +- ac_cv_lib_selinux_getpidcon=no ++ eval "$as_ac_Lib=no" + fi + rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LIBS=$ac_check_lib_save_LIBS + fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_selinux_getpidcon" >&5 +-$as_echo "$ac_cv_lib_selinux_getpidcon" >&6; } +-if test "x$ac_cv_lib_selinux_getpidcon" = xyes; then : +- libselinux_LIBS="-lselinux" +- enable_secontext=yes +- ++eval ac_res=\$$as_ac_Lib ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 ++$as_echo "$ac_res" >&6; } ++if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : ++ : + else +- if test "x$with_libselinux" != xcheck; then +- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +-as_fn_error $? "failed to find getpidcon in libselinux +-See \`config.log' for more details" "$LINENO" 5; } +- fi +- +- ++ missing="$missing $func" + fi + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getfilecon in -lselinux" >&5 +-$as_echo_n "checking for getfilecon in -lselinux... " >&6; } +-if ${ac_cv_lib_selinux_getfilecon+:} false; then : +- $as_echo_n "(cached) " >&6 +-else +- ac_check_lib_save_LIBS=$LIBS +-LIBS="-lselinux $LIBS" +-cat confdefs.h - <<_ACEOF >conftest.$ac_ext +-/* end confdefs.h. */ +- +-/* Override any GCC internal prototype to avoid an error. +- Use char because int might match the return type of a GCC +- builtin and then its argument prototype would still apply. */ +-#ifdef __cplusplus +-extern "C" +-#endif +-char getfilecon (); +-int +-main () +-{ +-return getfilecon (); +- ; +- return 0; +-} +-_ACEOF +-if ac_fn_c_try_link "$LINENO"; then : +- ac_cv_lib_selinux_getfilecon=yes +-else +- ac_cv_lib_selinux_getfilecon=no +-fi +-rm -f core conftest.err conftest.$ac_objext \ +- conftest$ac_exeext conftest.$ac_ext +-LIBS=$ac_check_lib_save_LIBS +-fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_selinux_getfilecon" >&5 +-$as_echo "$ac_cv_lib_selinux_getfilecon" >&6; } +-if test "x$ac_cv_lib_selinux_getfilecon" = xyes; then : ++ done ++ if test "x$missing" = x; then : + libselinux_LIBS="-lselinux" +- enable_secontext=yes ++ enable_secontext=yes + + else +- if test "x$with_libselinux" != xcheck; then +- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++ if test "x$with_libselinux" != xcheck; then : ++ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 + $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +-as_fn_error $? "failed to find getfilecon in libselinux ++as_fn_error $? "failed to find in libselinux:$missing + See \`config.log' for more details" "$LINENO" 5; } +- fi +- + + fi + ++ ++fi + LDFLAGS="$saved_LDFLAGS" + + else +- if test "x$with_libselinux" != xcheck; then +- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++ if test "x$with_libselinux" != xcheck; then : ++ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 + $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} + as_fn_error $? "failed to find selinux.h + See \`config.log' for more details" "$LINENO" 5; } +- fi ++ ++fi + + + fi +-- +2.1.4 + diff --git a/SOURCES/0169-Implement-displaying-of-expected-context-upon-mismat.patch b/SOURCES/0169-Implement-displaying-of-expected-context-upon-mismat.patch new file mode 100644 index 0000000..c1e08db --- /dev/null +++ b/SOURCES/0169-Implement-displaying-of-expected-context-upon-mismat.patch @@ -0,0 +1,6958 @@ +From 8b07b18a44f7e0ebdb65b791d79d588dd90b70b6 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Renaud=20M=C3=A9trich?= +Date: Tue, 5 Oct 2021 08:36:22 +0200 +Subject: [PATCH 169/174] Implement displaying of expected context upon + mismatch + +New option to --secontext=... (also available as -e secontext=...) +- mismatch: print expected context on mismatch + +When using 'mismatch', an additional check is made on the context by +reading the context database and comparing the output after stripping +the unwanted part (e.g. stripping nothing in 'full' mode, keeping the +type only in default mode): +- if it differs, prints the expected context after printing '!!' +- if not, don't print anything + +Example with /home/rmetrich/GIT/strace/autom4te.cache/output.3 file: + +---- +$ matchpathcon /home/rmetrich/GIT/strace/autom4te.cache/output.3 +/home/rmetrich/GIT/strace/autom4te.cache/output.3 unconfined_u:object_r:user_home_t:s0 + +$ ls -Z /home/rmetrich/GIT/strace/autom4te.cache/output.3 +system_u:object_r:user_home_t:s0 /home/rmetrich/GIT/strace/autom4te.cache/output.3 +---- + +From above, we see the user part differs ('unconfined_u' vs 'system_u') + +Output in '!full' mode (no diff found on type): + +---- +$ strace --secontext=mismatch -e statx stat /home/rmetrich/GIT/strace/autom4te.cache/output.3 +... statx(AT_FDCWD, "/home/rmetrich/GIT/strace/autom4te.cache/output.3" [user_home_t], ... +---- + +Output in 'full' mode (diff found on user): + +---- +... statx(AT_FDCWD, "/home/rmetrich/GIT/strace/autom4te.cache/output.3" [system_u:object_r:user_home_t:s0!!unconfined_u:object_r:user_home_t:s0], ... +---- + +* NEWS: Mention this change. +* doc/strace.1.in: Document it. +* m4/st_selinux.m4 (st_SELINUX): Check for selabel_open +and selabel_lookup. +* src/filter_qualify.c [ENABLE_SECONTEXT]: Include "secontext.h". +[ENABLE_SECONTEXT] (secontext_set): New variable. +[ENABLE_SECONTEXT] (secontextstr_to_uint, qualify_secontext): New +functions. +(qual_options) [ENABLE_SECONTEXT]: Add "secontext". +* src/secontext.c: Include , , , +"largefile_wrappers.h", "number_set.h", and "xmalloc.h". +(selinux_context, selinux_context_full): Remove. +(getcontext): Use is_number_in_set instead of selinux_context_full. +(selinux_getpidcon): Use is_number_in_set instead of selinux_context. +(get_expected_filecontext): New function. +(selinux_getfdcon, selinux_getfilecon): Use it to print context mismatch +if SECONTEXT_MISMATCH is set in secontext_set. +* src/secontext.h (selinux_context, selinux_context_full): Remove. +(secontext_bits): New enum. +(secontext_set, qualify_secontext, selinux_set_format): New +declarations. +* src/strace.c (SECONTEXT_E_QUAL): New macro. +(usage): Use it, describe --secontext. +(init) [ENABLE_SECONTEXT]: Call qualify_secontext, rename +GETOPT_SECONTEXT to GETOPT_QUAL_SECONTEXT, use is_number_in_set +instead of selinux_context. +(init) [ENABLE_SECONTEXT] (secontext_qual): New variable. +(init) [ENABLE_SECONTEXT] : Use it. +* tests/.gitignore: Add *--secontext_full_mismatch, +*--secontext_full_mismatch.c, *--secontext_mismatch, and +*--secontext_mismatch.c. +* tests/gen_secontext.sh: Generate *--secontext_full_mismatch.c +and *--secontext_mismatch.c. +* tests/gen_tests.in (access--secontext_full_mismatch, +access--secontext_mismatch, chmod--secontext_full_mismatch, +chmod--secontext_mismatch, execve--secontext_full_mismatch, +execve--secontext_mismatch, execveat--secontext_full_mismatch, +execveat--secontext_mismatch, faccessat--secontext_full_mismatch, +faccessat--secontext_mismatch, faccessat-y--secontext_full_mismatch, +faccessat-y--secontext_mismatch, fanotify_mark--secontext_full_mismatch, +fanotify_mark--secontext_mismatch, fchmod--secontext_full_mismatch, +fchmod--secontext_mismatch, fchmod-y--secontext_full_mismatch, +fchmod-y--secontext_mismatch, fchmodat--secontext_full_mismatch, +fchmodat--secontext_mismatch, fchownat--secontext_full_mismatch, +fchownat--secontext_mismatch, file_handle--secontext_full_mismatch, +file_handle--secontext_mismatch, linkat--secontext_full_mismatch, +linkat--secontext_mismatch, open--secontext_full_mismatch, +open--secontext_mismatch, openat--secontext_full_mismatch, +openat--secontext_mismatch): New tests. +* tests/linkat.c: Include . +(main) [PRINT_SECONTEXT_MISMATCH]: Check context mismatch. +* tests/options-syntax.test: Check --secontext and -e secontext syntax. +* tests/secontext.h (secontext_field): New enum. +(secontext_full_file, secontext_short_file): Add "mismatch" argument. +(update_secontext_type): Rename to update_secontext_field, add "field" +argument. +(SECONTEXT_FILE): Conditionalize "mismatch" argument passed to +secontext_full_file and secontext_short_file on +PRINT_SECONTEXT_MISMATCH. +* tests/secontext.c: Include and . +(get_type_from_context, raw_expected_secontext_full_file, +raw_expected_secontext_short_file): New functions. +(raw_secontext_short_file, raw_secontext_short_pid): Use +get_type_from_context. +(secontext_full_file): Add "mismatch" argument, use +raw_expected_secontext_full_file if mismatch is enabled. +(secontext_short_file): Add "mismatch" argument, use +raw_expected_secontext_short_file if mismatch is enabled. +(update_secontext_type): Rename to update_secontext_field, add "field" +argument. + +Co-authored-by: Dmitry V. Levin + +Conflicts: + NEWS + doc/strace.1.in + src/filter_qualify.c + src/strace.c +--- + NEWS | 2 + + doc/strace.1.in | 33 +++++++-- + m4/st_selinux.m4 | 2 +- + src/filter_qualify.c | 29 ++++++++ + src/secontext.c | 114 ++++++++++++++++++++++++++---- + src/secontext.h | 15 +++- + src/strace.c | 49 ++++++++----- + tests/.gitignore | 4 ++ + tests/gen_secontext.sh | 12 +++- + tests/gen_tests.in | 34 ++++++++- + tests/linkat.c | 46 +++++++++++- + tests/options-syntax.test | 14 +++- + tests/secontext.c | 176 ++++++++++++++++++++++++++++++++-------------- + tests/secontext.h | 28 ++++++-- + 14 files changed, 453 insertions(+), 105 deletions(-) + +diff --git a/NEWS b/NEWS +index 969ed11..f7542ea 100644 +--- a/NEWS ++++ b/NEWS +@@ -2,6 +2,8 @@ Noteworthy changes in release 5.13 (2021-07-18) + =============================================== + + * Improvements ++ * Implemented --secontext=mismatch option to find mismatches in SELinux ++ contexts. + * Print netlink data in a more structured way. + * Implemented decoding of NT_PRSTATUS and NT_FPREGSET regsets + of PTRACE_GETREGSET and PTRACE_SETREGSET requests. +diff --git a/doc/strace.1.in b/doc/strace.1.in +index 003e9e5..439243b 100644 +--- a/doc/strace.1.in ++++ b/doc/strace.1.in +@@ -53,7 +53,7 @@ strace \- trace system calls and signals + .OM \-P path + .OM \-p pid + .OP \-\-seccomp\-bpf +-.if '@ENABLE_SECONTEXT_FALSE@'#' .OP \-\-secontext\fR[=full] ++.if '@ENABLE_SECONTEXT_FALSE@'#' .OP \-\-secontext\fR[=\fIformat\fR] + .BR "" { + .OR \-p pid + .BR "" | +@@ -259,6 +259,7 @@ is one of + .BR inject , + .BR status , + .BR quiet " (or " silent " or " silence " or " q ), ++.if '@ENABLE_SECONTEXT_FALSE@'#' .BR secontext , + .BR decode\-fds " (or " decode\-fd ), + or + .BR kvm , +@@ -1086,13 +1087,33 @@ and PIDs associated with pidfd file descriptors. + If strace and tracee are in different PID namespaces, print PIDs in + strace's namespace, too. + .if '@ENABLE_SECONTEXT_FALSE@'#' .TP +-.if '@ENABLE_SECONTEXT_FALSE@'#' .BR \-\-secontext "[=full]" ++.if '@ENABLE_SECONTEXT_FALSE@'#' .BR \-\-secontext\fR[=\fIformat\fR] ++.if '@ENABLE_SECONTEXT_FALSE@'#' .TQ ++.if '@ENABLE_SECONTEXT_FALSE@'#' .BR \-e\ secontext\fR=\fIformat\fR + .if '@ENABLE_SECONTEXT_FALSE@'#' When SELinux is available and is not disabled, + .if '@ENABLE_SECONTEXT_FALSE@'#' print in square brackets SELinux contexts of +-.if '@ENABLE_SECONTEXT_FALSE@'#' processes, files, and descriptors. When +-.if '@ENABLE_SECONTEXT_FALSE@'#' .B full +-.if '@ENABLE_SECONTEXT_FALSE@'#' is specified, print the complete context (user, +-.if '@ENABLE_SECONTEXT_FALSE@'#' role, type and category) instead of just the type. ++.if '@ENABLE_SECONTEXT_FALSE@'#' processes, files, and descriptors. The ++.if '@ENABLE_SECONTEXT_FALSE@'#' .I format ++.if '@ENABLE_SECONTEXT_FALSE@'#' argument is a comma-separated list of items ++.if '@ENABLE_SECONTEXT_FALSE@'#' being one of the following: ++.if '@ENABLE_SECONTEXT_FALSE@'#' .RS ++.if '@ENABLE_SECONTEXT_FALSE@'#' .TP 18 ++.if '@ENABLE_SECONTEXT_FALSE@'#' .BR full ++.if '@ENABLE_SECONTEXT_FALSE@'#' Print the full context (user, role, type level ++.if '@ENABLE_SECONTEXT_FALSE@'#' and category). ++.if '@ENABLE_SECONTEXT_FALSE@'#' .TQ ++.if '@ENABLE_SECONTEXT_FALSE@'#' .BR mismatch ++.if '@ENABLE_SECONTEXT_FALSE@'#' Also print the context recorded by the SELinux ++.if '@ENABLE_SECONTEXT_FALSE@'#' database in case the current context differs. ++.if '@ENABLE_SECONTEXT_FALSE@'#' The latter is printed after two exclamation marks (!!). ++.if '@ENABLE_SECONTEXT_FALSE@'#' .RE ++.if '@ENABLE_SECONTEXT_FALSE@'#' .IP ++.if '@ENABLE_SECONTEXT_FALSE@'#' The default value for ++.if '@ENABLE_SECONTEXT_FALSE@'#' .BR \-\-secontext ++.if '@ENABLE_SECONTEXT_FALSE@'#' is ++.if '@ENABLE_SECONTEXT_FALSE@'#' .BR !full,mismatch ++.if '@ENABLE_SECONTEXT_FALSE@'#' which prints only the type instead of full context ++.if '@ENABLE_SECONTEXT_FALSE@'#' and doesn't check for context mismatches. + .SS Statistics + .TP 12 + .B \-c +diff --git a/m4/st_selinux.m4 b/m4/st_selinux.m4 +index 7b24eba..60e23a9 100644 +--- a/m4/st_selinux.m4 ++++ b/m4/st_selinux.m4 +@@ -35,7 +35,7 @@ AS_IF([test "x$with_libselinux" != xno], + [saved_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $libselinux_LDFLAGS" + missing= +- for func in getpidcon getfilecon; do ++ for func in getpidcon getfilecon selabel_open selabel_lookup; do + AC_CHECK_LIB([selinux], [$func], [:], + [missing="$missing $func"]) + done +diff --git a/src/filter_qualify.c b/src/filter_qualify.c +index df05496..a5b4fe7 100644 +--- a/src/filter_qualify.c ++++ b/src/filter_qualify.c +@@ -14,6 +14,9 @@ + #include "poke.h" + #include "retval.h" + #include "static_assert.h" ++#ifdef ENABLE_SECONTEXT ++# include "secontext.h" ++#endif + + struct number_set *read_set; + struct number_set *write_set; +@@ -591,6 +594,29 @@ qualify_kvm(const char *const str) + } + } + ++#ifdef ENABLE_SECONTEXT ++struct number_set *secontext_set; ++ ++static int ++secontextstr_to_uint(const char *s) ++{ ++ static const struct xlat_data secontext_strs[] = { ++ { SECONTEXT_FULL, "full" }, ++ { SECONTEXT_MISMATCH, "mismatch" }, ++ }; ++ ++ return (int) find_arg_val(s, secontext_strs, -1ULL, -1ULL); ++} ++ ++void ++qualify_secontext(const char *const str) ++{ ++ if (!secontext_set) ++ secontext_set = alloc_number_set_array(1); ++ qualify_tokens(str, secontext_set, secontextstr_to_uint, "secontext"); ++} ++#endif ++ + static const struct qual_options { + const char *name; + void (*qualify)(const char *); +@@ -622,6 +648,9 @@ static const struct qual_options { + { "kvm", qualify_kvm }, + { "decode-fd", qualify_decode_fd }, + { "decode-fds", qualify_decode_fd }, ++#ifdef ENABLE_SECONTEXT ++ { "secontext", qualify_secontext }, ++#endif + }; + + void +diff --git a/src/secontext.c b/src/secontext.c +index ccf9b34..9a91386 100644 +--- a/src/secontext.c ++++ b/src/secontext.c +@@ -10,14 +10,17 @@ + #include + #include + #include ++#include ++#include + #include ++#include + ++#include "largefile_wrappers.h" ++#include "number_set.h" + #include "secontext.h" ++#include "xmalloc.h" + #include "xstring.h" + +-bool selinux_context = false; +-bool selinux_context_full = false; +- + static int + getcontext(int rc, char **secontext, char **result) + { +@@ -25,7 +28,7 @@ getcontext(int rc, char **secontext, char **result) + return rc; + + *result = NULL; +- if (!selinux_context_full) { ++ if (!is_number_in_set(SECONTEXT_FULL, secontext_set)) { + char *saveptr = NULL; + char *secontext_copy = xstrdup(*secontext); + const char *token; +@@ -59,6 +62,36 @@ getcontext(int rc, char **secontext, char **result) + freecon(*secontext); + return 0; + } ++ ++static int ++get_expected_filecontext(const char *path, char **result) ++{ ++ static struct selabel_handle *hdl; ++ ++ if (!hdl) { ++ static bool disabled; ++ if (disabled) ++ return -1; ++ ++ hdl = selabel_open(SELABEL_CTX_FILE, NULL, 0); ++ if (!hdl) { ++ perror_msg("could not open SELinux database, disabling " ++ "context mismatch checking"); ++ disabled = true; ++ return -1; ++ } ++ } ++ ++ strace_stat_t stb; ++ if (stat_file(path, &stb) < 0) { ++ return -1; ++ } ++ ++ char *secontext; ++ return getcontext(selabel_lookup(hdl, &secontext, path, stb.st_mode), ++ &secontext, result); ++} ++ + /* + * Retrieves the SELinux context of the given PID (extracted from the tcb). + * Memory must be freed. +@@ -67,7 +100,7 @@ getcontext(int rc, char **secontext, char **result) + int + selinux_getpidcon(struct tcb *tcp, char **result) + { +- if (!selinux_context) ++ if (number_set_array_is_empty(secontext_set, 0)) + return -1; + + int proc_pid = 0; +@@ -87,7 +120,7 @@ selinux_getpidcon(struct tcb *tcp, char **result) + int + selinux_getfdcon(pid_t pid, int fd, char **result) + { +- if (!selinux_context || pid <= 0 || fd < 0) ++ if (number_set_array_is_empty(secontext_set, 0) || pid <= 0 || fd < 0) + return -1; + + int proc_pid = 0; +@@ -99,7 +132,33 @@ selinux_getfdcon(pid_t pid, int fd, char **result) + xsprintf(linkpath, "/proc/%u/fd/%u", proc_pid, fd); + + char *secontext; +- return getcontext(getfilecon(linkpath, &secontext), &secontext, result); ++ int rc = getcontext(getfilecon(linkpath, &secontext), &secontext, result); ++ if (rc < 0 || !is_number_in_set(SECONTEXT_MISMATCH, secontext_set)) ++ return rc; ++ ++ /* ++ * We need to resolve the path, because selabel_lookup() doesn't ++ * resolve anything. Using readlink() is sufficient here. ++ */ ++ ++ char buf[PATH_MAX]; ++ ssize_t n = readlink(linkpath, buf, sizeof(buf)); ++ if ((size_t) n >= sizeof(buf)) ++ return 0; ++ buf[n] = '\0'; ++ ++ char *expected; ++ if (get_expected_filecontext(buf, &expected) < 0) ++ return 0; ++ if (strcmp(expected, *result) == 0) { ++ free(expected); ++ return 0; ++ } ++ char *final_result = xasprintf("%s!!%s", *result, expected); ++ free(expected); ++ free(*result); ++ *result = final_result; ++ return 0; + } + + /* +@@ -110,7 +169,7 @@ selinux_getfdcon(pid_t pid, int fd, char **result) + int + selinux_getfilecon(struct tcb *tcp, const char *path, char **result) + { +- if (!selinux_context) ++ if (number_set_array_is_empty(secontext_set, 0)) + return -1; + + int proc_pid = 0; +@@ -118,22 +177,49 @@ selinux_getfilecon(struct tcb *tcp, const char *path, char **result) + if (!proc_pid) + return -1; + +- int ret = -1; ++ int rc = -1; + char fname[PATH_MAX]; + + if (path[0] == '/') +- ret = snprintf(fname, sizeof(fname), "/proc/%u/root%s", ++ rc = snprintf(fname, sizeof(fname), "/proc/%u/root%s", + proc_pid, path); + else if (tcp->last_dirfd == AT_FDCWD) +- ret = snprintf(fname, sizeof(fname), "/proc/%u/cwd/%s", ++ rc = snprintf(fname, sizeof(fname), "/proc/%u/cwd/%s", + proc_pid, path); + else if (tcp->last_dirfd >= 0 ) +- ret = snprintf(fname, sizeof(fname), "/proc/%u/fd/%u/%s", ++ rc = snprintf(fname, sizeof(fname), "/proc/%u/fd/%u/%s", + proc_pid, tcp->last_dirfd, path); + +- if ((unsigned int) ret >= sizeof(fname)) ++ if ((unsigned int) rc >= sizeof(fname)) + return -1; + + char *secontext; +- return getcontext(getfilecon(fname, &secontext), &secontext, result); ++ rc = getcontext(getfilecon(fname, &secontext), &secontext, result); ++ if (rc < 0 || !is_number_in_set(SECONTEXT_MISMATCH, secontext_set)) ++ return rc; ++ ++ /* ++ * We need to fully resolve the path, because selabel_lookup() doesn't ++ * resolve anything. Using realpath() is the only solution here to make ++ * sure the path is canonicalized. ++ */ ++ ++ char *resolved = realpath(fname, NULL); ++ if (!resolved) ++ return 0; ++ ++ char *expected; ++ rc = get_expected_filecontext(resolved, &expected); ++ free(resolved); ++ if (rc < 0) ++ return 0; ++ if (strcmp(expected, *result) == 0) { ++ free(expected); ++ return 0; ++ } ++ char *final_result = xasprintf("%s!!%s", *result, expected); ++ free(expected); ++ free(*result); ++ *result = final_result; ++ return 0; + } +diff --git a/src/secontext.h b/src/secontext.h +index 1ed88c7..39222d0 100644 +--- a/src/secontext.h ++++ b/src/secontext.h +@@ -11,11 +11,22 @@ + + # include "defs.h" + +-extern bool selinux_context; +-extern bool selinux_context_full; ++void qualify_secontext(const char *const str); ++ ++enum secontext_bits { ++ /* Display full context instead of type only */ ++ SECONTEXT_FULL, ++ /* Check for context mismatch */ ++ SECONTEXT_MISMATCH, ++ ++ NUMBER_OF_SECONTEXT_BITS ++}; ++ ++extern struct number_set *secontext_set; + + int selinux_getfdcon(pid_t pid, int fd, char **context); + int selinux_getfilecon(struct tcb *tcp, const char *path, char **context); + int selinux_getpidcon(struct tcb *tcp, char **context); ++void selinux_set_format(const char *optarg); + + #endif /* !STRACE_SECONTEXT_H */ +diff --git a/src/strace.c b/src/strace.c +index fb42fe9..0a18478 100644 +--- a/src/strace.c ++++ b/src/strace.c +@@ -264,9 +264,11 @@ usage(void) + # define K_OPT "" + #endif + #ifdef ENABLE_SECONTEXT +-# define SECONTEXT_OPT "[--secontext[=full]]\n" ++# define SECONTEXT_OPT " [--secontext[=FORMAT]]\n" ++# define SECONTEXT_E_QUAL ", secontext" + #else + # define SECONTEXT_OPT "" ++# define SECONTEXT_E_QUAL "" + #endif + + printf("\ +@@ -282,7 +284,7 @@ Usage: strace [-ACdffhi" K_OPT "qqrtttTvVwxxyyzZ] [-I N] [-b execve] [-e EXPR].. + General:\n\ + -e EXPR a qualifying expression: OPTION=[!]all or OPTION=[!]VAL1[,VAL2]...\n\ + options: trace, abbrev, verbose, raw, signal, read, write, fault,\n\ +- inject, status, quiet, kvm, decode-fds\n\ ++ inject, status, quiet, kvm, decode-fds" SECONTEXT_E_QUAL "\n\ + \n\ + Startup:\n\ + -E VAR=VAL, --env=VAR=VAL\n\ +@@ -358,6 +360,19 @@ Output format:\n\ + path (file path),\n\ + pidfd (associated PID for pidfds),\n\ + socket (protocol-specific information for socket descriptors)\n\ ++" ++#ifdef ENABLE_SECONTEXT ++"\ ++ -e secontext=FORMAT, --secontext[=FORMAT]\n\ ++ print SELinux contexts in square brackets\n\ ++ formats: comma-separated list of all, full, mismatch, none\n\ ++ all: equivalent to full,mismatch\n\ ++ full: print the full context instead of the type only\n\ ++ mismatch: print expected context when actual is not matching\n\ ++ none: equivalent to not specifying the option at all\n\ ++" ++#endif ++"\ + -i, --instruction-pointer\n\ + print instruction pointer at time of syscall\n\ + " +@@ -1991,6 +2006,9 @@ init(int argc, char *argv[]) + static const char tflag_str[] = "format:time"; + static const char ttflag_str[] = "precision:us,format:time"; + static const char tttflag_str[] = "format:unix,precision:us"; ++#ifdef ENABLE_SECONTEXT ++ static const char secontext_qual[] = "!full,mismatch"; ++#endif + + int c, i; + int optF = 0, zflags = 0; +@@ -2054,6 +2072,9 @@ init(int argc, char *argv[]) + qualify_quiet("none"); + qualify_decode_fd("none"); + qualify_signals("all"); ++#ifdef ENABLE_SECONTEXT ++ qualify_secontext("none"); ++#endif + + static const char optstring[] = + "+a:Ab:cCdDe:E:fFhiI:kno:O:p:P:qrs:S:tTu:U:vVwxX:yzZ"; +@@ -2066,9 +2087,6 @@ init(int argc, char *argv[]) + GETOPT_OUTPUT_SEPARATELY, + GETOPT_TS, + GETOPT_PIDNS_TRANSLATION, +-#ifdef ENABLE_SECONTEXT +- GETOPT_SECONTEXT, +-#endif + + GETOPT_QUAL_TRACE, + GETOPT_QUAL_ABBREV, +@@ -2083,6 +2101,9 @@ init(int argc, char *argv[]) + GETOPT_QUAL_KVM, + GETOPT_QUAL_QUIET, + GETOPT_QUAL_DECODE_FD, ++#ifdef ENABLE_SECONTEXT ++ GETOPT_QUAL_SECONTEXT, ++#endif + }; + static const struct option longopts[] = { + { "columns", required_argument, 0, 'a' }, +@@ -2125,9 +2146,6 @@ init(int argc, char *argv[]) + { "failed-only", no_argument, 0, 'Z' }, + { "failing-only", no_argument, 0, 'Z' }, + { "seccomp-bpf", no_argument, 0, GETOPT_SECCOMP }, +-#ifdef ENABLE_SECONTEXT +- { "secontext", optional_argument, 0, GETOPT_SECONTEXT }, +-#endif + + { "trace", required_argument, 0, GETOPT_QUAL_TRACE }, + { "abbrev", required_argument, 0, GETOPT_QUAL_ABBREV }, +@@ -2144,6 +2162,9 @@ init(int argc, char *argv[]) + { "silent", optional_argument, 0, GETOPT_QUAL_QUIET }, + { "silence", optional_argument, 0, GETOPT_QUAL_QUIET }, + { "decode-fds", optional_argument, 0, GETOPT_QUAL_DECODE_FD }, ++#ifdef ENABLE_SECONTEXT ++ { "secontext", optional_argument, 0, GETOPT_QUAL_SECONTEXT }, ++#endif + + { 0, 0, 0, 0 } + }; +@@ -2357,14 +2378,8 @@ init(int argc, char *argv[]) + seccomp_filtering = true; + break; + #ifdef ENABLE_SECONTEXT +- case GETOPT_SECONTEXT: +- selinux_context = true; +- if (optarg) { +- if (!strcmp(optarg, "full")) +- selinux_context_full = true; +- else +- error_opt_arg(c, lopt, optarg); +- } ++ case GETOPT_QUAL_SECONTEXT: ++ qualify_secontext(optarg ? optarg : secontext_qual); + break; + #endif + case GETOPT_QUAL_TRACE: +@@ -2550,7 +2565,7 @@ init(int argc, char *argv[]) + error_msg("-y/--decode-fds has no effect " + "with -c/--summary-only"); + #ifdef ENABLE_SECONTEXT +- if (selinux_context) ++ if (!number_set_array_is_empty(secontext_set, 0)) + error_msg("--secontext has no effect with " + "-c/--summary-only"); + #endif +diff --git a/tests/gen_tests.in b/tests/gen_tests.in +index 8b4e2e9..71e2f17 100644 +--- a/tests/gen_tests.in ++++ b/tests/gen_tests.in +@@ -12,6 +12,8 @@ accept4 -a37 + access -a30 --trace-path=access_sample + access--secontext -a30 --secontext --trace-path=access_sample -e trace=access + access--secontext_full -a30 --secontext=full --trace-path=access_sample -e trace=access ++access--secontext_full_mismatch -a30 --secontext=full,mismatch --trace-path=access_sample -e trace=access ++access--secontext_mismatch -a30 --secontext=mismatch --trace-path=access_sample -e trace=access + acct -a20 + add_key -a30 -s12 + adjtimex -a15 +@@ -27,8 +29,10 @@ bpf-v -a20 -v -e trace=bpf + btrfs +ioctl.test + chdir -a10 + chmod -a28 +-chmod--secontext -a28 --secontext -e trace=chmod +-chmod--secontext_full -a28 --secontext=full -e trace=chmod ++chmod--secontext -a28 -e secontext=!full,mismatch -e trace=chmod ++chmod--secontext_full -a28 -e secontext=full -e trace=chmod ++chmod--secontext_full_mismatch -a28 --secontext=mismatch,full -e trace=chmod ++chmod--secontext_mismatch -a28 --secontext=mismatch -e trace=chmod + chown -a28 + chown32 -a31 + chroot -a13 +@@ -84,16 +88,24 @@ epoll_wait -a26 + erestartsys -a34 -e signal=none -e trace=recvfrom + execve--secontext +execve.test --secontext + execve--secontext_full +execve.test --secontext=full ++execve--secontext_full_mismatch +execve.test --secontext=full,mismatch ++execve--secontext_mismatch +execve.test --secontext=mismatch + execveat + execveat--secontext --secontext --trace=execveat + execveat--secontext_full --secontext=full --trace=execveat ++execveat--secontext_full_mismatch --secontext=full,mismatch --trace=execveat ++execveat--secontext_mismatch --secontext=mismatch --trace=execveat + execveat-v -v -e trace=execveat + faccessat--secontext +faccessat.test -a24 --secontext + faccessat--secontext_full +faccessat.test -a24 --secontext=full ++faccessat--secontext_full_mismatch +faccessat.test -a24 --secontext=full,mismatch ++faccessat--secontext_mismatch +faccessat.test -a24 --secontext=mismatch + faccessat-P -a23 --trace=faccessat -P /dev/full + faccessat-y +faccessat.test -a24 -y + faccessat-y--secontext +faccessat.test -a24 -y --secontext + faccessat-y--secontext_full +faccessat.test -a24 -y --secontext=full ++faccessat-y--secontext_full_mismatch +faccessat.test -a24 -y --secontext=full,mismatch ++faccessat-y--secontext_mismatch +faccessat.test -a24 -y --secontext=mismatch + faccessat-yy +faccessat.test -a24 -yy + faccessat2-P -a27 --trace=faccessat2 -P /dev/full + faccessat2-y +faccessat2.test -a28 -y +@@ -104,6 +116,8 @@ fanotify_init + fanotify_mark -a32 + fanotify_mark--secontext -a32 --secontext -e trace=fanotify_mark + fanotify_mark--secontext_full -a32 --secontext=full -e trace=fanotify_mark ++fanotify_mark--secontext_full_mismatch -a32 --secontext=full,mismatch -e trace=fanotify_mark ++fanotify_mark--secontext_mismatch -a32 --secontext=mismatch -e trace=fanotify_mark + fanotify_mark-Xabbrev -a32 -Xabbrev -e trace=fanotify_mark + fanotify_mark-Xraw -a32 -Xraw -e trace=fanotify_mark + fanotify_mark-Xverbose -a32 -Xverbose -e trace=fanotify_mark +@@ -111,17 +125,25 @@ fchdir -a11 + fchmod -a15 + fchmod--secontext -a15 --secontext -e trace=fchmod + fchmod--secontext_full -a15 --secontext=full -e trace=fchmod ++fchmod--secontext_full_mismatch -a15 --secontext=full,mismatch -e trace=fchmod ++fchmod--secontext_mismatch -a15 --secontext=mismatch -e trace=fchmod + fchmod-y -y -e trace=fchmod + fchmod-y--secontext -a15 -y --secontext -e trace=fchmod + fchmod-y--secontext_full -a15 -y --secontext=full -e trace=fchmod ++fchmod-y--secontext_full_mismatch -a15 -y --secontext=full,mismatch -e trace=fchmod ++fchmod-y--secontext_mismatch -a15 -y --secontext=mismatch -e trace=fchmod + fchmodat + fchmodat--secontext --secontext -e trace=fchmodat + fchmodat--secontext_full --secontext=full -e trace=fchmodat ++fchmodat--secontext_full_mismatch --secontext=full,mismatch -e trace=fchmodat ++fchmodat--secontext_mismatch --secontext=mismatch -e trace=fchmodat + fchown -a16 + fchown32 -a18 + fchownat + fchownat--secontext --secontext -e trace=fchownat + fchownat--secontext_full --secontext=full -e trace=fchownat ++fchownat--secontext_full_mismatch -e secontext=full,mismatch -e trace=fchownat ++fchownat--secontext_mismatch -e secontext=mismatch -e trace=fchownat + fcntl -a8 + fcntl--pidns-translation test_pidns -a8 -e trace=fcntl + fcntl64 -a8 +@@ -130,6 +152,8 @@ fdatasync -a14 + file_handle -e trace=name_to_handle_at,open_by_handle_at + file_handle--secontext --secontext -e trace=name_to_handle_at,open_by_handle_at + file_handle--secontext_full --secontext=full -e trace=name_to_handle_at,open_by_handle_at ++file_handle--secontext_full_mismatch --secontext=full,mismatch -e trace=name_to_handle_at,open_by_handle_at ++file_handle--secontext_mismatch --secontext=mismatch -e trace=name_to_handle_at,open_by_handle_at + filter_seccomp . "${srcdir=.}/filter_seccomp.sh"; test_prog_set --seccomp-bpf -f + filter_seccomp-flag ../$NAME + finit_module -a25 +@@ -383,6 +407,8 @@ link + linkat + linkat--secontext --secontext -e trace=linkat + linkat--secontext_full --secontext=full -e trace=linkat ++linkat--secontext_full_mismatch --secontext=full,mismatch -e trace=linkat ++linkat--secontext_mismatch --secontext=mismatch -e trace=linkat + lookup_dcookie -a27 + lstat -a31 --no-abbrev --trace-path=stat.sample --trace-path=/dev/full + lstat64 -a32 --no-abbrev --trace-path=stat.sample --trace-path=/dev/full +@@ -526,11 +552,15 @@ oldstat -a32 -v -P stat.sample -P /dev/full + open -a30 -P $NAME.sample + open--secontext -a30 -P open.sample --secontext --trace=open + open--secontext_full -a30 -P open.sample --secontext=full --trace=open ++open--secontext_full_mismatch -a30 -P open.sample --secontext=full,mismatch --trace=open ++open--secontext_mismatch -a30 -P open.sample --secontext=mismatch --trace=open + open_tree -a30 -y + open_tree-P -a30 --decode-fds -P /dev/full -e trace=open_tree + openat -a36 -P $NAME.sample + openat--secontext -a36 -P openat.sample -P $PWD/openat.sample --secontext -e trace=openat + openat--secontext_full -a36 -P openat.sample -P $PWD/openat.sample --secontext=full -e trace=openat ++openat--secontext_full_mismatch -a36 -P openat.sample -P $PWD/openat.sample --secontext=full,mismatch -e trace=openat ++openat--secontext_mismatch -a36 -P openat.sample -P $PWD/openat.sample --secontext=mismatch -e trace=openat + openat2 -a35 + openat2-Xabbrev --trace=openat2 -a35 -Xabbrev + openat2-Xraw --trace=openat2 -a32 -Xraw +diff --git a/tests/linkat.c b/tests/linkat.c +index 1d41d3d..1a869e3 100644 +--- a/tests/linkat.c ++++ b/tests/linkat.c +@@ -15,6 +15,7 @@ + #include + #include + #include ++#include + + #include "secontext.h" + #include "xmalloc.h" +@@ -88,10 +89,42 @@ main(void) + perror_msg_and_fail("close"); + + free(sample_1_secontext); +- update_secontext_type(sample_1, "default_t"); ++ ++#ifdef PRINT_SECONTEXT_MISMATCH ++ update_secontext_field(sample_1, SECONTEXT_USER, "system_u"); ++ sample_1_secontext = SECONTEXT_FILE(sample_1); ++ ++# ifdef PRINT_SECONTEXT_FULL ++ /* The mismatch should be detected */ ++ if (*sample_1_secontext && strstr(sample_1_secontext, "!!") == NULL) ++ perror_msg_and_fail("Context mismatch not detected: %s", ++ sample_1_secontext); ++ if (*sample_1_secontext && strstr(sample_1_secontext, "system_u") == NULL) ++ perror_msg_and_fail("Context mismatch not detected: %s", ++ sample_1_secontext); ++# else ++ /* The mismatch cannot be detected since it's on user part */ ++ if (*sample_1_secontext && strstr(sample_1_secontext, "!!") != NULL) ++ perror_msg_and_fail("Context mismatch detected: %s", ++ sample_1_secontext); ++# endif ++ ++ free(sample_1_secontext); ++#endif ++ ++ update_secontext_field(sample_1, SECONTEXT_TYPE, "default_t"); + sample_1_secontext = SECONTEXT_FILE(sample_1); + sample_2_secontext = sample_1_secontext; + ++#ifdef PRINT_SECONTEXT_MISMATCH ++ if (*sample_1_secontext && strstr(sample_1_secontext, "!!") == NULL) ++ perror_msg_and_fail("Context mismatch not detected: %s", ++ sample_1_secontext); ++ if (*sample_1_secontext && strstr(sample_1_secontext, "default_t") == NULL) ++ perror_msg_and_fail("Context mismatch not detected: %s", ++ sample_1_secontext); ++#endif ++ + rc = syscall(__NR_linkat, -100, sample_1, -100, sample_2, 0); + printf("%s%s(AT_FDCWD, \"%s\"%s, AT_FDCWD, \"%s\"%s, 0) = %s\n", + my_secontext, "linkat", +@@ -108,8 +141,19 @@ main(void) + + int dfd_old = get_dir_fd("."); + char *cwd = get_fd_path(dfd_old); ++ ++ update_secontext_field(".", SECONTEXT_TYPE, "default_t"); + char *dfd_old_secontext = SECONTEXT_FILE("."); + ++#ifdef PRINT_SECONTEXT_MISMATCH ++ if (*dfd_old_secontext && strstr(dfd_old_secontext, "!!") == NULL) ++ perror_msg_and_fail("Context mismatch not detected: %s", ++ dfd_old_secontext); ++ if (*dfd_old_secontext && strstr(dfd_old_secontext, "default_t") == NULL) ++ perror_msg_and_fail("Context mismatch not detected: %s", ++ dfd_old_secontext); ++#endif ++ + rc = syscall(__NR_linkat, dfd_old, sample_1, -100, sample_2, 0); + /* no context printed for sample_2 since file doesn't exist yet */ + printf("%s%s(%d%s, \"%s\"%s, AT_FDCWD, \"%s\", 0) = %s\n", +diff --git a/tests/options-syntax.test b/tests/options-syntax.test +index 765b2f8..848d297 100755 +--- a/tests/options-syntax.test ++++ b/tests/options-syntax.test +@@ -48,8 +48,18 @@ check_e '-t and --absolute-timestamps cannot be provided simultaneously' -t --ti + check_e '-t and --absolute-timestamps cannot be provided simultaneously' --absolute-timestamps -ttt -p $$ + check_e '-t and --absolute-timestamps cannot be provided simultaneously' -t --timestamps=ns -t -p $$ + check_e '-t and --absolute-timestamps cannot be provided simultaneously' --timestamps=ns -t --absolute-timestamps=unix -p $$ +-[ -z "$compiled_with_secontext" ] || +- check_h "invalid --secontext argument: 'ss'" --secontext=ss ++if [ -n "$compiled_with_secontext" ]; then ++ for opt in '--secontext' '-e secontext'; do ++ check_e "invalid secontext ''" $opt= ++ check_e "invalid secontext 'ss'" $opt=ss ++ check_e "invalid secontext 'ss'" $opt=ss,full,mismatch ++ check_e "invalid secontext 'ss'" $opt=full,ss,mismatch ++ check_e "invalid secontext 'ss'" $opt=full,ss ++ check_e "invalid secontext 'ss'" $opt=full,mismatch,ss ++ check_e "invalid secontext 'ss'" $opt=!full,ss ++ check_e "invalid secontext 'ss'" $opt=!full,mismatch,ss ++ done ++fi + check_h 'PROG [ARGS] must be specified with -D/--daemonize' -D -p $$ + check_h 'PROG [ARGS] must be specified with -D/--daemonize' -DD -p $$ + check_h 'PROG [ARGS] must be specified with -D/--daemonize' -DDD -p $$ +diff --git a/tests/secontext.c b/tests/secontext.c +index 21c6370..848eea9 100644 +--- a/tests/secontext.c ++++ b/tests/secontext.c +@@ -13,8 +13,10 @@ + # include + # include + # include ++# include + # include + # include ++# include + + # include "xmalloc.h" + +@@ -55,6 +57,79 @@ strip_trailing_newlines(char *context) + } + + static char * ++get_type_from_context(const char *full_context) ++{ ++ int saved_errno = errno; ++ ++ if (!full_context) ++ return NULL; ++ ++ char *saveptr = NULL; ++ const char *token; ++ unsigned int i; ++ ++ char *ctx_copy = xstrdup(full_context); ++ char *context = NULL; ++ for (token = strtok_r(ctx_copy, ":", &saveptr), i = 0; ++ token; token = strtok_r(NULL, ":", &saveptr), i++) { ++ if (i == 2) { ++ context = xstrdup(token); ++ break; ++ } ++ } ++ if (!context) ++ context = xstrdup(full_context); ++ free(ctx_copy); ++ ++ errno = saved_errno; ++ return context; ++} ++ ++static char * ++raw_expected_secontext_full_file(const char *filename) ++{ ++ int saved_errno = errno; ++ char *secontext; ++ ++ static struct selabel_handle *hdl; ++ if (!hdl) { ++ hdl = selabel_open(SELABEL_CTX_FILE, NULL, 0); ++ if (!hdl) ++ perror_msg_and_skip("selabel_open"); ++ } ++ ++ char *resolved = realpath(filename, NULL); ++ if (!resolved) ++ perror_msg_and_fail("realpath: %s", filename); ++ ++ struct stat statbuf; ++ if (stat(resolved, &statbuf) < 0) ++ perror_msg_and_fail("stat: %s", resolved); ++ ++ if (selabel_lookup(hdl, &secontext, resolved, statbuf.st_mode) < 0) ++ perror_msg_and_skip("selabel_lookup: %s", resolved); ++ free(resolved); ++ ++ char *full_secontext = xstrdup(secontext); ++ freecon(secontext); ++ errno = saved_errno; ++ return full_secontext; ++} ++ ++static char * ++raw_expected_secontext_short_file(const char *filename) ++{ ++ int saved_errno = errno; ++ ++ char *ctx = raw_expected_secontext_full_file(filename); ++ char *type = get_type_from_context(ctx); ++ free(ctx); ++ ++ errno = saved_errno; ++ return type; ++} ++ ++static char * + raw_secontext_full_file(const char *filename) + { + int saved_errno = errno; +@@ -75,29 +150,11 @@ raw_secontext_short_file(const char *filename) + int saved_errno = errno; + + char *ctx = raw_secontext_full_file(filename); +- if (ctx == NULL) +- return ctx; +- +- char *saveptr = NULL; +- const char *token; +- unsigned int i; +- +- char *ctx_copy = xstrdup(ctx); +- char *context = NULL; +- for (token = strtok_r(ctx_copy, ":", &saveptr), i = 0; +- token; token = strtok_r(NULL, ":", &saveptr), i++) { +- if (i == 2) { +- context = xstrdup(token); +- break; +- } +- } +- if (context == NULL) +- context = xstrdup(ctx); +- free(ctx_copy); ++ char *type = get_type_from_context(ctx); + free(ctx); + + errno = saved_errno; +- return context; ++ return type; + } + + static char * +@@ -121,35 +178,30 @@ raw_secontext_short_pid(pid_t pid) + int saved_errno = errno; + + char *ctx = raw_secontext_full_pid(pid); +- if (ctx == NULL) +- return ctx; +- +- char *saveptr = NULL; +- const char *token; +- int i; +- +- char *ctx_copy = xstrdup(ctx); +- char *context = NULL; +- for (token = strtok_r(ctx_copy, ":", &saveptr), i = 0; +- token; token = strtok_r(NULL, ":", &saveptr), i++) { +- if (i == 2) { +- context = xstrdup(token); +- break; +- } +- } +- if (context == NULL) +- context = xstrdup(ctx); +- free(ctx_copy); ++ char *type = get_type_from_context(ctx); + free(ctx); + + errno = saved_errno; +- return context; ++ return type; + } + + char * +-secontext_full_file(const char *filename) ++secontext_full_file(const char *filename, bool mismatch) + { +- return FORMAT_SPACE_BEFORE(raw_secontext_full_file(filename)); ++ int saved_errno = errno; ++ char *context = raw_secontext_full_file(filename); ++ if (context && mismatch) { ++ char *expected = raw_expected_secontext_full_file(filename); ++ if (expected && strcmp(context, expected)) { ++ char *context_mismatch = ++ xasprintf("%s!!%s", context, expected); ++ free(context); ++ context = context_mismatch; ++ } ++ free(expected); ++ } ++ errno = saved_errno; ++ return FORMAT_SPACE_BEFORE(context); + } + + char * +@@ -159,9 +211,22 @@ secontext_full_pid(pid_t pid) + } + + char * +-secontext_short_file(const char *filename) ++secontext_short_file(const char *filename, bool mismatch) + { +- return FORMAT_SPACE_BEFORE(raw_secontext_short_file(filename)); ++ int saved_errno = errno; ++ char *context = raw_secontext_short_file(filename); ++ if (context && mismatch) { ++ char *expected = raw_expected_secontext_short_file(filename); ++ if (expected && strcmp(context, expected)) { ++ char *context_mismatch = ++ xasprintf("%s!!%s", context, expected); ++ free(context); ++ context = context_mismatch; ++ } ++ free(expected); ++ } ++ errno = saved_errno; ++ return FORMAT_SPACE_BEFORE(context); + } + + char * +@@ -171,31 +236,38 @@ secontext_short_pid(pid_t pid) + } + + void +-update_secontext_type(const char *file, const char *newtype) ++update_secontext_field(const char *file, enum secontext_field field, ++ const char *newvalue) + { ++ int saved_errno = errno; ++ assert(field >= SECONTEXT_USER && field <= SECONTEXT_TYPE); ++ + char *ctx = raw_secontext_full_file(file); + if (ctx == NULL) + return; + + char *saveptr = NULL; + char *token; +- int field; ++ int nfields; + char *split[4]; + +- for (token = strtok_r(ctx, ":", &saveptr), field = 0; +- token; token = strtok_r(NULL, ":", &saveptr), field++) { +- assert(field < 4); +- split[field] = token; ++ for (token = strtok_r(ctx, ":", &saveptr), nfields = 0; ++ token; token = strtok_r(NULL, ":", &saveptr), nfields++) { ++ assert(nfields < 4); ++ split[nfields] = token; + } +- assert(field == 4); ++ assert(nfields == 4); ++ ++ split[field] = (char *)newvalue; + + char *newcontext = xasprintf("%s:%s:%s:%s", split[0], split[1], +- newtype, split[3]); ++ split[2], split[3]); + + (void) setfilecon(file, newcontext); + + free(newcontext); + free(ctx); ++ errno = saved_errno; + } + + #endif /* HAVE_SELINUX_RUNTIME */ +diff --git a/tests/secontext.h b/tests/secontext.h +index c65f53a..1d0251a 100644 +--- a/tests/secontext.h ++++ b/tests/secontext.h +@@ -9,24 +9,39 @@ + #include "xmalloc.h" + #include + +-char *secontext_full_file(const char *) ATTRIBUTE_MALLOC; ++char *secontext_full_file(const char *, bool) ATTRIBUTE_MALLOC; + char *secontext_full_pid(pid_t) ATTRIBUTE_MALLOC; + +-char *secontext_short_file(const char *) ATTRIBUTE_MALLOC; ++char *secontext_short_file(const char *, bool) ATTRIBUTE_MALLOC; + char *secontext_short_pid(pid_t) ATTRIBUTE_MALLOC; + ++enum secontext_field { ++ SECONTEXT_USER, ++ SECONTEXT_ROLE, ++ SECONTEXT_TYPE ++}; ++ + #if defined TEST_SECONTEXT && defined HAVE_SELINUX_RUNTIME + +-void update_secontext_type(const char *file, const char *newtype); ++void update_secontext_field(const char *file, enum secontext_field field, ++ const char *newvalue); + + # ifdef PRINT_SECONTEXT_FULL + +-# define SECONTEXT_FILE(filename) secontext_full_file(filename) ++# ifdef PRINT_SECONTEXT_MISMATCH ++# define SECONTEXT_FILE(filename) secontext_full_file(filename, true) ++# else ++# define SECONTEXT_FILE(filename) secontext_full_file(filename, false) ++# endif + # define SECONTEXT_PID(pid) secontext_full_pid(pid) + + # else + +-# define SECONTEXT_FILE(filename) secontext_short_file(filename) ++# ifdef PRINT_SECONTEXT_MISMATCH ++# define SECONTEXT_FILE(filename) secontext_short_file(filename, true) ++# else ++# define SECONTEXT_FILE(filename) secontext_short_file(filename, false) ++# endif + # define SECONTEXT_PID(pid) secontext_short_pid(pid) + + # endif +@@ -34,7 +49,8 @@ void update_secontext_type(const char *file, const char *newtype); + #else + + static inline void +-update_secontext_type(const char *file, const char *newtype) ++update_secontext_field(const char *file, enum secontext_field field, ++ const char *newvalue) + { + } + +diff --git a/tests-m32/gen_tests.in b/tests-m32/gen_tests.in +index 8b4e2e9..71e2f17 100644 +--- a/tests-m32/gen_tests.in ++++ b/tests-m32/gen_tests.in +@@ -12,6 +12,8 @@ accept4 -a37 + access -a30 --trace-path=access_sample + access--secontext -a30 --secontext --trace-path=access_sample -e trace=access + access--secontext_full -a30 --secontext=full --trace-path=access_sample -e trace=access ++access--secontext_full_mismatch -a30 --secontext=full,mismatch --trace-path=access_sample -e trace=access ++access--secontext_mismatch -a30 --secontext=mismatch --trace-path=access_sample -e trace=access + acct -a20 + add_key -a30 -s12 + adjtimex -a15 +@@ -27,8 +29,10 @@ bpf-v -a20 -v -e trace=bpf + btrfs +ioctl.test + chdir -a10 + chmod -a28 +-chmod--secontext -a28 --secontext -e trace=chmod +-chmod--secontext_full -a28 --secontext=full -e trace=chmod ++chmod--secontext -a28 -e secontext=!full,mismatch -e trace=chmod ++chmod--secontext_full -a28 -e secontext=full -e trace=chmod ++chmod--secontext_full_mismatch -a28 --secontext=mismatch,full -e trace=chmod ++chmod--secontext_mismatch -a28 --secontext=mismatch -e trace=chmod + chown -a28 + chown32 -a31 + chroot -a13 +@@ -84,16 +88,24 @@ epoll_wait -a26 + erestartsys -a34 -e signal=none -e trace=recvfrom + execve--secontext +execve.test --secontext + execve--secontext_full +execve.test --secontext=full ++execve--secontext_full_mismatch +execve.test --secontext=full,mismatch ++execve--secontext_mismatch +execve.test --secontext=mismatch + execveat + execveat--secontext --secontext --trace=execveat + execveat--secontext_full --secontext=full --trace=execveat ++execveat--secontext_full_mismatch --secontext=full,mismatch --trace=execveat ++execveat--secontext_mismatch --secontext=mismatch --trace=execveat + execveat-v -v -e trace=execveat + faccessat--secontext +faccessat.test -a24 --secontext + faccessat--secontext_full +faccessat.test -a24 --secontext=full ++faccessat--secontext_full_mismatch +faccessat.test -a24 --secontext=full,mismatch ++faccessat--secontext_mismatch +faccessat.test -a24 --secontext=mismatch + faccessat-P -a23 --trace=faccessat -P /dev/full + faccessat-y +faccessat.test -a24 -y + faccessat-y--secontext +faccessat.test -a24 -y --secontext + faccessat-y--secontext_full +faccessat.test -a24 -y --secontext=full ++faccessat-y--secontext_full_mismatch +faccessat.test -a24 -y --secontext=full,mismatch ++faccessat-y--secontext_mismatch +faccessat.test -a24 -y --secontext=mismatch + faccessat-yy +faccessat.test -a24 -yy + faccessat2-P -a27 --trace=faccessat2 -P /dev/full + faccessat2-y +faccessat2.test -a28 -y +@@ -104,6 +116,8 @@ fanotify_init + fanotify_mark -a32 + fanotify_mark--secontext -a32 --secontext -e trace=fanotify_mark + fanotify_mark--secontext_full -a32 --secontext=full -e trace=fanotify_mark ++fanotify_mark--secontext_full_mismatch -a32 --secontext=full,mismatch -e trace=fanotify_mark ++fanotify_mark--secontext_mismatch -a32 --secontext=mismatch -e trace=fanotify_mark + fanotify_mark-Xabbrev -a32 -Xabbrev -e trace=fanotify_mark + fanotify_mark-Xraw -a32 -Xraw -e trace=fanotify_mark + fanotify_mark-Xverbose -a32 -Xverbose -e trace=fanotify_mark +@@ -111,17 +125,25 @@ fchdir -a11 + fchmod -a15 + fchmod--secontext -a15 --secontext -e trace=fchmod + fchmod--secontext_full -a15 --secontext=full -e trace=fchmod ++fchmod--secontext_full_mismatch -a15 --secontext=full,mismatch -e trace=fchmod ++fchmod--secontext_mismatch -a15 --secontext=mismatch -e trace=fchmod + fchmod-y -y -e trace=fchmod + fchmod-y--secontext -a15 -y --secontext -e trace=fchmod + fchmod-y--secontext_full -a15 -y --secontext=full -e trace=fchmod ++fchmod-y--secontext_full_mismatch -a15 -y --secontext=full,mismatch -e trace=fchmod ++fchmod-y--secontext_mismatch -a15 -y --secontext=mismatch -e trace=fchmod + fchmodat + fchmodat--secontext --secontext -e trace=fchmodat + fchmodat--secontext_full --secontext=full -e trace=fchmodat ++fchmodat--secontext_full_mismatch --secontext=full,mismatch -e trace=fchmodat ++fchmodat--secontext_mismatch --secontext=mismatch -e trace=fchmodat + fchown -a16 + fchown32 -a18 + fchownat + fchownat--secontext --secontext -e trace=fchownat + fchownat--secontext_full --secontext=full -e trace=fchownat ++fchownat--secontext_full_mismatch -e secontext=full,mismatch -e trace=fchownat ++fchownat--secontext_mismatch -e secontext=mismatch -e trace=fchownat + fcntl -a8 + fcntl--pidns-translation test_pidns -a8 -e trace=fcntl + fcntl64 -a8 +@@ -130,6 +152,8 @@ fdatasync -a14 + file_handle -e trace=name_to_handle_at,open_by_handle_at + file_handle--secontext --secontext -e trace=name_to_handle_at,open_by_handle_at + file_handle--secontext_full --secontext=full -e trace=name_to_handle_at,open_by_handle_at ++file_handle--secontext_full_mismatch --secontext=full,mismatch -e trace=name_to_handle_at,open_by_handle_at ++file_handle--secontext_mismatch --secontext=mismatch -e trace=name_to_handle_at,open_by_handle_at + filter_seccomp . "${srcdir=.}/filter_seccomp.sh"; test_prog_set --seccomp-bpf -f + filter_seccomp-flag ../$NAME + finit_module -a25 +@@ -383,6 +407,8 @@ link + linkat + linkat--secontext --secontext -e trace=linkat + linkat--secontext_full --secontext=full -e trace=linkat ++linkat--secontext_full_mismatch --secontext=full,mismatch -e trace=linkat ++linkat--secontext_mismatch --secontext=mismatch -e trace=linkat + lookup_dcookie -a27 + lstat -a31 --no-abbrev --trace-path=stat.sample --trace-path=/dev/full + lstat64 -a32 --no-abbrev --trace-path=stat.sample --trace-path=/dev/full +@@ -526,11 +552,15 @@ oldstat -a32 -v -P stat.sample -P /dev/full + open -a30 -P $NAME.sample + open--secontext -a30 -P open.sample --secontext --trace=open + open--secontext_full -a30 -P open.sample --secontext=full --trace=open ++open--secontext_full_mismatch -a30 -P open.sample --secontext=full,mismatch --trace=open ++open--secontext_mismatch -a30 -P open.sample --secontext=mismatch --trace=open + open_tree -a30 -y + open_tree-P -a30 --decode-fds -P /dev/full -e trace=open_tree + openat -a36 -P $NAME.sample + openat--secontext -a36 -P openat.sample -P $PWD/openat.sample --secontext -e trace=openat + openat--secontext_full -a36 -P openat.sample -P $PWD/openat.sample --secontext=full -e trace=openat ++openat--secontext_full_mismatch -a36 -P openat.sample -P $PWD/openat.sample --secontext=full,mismatch -e trace=openat ++openat--secontext_mismatch -a36 -P openat.sample -P $PWD/openat.sample --secontext=mismatch -e trace=openat + openat2 -a35 + openat2-Xabbrev --trace=openat2 -a35 -Xabbrev + openat2-Xraw --trace=openat2 -a32 -Xraw +diff --git a/tests-m32/linkat.c b/tests-m32/linkat.c +index 1d41d3d..1a869e3 100644 +--- a/tests-m32/linkat.c ++++ b/tests-m32/linkat.c +@@ -15,6 +15,7 @@ + #include + #include + #include ++#include + + #include "secontext.h" + #include "xmalloc.h" +@@ -88,10 +89,42 @@ main(void) + perror_msg_and_fail("close"); + + free(sample_1_secontext); +- update_secontext_type(sample_1, "default_t"); ++ ++#ifdef PRINT_SECONTEXT_MISMATCH ++ update_secontext_field(sample_1, SECONTEXT_USER, "system_u"); ++ sample_1_secontext = SECONTEXT_FILE(sample_1); ++ ++# ifdef PRINT_SECONTEXT_FULL ++ /* The mismatch should be detected */ ++ if (*sample_1_secontext && strstr(sample_1_secontext, "!!") == NULL) ++ perror_msg_and_fail("Context mismatch not detected: %s", ++ sample_1_secontext); ++ if (*sample_1_secontext && strstr(sample_1_secontext, "system_u") == NULL) ++ perror_msg_and_fail("Context mismatch not detected: %s", ++ sample_1_secontext); ++# else ++ /* The mismatch cannot be detected since it's on user part */ ++ if (*sample_1_secontext && strstr(sample_1_secontext, "!!") != NULL) ++ perror_msg_and_fail("Context mismatch detected: %s", ++ sample_1_secontext); ++# endif ++ ++ free(sample_1_secontext); ++#endif ++ ++ update_secontext_field(sample_1, SECONTEXT_TYPE, "default_t"); + sample_1_secontext = SECONTEXT_FILE(sample_1); + sample_2_secontext = sample_1_secontext; + ++#ifdef PRINT_SECONTEXT_MISMATCH ++ if (*sample_1_secontext && strstr(sample_1_secontext, "!!") == NULL) ++ perror_msg_and_fail("Context mismatch not detected: %s", ++ sample_1_secontext); ++ if (*sample_1_secontext && strstr(sample_1_secontext, "default_t") == NULL) ++ perror_msg_and_fail("Context mismatch not detected: %s", ++ sample_1_secontext); ++#endif ++ + rc = syscall(__NR_linkat, -100, sample_1, -100, sample_2, 0); + printf("%s%s(AT_FDCWD, \"%s\"%s, AT_FDCWD, \"%s\"%s, 0) = %s\n", + my_secontext, "linkat", +@@ -108,8 +141,19 @@ main(void) + + int dfd_old = get_dir_fd("."); + char *cwd = get_fd_path(dfd_old); ++ ++ update_secontext_field(".", SECONTEXT_TYPE, "default_t"); + char *dfd_old_secontext = SECONTEXT_FILE("."); + ++#ifdef PRINT_SECONTEXT_MISMATCH ++ if (*dfd_old_secontext && strstr(dfd_old_secontext, "!!") == NULL) ++ perror_msg_and_fail("Context mismatch not detected: %s", ++ dfd_old_secontext); ++ if (*dfd_old_secontext && strstr(dfd_old_secontext, "default_t") == NULL) ++ perror_msg_and_fail("Context mismatch not detected: %s", ++ dfd_old_secontext); ++#endif ++ + rc = syscall(__NR_linkat, dfd_old, sample_1, -100, sample_2, 0); + /* no context printed for sample_2 since file doesn't exist yet */ + printf("%s%s(%d%s, \"%s\"%s, AT_FDCWD, \"%s\", 0) = %s\n", +diff --git a/tests-m32/options-syntax.test b/tests-m32/options-syntax.test +index 765b2f8..848d297 100755 +--- a/tests-m32/options-syntax.test ++++ b/tests-m32/options-syntax.test +@@ -48,8 +48,18 @@ check_e '-t and --absolute-timestamps cannot be provided simultaneously' -t --ti + check_e '-t and --absolute-timestamps cannot be provided simultaneously' --absolute-timestamps -ttt -p $$ + check_e '-t and --absolute-timestamps cannot be provided simultaneously' -t --timestamps=ns -t -p $$ + check_e '-t and --absolute-timestamps cannot be provided simultaneously' --timestamps=ns -t --absolute-timestamps=unix -p $$ +-[ -z "$compiled_with_secontext" ] || +- check_h "invalid --secontext argument: 'ss'" --secontext=ss ++if [ -n "$compiled_with_secontext" ]; then ++ for opt in '--secontext' '-e secontext'; do ++ check_e "invalid secontext ''" $opt= ++ check_e "invalid secontext 'ss'" $opt=ss ++ check_e "invalid secontext 'ss'" $opt=ss,full,mismatch ++ check_e "invalid secontext 'ss'" $opt=full,ss,mismatch ++ check_e "invalid secontext 'ss'" $opt=full,ss ++ check_e "invalid secontext 'ss'" $opt=full,mismatch,ss ++ check_e "invalid secontext 'ss'" $opt=!full,ss ++ check_e "invalid secontext 'ss'" $opt=!full,mismatch,ss ++ done ++fi + check_h 'PROG [ARGS] must be specified with -D/--daemonize' -D -p $$ + check_h 'PROG [ARGS] must be specified with -D/--daemonize' -DD -p $$ + check_h 'PROG [ARGS] must be specified with -D/--daemonize' -DDD -p $$ +diff --git a/tests-m32/secontext.c b/tests-m32/secontext.c +index 21c6370..848eea9 100644 +--- a/tests-m32/secontext.c ++++ b/tests-m32/secontext.c +@@ -13,8 +13,10 @@ + # include + # include + # include ++# include + # include + # include ++# include + + # include "xmalloc.h" + +@@ -55,6 +57,79 @@ strip_trailing_newlines(char *context) + } + + static char * ++get_type_from_context(const char *full_context) ++{ ++ int saved_errno = errno; ++ ++ if (!full_context) ++ return NULL; ++ ++ char *saveptr = NULL; ++ const char *token; ++ unsigned int i; ++ ++ char *ctx_copy = xstrdup(full_context); ++ char *context = NULL; ++ for (token = strtok_r(ctx_copy, ":", &saveptr), i = 0; ++ token; token = strtok_r(NULL, ":", &saveptr), i++) { ++ if (i == 2) { ++ context = xstrdup(token); ++ break; ++ } ++ } ++ if (!context) ++ context = xstrdup(full_context); ++ free(ctx_copy); ++ ++ errno = saved_errno; ++ return context; ++} ++ ++static char * ++raw_expected_secontext_full_file(const char *filename) ++{ ++ int saved_errno = errno; ++ char *secontext; ++ ++ static struct selabel_handle *hdl; ++ if (!hdl) { ++ hdl = selabel_open(SELABEL_CTX_FILE, NULL, 0); ++ if (!hdl) ++ perror_msg_and_skip("selabel_open"); ++ } ++ ++ char *resolved = realpath(filename, NULL); ++ if (!resolved) ++ perror_msg_and_fail("realpath: %s", filename); ++ ++ struct stat statbuf; ++ if (stat(resolved, &statbuf) < 0) ++ perror_msg_and_fail("stat: %s", resolved); ++ ++ if (selabel_lookup(hdl, &secontext, resolved, statbuf.st_mode) < 0) ++ perror_msg_and_skip("selabel_lookup: %s", resolved); ++ free(resolved); ++ ++ char *full_secontext = xstrdup(secontext); ++ freecon(secontext); ++ errno = saved_errno; ++ return full_secontext; ++} ++ ++static char * ++raw_expected_secontext_short_file(const char *filename) ++{ ++ int saved_errno = errno; ++ ++ char *ctx = raw_expected_secontext_full_file(filename); ++ char *type = get_type_from_context(ctx); ++ free(ctx); ++ ++ errno = saved_errno; ++ return type; ++} ++ ++static char * + raw_secontext_full_file(const char *filename) + { + int saved_errno = errno; +@@ -75,29 +150,11 @@ raw_secontext_short_file(const char *filename) + int saved_errno = errno; + + char *ctx = raw_secontext_full_file(filename); +- if (ctx == NULL) +- return ctx; +- +- char *saveptr = NULL; +- const char *token; +- unsigned int i; +- +- char *ctx_copy = xstrdup(ctx); +- char *context = NULL; +- for (token = strtok_r(ctx_copy, ":", &saveptr), i = 0; +- token; token = strtok_r(NULL, ":", &saveptr), i++) { +- if (i == 2) { +- context = xstrdup(token); +- break; +- } +- } +- if (context == NULL) +- context = xstrdup(ctx); +- free(ctx_copy); ++ char *type = get_type_from_context(ctx); + free(ctx); + + errno = saved_errno; +- return context; ++ return type; + } + + static char * +@@ -121,35 +178,30 @@ raw_secontext_short_pid(pid_t pid) + int saved_errno = errno; + + char *ctx = raw_secontext_full_pid(pid); +- if (ctx == NULL) +- return ctx; +- +- char *saveptr = NULL; +- const char *token; +- int i; +- +- char *ctx_copy = xstrdup(ctx); +- char *context = NULL; +- for (token = strtok_r(ctx_copy, ":", &saveptr), i = 0; +- token; token = strtok_r(NULL, ":", &saveptr), i++) { +- if (i == 2) { +- context = xstrdup(token); +- break; +- } +- } +- if (context == NULL) +- context = xstrdup(ctx); +- free(ctx_copy); ++ char *type = get_type_from_context(ctx); + free(ctx); + + errno = saved_errno; +- return context; ++ return type; + } + + char * +-secontext_full_file(const char *filename) ++secontext_full_file(const char *filename, bool mismatch) + { +- return FORMAT_SPACE_BEFORE(raw_secontext_full_file(filename)); ++ int saved_errno = errno; ++ char *context = raw_secontext_full_file(filename); ++ if (context && mismatch) { ++ char *expected = raw_expected_secontext_full_file(filename); ++ if (expected && strcmp(context, expected)) { ++ char *context_mismatch = ++ xasprintf("%s!!%s", context, expected); ++ free(context); ++ context = context_mismatch; ++ } ++ free(expected); ++ } ++ errno = saved_errno; ++ return FORMAT_SPACE_BEFORE(context); + } + + char * +@@ -159,9 +211,22 @@ secontext_full_pid(pid_t pid) + } + + char * +-secontext_short_file(const char *filename) ++secontext_short_file(const char *filename, bool mismatch) + { +- return FORMAT_SPACE_BEFORE(raw_secontext_short_file(filename)); ++ int saved_errno = errno; ++ char *context = raw_secontext_short_file(filename); ++ if (context && mismatch) { ++ char *expected = raw_expected_secontext_short_file(filename); ++ if (expected && strcmp(context, expected)) { ++ char *context_mismatch = ++ xasprintf("%s!!%s", context, expected); ++ free(context); ++ context = context_mismatch; ++ } ++ free(expected); ++ } ++ errno = saved_errno; ++ return FORMAT_SPACE_BEFORE(context); + } + + char * +@@ -171,31 +236,38 @@ secontext_short_pid(pid_t pid) + } + + void +-update_secontext_type(const char *file, const char *newtype) ++update_secontext_field(const char *file, enum secontext_field field, ++ const char *newvalue) + { ++ int saved_errno = errno; ++ assert(field >= SECONTEXT_USER && field <= SECONTEXT_TYPE); ++ + char *ctx = raw_secontext_full_file(file); + if (ctx == NULL) + return; + + char *saveptr = NULL; + char *token; +- int field; ++ int nfields; + char *split[4]; + +- for (token = strtok_r(ctx, ":", &saveptr), field = 0; +- token; token = strtok_r(NULL, ":", &saveptr), field++) { +- assert(field < 4); +- split[field] = token; ++ for (token = strtok_r(ctx, ":", &saveptr), nfields = 0; ++ token; token = strtok_r(NULL, ":", &saveptr), nfields++) { ++ assert(nfields < 4); ++ split[nfields] = token; + } +- assert(field == 4); ++ assert(nfields == 4); ++ ++ split[field] = (char *)newvalue; + + char *newcontext = xasprintf("%s:%s:%s:%s", split[0], split[1], +- newtype, split[3]); ++ split[2], split[3]); + + (void) setfilecon(file, newcontext); + + free(newcontext); + free(ctx); ++ errno = saved_errno; + } + + #endif /* HAVE_SELINUX_RUNTIME */ +diff --git a/tests-m32/secontext.h b/tests-m32/secontext.h +index c65f53a..1d0251a 100644 +--- a/tests-m32/secontext.h ++++ b/tests-m32/secontext.h +@@ -9,24 +9,39 @@ + #include "xmalloc.h" + #include + +-char *secontext_full_file(const char *) ATTRIBUTE_MALLOC; ++char *secontext_full_file(const char *, bool) ATTRIBUTE_MALLOC; + char *secontext_full_pid(pid_t) ATTRIBUTE_MALLOC; + +-char *secontext_short_file(const char *) ATTRIBUTE_MALLOC; ++char *secontext_short_file(const char *, bool) ATTRIBUTE_MALLOC; + char *secontext_short_pid(pid_t) ATTRIBUTE_MALLOC; + ++enum secontext_field { ++ SECONTEXT_USER, ++ SECONTEXT_ROLE, ++ SECONTEXT_TYPE ++}; ++ + #if defined TEST_SECONTEXT && defined HAVE_SELINUX_RUNTIME + +-void update_secontext_type(const char *file, const char *newtype); ++void update_secontext_field(const char *file, enum secontext_field field, ++ const char *newvalue); + + # ifdef PRINT_SECONTEXT_FULL + +-# define SECONTEXT_FILE(filename) secontext_full_file(filename) ++# ifdef PRINT_SECONTEXT_MISMATCH ++# define SECONTEXT_FILE(filename) secontext_full_file(filename, true) ++# else ++# define SECONTEXT_FILE(filename) secontext_full_file(filename, false) ++# endif + # define SECONTEXT_PID(pid) secontext_full_pid(pid) + + # else + +-# define SECONTEXT_FILE(filename) secontext_short_file(filename) ++# ifdef PRINT_SECONTEXT_MISMATCH ++# define SECONTEXT_FILE(filename) secontext_short_file(filename, true) ++# else ++# define SECONTEXT_FILE(filename) secontext_short_file(filename, false) ++# endif + # define SECONTEXT_PID(pid) secontext_short_pid(pid) + + # endif +@@ -34,7 +49,8 @@ void update_secontext_type(const char *file, const char *newtype); + #else + + static inline void +-update_secontext_type(const char *file, const char *newtype) ++update_secontext_field(const char *file, enum secontext_field field, ++ const char *newvalue) + { + } + +diff --git a/tests-mx32/gen_tests.in b/tests-mx32/gen_tests.in +index 8b4e2e9..71e2f17 100644 +--- a/tests-mx32/gen_tests.in ++++ b/tests-mx32/gen_tests.in +@@ -12,6 +12,8 @@ accept4 -a37 + access -a30 --trace-path=access_sample + access--secontext -a30 --secontext --trace-path=access_sample -e trace=access + access--secontext_full -a30 --secontext=full --trace-path=access_sample -e trace=access ++access--secontext_full_mismatch -a30 --secontext=full,mismatch --trace-path=access_sample -e trace=access ++access--secontext_mismatch -a30 --secontext=mismatch --trace-path=access_sample -e trace=access + acct -a20 + add_key -a30 -s12 + adjtimex -a15 +@@ -27,8 +29,10 @@ bpf-v -a20 -v -e trace=bpf + btrfs +ioctl.test + chdir -a10 + chmod -a28 +-chmod--secontext -a28 --secontext -e trace=chmod +-chmod--secontext_full -a28 --secontext=full -e trace=chmod ++chmod--secontext -a28 -e secontext=!full,mismatch -e trace=chmod ++chmod--secontext_full -a28 -e secontext=full -e trace=chmod ++chmod--secontext_full_mismatch -a28 --secontext=mismatch,full -e trace=chmod ++chmod--secontext_mismatch -a28 --secontext=mismatch -e trace=chmod + chown -a28 + chown32 -a31 + chroot -a13 +@@ -84,16 +88,24 @@ epoll_wait -a26 + erestartsys -a34 -e signal=none -e trace=recvfrom + execve--secontext +execve.test --secontext + execve--secontext_full +execve.test --secontext=full ++execve--secontext_full_mismatch +execve.test --secontext=full,mismatch ++execve--secontext_mismatch +execve.test --secontext=mismatch + execveat + execveat--secontext --secontext --trace=execveat + execveat--secontext_full --secontext=full --trace=execveat ++execveat--secontext_full_mismatch --secontext=full,mismatch --trace=execveat ++execveat--secontext_mismatch --secontext=mismatch --trace=execveat + execveat-v -v -e trace=execveat + faccessat--secontext +faccessat.test -a24 --secontext + faccessat--secontext_full +faccessat.test -a24 --secontext=full ++faccessat--secontext_full_mismatch +faccessat.test -a24 --secontext=full,mismatch ++faccessat--secontext_mismatch +faccessat.test -a24 --secontext=mismatch + faccessat-P -a23 --trace=faccessat -P /dev/full + faccessat-y +faccessat.test -a24 -y + faccessat-y--secontext +faccessat.test -a24 -y --secontext + faccessat-y--secontext_full +faccessat.test -a24 -y --secontext=full ++faccessat-y--secontext_full_mismatch +faccessat.test -a24 -y --secontext=full,mismatch ++faccessat-y--secontext_mismatch +faccessat.test -a24 -y --secontext=mismatch + faccessat-yy +faccessat.test -a24 -yy + faccessat2-P -a27 --trace=faccessat2 -P /dev/full + faccessat2-y +faccessat2.test -a28 -y +@@ -104,6 +116,8 @@ fanotify_init + fanotify_mark -a32 + fanotify_mark--secontext -a32 --secontext -e trace=fanotify_mark + fanotify_mark--secontext_full -a32 --secontext=full -e trace=fanotify_mark ++fanotify_mark--secontext_full_mismatch -a32 --secontext=full,mismatch -e trace=fanotify_mark ++fanotify_mark--secontext_mismatch -a32 --secontext=mismatch -e trace=fanotify_mark + fanotify_mark-Xabbrev -a32 -Xabbrev -e trace=fanotify_mark + fanotify_mark-Xraw -a32 -Xraw -e trace=fanotify_mark + fanotify_mark-Xverbose -a32 -Xverbose -e trace=fanotify_mark +@@ -111,17 +125,25 @@ fchdir -a11 + fchmod -a15 + fchmod--secontext -a15 --secontext -e trace=fchmod + fchmod--secontext_full -a15 --secontext=full -e trace=fchmod ++fchmod--secontext_full_mismatch -a15 --secontext=full,mismatch -e trace=fchmod ++fchmod--secontext_mismatch -a15 --secontext=mismatch -e trace=fchmod + fchmod-y -y -e trace=fchmod + fchmod-y--secontext -a15 -y --secontext -e trace=fchmod + fchmod-y--secontext_full -a15 -y --secontext=full -e trace=fchmod ++fchmod-y--secontext_full_mismatch -a15 -y --secontext=full,mismatch -e trace=fchmod ++fchmod-y--secontext_mismatch -a15 -y --secontext=mismatch -e trace=fchmod + fchmodat + fchmodat--secontext --secontext -e trace=fchmodat + fchmodat--secontext_full --secontext=full -e trace=fchmodat ++fchmodat--secontext_full_mismatch --secontext=full,mismatch -e trace=fchmodat ++fchmodat--secontext_mismatch --secontext=mismatch -e trace=fchmodat + fchown -a16 + fchown32 -a18 + fchownat + fchownat--secontext --secontext -e trace=fchownat + fchownat--secontext_full --secontext=full -e trace=fchownat ++fchownat--secontext_full_mismatch -e secontext=full,mismatch -e trace=fchownat ++fchownat--secontext_mismatch -e secontext=mismatch -e trace=fchownat + fcntl -a8 + fcntl--pidns-translation test_pidns -a8 -e trace=fcntl + fcntl64 -a8 +@@ -130,6 +152,8 @@ fdatasync -a14 + file_handle -e trace=name_to_handle_at,open_by_handle_at + file_handle--secontext --secontext -e trace=name_to_handle_at,open_by_handle_at + file_handle--secontext_full --secontext=full -e trace=name_to_handle_at,open_by_handle_at ++file_handle--secontext_full_mismatch --secontext=full,mismatch -e trace=name_to_handle_at,open_by_handle_at ++file_handle--secontext_mismatch --secontext=mismatch -e trace=name_to_handle_at,open_by_handle_at + filter_seccomp . "${srcdir=.}/filter_seccomp.sh"; test_prog_set --seccomp-bpf -f + filter_seccomp-flag ../$NAME + finit_module -a25 +@@ -383,6 +407,8 @@ link + linkat + linkat--secontext --secontext -e trace=linkat + linkat--secontext_full --secontext=full -e trace=linkat ++linkat--secontext_full_mismatch --secontext=full,mismatch -e trace=linkat ++linkat--secontext_mismatch --secontext=mismatch -e trace=linkat + lookup_dcookie -a27 + lstat -a31 --no-abbrev --trace-path=stat.sample --trace-path=/dev/full + lstat64 -a32 --no-abbrev --trace-path=stat.sample --trace-path=/dev/full +@@ -526,11 +552,15 @@ oldstat -a32 -v -P stat.sample -P /dev/full + open -a30 -P $NAME.sample + open--secontext -a30 -P open.sample --secontext --trace=open + open--secontext_full -a30 -P open.sample --secontext=full --trace=open ++open--secontext_full_mismatch -a30 -P open.sample --secontext=full,mismatch --trace=open ++open--secontext_mismatch -a30 -P open.sample --secontext=mismatch --trace=open + open_tree -a30 -y + open_tree-P -a30 --decode-fds -P /dev/full -e trace=open_tree + openat -a36 -P $NAME.sample + openat--secontext -a36 -P openat.sample -P $PWD/openat.sample --secontext -e trace=openat + openat--secontext_full -a36 -P openat.sample -P $PWD/openat.sample --secontext=full -e trace=openat ++openat--secontext_full_mismatch -a36 -P openat.sample -P $PWD/openat.sample --secontext=full,mismatch -e trace=openat ++openat--secontext_mismatch -a36 -P openat.sample -P $PWD/openat.sample --secontext=mismatch -e trace=openat + openat2 -a35 + openat2-Xabbrev --trace=openat2 -a35 -Xabbrev + openat2-Xraw --trace=openat2 -a32 -Xraw +diff --git a/tests-mx32/linkat.c b/tests-mx32/linkat.c +index 1d41d3d..1a869e3 100644 +--- a/tests-mx32/linkat.c ++++ b/tests-mx32/linkat.c +@@ -15,6 +15,7 @@ + #include + #include + #include ++#include + + #include "secontext.h" + #include "xmalloc.h" +@@ -88,10 +89,42 @@ main(void) + perror_msg_and_fail("close"); + + free(sample_1_secontext); +- update_secontext_type(sample_1, "default_t"); ++ ++#ifdef PRINT_SECONTEXT_MISMATCH ++ update_secontext_field(sample_1, SECONTEXT_USER, "system_u"); ++ sample_1_secontext = SECONTEXT_FILE(sample_1); ++ ++# ifdef PRINT_SECONTEXT_FULL ++ /* The mismatch should be detected */ ++ if (*sample_1_secontext && strstr(sample_1_secontext, "!!") == NULL) ++ perror_msg_and_fail("Context mismatch not detected: %s", ++ sample_1_secontext); ++ if (*sample_1_secontext && strstr(sample_1_secontext, "system_u") == NULL) ++ perror_msg_and_fail("Context mismatch not detected: %s", ++ sample_1_secontext); ++# else ++ /* The mismatch cannot be detected since it's on user part */ ++ if (*sample_1_secontext && strstr(sample_1_secontext, "!!") != NULL) ++ perror_msg_and_fail("Context mismatch detected: %s", ++ sample_1_secontext); ++# endif ++ ++ free(sample_1_secontext); ++#endif ++ ++ update_secontext_field(sample_1, SECONTEXT_TYPE, "default_t"); + sample_1_secontext = SECONTEXT_FILE(sample_1); + sample_2_secontext = sample_1_secontext; + ++#ifdef PRINT_SECONTEXT_MISMATCH ++ if (*sample_1_secontext && strstr(sample_1_secontext, "!!") == NULL) ++ perror_msg_and_fail("Context mismatch not detected: %s", ++ sample_1_secontext); ++ if (*sample_1_secontext && strstr(sample_1_secontext, "default_t") == NULL) ++ perror_msg_and_fail("Context mismatch not detected: %s", ++ sample_1_secontext); ++#endif ++ + rc = syscall(__NR_linkat, -100, sample_1, -100, sample_2, 0); + printf("%s%s(AT_FDCWD, \"%s\"%s, AT_FDCWD, \"%s\"%s, 0) = %s\n", + my_secontext, "linkat", +@@ -108,8 +141,19 @@ main(void) + + int dfd_old = get_dir_fd("."); + char *cwd = get_fd_path(dfd_old); ++ ++ update_secontext_field(".", SECONTEXT_TYPE, "default_t"); + char *dfd_old_secontext = SECONTEXT_FILE("."); + ++#ifdef PRINT_SECONTEXT_MISMATCH ++ if (*dfd_old_secontext && strstr(dfd_old_secontext, "!!") == NULL) ++ perror_msg_and_fail("Context mismatch not detected: %s", ++ dfd_old_secontext); ++ if (*dfd_old_secontext && strstr(dfd_old_secontext, "default_t") == NULL) ++ perror_msg_and_fail("Context mismatch not detected: %s", ++ dfd_old_secontext); ++#endif ++ + rc = syscall(__NR_linkat, dfd_old, sample_1, -100, sample_2, 0); + /* no context printed for sample_2 since file doesn't exist yet */ + printf("%s%s(%d%s, \"%s\"%s, AT_FDCWD, \"%s\", 0) = %s\n", +diff --git a/tests-mx32/options-syntax.test b/tests-mx32/options-syntax.test +index 765b2f8..848d297 100755 +--- a/tests-mx32/options-syntax.test ++++ b/tests-mx32/options-syntax.test +@@ -48,8 +48,18 @@ check_e '-t and --absolute-timestamps cannot be provided simultaneously' -t --ti + check_e '-t and --absolute-timestamps cannot be provided simultaneously' --absolute-timestamps -ttt -p $$ + check_e '-t and --absolute-timestamps cannot be provided simultaneously' -t --timestamps=ns -t -p $$ + check_e '-t and --absolute-timestamps cannot be provided simultaneously' --timestamps=ns -t --absolute-timestamps=unix -p $$ +-[ -z "$compiled_with_secontext" ] || +- check_h "invalid --secontext argument: 'ss'" --secontext=ss ++if [ -n "$compiled_with_secontext" ]; then ++ for opt in '--secontext' '-e secontext'; do ++ check_e "invalid secontext ''" $opt= ++ check_e "invalid secontext 'ss'" $opt=ss ++ check_e "invalid secontext 'ss'" $opt=ss,full,mismatch ++ check_e "invalid secontext 'ss'" $opt=full,ss,mismatch ++ check_e "invalid secontext 'ss'" $opt=full,ss ++ check_e "invalid secontext 'ss'" $opt=full,mismatch,ss ++ check_e "invalid secontext 'ss'" $opt=!full,ss ++ check_e "invalid secontext 'ss'" $opt=!full,mismatch,ss ++ done ++fi + check_h 'PROG [ARGS] must be specified with -D/--daemonize' -D -p $$ + check_h 'PROG [ARGS] must be specified with -D/--daemonize' -DD -p $$ + check_h 'PROG [ARGS] must be specified with -D/--daemonize' -DDD -p $$ +diff --git a/tests-mx32/secontext.c b/tests-mx32/secontext.c +index 21c6370..848eea9 100644 +--- a/tests-mx32/secontext.c ++++ b/tests-mx32/secontext.c +@@ -13,8 +13,10 @@ + # include + # include + # include ++# include + # include + # include ++# include + + # include "xmalloc.h" + +@@ -55,6 +57,79 @@ strip_trailing_newlines(char *context) + } + + static char * ++get_type_from_context(const char *full_context) ++{ ++ int saved_errno = errno; ++ ++ if (!full_context) ++ return NULL; ++ ++ char *saveptr = NULL; ++ const char *token; ++ unsigned int i; ++ ++ char *ctx_copy = xstrdup(full_context); ++ char *context = NULL; ++ for (token = strtok_r(ctx_copy, ":", &saveptr), i = 0; ++ token; token = strtok_r(NULL, ":", &saveptr), i++) { ++ if (i == 2) { ++ context = xstrdup(token); ++ break; ++ } ++ } ++ if (!context) ++ context = xstrdup(full_context); ++ free(ctx_copy); ++ ++ errno = saved_errno; ++ return context; ++} ++ ++static char * ++raw_expected_secontext_full_file(const char *filename) ++{ ++ int saved_errno = errno; ++ char *secontext; ++ ++ static struct selabel_handle *hdl; ++ if (!hdl) { ++ hdl = selabel_open(SELABEL_CTX_FILE, NULL, 0); ++ if (!hdl) ++ perror_msg_and_skip("selabel_open"); ++ } ++ ++ char *resolved = realpath(filename, NULL); ++ if (!resolved) ++ perror_msg_and_fail("realpath: %s", filename); ++ ++ struct stat statbuf; ++ if (stat(resolved, &statbuf) < 0) ++ perror_msg_and_fail("stat: %s", resolved); ++ ++ if (selabel_lookup(hdl, &secontext, resolved, statbuf.st_mode) < 0) ++ perror_msg_and_skip("selabel_lookup: %s", resolved); ++ free(resolved); ++ ++ char *full_secontext = xstrdup(secontext); ++ freecon(secontext); ++ errno = saved_errno; ++ return full_secontext; ++} ++ ++static char * ++raw_expected_secontext_short_file(const char *filename) ++{ ++ int saved_errno = errno; ++ ++ char *ctx = raw_expected_secontext_full_file(filename); ++ char *type = get_type_from_context(ctx); ++ free(ctx); ++ ++ errno = saved_errno; ++ return type; ++} ++ ++static char * + raw_secontext_full_file(const char *filename) + { + int saved_errno = errno; +@@ -75,29 +150,11 @@ raw_secontext_short_file(const char *filename) + int saved_errno = errno; + + char *ctx = raw_secontext_full_file(filename); +- if (ctx == NULL) +- return ctx; +- +- char *saveptr = NULL; +- const char *token; +- unsigned int i; +- +- char *ctx_copy = xstrdup(ctx); +- char *context = NULL; +- for (token = strtok_r(ctx_copy, ":", &saveptr), i = 0; +- token; token = strtok_r(NULL, ":", &saveptr), i++) { +- if (i == 2) { +- context = xstrdup(token); +- break; +- } +- } +- if (context == NULL) +- context = xstrdup(ctx); +- free(ctx_copy); ++ char *type = get_type_from_context(ctx); + free(ctx); + + errno = saved_errno; +- return context; ++ return type; + } + + static char * +@@ -121,35 +178,30 @@ raw_secontext_short_pid(pid_t pid) + int saved_errno = errno; + + char *ctx = raw_secontext_full_pid(pid); +- if (ctx == NULL) +- return ctx; +- +- char *saveptr = NULL; +- const char *token; +- int i; +- +- char *ctx_copy = xstrdup(ctx); +- char *context = NULL; +- for (token = strtok_r(ctx_copy, ":", &saveptr), i = 0; +- token; token = strtok_r(NULL, ":", &saveptr), i++) { +- if (i == 2) { +- context = xstrdup(token); +- break; +- } +- } +- if (context == NULL) +- context = xstrdup(ctx); +- free(ctx_copy); ++ char *type = get_type_from_context(ctx); + free(ctx); + + errno = saved_errno; +- return context; ++ return type; + } + + char * +-secontext_full_file(const char *filename) ++secontext_full_file(const char *filename, bool mismatch) + { +- return FORMAT_SPACE_BEFORE(raw_secontext_full_file(filename)); ++ int saved_errno = errno; ++ char *context = raw_secontext_full_file(filename); ++ if (context && mismatch) { ++ char *expected = raw_expected_secontext_full_file(filename); ++ if (expected && strcmp(context, expected)) { ++ char *context_mismatch = ++ xasprintf("%s!!%s", context, expected); ++ free(context); ++ context = context_mismatch; ++ } ++ free(expected); ++ } ++ errno = saved_errno; ++ return FORMAT_SPACE_BEFORE(context); + } + + char * +@@ -159,9 +211,22 @@ secontext_full_pid(pid_t pid) + } + + char * +-secontext_short_file(const char *filename) ++secontext_short_file(const char *filename, bool mismatch) + { +- return FORMAT_SPACE_BEFORE(raw_secontext_short_file(filename)); ++ int saved_errno = errno; ++ char *context = raw_secontext_short_file(filename); ++ if (context && mismatch) { ++ char *expected = raw_expected_secontext_short_file(filename); ++ if (expected && strcmp(context, expected)) { ++ char *context_mismatch = ++ xasprintf("%s!!%s", context, expected); ++ free(context); ++ context = context_mismatch; ++ } ++ free(expected); ++ } ++ errno = saved_errno; ++ return FORMAT_SPACE_BEFORE(context); + } + + char * +@@ -171,31 +236,38 @@ secontext_short_pid(pid_t pid) + } + + void +-update_secontext_type(const char *file, const char *newtype) ++update_secontext_field(const char *file, enum secontext_field field, ++ const char *newvalue) + { ++ int saved_errno = errno; ++ assert(field >= SECONTEXT_USER && field <= SECONTEXT_TYPE); ++ + char *ctx = raw_secontext_full_file(file); + if (ctx == NULL) + return; + + char *saveptr = NULL; + char *token; +- int field; ++ int nfields; + char *split[4]; + +- for (token = strtok_r(ctx, ":", &saveptr), field = 0; +- token; token = strtok_r(NULL, ":", &saveptr), field++) { +- assert(field < 4); +- split[field] = token; ++ for (token = strtok_r(ctx, ":", &saveptr), nfields = 0; ++ token; token = strtok_r(NULL, ":", &saveptr), nfields++) { ++ assert(nfields < 4); ++ split[nfields] = token; + } +- assert(field == 4); ++ assert(nfields == 4); ++ ++ split[field] = (char *)newvalue; + + char *newcontext = xasprintf("%s:%s:%s:%s", split[0], split[1], +- newtype, split[3]); ++ split[2], split[3]); + + (void) setfilecon(file, newcontext); + + free(newcontext); + free(ctx); ++ errno = saved_errno; + } + + #endif /* HAVE_SELINUX_RUNTIME */ +diff --git a/tests-mx32/secontext.h b/tests-mx32/secontext.h +index c65f53a..1d0251a 100644 +--- a/tests-mx32/secontext.h ++++ b/tests-mx32/secontext.h +@@ -9,24 +9,39 @@ + #include "xmalloc.h" + #include + +-char *secontext_full_file(const char *) ATTRIBUTE_MALLOC; ++char *secontext_full_file(const char *, bool) ATTRIBUTE_MALLOC; + char *secontext_full_pid(pid_t) ATTRIBUTE_MALLOC; + +-char *secontext_short_file(const char *) ATTRIBUTE_MALLOC; ++char *secontext_short_file(const char *, bool) ATTRIBUTE_MALLOC; + char *secontext_short_pid(pid_t) ATTRIBUTE_MALLOC; + ++enum secontext_field { ++ SECONTEXT_USER, ++ SECONTEXT_ROLE, ++ SECONTEXT_TYPE ++}; ++ + #if defined TEST_SECONTEXT && defined HAVE_SELINUX_RUNTIME + +-void update_secontext_type(const char *file, const char *newtype); ++void update_secontext_field(const char *file, enum secontext_field field, ++ const char *newvalue); + + # ifdef PRINT_SECONTEXT_FULL + +-# define SECONTEXT_FILE(filename) secontext_full_file(filename) ++# ifdef PRINT_SECONTEXT_MISMATCH ++# define SECONTEXT_FILE(filename) secontext_full_file(filename, true) ++# else ++# define SECONTEXT_FILE(filename) secontext_full_file(filename, false) ++# endif + # define SECONTEXT_PID(pid) secontext_full_pid(pid) + + # else + +-# define SECONTEXT_FILE(filename) secontext_short_file(filename) ++# ifdef PRINT_SECONTEXT_MISMATCH ++# define SECONTEXT_FILE(filename) secontext_short_file(filename, true) ++# else ++# define SECONTEXT_FILE(filename) secontext_short_file(filename, false) ++# endif + # define SECONTEXT_PID(pid) secontext_short_pid(pid) + + # endif +@@ -34,7 +49,8 @@ void update_secontext_type(const char *file, const char *newtype); + #else + + static inline void +-update_secontext_type(const char *file, const char *newtype) ++update_secontext_field(const char *file, enum secontext_field field, ++ const char *newvalue) + { + } + +--- old/tests/Makefile.in 2022-02-07 20:23:38.724063729 +0100 ++++ new/tests/Makefile.in 2022-02-07 20:24:05.660063357 +0100 +@@ -614,25 +614,55 @@ + xet_thread_area_x86$(EXEEXT) xetitimer$(EXEEXT) \ + xetpgid$(EXEEXT) xetpriority$(EXEEXT) xettimeofday$(EXEEXT) + am__EXEEXT_2 = access--secontext$(EXEEXT) \ +- access--secontext_full$(EXEEXT) chmod--secontext$(EXEEXT) \ +- chmod--secontext_full$(EXEEXT) execve--secontext$(EXEEXT) \ +- execve--secontext_full$(EXEEXT) execveat--secontext$(EXEEXT) \ +- execveat--secontext_full$(EXEEXT) \ ++ access--secontext_full$(EXEEXT) \ ++ access--secontext_full_mismatch$(EXEEXT) \ ++ access--secontext_mismatch$(EXEEXT) chmod--secontext$(EXEEXT) \ ++ chmod--secontext_full$(EXEEXT) \ ++ chmod--secontext_full_mismatch$(EXEEXT) \ ++ chmod--secontext_mismatch$(EXEEXT) execve--secontext$(EXEEXT) \ ++ execve--secontext_full$(EXEEXT) \ ++ execve--secontext_full_mismatch$(EXEEXT) \ ++ execve--secontext_mismatch$(EXEEXT) \ ++ execveat--secontext$(EXEEXT) execveat--secontext_full$(EXEEXT) \ ++ execveat--secontext_full_mismatch$(EXEEXT) \ ++ execveat--secontext_mismatch$(EXEEXT) \ + faccessat--secontext$(EXEEXT) \ + faccessat--secontext_full$(EXEEXT) \ ++ faccessat--secontext_full_mismatch$(EXEEXT) \ ++ faccessat--secontext_mismatch$(EXEEXT) \ + faccessat-y--secontext$(EXEEXT) \ + faccessat-y--secontext_full$(EXEEXT) \ ++ faccessat-y--secontext_full_mismatch$(EXEEXT) \ ++ faccessat-y--secontext_mismatch$(EXEEXT) \ + fanotify_mark--secontext$(EXEEXT) \ + fanotify_mark--secontext_full$(EXEEXT) \ ++ fanotify_mark--secontext_full_mismatch$(EXEEXT) \ ++ fanotify_mark--secontext_mismatch$(EXEEXT) \ + fchmod--secontext$(EXEEXT) fchmod--secontext_full$(EXEEXT) \ ++ fchmod--secontext_full_mismatch$(EXEEXT) \ ++ fchmod--secontext_mismatch$(EXEEXT) \ + fchmod-y--secontext$(EXEEXT) fchmod-y--secontext_full$(EXEEXT) \ ++ fchmod-y--secontext_full_mismatch$(EXEEXT) \ ++ fchmod-y--secontext_mismatch$(EXEEXT) \ + fchmodat--secontext$(EXEEXT) fchmodat--secontext_full$(EXEEXT) \ ++ fchmodat--secontext_full_mismatch$(EXEEXT) \ ++ fchmodat--secontext_mismatch$(EXEEXT) \ + fchownat--secontext$(EXEEXT) fchownat--secontext_full$(EXEEXT) \ ++ fchownat--secontext_full_mismatch$(EXEEXT) \ ++ fchownat--secontext_mismatch$(EXEEXT) \ + file_handle--secontext$(EXEEXT) \ + file_handle--secontext_full$(EXEEXT) \ ++ file_handle--secontext_full_mismatch$(EXEEXT) \ ++ file_handle--secontext_mismatch$(EXEEXT) \ + linkat--secontext$(EXEEXT) linkat--secontext_full$(EXEEXT) \ +- open--secontext$(EXEEXT) open--secontext_full$(EXEEXT) \ +- openat--secontext$(EXEEXT) openat--secontext_full$(EXEEXT) ++ linkat--secontext_full_mismatch$(EXEEXT) \ ++ linkat--secontext_mismatch$(EXEEXT) open--secontext$(EXEEXT) \ ++ open--secontext_full$(EXEEXT) \ ++ open--secontext_full_mismatch$(EXEEXT) \ ++ open--secontext_mismatch$(EXEEXT) openat--secontext$(EXEEXT) \ ++ openat--secontext_full$(EXEEXT) \ ++ openat--secontext_full_mismatch$(EXEEXT) \ ++ openat--secontext_mismatch$(EXEEXT) + ARFLAGS = cru + AM_V_AR = $(am__v_AR_@AM_V@) + am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@) +@@ -661,6 +691,17 @@ + access__secontext_full_SOURCES = access--secontext_full.c + access__secontext_full_OBJECTS = access--secontext_full.$(OBJEXT) + access__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) ++access__secontext_full_mismatch_SOURCES = \ ++ access--secontext_full_mismatch.c ++access__secontext_full_mismatch_OBJECTS = \ ++ access--secontext_full_mismatch.$(OBJEXT) ++access__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) ++access__secontext_mismatch_SOURCES = access--secontext_mismatch.c ++access__secontext_mismatch_OBJECTS = \ ++ access--secontext_mismatch.$(OBJEXT) ++access__secontext_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) + acct_SOURCES = acct.c + acct_OBJECTS = acct.$(OBJEXT) + acct_LDADD = $(LDADD) +@@ -789,6 +830,17 @@ + chmod__secontext_full_SOURCES = chmod--secontext_full.c + chmod__secontext_full_OBJECTS = chmod--secontext_full.$(OBJEXT) + chmod__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) ++chmod__secontext_full_mismatch_SOURCES = \ ++ chmod--secontext_full_mismatch.c ++chmod__secontext_full_mismatch_OBJECTS = \ ++ chmod--secontext_full_mismatch.$(OBJEXT) ++chmod__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) ++chmod__secontext_mismatch_SOURCES = chmod--secontext_mismatch.c ++chmod__secontext_mismatch_OBJECTS = \ ++ chmod--secontext_mismatch.$(OBJEXT) ++chmod__secontext_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) + chown_SOURCES = chown.c + chown_OBJECTS = chown.$(OBJEXT) + chown_LDADD = $(LDADD) +@@ -1030,6 +1082,17 @@ + execve__secontext_full_SOURCES = execve--secontext_full.c + execve__secontext_full_OBJECTS = execve--secontext_full.$(OBJEXT) + execve__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) ++execve__secontext_full_mismatch_SOURCES = \ ++ execve--secontext_full_mismatch.c ++execve__secontext_full_mismatch_OBJECTS = \ ++ execve--secontext_full_mismatch.$(OBJEXT) ++execve__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) ++execve__secontext_mismatch_SOURCES = execve--secontext_mismatch.c ++execve__secontext_mismatch_OBJECTS = \ ++ execve--secontext_mismatch.$(OBJEXT) ++execve__secontext_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) + execve_v_SOURCES = execve-v.c + execve_v_OBJECTS = execve-v.$(OBJEXT) + execve_v_LDADD = $(LDADD) +@@ -1044,6 +1107,17 @@ + execveat__secontext_full_SOURCES = execveat--secontext_full.c + execveat__secontext_full_OBJECTS = execveat--secontext_full.$(OBJEXT) + execveat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) ++execveat__secontext_full_mismatch_SOURCES = \ ++ execveat--secontext_full_mismatch.c ++execveat__secontext_full_mismatch_OBJECTS = \ ++ execveat--secontext_full_mismatch.$(OBJEXT) ++execveat__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) ++execveat__secontext_mismatch_SOURCES = execveat--secontext_mismatch.c ++execveat__secontext_mismatch_OBJECTS = \ ++ execveat--secontext_mismatch.$(OBJEXT) ++execveat__secontext_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) + execveat_v_SOURCES = execveat-v.c + execveat_v_OBJECTS = execveat-v.$(OBJEXT) + execveat_v_LDADD = $(LDADD) +@@ -1060,6 +1134,18 @@ + faccessat--secontext_full.$(OBJEXT) + faccessat__secontext_full_DEPENDENCIES = $(LDADD) \ + $(am__DEPENDENCIES_2) ++faccessat__secontext_full_mismatch_SOURCES = \ ++ faccessat--secontext_full_mismatch.c ++faccessat__secontext_full_mismatch_OBJECTS = \ ++ faccessat--secontext_full_mismatch.$(OBJEXT) ++faccessat__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) ++faccessat__secontext_mismatch_SOURCES = \ ++ faccessat--secontext_mismatch.c ++faccessat__secontext_mismatch_OBJECTS = \ ++ faccessat--secontext_mismatch.$(OBJEXT) ++faccessat__secontext_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) + faccessat_P_SOURCES = faccessat-P.c + faccessat_P_OBJECTS = faccessat-P.$(OBJEXT) + faccessat_P_LDADD = $(LDADD) +@@ -1076,6 +1162,18 @@ + faccessat-y--secontext_full.$(OBJEXT) + faccessat_y__secontext_full_DEPENDENCIES = $(LDADD) \ + $(am__DEPENDENCIES_2) ++faccessat_y__secontext_full_mismatch_SOURCES = \ ++ faccessat-y--secontext_full_mismatch.c ++faccessat_y__secontext_full_mismatch_OBJECTS = \ ++ faccessat-y--secontext_full_mismatch.$(OBJEXT) ++faccessat_y__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) ++faccessat_y__secontext_mismatch_SOURCES = \ ++ faccessat-y--secontext_mismatch.c ++faccessat_y__secontext_mismatch_OBJECTS = \ ++ faccessat-y--secontext_mismatch.$(OBJEXT) ++faccessat_y__secontext_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) + faccessat_yy_SOURCES = faccessat-yy.c + faccessat_yy_OBJECTS = faccessat-yy.$(OBJEXT) + faccessat_yy_LDADD = $(LDADD) +@@ -1125,6 +1223,18 @@ + fanotify_mark--secontext_full.$(OBJEXT) + fanotify_mark__secontext_full_DEPENDENCIES = $(LDADD) \ + $(am__DEPENDENCIES_2) ++fanotify_mark__secontext_full_mismatch_SOURCES = \ ++ fanotify_mark--secontext_full_mismatch.c ++fanotify_mark__secontext_full_mismatch_OBJECTS = \ ++ fanotify_mark--secontext_full_mismatch.$(OBJEXT) ++fanotify_mark__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) ++fanotify_mark__secontext_mismatch_SOURCES = \ ++ fanotify_mark--secontext_mismatch.c ++fanotify_mark__secontext_mismatch_OBJECTS = \ ++ fanotify_mark--secontext_mismatch.$(OBJEXT) ++fanotify_mark__secontext_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) + fanotify_mark_Xabbrev_SOURCES = fanotify_mark-Xabbrev.c + fanotify_mark_Xabbrev_OBJECTS = fanotify_mark-Xabbrev.$(OBJEXT) + fanotify_mark_Xabbrev_LDADD = $(LDADD) +@@ -1151,6 +1261,17 @@ + fchmod__secontext_full_SOURCES = fchmod--secontext_full.c + fchmod__secontext_full_OBJECTS = fchmod--secontext_full.$(OBJEXT) + fchmod__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) ++fchmod__secontext_full_mismatch_SOURCES = \ ++ fchmod--secontext_full_mismatch.c ++fchmod__secontext_full_mismatch_OBJECTS = \ ++ fchmod--secontext_full_mismatch.$(OBJEXT) ++fchmod__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) ++fchmod__secontext_mismatch_SOURCES = fchmod--secontext_mismatch.c ++fchmod__secontext_mismatch_OBJECTS = \ ++ fchmod--secontext_mismatch.$(OBJEXT) ++fchmod__secontext_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) + fchmod_y_SOURCES = fchmod-y.c + fchmod_y_OBJECTS = fchmod-y.$(OBJEXT) + fchmod_y_LDADD = $(LDADD) +@@ -1161,6 +1282,17 @@ + fchmod_y__secontext_full_SOURCES = fchmod-y--secontext_full.c + fchmod_y__secontext_full_OBJECTS = fchmod-y--secontext_full.$(OBJEXT) + fchmod_y__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) ++fchmod_y__secontext_full_mismatch_SOURCES = \ ++ fchmod-y--secontext_full_mismatch.c ++fchmod_y__secontext_full_mismatch_OBJECTS = \ ++ fchmod-y--secontext_full_mismatch.$(OBJEXT) ++fchmod_y__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) ++fchmod_y__secontext_mismatch_SOURCES = fchmod-y--secontext_mismatch.c ++fchmod_y__secontext_mismatch_OBJECTS = \ ++ fchmod-y--secontext_mismatch.$(OBJEXT) ++fchmod_y__secontext_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) + fchmodat_SOURCES = fchmodat.c + fchmodat_OBJECTS = fchmodat.$(OBJEXT) + fchmodat_LDADD = $(LDADD) +@@ -1171,6 +1303,17 @@ + fchmodat__secontext_full_SOURCES = fchmodat--secontext_full.c + fchmodat__secontext_full_OBJECTS = fchmodat--secontext_full.$(OBJEXT) + fchmodat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) ++fchmodat__secontext_full_mismatch_SOURCES = \ ++ fchmodat--secontext_full_mismatch.c ++fchmodat__secontext_full_mismatch_OBJECTS = \ ++ fchmodat--secontext_full_mismatch.$(OBJEXT) ++fchmodat__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) ++fchmodat__secontext_mismatch_SOURCES = fchmodat--secontext_mismatch.c ++fchmodat__secontext_mismatch_OBJECTS = \ ++ fchmodat--secontext_mismatch.$(OBJEXT) ++fchmodat__secontext_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) + fchown_SOURCES = fchown.c + fchown_OBJECTS = fchown.$(OBJEXT) + fchown_LDADD = $(LDADD) +@@ -1189,6 +1332,17 @@ + fchownat__secontext_full_SOURCES = fchownat--secontext_full.c + fchownat__secontext_full_OBJECTS = fchownat--secontext_full.$(OBJEXT) + fchownat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) ++fchownat__secontext_full_mismatch_SOURCES = \ ++ fchownat--secontext_full_mismatch.c ++fchownat__secontext_full_mismatch_OBJECTS = \ ++ fchownat--secontext_full_mismatch.$(OBJEXT) ++fchownat__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) ++fchownat__secontext_mismatch_SOURCES = fchownat--secontext_mismatch.c ++fchownat__secontext_mismatch_OBJECTS = \ ++ fchownat--secontext_mismatch.$(OBJEXT) ++fchownat__secontext_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) + fcntl_SOURCES = fcntl.c + fcntl_OBJECTS = fcntl.$(OBJEXT) + fcntl_LDADD = $(LDADD) +@@ -1226,6 +1380,18 @@ + file_handle--secontext_full.$(OBJEXT) + file_handle__secontext_full_DEPENDENCIES = $(LDADD) \ + $(am__DEPENDENCIES_2) ++file_handle__secontext_full_mismatch_SOURCES = \ ++ file_handle--secontext_full_mismatch.c ++file_handle__secontext_full_mismatch_OBJECTS = \ ++ file_handle--secontext_full_mismatch.$(OBJEXT) ++file_handle__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) ++file_handle__secontext_mismatch_SOURCES = \ ++ file_handle--secontext_mismatch.c ++file_handle__secontext_mismatch_OBJECTS = \ ++ file_handle--secontext_mismatch.$(OBJEXT) ++file_handle__secontext_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) + filter_unavailable_SOURCES = filter-unavailable.c + filter_unavailable_OBJECTS = filter-unavailable.$(OBJEXT) + filter_unavailable_DEPENDENCIES = $(LDADD) +@@ -2317,6 +2483,17 @@ + linkat__secontext_full_SOURCES = linkat--secontext_full.c + linkat__secontext_full_OBJECTS = linkat--secontext_full.$(OBJEXT) + linkat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) ++linkat__secontext_full_mismatch_SOURCES = \ ++ linkat--secontext_full_mismatch.c ++linkat__secontext_full_mismatch_OBJECTS = \ ++ linkat--secontext_full_mismatch.$(OBJEXT) ++linkat__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) ++linkat__secontext_mismatch_SOURCES = linkat--secontext_mismatch.c ++linkat__secontext_mismatch_OBJECTS = \ ++ linkat--secontext_mismatch.$(OBJEXT) ++linkat__secontext_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) + list_sigaction_signum_SOURCES = list_sigaction_signum.c + list_sigaction_signum_OBJECTS = list_sigaction_signum.$(OBJEXT) + list_sigaction_signum_LDADD = $(LDADD) +@@ -2975,6 +3152,15 @@ + open__secontext_full_SOURCES = open--secontext_full.c + open__secontext_full_OBJECTS = open--secontext_full.$(OBJEXT) + open__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) ++open__secontext_full_mismatch_SOURCES = \ ++ open--secontext_full_mismatch.c ++open__secontext_full_mismatch_OBJECTS = \ ++ open--secontext_full_mismatch.$(OBJEXT) ++open__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) ++open__secontext_mismatch_SOURCES = open--secontext_mismatch.c ++open__secontext_mismatch_OBJECTS = open--secontext_mismatch.$(OBJEXT) ++open__secontext_mismatch_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) + open_tree_SOURCES = open_tree.c + open_tree_OBJECTS = open_tree.$(OBJEXT) + open_tree_LDADD = $(LDADD) +@@ -2993,6 +3179,17 @@ + openat__secontext_full_SOURCES = openat--secontext_full.c + openat__secontext_full_OBJECTS = openat--secontext_full.$(OBJEXT) + openat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) ++openat__secontext_full_mismatch_SOURCES = \ ++ openat--secontext_full_mismatch.c ++openat__secontext_full_mismatch_OBJECTS = \ ++ openat--secontext_full_mismatch.$(OBJEXT) ++openat__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) ++openat__secontext_mismatch_SOURCES = openat--secontext_mismatch.c ++openat__secontext_mismatch_OBJECTS = \ ++ openat--secontext_mismatch.$(OBJEXT) ++openat__secontext_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) + openat2_SOURCES = openat2.c + openat2_OBJECTS = openat2.$(OBJEXT) + openat2_LDADD = $(LDADD) +@@ -4449,6 +4646,8 @@ + ./$(DEPDIR)/_newselect.Po ./$(DEPDIR)/accept.Po \ + ./$(DEPDIR)/accept4.Po ./$(DEPDIR)/access--secontext.Po \ + ./$(DEPDIR)/access--secontext_full.Po ./$(DEPDIR)/access.Po \ ++ ./$(DEPDIR)/access--secontext_full_mismatch.Po \ ++ ./$(DEPDIR)/access--secontext_mismatch.Po \ + ./$(DEPDIR)/acct.Po ./$(DEPDIR)/add_key.Po \ + ./$(DEPDIR)/adjtimex.Po ./$(DEPDIR)/aio.Po \ + ./$(DEPDIR)/aio_pgetevents.Po ./$(DEPDIR)/alarm.Po \ +@@ -4468,6 +4667,8 @@ + ./$(DEPDIR)/chdir.Po ./$(DEPDIR)/check_sigblock.Po \ + ./$(DEPDIR)/check_sigign.Po ./$(DEPDIR)/chmod--secontext.Po \ + ./$(DEPDIR)/chmod--secontext_full.Po ./$(DEPDIR)/chmod.Po \ ++ ./$(DEPDIR)/chmod--secontext_full_mismatch.Po \ ++ ./$(DEPDIR)/chmod--secontext_mismatch.Po \ + ./$(DEPDIR)/chown.Po ./$(DEPDIR)/chown32.Po \ + ./$(DEPDIR)/chroot.Po ./$(DEPDIR)/clock_adjtime.Po \ + ./$(DEPDIR)/clock_adjtime64.Po ./$(DEPDIR)/clock_nanosleep.Po \ +@@ -4503,14 +4704,22 @@ + ./$(DEPDIR)/epoll_wait.Po ./$(DEPDIR)/erestartsys.Po \ + ./$(DEPDIR)/eventfd.Po ./$(DEPDIR)/execve--secontext.Po \ + ./$(DEPDIR)/execve--secontext_full.Po ./$(DEPDIR)/execve-v.Po \ ++ ./$(DEPDIR)/execve--secontext_full_mismatch.Po \ ++ ./$(DEPDIR)/execve--secontext_mismatch.Po \ + ./$(DEPDIR)/execve.Po ./$(DEPDIR)/execveat--secontext.Po \ + ./$(DEPDIR)/execveat--secontext_full.Po \ ++ ./$(DEPDIR)/execveat--secontext_full_mismatch.Po \ ++ ./$(DEPDIR)/execveat--secontext_mismatch.Po \ + ./$(DEPDIR)/execveat-v.Po ./$(DEPDIR)/execveat.Po \ + ./$(DEPDIR)/faccessat--secontext.Po \ + ./$(DEPDIR)/faccessat--secontext_full.Po \ ++ ./$(DEPDIR)/faccessat--secontext_full_mismatch.Po \ ++ ./$(DEPDIR)/faccessat--secontext_mismatch.Po \ + ./$(DEPDIR)/faccessat-P.Po \ + ./$(DEPDIR)/faccessat-y--secontext.Po \ + ./$(DEPDIR)/faccessat-y--secontext_full.Po \ ++ ./$(DEPDIR)/faccessat-y--secontext_full_mismatch.Po \ ++ ./$(DEPDIR)/faccessat-y--secontext_mismatch.Po \ + ./$(DEPDIR)/faccessat-y.Po ./$(DEPDIR)/faccessat-yy.Po \ + ./$(DEPDIR)/faccessat.Po ./$(DEPDIR)/faccessat2-P.Po \ + ./$(DEPDIR)/faccessat2-y.Po ./$(DEPDIR)/faccessat2-yy.Po \ +@@ -4519,26 +4728,38 @@ + ./$(DEPDIR)/fanotify_init.Po \ + ./$(DEPDIR)/fanotify_mark--secontext.Po \ + ./$(DEPDIR)/fanotify_mark--secontext_full.Po \ ++ ./$(DEPDIR)/fanotify_mark--secontext_full_mismatch.Po \ ++ ./$(DEPDIR)/fanotify_mark--secontext_mismatch.Po \ + ./$(DEPDIR)/fanotify_mark-Xabbrev.Po \ + ./$(DEPDIR)/fanotify_mark-Xraw.Po \ + ./$(DEPDIR)/fanotify_mark-Xverbose.Po \ + ./$(DEPDIR)/fanotify_mark.Po ./$(DEPDIR)/fchdir.Po \ + ./$(DEPDIR)/fchmod--secontext.Po \ + ./$(DEPDIR)/fchmod--secontext_full.Po \ ++ ./$(DEPDIR)/fchmod--secontext_full_mismatch.Po \ ++ ./$(DEPDIR)/fchmod--secontext_mismatch.Po \ + ./$(DEPDIR)/fchmod-y--secontext.Po \ + ./$(DEPDIR)/fchmod-y--secontext_full.Po \ ++ ./$(DEPDIR)/fchmod-y--secontext_full_mismatch.Po \ ++ ./$(DEPDIR)/fchmod-y--secontext_mismatch.Po \ + ./$(DEPDIR)/fchmod-y.Po ./$(DEPDIR)/fchmod.Po \ + ./$(DEPDIR)/fchmodat--secontext.Po \ + ./$(DEPDIR)/fchmodat--secontext_full.Po \ ++ ./$(DEPDIR)/fchmodat--secontext_full_mismatch.Po \ ++ ./$(DEPDIR)/fchmodat--secontext_mismatch.Po \ + ./$(DEPDIR)/fchmodat.Po ./$(DEPDIR)/fchown.Po \ + ./$(DEPDIR)/fchown32.Po ./$(DEPDIR)/fchownat--secontext.Po \ + ./$(DEPDIR)/fchownat--secontext_full.Po \ ++ ./$(DEPDIR)/fchownat--secontext_full_mismatch.Po \ ++ ./$(DEPDIR)/fchownat--secontext_mismatch.Po \ + ./$(DEPDIR)/fchownat.Po \ + ./$(DEPDIR)/fcntl--pidns-translation.Po ./$(DEPDIR)/fcntl.Po \ + ./$(DEPDIR)/fcntl64--pidns-translation.Po \ + ./$(DEPDIR)/fcntl64.Po ./$(DEPDIR)/fdatasync.Po \ + ./$(DEPDIR)/fflush.Po ./$(DEPDIR)/file_handle--secontext.Po \ + ./$(DEPDIR)/file_handle--secontext_full.Po \ ++ ./$(DEPDIR)/file_handle--secontext_full_mismatch.Po \ ++ ./$(DEPDIR)/file_handle--secontext_mismatch.Po \ + ./$(DEPDIR)/file_handle.Po ./$(DEPDIR)/filter-unavailable.Po \ + ./$(DEPDIR)/filter_seccomp-flag.Po \ + ./$(DEPDIR)/filter_seccomp-perf.Po ./$(DEPDIR)/finit_module.Po \ +@@ -4753,6 +4972,8 @@ + ./$(DEPDIR)/libtests_a-xmalloc_for_tests.Po \ + ./$(DEPDIR)/link.Po ./$(DEPDIR)/linkat--secontext.Po \ + ./$(DEPDIR)/linkat--secontext_full.Po ./$(DEPDIR)/linkat.Po \ ++ ./$(DEPDIR)/linkat--secontext_full_mismatch.Po \ ++ ./$(DEPDIR)/linkat--secontext_mismatch.Po \ + ./$(DEPDIR)/list_sigaction_signum.Po ./$(DEPDIR)/llseek.Po \ + ./$(DEPDIR)/localtime.Po ./$(DEPDIR)/lookup_dcookie.Po \ + ./$(DEPDIR)/looping_threads.Po ./$(DEPDIR)/lseek.Po \ +@@ -4867,9 +5088,13 @@ + ./$(DEPDIR)/oldselect-efault.Po ./$(DEPDIR)/oldselect.Po \ + ./$(DEPDIR)/oldstat.Po ./$(DEPDIR)/open--secontext.Po \ + ./$(DEPDIR)/open--secontext_full.Po ./$(DEPDIR)/open.Po \ ++ ./$(DEPDIR)/open--secontext_full_mismatch.Po \ ++ ./$(DEPDIR)/open--secontext_mismatch.Po \ + ./$(DEPDIR)/open_tree-P.Po ./$(DEPDIR)/open_tree.Po \ + ./$(DEPDIR)/openat--secontext.Po \ + ./$(DEPDIR)/openat--secontext_full.Po ./$(DEPDIR)/openat.Po \ ++ ./$(DEPDIR)/openat--secontext_full_mismatch.Po \ ++ ./$(DEPDIR)/openat--secontext_mismatch.Po \ + ./$(DEPDIR)/openat2-Xabbrev.Po ./$(DEPDIR)/openat2-Xraw.Po \ + ./$(DEPDIR)/openat2-Xverbose.Po \ + ./$(DEPDIR)/openat2-v-y-Xabbrev.Po \ +@@ -5118,7 +5343,8 @@ + am__v_CCLD_1 = + SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.c accept.c \ + accept4.c access.c access--secontext.c \ +- access--secontext_full.c acct.c add_key.c adjtimex.c aio.c \ ++ access--secontext_full.c access--secontext_full_mismatch.c \ ++ access--secontext_mismatch.c acct.c add_key.c adjtimex.c aio.c \ + aio_pgetevents.c alarm.c answer.c attach-f-p.c \ + attach-f-p-cmd.c attach-p-cmd-cmd.c attach-p-cmd-p.c \ + block_reset_raise_run.c block_reset_run.c bpf.c \ +@@ -4467,7 +4665,8 @@ + bpf-success.c bpf-success-long-y.c bpf-success-v.c bpf-v.c \ + brk.c btrfs.c caps.c caps-abbrev.c chdir.c check_sigblock.c \ + check_sigign.c chmod.c chmod--secontext.c \ +- chmod--secontext_full.c chown.c chown32.c chroot.c \ ++ chmod--secontext_full.c chmod--secontext_full_mismatch.c \ ++ chmod--secontext_mismatch.c chown.c chown32.c chroot.c \ + clock_adjtime.c clock_adjtime64.c clock_nanosleep.c \ + clock_xettime.c clock_xettime64.c clone-flags.c clone3.c \ + clone3-Xabbrev.c clone3-Xraw.c clone3-Xverbose.c \ +@@ -4483,24 +4682,40 @@ + dup3-y.c dup3-yy.c epoll_create.c epoll_create1.c epoll_ctl.c \ + epoll_pwait.c epoll_pwait2.c epoll_pwait2-P.c epoll_pwait2-y.c \ + epoll_wait.c erestartsys.c eventfd.c execve.c \ +- execve--secontext.c execve--secontext_full.c execve-v.c \ +- execveat.c execveat--secontext.c execveat--secontext_full.c \ +- execveat-v.c faccessat.c faccessat--secontext.c \ +- faccessat--secontext_full.c faccessat-P.c faccessat-y.c \ ++ execve--secontext.c execve--secontext_full.c \ ++ execve--secontext_full_mismatch.c execve--secontext_mismatch.c \ ++ execve-v.c execveat.c execveat--secontext.c \ ++ execveat--secontext_full.c execveat--secontext_full_mismatch.c \ ++ execveat--secontext_mismatch.c execveat-v.c faccessat.c \ ++ faccessat--secontext.c faccessat--secontext_full.c \ ++ faccessat--secontext_full_mismatch.c \ ++ faccessat--secontext_mismatch.c faccessat-P.c faccessat-y.c \ + faccessat-y--secontext.c faccessat-y--secontext_full.c \ +- faccessat-yy.c faccessat2.c faccessat2-P.c faccessat2-y.c \ +- faccessat2-yy.c fadvise64.c fadvise64_64.c fallocate.c \ +- fanotify_init.c fanotify_mark.c fanotify_mark--secontext.c \ +- fanotify_mark--secontext_full.c fanotify_mark-Xabbrev.c \ ++ faccessat-y--secontext_full_mismatch.c \ ++ faccessat-y--secontext_mismatch.c faccessat-yy.c faccessat2.c \ ++ faccessat2-P.c faccessat2-y.c faccessat2-yy.c fadvise64.c \ ++ fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \ ++ fanotify_mark--secontext.c fanotify_mark--secontext_full.c \ ++ fanotify_mark--secontext_full_mismatch.c \ ++ fanotify_mark--secontext_mismatch.c fanotify_mark-Xabbrev.c \ + fanotify_mark-Xraw.c fanotify_mark-Xverbose.c fchdir.c \ + fchmod.c fchmod--secontext.c fchmod--secontext_full.c \ ++ fchmod--secontext_full_mismatch.c fchmod--secontext_mismatch.c \ + fchmod-y.c fchmod-y--secontext.c fchmod-y--secontext_full.c \ +- fchmodat.c fchmodat--secontext.c fchmodat--secontext_full.c \ +- fchown.c fchown32.c fchownat.c fchownat--secontext.c \ +- fchownat--secontext_full.c fcntl.c fcntl--pidns-translation.c \ +- fcntl64.c fcntl64--pidns-translation.c fdatasync.c fflush.c \ ++ fchmod-y--secontext_full_mismatch.c \ ++ fchmod-y--secontext_mismatch.c fchmodat.c \ ++ fchmodat--secontext.c fchmodat--secontext_full.c \ ++ fchmodat--secontext_full_mismatch.c \ ++ fchmodat--secontext_mismatch.c fchown.c fchown32.c fchownat.c \ ++ fchownat--secontext.c fchownat--secontext_full.c \ ++ fchownat--secontext_full_mismatch.c \ ++ fchownat--secontext_mismatch.c fcntl.c \ ++ fcntl--pidns-translation.c fcntl64.c \ ++ fcntl64--pidns-translation.c fdatasync.c fflush.c \ + file_handle.c file_handle--secontext.c \ +- file_handle--secontext_full.c filter-unavailable.c \ ++ file_handle--secontext_full.c \ ++ file_handle--secontext_full_mismatch.c \ ++ file_handle--secontext_mismatch.c filter-unavailable.c \ + filter_seccomp-flag.c filter_seccomp-perf.c finit_module.c \ + flock.c fork--pidns-translation.c fork-f.c fsconfig.c \ + fsconfig-P.c fsmount.c fsopen.c fspick.c fspick-P.c fstat.c \ +@@ -4587,6 +4802,7 @@ + landlock_create_ruleset-y.c landlock_restrict_self.c \ + landlock_restrict_self-y.c lchown.c lchown32.c link.c linkat.c \ + linkat--secontext.c linkat--secontext_full.c \ ++ linkat--secontext_full_mismatch.c linkat--secontext_mismatch.c \ + list_sigaction_signum.c llseek.c localtime.c lookup_dcookie.c \ + looping_threads.c lseek.c lstat.c lstat64.c madvise.c \ + maybe_switch_current_tcp.c \ +@@ -4640,8 +4856,10 @@ + old_mmap-v-none.c oldfstat.c oldlstat.c oldselect.c \ + oldselect-P.c oldselect-efault.c oldselect-efault-P.c \ + oldstat.c open.c open--secontext.c open--secontext_full.c \ ++ open--secontext_full_mismatch.c open--secontext_mismatch.c \ + open_tree.c open_tree-P.c openat.c openat--secontext.c \ +- openat--secontext_full.c openat2.c openat2-Xabbrev.c \ ++ openat--secontext_full.c openat--secontext_full_mismatch.c \ ++ openat--secontext_mismatch.c openat2.c openat2-Xabbrev.c \ + openat2-Xraw.c openat2-Xverbose.c openat2-v.c openat2-v-y.c \ + openat2-v-y-Xabbrev.c openat2-v-y-Xraw.c \ + openat2-v-y-Xverbose.c openat2-y.c orphaned_process_group.c \ +@@ -4752,7 +4970,8 @@ + xetpriority--pidns-translation.c xettimeofday.c zeroargc.c + DIST_SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.c \ + accept.c accept4.c access.c access--secontext.c \ +- access--secontext_full.c acct.c add_key.c adjtimex.c aio.c \ ++ access--secontext_full.c access--secontext_full_mismatch.c \ ++ access--secontext_mismatch.c acct.c add_key.c adjtimex.c aio.c \ + aio_pgetevents.c alarm.c answer.c attach-f-p.c \ + attach-f-p-cmd.c attach-p-cmd-cmd.c attach-p-cmd-p.c \ + block_reset_raise_run.c block_reset_run.c bpf.c \ +@@ -4761,7 +4980,8 @@ + bpf-success.c bpf-success-long-y.c bpf-success-v.c bpf-v.c \ + brk.c btrfs.c caps.c caps-abbrev.c chdir.c check_sigblock.c \ + check_sigign.c chmod.c chmod--secontext.c \ +- chmod--secontext_full.c chown.c chown32.c chroot.c \ ++ chmod--secontext_full.c chmod--secontext_full_mismatch.c \ ++ chmod--secontext_mismatch.c chown.c chown32.c chroot.c \ + clock_adjtime.c clock_adjtime64.c clock_nanosleep.c \ + clock_xettime.c clock_xettime64.c clone-flags.c clone3.c \ + clone3-Xabbrev.c clone3-Xraw.c clone3-Xverbose.c \ +@@ -4777,24 +4997,40 @@ + dup3-y.c dup3-yy.c epoll_create.c epoll_create1.c epoll_ctl.c \ + epoll_pwait.c epoll_pwait2.c epoll_pwait2-P.c epoll_pwait2-y.c \ + epoll_wait.c erestartsys.c eventfd.c execve.c \ +- execve--secontext.c execve--secontext_full.c execve-v.c \ +- execveat.c execveat--secontext.c execveat--secontext_full.c \ +- execveat-v.c faccessat.c faccessat--secontext.c \ +- faccessat--secontext_full.c faccessat-P.c faccessat-y.c \ ++ execve--secontext.c execve--secontext_full.c \ ++ execve--secontext_full_mismatch.c execve--secontext_mismatch.c \ ++ execve-v.c execveat.c execveat--secontext.c \ ++ execveat--secontext_full.c execveat--secontext_full_mismatch.c \ ++ execveat--secontext_mismatch.c execveat-v.c faccessat.c \ ++ faccessat--secontext.c faccessat--secontext_full.c \ ++ faccessat--secontext_full_mismatch.c \ ++ faccessat--secontext_mismatch.c faccessat-P.c faccessat-y.c \ + faccessat-y--secontext.c faccessat-y--secontext_full.c \ +- faccessat-yy.c faccessat2.c faccessat2-P.c faccessat2-y.c \ +- faccessat2-yy.c fadvise64.c fadvise64_64.c fallocate.c \ +- fanotify_init.c fanotify_mark.c fanotify_mark--secontext.c \ +- fanotify_mark--secontext_full.c fanotify_mark-Xabbrev.c \ ++ faccessat-y--secontext_full_mismatch.c \ ++ faccessat-y--secontext_mismatch.c faccessat-yy.c faccessat2.c \ ++ faccessat2-P.c faccessat2-y.c faccessat2-yy.c fadvise64.c \ ++ fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \ ++ fanotify_mark--secontext.c fanotify_mark--secontext_full.c \ ++ fanotify_mark--secontext_full_mismatch.c \ ++ fanotify_mark--secontext_mismatch.c fanotify_mark-Xabbrev.c \ + fanotify_mark-Xraw.c fanotify_mark-Xverbose.c fchdir.c \ + fchmod.c fchmod--secontext.c fchmod--secontext_full.c \ ++ fchmod--secontext_full_mismatch.c fchmod--secontext_mismatch.c \ + fchmod-y.c fchmod-y--secontext.c fchmod-y--secontext_full.c \ +- fchmodat.c fchmodat--secontext.c fchmodat--secontext_full.c \ +- fchown.c fchown32.c fchownat.c fchownat--secontext.c \ +- fchownat--secontext_full.c fcntl.c fcntl--pidns-translation.c \ +- fcntl64.c fcntl64--pidns-translation.c fdatasync.c fflush.c \ ++ fchmod-y--secontext_full_mismatch.c \ ++ fchmod-y--secontext_mismatch.c fchmodat.c \ ++ fchmodat--secontext.c fchmodat--secontext_full.c \ ++ fchmodat--secontext_full_mismatch.c \ ++ fchmodat--secontext_mismatch.c fchown.c fchown32.c fchownat.c \ ++ fchownat--secontext.c fchownat--secontext_full.c \ ++ fchownat--secontext_full_mismatch.c \ ++ fchownat--secontext_mismatch.c fcntl.c \ ++ fcntl--pidns-translation.c fcntl64.c \ ++ fcntl64--pidns-translation.c fdatasync.c fflush.c \ + file_handle.c file_handle--secontext.c \ +- file_handle--secontext_full.c filter-unavailable.c \ ++ file_handle--secontext_full.c \ ++ file_handle--secontext_full_mismatch.c \ ++ file_handle--secontext_mismatch.c filter-unavailable.c \ + filter_seccomp-flag.c filter_seccomp-perf.c finit_module.c \ + flock.c fork--pidns-translation.c fork-f.c fsconfig.c \ + fsconfig-P.c fsmount.c fsopen.c fspick.c fspick-P.c fstat.c \ +@@ -4881,6 +5117,7 @@ + landlock_create_ruleset-y.c landlock_restrict_self.c \ + landlock_restrict_self-y.c lchown.c lchown32.c link.c linkat.c \ + linkat--secontext.c linkat--secontext_full.c \ ++ linkat--secontext_full_mismatch.c linkat--secontext_mismatch.c \ + list_sigaction_signum.c llseek.c localtime.c lookup_dcookie.c \ + looping_threads.c lseek.c lstat.c lstat64.c madvise.c \ + maybe_switch_current_tcp.c \ +@@ -4934,8 +5171,10 @@ + old_mmap-v-none.c oldfstat.c oldlstat.c oldselect.c \ + oldselect-P.c oldselect-efault.c oldselect-efault-P.c \ + oldstat.c open.c open--secontext.c open--secontext_full.c \ ++ open--secontext_full_mismatch.c open--secontext_mismatch.c \ + open_tree.c open_tree-P.c openat.c openat--secontext.c \ +- openat--secontext_full.c openat2.c openat2-Xabbrev.c \ ++ openat--secontext_full.c openat--secontext_full_mismatch.c \ ++ openat--secontext_mismatch.c openat2.c openat2-Xabbrev.c \ + openat2-Xraw.c openat2-Xverbose.c openat2-v.c openat2-v-y.c \ + openat2-v-y-Xabbrev.c openat2-v-y-Xraw.c \ + openat2-v-y-Xverbose.c openat2-y.c orphaned_process_group.c \ +@@ -6211,66 +6450,126 @@ + secontext_EXECUTABLES = \ + access--secontext \ + access--secontext_full \ ++ access--secontext_full_mismatch \ ++ access--secontext_mismatch \ + chmod--secontext \ + chmod--secontext_full \ ++ chmod--secontext_full_mismatch \ ++ chmod--secontext_mismatch \ + execve--secontext \ + execve--secontext_full \ ++ execve--secontext_full_mismatch \ ++ execve--secontext_mismatch \ + execveat--secontext \ + execveat--secontext_full \ ++ execveat--secontext_full_mismatch \ ++ execveat--secontext_mismatch \ + faccessat--secontext \ + faccessat--secontext_full \ ++ faccessat--secontext_full_mismatch \ ++ faccessat--secontext_mismatch \ + faccessat-y--secontext \ + faccessat-y--secontext_full \ ++ faccessat-y--secontext_full_mismatch \ ++ faccessat-y--secontext_mismatch \ + fanotify_mark--secontext \ + fanotify_mark--secontext_full \ ++ fanotify_mark--secontext_full_mismatch \ ++ fanotify_mark--secontext_mismatch \ + fchmod--secontext \ + fchmod--secontext_full \ ++ fchmod--secontext_full_mismatch \ ++ fchmod--secontext_mismatch \ + fchmod-y--secontext \ + fchmod-y--secontext_full \ ++ fchmod-y--secontext_full_mismatch \ ++ fchmod-y--secontext_mismatch \ + fchmodat--secontext \ + fchmodat--secontext_full \ ++ fchmodat--secontext_full_mismatch \ ++ fchmodat--secontext_mismatch \ + fchownat--secontext \ + fchownat--secontext_full \ ++ fchownat--secontext_full_mismatch \ ++ fchownat--secontext_mismatch \ + file_handle--secontext \ + file_handle--secontext_full \ ++ file_handle--secontext_full_mismatch \ ++ file_handle--secontext_mismatch \ + linkat--secontext \ + linkat--secontext_full \ ++ linkat--secontext_full_mismatch \ ++ linkat--secontext_mismatch \ + open--secontext \ + open--secontext_full \ ++ open--secontext_full_mismatch \ ++ open--secontext_mismatch \ + openat--secontext \ + openat--secontext_full \ ++ openat--secontext_full_mismatch \ ++ openat--secontext_mismatch \ + # + + access__secontext_LDADD = $(LDADD) $(libselinux_LDADD) + access__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) ++access__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) ++access__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) + chmod__secontext_LDADD = $(LDADD) $(libselinux_LDADD) + chmod__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) ++chmod__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) ++chmod__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) + execve__secontext_LDADD = $(LDADD) $(libselinux_LDADD) + execve__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) ++execve__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) ++execve__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) + execveat__secontext_LDADD = $(LDADD) $(libselinux_LDADD) + execveat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) ++execveat__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) ++execveat__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) + faccessat__secontext_LDADD = $(LDADD) $(libselinux_LDADD) + faccessat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) ++faccessat__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) ++faccessat__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) + faccessat_y__secontext_LDADD = $(LDADD) $(libselinux_LDADD) + faccessat_y__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) ++faccessat_y__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) ++faccessat_y__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) + fanotify_mark__secontext_LDADD = $(LDADD) $(libselinux_LDADD) + fanotify_mark__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) ++fanotify_mark__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) ++fanotify_mark__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) + fchmod__secontext_LDADD = $(LDADD) $(libselinux_LDADD) + fchmod__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) ++fchmod__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) ++fchmod__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) + fchmod_y__secontext_LDADD = $(LDADD) $(libselinux_LDADD) + fchmod_y__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) ++fchmod_y__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) ++fchmod_y__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) + fchmodat__secontext_LDADD = $(LDADD) $(libselinux_LDADD) + fchmodat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) ++fchmodat__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) ++fchmodat__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) + fchownat__secontext_LDADD = $(LDADD) $(libselinux_LDADD) + fchownat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) ++fchownat__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) ++fchownat__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) + file_handle__secontext_LDADD = $(LDADD) $(libselinux_LDADD) + file_handle__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) ++file_handle__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) ++file_handle__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) + linkat__secontext_LDADD = $(LDADD) $(libselinux_LDADD) + linkat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) ++linkat__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) ++linkat__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) + open__secontext_LDADD = $(LDADD) $(libselinux_LDADD) + open__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) ++open__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) ++open__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) + openat__secontext_LDADD = $(LDADD) $(libselinux_LDADD) + openat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) ++openat__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) ++openat__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) + attach_f_p_LDADD = -lpthread $(LDADD) + count_f_LDADD = -lpthread $(LDADD) + delay_LDADD = $(clock_LIBS) $(LDADD) +@@ -6324,15 +6623,20 @@ + # Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in; do not edit. + GEN_TESTS = _newselect.gen.test _newselect-P.gen.test accept.gen.test \ + accept4.gen.test access.gen.test access--secontext.gen.test \ +- access--secontext_full.gen.test acct.gen.test add_key.gen.test \ +- adjtimex.gen.test aio.gen.test aio_pgetevents.gen.test \ +- alarm.gen.test bpf.gen.test bpf-obj_get_info_by_fd.gen.test \ ++ access--secontext_full.gen.test \ ++ access--secontext_full_mismatch.gen.test \ ++ access--secontext_mismatch.gen.test acct.gen.test \ ++ add_key.gen.test adjtimex.gen.test aio.gen.test \ ++ aio_pgetevents.gen.test alarm.gen.test bpf.gen.test \ ++ bpf-obj_get_info_by_fd.gen.test \ + bpf-obj_get_info_by_fd-prog.gen.test \ + bpf-obj_get_info_by_fd-prog-v.gen.test \ + bpf-obj_get_info_by_fd-v.gen.test bpf-v.gen.test \ + btrfs.gen.test chdir.gen.test chmod.gen.test \ + chmod--secontext.gen.test chmod--secontext_full.gen.test \ +- chown.gen.test chown32.gen.test chroot.gen.test clock.gen.test \ ++ chmod--secontext_full_mismatch.gen.test \ ++ chmod--secontext_mismatch.gen.test chown.gen.test \ ++ chown32.gen.test chroot.gen.test clock.gen.test \ + clock_adjtime.gen.test clock_adjtime64.gen.test \ + clock_nanosleep.gen.test clock_xettime.gen.test \ + clock_xettime64.gen.test clone3.gen.test \ +@@ -6355,36 +6659,53 @@ + epoll_pwait2-P.gen.test epoll_pwait2-y.gen.test \ + epoll_wait.gen.test erestartsys.gen.test \ + execve--secontext.gen.test execve--secontext_full.gen.test \ +- execveat.gen.test execveat--secontext.gen.test \ +- execveat--secontext_full.gen.test execveat-v.gen.test \ ++ execve--secontext_full_mismatch.gen.test \ ++ execve--secontext_mismatch.gen.test execveat.gen.test \ ++ execveat--secontext.gen.test execveat--secontext_full.gen.test \ ++ execveat--secontext_full_mismatch.gen.test \ ++ execveat--secontext_mismatch.gen.test execveat-v.gen.test \ + faccessat--secontext.gen.test \ +- faccessat--secontext_full.gen.test faccessat-P.gen.test \ ++ faccessat--secontext_full.gen.test \ ++ faccessat--secontext_full_mismatch.gen.test \ ++ faccessat--secontext_mismatch.gen.test faccessat-P.gen.test \ + faccessat-y.gen.test faccessat-y--secontext.gen.test \ +- faccessat-y--secontext_full.gen.test faccessat-yy.gen.test \ ++ faccessat-y--secontext_full.gen.test \ ++ faccessat-y--secontext_full_mismatch.gen.test \ ++ faccessat-y--secontext_mismatch.gen.test faccessat-yy.gen.test \ + faccessat2-P.gen.test faccessat2-y.gen.test \ + faccessat2-yy.gen.test fadvise64_64.gen.test \ + fallocate.gen.test fanotify_init.gen.test \ + fanotify_mark.gen.test fanotify_mark--secontext.gen.test \ + fanotify_mark--secontext_full.gen.test \ ++ fanotify_mark--secontext_full_mismatch.gen.test \ ++ fanotify_mark--secontext_mismatch.gen.test \ + fanotify_mark-Xabbrev.gen.test fanotify_mark-Xraw.gen.test \ + fanotify_mark-Xverbose.gen.test fchdir.gen.test \ + fchmod.gen.test fchmod--secontext.gen.test \ +- fchmod--secontext_full.gen.test fchmod-y.gen.test \ ++ fchmod--secontext_full.gen.test \ ++ fchmod--secontext_full_mismatch.gen.test \ ++ fchmod--secontext_mismatch.gen.test fchmod-y.gen.test \ + fchmod-y--secontext.gen.test fchmod-y--secontext_full.gen.test \ +- fchmodat.gen.test fchmodat--secontext.gen.test \ +- fchmodat--secontext_full.gen.test fchown.gen.test \ ++ fchmod-y--secontext_full_mismatch.gen.test \ ++ fchmod-y--secontext_mismatch.gen.test fchmodat.gen.test \ ++ fchmodat--secontext.gen.test fchmodat--secontext_full.gen.test \ ++ fchmodat--secontext_full_mismatch.gen.test \ ++ fchmodat--secontext_mismatch.gen.test fchown.gen.test \ + fchown32.gen.test fchownat.gen.test \ + fchownat--secontext.gen.test fchownat--secontext_full.gen.test \ +- fcntl.gen.test fcntl--pidns-translation.gen.test \ +- fcntl64.gen.test fcntl64--pidns-translation.gen.test \ +- fdatasync.gen.test file_handle.gen.test \ +- file_handle--secontext.gen.test \ +- file_handle--secontext_full.gen.test filter_seccomp.gen.test \ +- filter_seccomp-flag.gen.test finit_module.gen.test \ +- flock.gen.test fork-f.gen.test fsconfig.gen.test \ +- fsconfig-P.gen.test fsmount.gen.test fsopen.gen.test \ +- fspick.gen.test fspick-P.gen.test fstat.gen.test \ +- fstat-Xabbrev.gen.test fstat-Xraw.gen.test \ ++ fchownat--secontext_full_mismatch.gen.test \ ++ fchownat--secontext_mismatch.gen.test fcntl.gen.test \ ++ fcntl--pidns-translation.gen.test fcntl64.gen.test \ ++ fcntl64--pidns-translation.gen.test fdatasync.gen.test \ ++ file_handle.gen.test file_handle--secontext.gen.test \ ++ file_handle--secontext_full.gen.test \ ++ file_handle--secontext_full_mismatch.gen.test \ ++ file_handle--secontext_mismatch.gen.test \ ++ filter_seccomp.gen.test filter_seccomp-flag.gen.test \ ++ finit_module.gen.test flock.gen.test fork-f.gen.test \ ++ fsconfig.gen.test fsconfig-P.gen.test fsmount.gen.test \ ++ fsopen.gen.test fspick.gen.test fspick-P.gen.test \ ++ fstat.gen.test fstat-Xabbrev.gen.test fstat-Xraw.gen.test \ + fstat-Xverbose.gen.test fstat64.gen.test \ + fstat64-Xabbrev.gen.test fstat64-Xraw.gen.test \ + fstat64-Xverbose.gen.test fstatat64.gen.test fstatfs.gen.test \ +@@ -6511,8 +6832,10 @@ + landlock_restrict_self-y.gen.test lchown.gen.test \ + lchown32.gen.test link.gen.test linkat.gen.test \ + linkat--secontext.gen.test linkat--secontext_full.gen.test \ +- lookup_dcookie.gen.test lstat.gen.test lstat64.gen.test \ +- madvise.gen.test maybe_switch_current_tcp.gen.test \ ++ linkat--secontext_full_mismatch.gen.test \ ++ linkat--secontext_mismatch.gen.test lookup_dcookie.gen.test \ ++ lstat.gen.test lstat64.gen.test madvise.gen.test \ ++ maybe_switch_current_tcp.gen.test \ + maybe_switch_current_tcp--quiet-thread-execve.gen.test \ + mbind.gen.test mbind-Xabbrev.gen.test mbind-Xraw.gen.test \ + mbind-Xverbose.gen.test membarrier.gen.test \ +@@ -6581,16 +6904,19 @@ + oldselect.gen.test oldselect-P.gen.test \ + oldselect-efault.gen.test oldselect-efault-P.gen.test \ + oldstat.gen.test open.gen.test open--secontext.gen.test \ +- open--secontext_full.gen.test open_tree.gen.test \ ++ open--secontext_full.gen.test \ ++ open--secontext_full_mismatch.gen.test \ ++ open--secontext_mismatch.gen.test open_tree.gen.test \ + open_tree-P.gen.test openat.gen.test \ + openat--secontext.gen.test openat--secontext_full.gen.test \ +- openat2.gen.test openat2-Xabbrev.gen.test \ +- openat2-Xraw.gen.test openat2-Xverbose.gen.test \ +- openat2-v.gen.test openat2-v-y.gen.test \ +- openat2-v-y-Xabbrev.gen.test openat2-v-y-Xraw.gen.test \ +- openat2-v-y-Xverbose.gen.test openat2-y.gen.test \ +- orphaned_process_group.gen.test osf_utimes.gen.test \ +- pause.gen.test perf_event_open.gen.test \ ++ openat--secontext_full_mismatch.gen.test \ ++ openat--secontext_mismatch.gen.test openat2.gen.test \ ++ openat2-Xabbrev.gen.test openat2-Xraw.gen.test \ ++ openat2-Xverbose.gen.test openat2-v.gen.test \ ++ openat2-v-y.gen.test openat2-v-y-Xabbrev.gen.test \ ++ openat2-v-y-Xraw.gen.test openat2-v-y-Xverbose.gen.test \ ++ openat2-y.gen.test orphaned_process_group.gen.test \ ++ osf_utimes.gen.test pause.gen.test perf_event_open.gen.test \ + perf_event_open_nonverbose.gen.test \ + perf_event_open_unabbrev.gen.test personality-Xabbrev.gen.test \ + personality-Xraw.gen.test personality-Xverbose.gen.test \ +@@ -7154,6 +7480,14 @@ + @rm -f access--secontext_full$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(access__secontext_full_OBJECTS) $(access__secontext_full_LDADD) $(LIBS) + ++access--secontext_full_mismatch$(EXEEXT): $(access__secontext_full_mismatch_OBJECTS) $(access__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_access__secontext_full_mismatch_DEPENDENCIES) ++ @rm -f access--secontext_full_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(access__secontext_full_mismatch_OBJECTS) $(access__secontext_full_mismatch_LDADD) $(LIBS) ++ ++access--secontext_mismatch$(EXEEXT): $(access__secontext_mismatch_OBJECTS) $(access__secontext_mismatch_DEPENDENCIES) $(EXTRA_access__secontext_mismatch_DEPENDENCIES) ++ @rm -f access--secontext_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(access__secontext_mismatch_OBJECTS) $(access__secontext_mismatch_LDADD) $(LIBS) ++ + acct$(EXEEXT): $(acct_OBJECTS) $(acct_DEPENDENCIES) $(EXTRA_acct_DEPENDENCIES) + @rm -f acct$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(acct_OBJECTS) $(acct_LDADD) $(LIBS) +@@ -7282,6 +7616,14 @@ + @rm -f chmod--secontext_full$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(chmod__secontext_full_OBJECTS) $(chmod__secontext_full_LDADD) $(LIBS) + ++chmod--secontext_full_mismatch$(EXEEXT): $(chmod__secontext_full_mismatch_OBJECTS) $(chmod__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_chmod__secontext_full_mismatch_DEPENDENCIES) ++ @rm -f chmod--secontext_full_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(chmod__secontext_full_mismatch_OBJECTS) $(chmod__secontext_full_mismatch_LDADD) $(LIBS) ++ ++chmod--secontext_mismatch$(EXEEXT): $(chmod__secontext_mismatch_OBJECTS) $(chmod__secontext_mismatch_DEPENDENCIES) $(EXTRA_chmod__secontext_mismatch_DEPENDENCIES) ++ @rm -f chmod--secontext_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(chmod__secontext_mismatch_OBJECTS) $(chmod__secontext_mismatch_LDADD) $(LIBS) ++ + chown$(EXEEXT): $(chown_OBJECTS) $(chown_DEPENDENCIES) $(EXTRA_chown_DEPENDENCIES) + @rm -f chown$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(chown_OBJECTS) $(chown_LDADD) $(LIBS) +@@ -7526,6 +7868,14 @@ + @rm -f execve--secontext_full$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(execve__secontext_full_OBJECTS) $(execve__secontext_full_LDADD) $(LIBS) + ++execve--secontext_full_mismatch$(EXEEXT): $(execve__secontext_full_mismatch_OBJECTS) $(execve__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_execve__secontext_full_mismatch_DEPENDENCIES) ++ @rm -f execve--secontext_full_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(execve__secontext_full_mismatch_OBJECTS) $(execve__secontext_full_mismatch_LDADD) $(LIBS) ++ ++execve--secontext_mismatch$(EXEEXT): $(execve__secontext_mismatch_OBJECTS) $(execve__secontext_mismatch_DEPENDENCIES) $(EXTRA_execve__secontext_mismatch_DEPENDENCIES) ++ @rm -f execve--secontext_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(execve__secontext_mismatch_OBJECTS) $(execve__secontext_mismatch_LDADD) $(LIBS) ++ + execve-v$(EXEEXT): $(execve_v_OBJECTS) $(execve_v_DEPENDENCIES) $(EXTRA_execve_v_DEPENDENCIES) + @rm -f execve-v$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(execve_v_OBJECTS) $(execve_v_LDADD) $(LIBS) +@@ -7542,6 +7892,14 @@ + @rm -f execveat--secontext_full$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(execveat__secontext_full_OBJECTS) $(execveat__secontext_full_LDADD) $(LIBS) + ++execveat--secontext_full_mismatch$(EXEEXT): $(execveat__secontext_full_mismatch_OBJECTS) $(execveat__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_execveat__secontext_full_mismatch_DEPENDENCIES) ++ @rm -f execveat--secontext_full_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(execveat__secontext_full_mismatch_OBJECTS) $(execveat__secontext_full_mismatch_LDADD) $(LIBS) ++ ++execveat--secontext_mismatch$(EXEEXT): $(execveat__secontext_mismatch_OBJECTS) $(execveat__secontext_mismatch_DEPENDENCIES) $(EXTRA_execveat__secontext_mismatch_DEPENDENCIES) ++ @rm -f execveat--secontext_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(execveat__secontext_mismatch_OBJECTS) $(execveat__secontext_mismatch_LDADD) $(LIBS) ++ + execveat-v$(EXEEXT): $(execveat_v_OBJECTS) $(execveat_v_DEPENDENCIES) $(EXTRA_execveat_v_DEPENDENCIES) + @rm -f execveat-v$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(execveat_v_OBJECTS) $(execveat_v_LDADD) $(LIBS) +@@ -7558,6 +7916,14 @@ + @rm -f faccessat--secontext_full$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(faccessat__secontext_full_OBJECTS) $(faccessat__secontext_full_LDADD) $(LIBS) + ++faccessat--secontext_full_mismatch$(EXEEXT): $(faccessat__secontext_full_mismatch_OBJECTS) $(faccessat__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_faccessat__secontext_full_mismatch_DEPENDENCIES) ++ @rm -f faccessat--secontext_full_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(faccessat__secontext_full_mismatch_OBJECTS) $(faccessat__secontext_full_mismatch_LDADD) $(LIBS) ++ ++faccessat--secontext_mismatch$(EXEEXT): $(faccessat__secontext_mismatch_OBJECTS) $(faccessat__secontext_mismatch_DEPENDENCIES) $(EXTRA_faccessat__secontext_mismatch_DEPENDENCIES) ++ @rm -f faccessat--secontext_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(faccessat__secontext_mismatch_OBJECTS) $(faccessat__secontext_mismatch_LDADD) $(LIBS) ++ + faccessat-P$(EXEEXT): $(faccessat_P_OBJECTS) $(faccessat_P_DEPENDENCIES) $(EXTRA_faccessat_P_DEPENDENCIES) + @rm -f faccessat-P$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(faccessat_P_OBJECTS) $(faccessat_P_LDADD) $(LIBS) +@@ -7574,6 +7940,14 @@ + @rm -f faccessat-y--secontext_full$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(faccessat_y__secontext_full_OBJECTS) $(faccessat_y__secontext_full_LDADD) $(LIBS) + ++faccessat-y--secontext_full_mismatch$(EXEEXT): $(faccessat_y__secontext_full_mismatch_OBJECTS) $(faccessat_y__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_faccessat_y__secontext_full_mismatch_DEPENDENCIES) ++ @rm -f faccessat-y--secontext_full_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(faccessat_y__secontext_full_mismatch_OBJECTS) $(faccessat_y__secontext_full_mismatch_LDADD) $(LIBS) ++ ++faccessat-y--secontext_mismatch$(EXEEXT): $(faccessat_y__secontext_mismatch_OBJECTS) $(faccessat_y__secontext_mismatch_DEPENDENCIES) $(EXTRA_faccessat_y__secontext_mismatch_DEPENDENCIES) ++ @rm -f faccessat-y--secontext_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(faccessat_y__secontext_mismatch_OBJECTS) $(faccessat_y__secontext_mismatch_LDADD) $(LIBS) ++ + faccessat-yy$(EXEEXT): $(faccessat_yy_OBJECTS) $(faccessat_yy_DEPENDENCIES) $(EXTRA_faccessat_yy_DEPENDENCIES) + @rm -f faccessat-yy$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(faccessat_yy_OBJECTS) $(faccessat_yy_LDADD) $(LIBS) +@@ -7622,6 +7996,14 @@ + @rm -f fanotify_mark--secontext_full$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(fanotify_mark__secontext_full_OBJECTS) $(fanotify_mark__secontext_full_LDADD) $(LIBS) + ++fanotify_mark--secontext_full_mismatch$(EXEEXT): $(fanotify_mark__secontext_full_mismatch_OBJECTS) $(fanotify_mark__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_fanotify_mark__secontext_full_mismatch_DEPENDENCIES) ++ @rm -f fanotify_mark--secontext_full_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(fanotify_mark__secontext_full_mismatch_OBJECTS) $(fanotify_mark__secontext_full_mismatch_LDADD) $(LIBS) ++ ++fanotify_mark--secontext_mismatch$(EXEEXT): $(fanotify_mark__secontext_mismatch_OBJECTS) $(fanotify_mark__secontext_mismatch_DEPENDENCIES) $(EXTRA_fanotify_mark__secontext_mismatch_DEPENDENCIES) ++ @rm -f fanotify_mark--secontext_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(fanotify_mark__secontext_mismatch_OBJECTS) $(fanotify_mark__secontext_mismatch_LDADD) $(LIBS) ++ + fanotify_mark-Xabbrev$(EXEEXT): $(fanotify_mark_Xabbrev_OBJECTS) $(fanotify_mark_Xabbrev_DEPENDENCIES) $(EXTRA_fanotify_mark_Xabbrev_DEPENDENCIES) + @rm -f fanotify_mark-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(fanotify_mark_Xabbrev_OBJECTS) $(fanotify_mark_Xabbrev_LDADD) $(LIBS) +@@ -7650,6 +8032,14 @@ + @rm -f fchmod--secontext_full$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(fchmod__secontext_full_OBJECTS) $(fchmod__secontext_full_LDADD) $(LIBS) + ++fchmod--secontext_full_mismatch$(EXEEXT): $(fchmod__secontext_full_mismatch_OBJECTS) $(fchmod__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_fchmod__secontext_full_mismatch_DEPENDENCIES) ++ @rm -f fchmod--secontext_full_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(fchmod__secontext_full_mismatch_OBJECTS) $(fchmod__secontext_full_mismatch_LDADD) $(LIBS) ++ ++fchmod--secontext_mismatch$(EXEEXT): $(fchmod__secontext_mismatch_OBJECTS) $(fchmod__secontext_mismatch_DEPENDENCIES) $(EXTRA_fchmod__secontext_mismatch_DEPENDENCIES) ++ @rm -f fchmod--secontext_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(fchmod__secontext_mismatch_OBJECTS) $(fchmod__secontext_mismatch_LDADD) $(LIBS) ++ + fchmod-y$(EXEEXT): $(fchmod_y_OBJECTS) $(fchmod_y_DEPENDENCIES) $(EXTRA_fchmod_y_DEPENDENCIES) + @rm -f fchmod-y$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(fchmod_y_OBJECTS) $(fchmod_y_LDADD) $(LIBS) +@@ -7662,6 +8052,14 @@ + @rm -f fchmod-y--secontext_full$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(fchmod_y__secontext_full_OBJECTS) $(fchmod_y__secontext_full_LDADD) $(LIBS) + ++fchmod-y--secontext_full_mismatch$(EXEEXT): $(fchmod_y__secontext_full_mismatch_OBJECTS) $(fchmod_y__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_fchmod_y__secontext_full_mismatch_DEPENDENCIES) ++ @rm -f fchmod-y--secontext_full_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(fchmod_y__secontext_full_mismatch_OBJECTS) $(fchmod_y__secontext_full_mismatch_LDADD) $(LIBS) ++ ++fchmod-y--secontext_mismatch$(EXEEXT): $(fchmod_y__secontext_mismatch_OBJECTS) $(fchmod_y__secontext_mismatch_DEPENDENCIES) $(EXTRA_fchmod_y__secontext_mismatch_DEPENDENCIES) ++ @rm -f fchmod-y--secontext_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(fchmod_y__secontext_mismatch_OBJECTS) $(fchmod_y__secontext_mismatch_LDADD) $(LIBS) ++ + fchmodat$(EXEEXT): $(fchmodat_OBJECTS) $(fchmodat_DEPENDENCIES) $(EXTRA_fchmodat_DEPENDENCIES) + @rm -f fchmodat$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(fchmodat_OBJECTS) $(fchmodat_LDADD) $(LIBS) +@@ -7674,6 +8072,14 @@ + @rm -f fchmodat--secontext_full$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(fchmodat__secontext_full_OBJECTS) $(fchmodat__secontext_full_LDADD) $(LIBS) + ++fchmodat--secontext_full_mismatch$(EXEEXT): $(fchmodat__secontext_full_mismatch_OBJECTS) $(fchmodat__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_fchmodat__secontext_full_mismatch_DEPENDENCIES) ++ @rm -f fchmodat--secontext_full_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(fchmodat__secontext_full_mismatch_OBJECTS) $(fchmodat__secontext_full_mismatch_LDADD) $(LIBS) ++ ++fchmodat--secontext_mismatch$(EXEEXT): $(fchmodat__secontext_mismatch_OBJECTS) $(fchmodat__secontext_mismatch_DEPENDENCIES) $(EXTRA_fchmodat__secontext_mismatch_DEPENDENCIES) ++ @rm -f fchmodat--secontext_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(fchmodat__secontext_mismatch_OBJECTS) $(fchmodat__secontext_mismatch_LDADD) $(LIBS) ++ + fchown$(EXEEXT): $(fchown_OBJECTS) $(fchown_DEPENDENCIES) $(EXTRA_fchown_DEPENDENCIES) + @rm -f fchown$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(fchown_OBJECTS) $(fchown_LDADD) $(LIBS) +@@ -7694,6 +8100,14 @@ + @rm -f fchownat--secontext_full$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(fchownat__secontext_full_OBJECTS) $(fchownat__secontext_full_LDADD) $(LIBS) + ++fchownat--secontext_full_mismatch$(EXEEXT): $(fchownat__secontext_full_mismatch_OBJECTS) $(fchownat__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_fchownat__secontext_full_mismatch_DEPENDENCIES) ++ @rm -f fchownat--secontext_full_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(fchownat__secontext_full_mismatch_OBJECTS) $(fchownat__secontext_full_mismatch_LDADD) $(LIBS) ++ ++fchownat--secontext_mismatch$(EXEEXT): $(fchownat__secontext_mismatch_OBJECTS) $(fchownat__secontext_mismatch_DEPENDENCIES) $(EXTRA_fchownat__secontext_mismatch_DEPENDENCIES) ++ @rm -f fchownat--secontext_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(fchownat__secontext_mismatch_OBJECTS) $(fchownat__secontext_mismatch_LDADD) $(LIBS) ++ + fcntl$(EXEEXT): $(fcntl_OBJECTS) $(fcntl_DEPENDENCIES) $(EXTRA_fcntl_DEPENDENCIES) + @rm -f fcntl$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(fcntl_OBJECTS) $(fcntl_LDADD) $(LIBS) +@@ -7730,6 +8144,14 @@ + @rm -f file_handle--secontext_full$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(file_handle__secontext_full_OBJECTS) $(file_handle__secontext_full_LDADD) $(LIBS) + ++file_handle--secontext_full_mismatch$(EXEEXT): $(file_handle__secontext_full_mismatch_OBJECTS) $(file_handle__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_file_handle__secontext_full_mismatch_DEPENDENCIES) ++ @rm -f file_handle--secontext_full_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(file_handle__secontext_full_mismatch_OBJECTS) $(file_handle__secontext_full_mismatch_LDADD) $(LIBS) ++ ++file_handle--secontext_mismatch$(EXEEXT): $(file_handle__secontext_mismatch_OBJECTS) $(file_handle__secontext_mismatch_DEPENDENCIES) $(EXTRA_file_handle__secontext_mismatch_DEPENDENCIES) ++ @rm -f file_handle--secontext_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(file_handle__secontext_mismatch_OBJECTS) $(file_handle__secontext_mismatch_LDADD) $(LIBS) ++ + filter-unavailable$(EXEEXT): $(filter_unavailable_OBJECTS) $(filter_unavailable_DEPENDENCIES) $(EXTRA_filter_unavailable_DEPENDENCIES) + @rm -f filter-unavailable$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(filter_unavailable_OBJECTS) $(filter_unavailable_LDADD) $(LIBS) +@@ -8774,6 +9196,14 @@ + @rm -f linkat--secontext_full$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(linkat__secontext_full_OBJECTS) $(linkat__secontext_full_LDADD) $(LIBS) + ++linkat--secontext_full_mismatch$(EXEEXT): $(linkat__secontext_full_mismatch_OBJECTS) $(linkat__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_linkat__secontext_full_mismatch_DEPENDENCIES) ++ @rm -f linkat--secontext_full_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(linkat__secontext_full_mismatch_OBJECTS) $(linkat__secontext_full_mismatch_LDADD) $(LIBS) ++ ++linkat--secontext_mismatch$(EXEEXT): $(linkat__secontext_mismatch_OBJECTS) $(linkat__secontext_mismatch_DEPENDENCIES) $(EXTRA_linkat__secontext_mismatch_DEPENDENCIES) ++ @rm -f linkat--secontext_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(linkat__secontext_mismatch_OBJECTS) $(linkat__secontext_mismatch_LDADD) $(LIBS) ++ + list_sigaction_signum$(EXEEXT): $(list_sigaction_signum_OBJECTS) $(list_sigaction_signum_DEPENDENCIES) $(EXTRA_list_sigaction_signum_DEPENDENCIES) + @rm -f list_sigaction_signum$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(list_sigaction_signum_OBJECTS) $(list_sigaction_signum_LDADD) $(LIBS) +@@ -9422,6 +9852,14 @@ + @rm -f open--secontext_full$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(open__secontext_full_OBJECTS) $(open__secontext_full_LDADD) $(LIBS) + ++open--secontext_full_mismatch$(EXEEXT): $(open__secontext_full_mismatch_OBJECTS) $(open__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_open__secontext_full_mismatch_DEPENDENCIES) ++ @rm -f open--secontext_full_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(open__secontext_full_mismatch_OBJECTS) $(open__secontext_full_mismatch_LDADD) $(LIBS) ++ ++open--secontext_mismatch$(EXEEXT): $(open__secontext_mismatch_OBJECTS) $(open__secontext_mismatch_DEPENDENCIES) $(EXTRA_open__secontext_mismatch_DEPENDENCIES) ++ @rm -f open--secontext_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(open__secontext_mismatch_OBJECTS) $(open__secontext_mismatch_LDADD) $(LIBS) ++ + open_tree$(EXEEXT): $(open_tree_OBJECTS) $(open_tree_DEPENDENCIES) $(EXTRA_open_tree_DEPENDENCIES) + @rm -f open_tree$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(open_tree_OBJECTS) $(open_tree_LDADD) $(LIBS) +@@ -9442,6 +9880,14 @@ + @rm -f openat--secontext_full$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(openat__secontext_full_OBJECTS) $(openat__secontext_full_LDADD) $(LIBS) + ++openat--secontext_full_mismatch$(EXEEXT): $(openat__secontext_full_mismatch_OBJECTS) $(openat__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_openat__secontext_full_mismatch_DEPENDENCIES) ++ @rm -f openat--secontext_full_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(openat__secontext_full_mismatch_OBJECTS) $(openat__secontext_full_mismatch_LDADD) $(LIBS) ++ ++openat--secontext_mismatch$(EXEEXT): $(openat__secontext_mismatch_OBJECTS) $(openat__secontext_mismatch_DEPENDENCIES) $(EXTRA_openat__secontext_mismatch_DEPENDENCIES) ++ @rm -f openat--secontext_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(openat__secontext_mismatch_OBJECTS) $(openat__secontext_mismatch_LDADD) $(LIBS) ++ + openat2$(EXEEXT): $(openat2_OBJECTS) $(openat2_DEPENDENCIES) $(EXTRA_openat2_DEPENDENCIES) + @rm -f openat2$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(openat2_OBJECTS) $(openat2_LDADD) $(LIBS) +@@ -10834,6 +11280,8 @@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/accept4.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/access--secontext.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/access--secontext_full.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/access--secontext_full_mismatch.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/access--secontext_mismatch.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/access.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/acct.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/add_key.Po@am__quote@ # am--include-marker +@@ -10866,6 +11314,8 @@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_sigign.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmod--secontext.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmod--secontext_full.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmod--secontext_full_mismatch.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmod--secontext_mismatch.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmod.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chown.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chown32.Po@am__quote@ # am--include-marker +@@ -10927,17 +11377,25 @@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eventfd.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve--secontext.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve--secontext_full.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve--secontext_full_mismatch.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve--secontext_mismatch.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve-v.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat--secontext.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat--secontext_full.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat--secontext_full_mismatch.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat--secontext_mismatch.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat-v.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat--secontext.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat--secontext_full.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat--secontext_full_mismatch.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat--secontext_mismatch.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-P.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-y--secontext.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-y--secontext_full.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-y--secontext_full_mismatch.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-y--secontext_mismatch.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-y.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-yy.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat.Po@am__quote@ # am--include-marker +@@ -10951,6 +11409,8 @@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_init.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark--secontext.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark--secontext_full.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark--secontext_full_mismatch.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark--secontext_mismatch.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark-Xabbrev.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark-Xraw.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark-Xverbose.Po@am__quote@ # am--include-marker +@@ -10958,17 +11418,25 @@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchdir.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod--secontext.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod--secontext_full.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod--secontext_full_mismatch.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod--secontext_mismatch.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y--secontext.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y--secontext_full.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y--secontext_full_mismatch.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y--secontext_mismatch.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat--secontext.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat--secontext_full.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat--secontext_full_mismatch.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat--secontext_mismatch.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchown.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchown32.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat--secontext.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat--secontext_full.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat--secontext_full_mismatch.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat--secontext_mismatch.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl--pidns-translation.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl.Po@am__quote@ # am--include-marker +@@ -10978,6 +11446,8 @@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fflush.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_handle--secontext.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_handle--secontext_full.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_handle--secontext_full_mismatch.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_handle--secontext_mismatch.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_handle.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filter-unavailable.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filter_seccomp-flag.Po@am__quote@ # am--include-marker +@@ -11275,6 +11745,8 @@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/link.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat--secontext.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat--secontext_full.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat--secontext_full_mismatch.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat--secontext_mismatch.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/list_sigaction_signum.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/llseek.Po@am__quote@ # am--include-marker +@@ -11437,11 +11909,15 @@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oldstat.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open--secontext.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open--secontext_full.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open--secontext_full_mismatch.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open--secontext_mismatch.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open_tree-P.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open_tree.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat--secontext.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat--secontext_full.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat--secontext_full_mismatch.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat--secontext_mismatch.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat2-Xabbrev.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat2-Xraw.Po@am__quote@ # am--include-marker +@@ -13003,6 +13479,12 @@ + $(srcdir)/access--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + ++$(srcdir)/access--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ ++$(srcdir)/access--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ + $(srcdir)/acct.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +@@ -13054,6 +13536,12 @@ + $(srcdir)/chmod--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + ++$(srcdir)/chmod--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ ++$(srcdir)/chmod--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ + $(srcdir)/chown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +@@ -13219,6 +13707,12 @@ + $(srcdir)/execve--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + ++$(srcdir)/execve--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ ++$(srcdir)/execve--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ + $(srcdir)/execveat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +@@ -13228,6 +13722,12 @@ + $(srcdir)/execveat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + ++$(srcdir)/execveat--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ ++$(srcdir)/execveat--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ + $(srcdir)/execveat-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +@@ -13237,6 +13737,12 @@ + $(srcdir)/faccessat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + ++$(srcdir)/faccessat--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ ++$(srcdir)/faccessat--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ + $(srcdir)/faccessat-P.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +@@ -13249,6 +13755,12 @@ + $(srcdir)/faccessat-y--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + ++$(srcdir)/faccessat-y--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ ++$(srcdir)/faccessat-y--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ + $(srcdir)/faccessat-yy.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +@@ -13279,6 +13791,12 @@ + $(srcdir)/fanotify_mark--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + ++$(srcdir)/fanotify_mark--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ ++$(srcdir)/fanotify_mark--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ + $(srcdir)/fanotify_mark-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +@@ -13300,6 +13818,12 @@ + $(srcdir)/fchmod--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + ++$(srcdir)/fchmod--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ ++$(srcdir)/fchmod--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ + $(srcdir)/fchmod-y.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +@@ -13309,6 +13833,12 @@ + $(srcdir)/fchmod-y--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + ++$(srcdir)/fchmod-y--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ ++$(srcdir)/fchmod-y--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ + $(srcdir)/fchmodat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +@@ -13318,6 +13848,12 @@ + $(srcdir)/fchmodat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + ++$(srcdir)/fchmodat--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ ++$(srcdir)/fchmodat--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ + $(srcdir)/fchown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +@@ -13333,6 +13869,12 @@ + $(srcdir)/fchownat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + ++$(srcdir)/fchownat--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ ++$(srcdir)/fchownat--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ + $(srcdir)/fcntl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +@@ -13357,6 +13899,12 @@ + $(srcdir)/file_handle--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + ++$(srcdir)/file_handle--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ ++$(srcdir)/file_handle--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ + $(srcdir)/filter_seccomp.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +@@ -14116,6 +14664,12 @@ + $(srcdir)/linkat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + ++$(srcdir)/linkat--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ ++$(srcdir)/linkat--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ + $(srcdir)/lookup_dcookie.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +@@ -14545,6 +15099,12 @@ + $(srcdir)/open--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + ++$(srcdir)/open--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ ++$(srcdir)/open--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ + $(srcdir)/open_tree.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +@@ -14560,6 +15120,12 @@ + $(srcdir)/openat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + ++$(srcdir)/openat--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ ++$(srcdir)/openat--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ + $(srcdir)/openat2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +--- old/tests-m32/Makefile.in 2022-02-07 20:23:38.724063729 +0100 ++++ new/tests-m32/Makefile.in 2022-02-07 20:24:03.512063387 +0100 +@@ -614,25 +614,55 @@ + xet_thread_area_x86$(EXEEXT) xetitimer$(EXEEXT) \ + xetpgid$(EXEEXT) xetpriority$(EXEEXT) xettimeofday$(EXEEXT) + am__EXEEXT_2 = access--secontext$(EXEEXT) \ +- access--secontext_full$(EXEEXT) chmod--secontext$(EXEEXT) \ +- chmod--secontext_full$(EXEEXT) execve--secontext$(EXEEXT) \ +- execve--secontext_full$(EXEEXT) execveat--secontext$(EXEEXT) \ +- execveat--secontext_full$(EXEEXT) \ ++ access--secontext_full$(EXEEXT) \ ++ access--secontext_full_mismatch$(EXEEXT) \ ++ access--secontext_mismatch$(EXEEXT) chmod--secontext$(EXEEXT) \ ++ chmod--secontext_full$(EXEEXT) \ ++ chmod--secontext_full_mismatch$(EXEEXT) \ ++ chmod--secontext_mismatch$(EXEEXT) execve--secontext$(EXEEXT) \ ++ execve--secontext_full$(EXEEXT) \ ++ execve--secontext_full_mismatch$(EXEEXT) \ ++ execve--secontext_mismatch$(EXEEXT) \ ++ execveat--secontext$(EXEEXT) execveat--secontext_full$(EXEEXT) \ ++ execveat--secontext_full_mismatch$(EXEEXT) \ ++ execveat--secontext_mismatch$(EXEEXT) \ + faccessat--secontext$(EXEEXT) \ + faccessat--secontext_full$(EXEEXT) \ ++ faccessat--secontext_full_mismatch$(EXEEXT) \ ++ faccessat--secontext_mismatch$(EXEEXT) \ + faccessat-y--secontext$(EXEEXT) \ + faccessat-y--secontext_full$(EXEEXT) \ ++ faccessat-y--secontext_full_mismatch$(EXEEXT) \ ++ faccessat-y--secontext_mismatch$(EXEEXT) \ + fanotify_mark--secontext$(EXEEXT) \ + fanotify_mark--secontext_full$(EXEEXT) \ ++ fanotify_mark--secontext_full_mismatch$(EXEEXT) \ ++ fanotify_mark--secontext_mismatch$(EXEEXT) \ + fchmod--secontext$(EXEEXT) fchmod--secontext_full$(EXEEXT) \ ++ fchmod--secontext_full_mismatch$(EXEEXT) \ ++ fchmod--secontext_mismatch$(EXEEXT) \ + fchmod-y--secontext$(EXEEXT) fchmod-y--secontext_full$(EXEEXT) \ ++ fchmod-y--secontext_full_mismatch$(EXEEXT) \ ++ fchmod-y--secontext_mismatch$(EXEEXT) \ + fchmodat--secontext$(EXEEXT) fchmodat--secontext_full$(EXEEXT) \ ++ fchmodat--secontext_full_mismatch$(EXEEXT) \ ++ fchmodat--secontext_mismatch$(EXEEXT) \ + fchownat--secontext$(EXEEXT) fchownat--secontext_full$(EXEEXT) \ ++ fchownat--secontext_full_mismatch$(EXEEXT) \ ++ fchownat--secontext_mismatch$(EXEEXT) \ + file_handle--secontext$(EXEEXT) \ + file_handle--secontext_full$(EXEEXT) \ ++ file_handle--secontext_full_mismatch$(EXEEXT) \ ++ file_handle--secontext_mismatch$(EXEEXT) \ + linkat--secontext$(EXEEXT) linkat--secontext_full$(EXEEXT) \ +- open--secontext$(EXEEXT) open--secontext_full$(EXEEXT) \ +- openat--secontext$(EXEEXT) openat--secontext_full$(EXEEXT) ++ linkat--secontext_full_mismatch$(EXEEXT) \ ++ linkat--secontext_mismatch$(EXEEXT) open--secontext$(EXEEXT) \ ++ open--secontext_full$(EXEEXT) \ ++ open--secontext_full_mismatch$(EXEEXT) \ ++ open--secontext_mismatch$(EXEEXT) openat--secontext$(EXEEXT) \ ++ openat--secontext_full$(EXEEXT) \ ++ openat--secontext_full_mismatch$(EXEEXT) \ ++ openat--secontext_mismatch$(EXEEXT) + ARFLAGS = cru + AM_V_AR = $(am__v_AR_@AM_V@) + am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@) +@@ -662,6 +692,17 @@ + access__secontext_full_SOURCES = access--secontext_full.c + access__secontext_full_OBJECTS = access--secontext_full.$(OBJEXT) + access__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) ++access__secontext_full_mismatch_SOURCES = \ ++ access--secontext_full_mismatch.c ++access__secontext_full_mismatch_OBJECTS = \ ++ access--secontext_full_mismatch.$(OBJEXT) ++access__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) ++access__secontext_mismatch_SOURCES = access--secontext_mismatch.c ++access__secontext_mismatch_OBJECTS = \ ++ access--secontext_mismatch.$(OBJEXT) ++access__secontext_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) + acct_SOURCES = acct.c + acct_OBJECTS = acct.$(OBJEXT) + acct_LDADD = $(LDADD) +@@ -790,6 +831,17 @@ + chmod__secontext_full_SOURCES = chmod--secontext_full.c + chmod__secontext_full_OBJECTS = chmod--secontext_full.$(OBJEXT) + chmod__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) ++chmod__secontext_full_mismatch_SOURCES = \ ++ chmod--secontext_full_mismatch.c ++chmod__secontext_full_mismatch_OBJECTS = \ ++ chmod--secontext_full_mismatch.$(OBJEXT) ++chmod__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) ++chmod__secontext_mismatch_SOURCES = chmod--secontext_mismatch.c ++chmod__secontext_mismatch_OBJECTS = \ ++ chmod--secontext_mismatch.$(OBJEXT) ++chmod__secontext_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) + chown_SOURCES = chown.c + chown_OBJECTS = chown.$(OBJEXT) + chown_LDADD = $(LDADD) +@@ -1031,6 +1083,17 @@ + execve__secontext_full_SOURCES = execve--secontext_full.c + execve__secontext_full_OBJECTS = execve--secontext_full.$(OBJEXT) + execve__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) ++execve__secontext_full_mismatch_SOURCES = \ ++ execve--secontext_full_mismatch.c ++execve__secontext_full_mismatch_OBJECTS = \ ++ execve--secontext_full_mismatch.$(OBJEXT) ++execve__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) ++execve__secontext_mismatch_SOURCES = execve--secontext_mismatch.c ++execve__secontext_mismatch_OBJECTS = \ ++ execve--secontext_mismatch.$(OBJEXT) ++execve__secontext_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) + execve_v_SOURCES = execve-v.c + execve_v_OBJECTS = execve-v.$(OBJEXT) + execve_v_LDADD = $(LDADD) +@@ -1045,6 +1108,17 @@ + execveat__secontext_full_SOURCES = execveat--secontext_full.c + execveat__secontext_full_OBJECTS = execveat--secontext_full.$(OBJEXT) + execveat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) ++execveat__secontext_full_mismatch_SOURCES = \ ++ execveat--secontext_full_mismatch.c ++execveat__secontext_full_mismatch_OBJECTS = \ ++ execveat--secontext_full_mismatch.$(OBJEXT) ++execveat__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) ++execveat__secontext_mismatch_SOURCES = execveat--secontext_mismatch.c ++execveat__secontext_mismatch_OBJECTS = \ ++ execveat--secontext_mismatch.$(OBJEXT) ++execveat__secontext_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) + execveat_v_SOURCES = execveat-v.c + execveat_v_OBJECTS = execveat-v.$(OBJEXT) + execveat_v_LDADD = $(LDADD) +@@ -1061,6 +1135,18 @@ + faccessat--secontext_full.$(OBJEXT) + faccessat__secontext_full_DEPENDENCIES = $(LDADD) \ + $(am__DEPENDENCIES_2) ++faccessat__secontext_full_mismatch_SOURCES = \ ++ faccessat--secontext_full_mismatch.c ++faccessat__secontext_full_mismatch_OBJECTS = \ ++ faccessat--secontext_full_mismatch.$(OBJEXT) ++faccessat__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) ++faccessat__secontext_mismatch_SOURCES = \ ++ faccessat--secontext_mismatch.c ++faccessat__secontext_mismatch_OBJECTS = \ ++ faccessat--secontext_mismatch.$(OBJEXT) ++faccessat__secontext_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) + faccessat_P_SOURCES = faccessat-P.c + faccessat_P_OBJECTS = faccessat-P.$(OBJEXT) + faccessat_P_LDADD = $(LDADD) +@@ -1077,6 +1163,18 @@ + faccessat-y--secontext_full.$(OBJEXT) + faccessat_y__secontext_full_DEPENDENCIES = $(LDADD) \ + $(am__DEPENDENCIES_2) ++faccessat_y__secontext_full_mismatch_SOURCES = \ ++ faccessat-y--secontext_full_mismatch.c ++faccessat_y__secontext_full_mismatch_OBJECTS = \ ++ faccessat-y--secontext_full_mismatch.$(OBJEXT) ++faccessat_y__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) ++faccessat_y__secontext_mismatch_SOURCES = \ ++ faccessat-y--secontext_mismatch.c ++faccessat_y__secontext_mismatch_OBJECTS = \ ++ faccessat-y--secontext_mismatch.$(OBJEXT) ++faccessat_y__secontext_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) + faccessat_yy_SOURCES = faccessat-yy.c + faccessat_yy_OBJECTS = faccessat-yy.$(OBJEXT) + faccessat_yy_LDADD = $(LDADD) +@@ -1126,6 +1224,18 @@ + fanotify_mark--secontext_full.$(OBJEXT) + fanotify_mark__secontext_full_DEPENDENCIES = $(LDADD) \ + $(am__DEPENDENCIES_2) ++fanotify_mark__secontext_full_mismatch_SOURCES = \ ++ fanotify_mark--secontext_full_mismatch.c ++fanotify_mark__secontext_full_mismatch_OBJECTS = \ ++ fanotify_mark--secontext_full_mismatch.$(OBJEXT) ++fanotify_mark__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) ++fanotify_mark__secontext_mismatch_SOURCES = \ ++ fanotify_mark--secontext_mismatch.c ++fanotify_mark__secontext_mismatch_OBJECTS = \ ++ fanotify_mark--secontext_mismatch.$(OBJEXT) ++fanotify_mark__secontext_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) + fanotify_mark_Xabbrev_SOURCES = fanotify_mark-Xabbrev.c + fanotify_mark_Xabbrev_OBJECTS = fanotify_mark-Xabbrev.$(OBJEXT) + fanotify_mark_Xabbrev_LDADD = $(LDADD) +@@ -1152,6 +1262,17 @@ + fchmod__secontext_full_SOURCES = fchmod--secontext_full.c + fchmod__secontext_full_OBJECTS = fchmod--secontext_full.$(OBJEXT) + fchmod__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) ++fchmod__secontext_full_mismatch_SOURCES = \ ++ fchmod--secontext_full_mismatch.c ++fchmod__secontext_full_mismatch_OBJECTS = \ ++ fchmod--secontext_full_mismatch.$(OBJEXT) ++fchmod__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) ++fchmod__secontext_mismatch_SOURCES = fchmod--secontext_mismatch.c ++fchmod__secontext_mismatch_OBJECTS = \ ++ fchmod--secontext_mismatch.$(OBJEXT) ++fchmod__secontext_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) + fchmod_y_SOURCES = fchmod-y.c + fchmod_y_OBJECTS = fchmod-y.$(OBJEXT) + fchmod_y_LDADD = $(LDADD) +@@ -1162,6 +1283,17 @@ + fchmod_y__secontext_full_SOURCES = fchmod-y--secontext_full.c + fchmod_y__secontext_full_OBJECTS = fchmod-y--secontext_full.$(OBJEXT) + fchmod_y__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) ++fchmod_y__secontext_full_mismatch_SOURCES = \ ++ fchmod-y--secontext_full_mismatch.c ++fchmod_y__secontext_full_mismatch_OBJECTS = \ ++ fchmod-y--secontext_full_mismatch.$(OBJEXT) ++fchmod_y__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) ++fchmod_y__secontext_mismatch_SOURCES = fchmod-y--secontext_mismatch.c ++fchmod_y__secontext_mismatch_OBJECTS = \ ++ fchmod-y--secontext_mismatch.$(OBJEXT) ++fchmod_y__secontext_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) + fchmodat_SOURCES = fchmodat.c + fchmodat_OBJECTS = fchmodat.$(OBJEXT) + fchmodat_LDADD = $(LDADD) +@@ -1172,6 +1304,17 @@ + fchmodat__secontext_full_SOURCES = fchmodat--secontext_full.c + fchmodat__secontext_full_OBJECTS = fchmodat--secontext_full.$(OBJEXT) + fchmodat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) ++fchmodat__secontext_full_mismatch_SOURCES = \ ++ fchmodat--secontext_full_mismatch.c ++fchmodat__secontext_full_mismatch_OBJECTS = \ ++ fchmodat--secontext_full_mismatch.$(OBJEXT) ++fchmodat__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) ++fchmodat__secontext_mismatch_SOURCES = fchmodat--secontext_mismatch.c ++fchmodat__secontext_mismatch_OBJECTS = \ ++ fchmodat--secontext_mismatch.$(OBJEXT) ++fchmodat__secontext_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) + fchown_SOURCES = fchown.c + fchown_OBJECTS = fchown.$(OBJEXT) + fchown_LDADD = $(LDADD) +@@ -1190,6 +1333,17 @@ + fchownat__secontext_full_SOURCES = fchownat--secontext_full.c + fchownat__secontext_full_OBJECTS = fchownat--secontext_full.$(OBJEXT) + fchownat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) ++fchownat__secontext_full_mismatch_SOURCES = \ ++ fchownat--secontext_full_mismatch.c ++fchownat__secontext_full_mismatch_OBJECTS = \ ++ fchownat--secontext_full_mismatch.$(OBJEXT) ++fchownat__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) ++fchownat__secontext_mismatch_SOURCES = fchownat--secontext_mismatch.c ++fchownat__secontext_mismatch_OBJECTS = \ ++ fchownat--secontext_mismatch.$(OBJEXT) ++fchownat__secontext_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) + fcntl_SOURCES = fcntl.c + fcntl_OBJECTS = fcntl.$(OBJEXT) + fcntl_LDADD = $(LDADD) +@@ -1227,6 +1381,18 @@ + file_handle--secontext_full.$(OBJEXT) + file_handle__secontext_full_DEPENDENCIES = $(LDADD) \ + $(am__DEPENDENCIES_2) ++file_handle__secontext_full_mismatch_SOURCES = \ ++ file_handle--secontext_full_mismatch.c ++file_handle__secontext_full_mismatch_OBJECTS = \ ++ file_handle--secontext_full_mismatch.$(OBJEXT) ++file_handle__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) ++file_handle__secontext_mismatch_SOURCES = \ ++ file_handle--secontext_mismatch.c ++file_handle__secontext_mismatch_OBJECTS = \ ++ file_handle--secontext_mismatch.$(OBJEXT) ++file_handle__secontext_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) + filter_unavailable_SOURCES = filter-unavailable.c + filter_unavailable_OBJECTS = filter-unavailable.$(OBJEXT) + filter_unavailable_DEPENDENCIES = $(LDADD) +@@ -2318,6 +2484,17 @@ + linkat__secontext_full_SOURCES = linkat--secontext_full.c + linkat__secontext_full_OBJECTS = linkat--secontext_full.$(OBJEXT) + linkat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) ++linkat__secontext_full_mismatch_SOURCES = \ ++ linkat--secontext_full_mismatch.c ++linkat__secontext_full_mismatch_OBJECTS = \ ++ linkat--secontext_full_mismatch.$(OBJEXT) ++linkat__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) ++linkat__secontext_mismatch_SOURCES = linkat--secontext_mismatch.c ++linkat__secontext_mismatch_OBJECTS = \ ++ linkat--secontext_mismatch.$(OBJEXT) ++linkat__secontext_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) + list_sigaction_signum_SOURCES = list_sigaction_signum.c + list_sigaction_signum_OBJECTS = list_sigaction_signum.$(OBJEXT) + list_sigaction_signum_LDADD = $(LDADD) +@@ -2976,6 +3153,15 @@ + open__secontext_full_SOURCES = open--secontext_full.c + open__secontext_full_OBJECTS = open--secontext_full.$(OBJEXT) + open__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) ++open__secontext_full_mismatch_SOURCES = \ ++ open--secontext_full_mismatch.c ++open__secontext_full_mismatch_OBJECTS = \ ++ open--secontext_full_mismatch.$(OBJEXT) ++open__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) ++open__secontext_mismatch_SOURCES = open--secontext_mismatch.c ++open__secontext_mismatch_OBJECTS = open--secontext_mismatch.$(OBJEXT) ++open__secontext_mismatch_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) + open_tree_SOURCES = open_tree.c + open_tree_OBJECTS = open_tree.$(OBJEXT) + open_tree_LDADD = $(LDADD) +@@ -2994,6 +3180,17 @@ + openat__secontext_full_SOURCES = openat--secontext_full.c + openat__secontext_full_OBJECTS = openat--secontext_full.$(OBJEXT) + openat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) ++openat__secontext_full_mismatch_SOURCES = \ ++ openat--secontext_full_mismatch.c ++openat__secontext_full_mismatch_OBJECTS = \ ++ openat--secontext_full_mismatch.$(OBJEXT) ++openat__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) ++openat__secontext_mismatch_SOURCES = openat--secontext_mismatch.c ++openat__secontext_mismatch_OBJECTS = \ ++ openat--secontext_mismatch.$(OBJEXT) ++openat__secontext_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) + openat2_SOURCES = openat2.c + openat2_OBJECTS = openat2.$(OBJEXT) + openat2_LDADD = $(LDADD) +@@ -4449,6 +4646,8 @@ + ./$(DEPDIR)/_newselect.Po ./$(DEPDIR)/accept.Po \ + ./$(DEPDIR)/accept4.Po ./$(DEPDIR)/access--secontext.Po \ + ./$(DEPDIR)/access--secontext_full.Po ./$(DEPDIR)/access.Po \ ++ ./$(DEPDIR)/access--secontext_full_mismatch.Po \ ++ ./$(DEPDIR)/access--secontext_mismatch.Po \ + ./$(DEPDIR)/acct.Po ./$(DEPDIR)/add_key.Po \ + ./$(DEPDIR)/adjtimex.Po ./$(DEPDIR)/aio.Po \ + ./$(DEPDIR)/aio_pgetevents.Po ./$(DEPDIR)/alarm.Po \ +@@ -4468,6 +4667,8 @@ + ./$(DEPDIR)/chdir.Po ./$(DEPDIR)/check_sigblock.Po \ + ./$(DEPDIR)/check_sigign.Po ./$(DEPDIR)/chmod--secontext.Po \ + ./$(DEPDIR)/chmod--secontext_full.Po ./$(DEPDIR)/chmod.Po \ ++ ./$(DEPDIR)/chmod--secontext_full_mismatch.Po \ ++ ./$(DEPDIR)/chmod--secontext_mismatch.Po \ + ./$(DEPDIR)/chown.Po ./$(DEPDIR)/chown32.Po \ + ./$(DEPDIR)/chroot.Po ./$(DEPDIR)/clock_adjtime.Po \ + ./$(DEPDIR)/clock_adjtime64.Po ./$(DEPDIR)/clock_nanosleep.Po \ +@@ -4503,14 +4704,22 @@ + ./$(DEPDIR)/epoll_wait.Po ./$(DEPDIR)/erestartsys.Po \ + ./$(DEPDIR)/eventfd.Po ./$(DEPDIR)/execve--secontext.Po \ + ./$(DEPDIR)/execve--secontext_full.Po ./$(DEPDIR)/execve-v.Po \ ++ ./$(DEPDIR)/execve--secontext_full_mismatch.Po \ ++ ./$(DEPDIR)/execve--secontext_mismatch.Po \ + ./$(DEPDIR)/execve.Po ./$(DEPDIR)/execveat--secontext.Po \ + ./$(DEPDIR)/execveat--secontext_full.Po \ ++ ./$(DEPDIR)/execveat--secontext_full_mismatch.Po \ ++ ./$(DEPDIR)/execveat--secontext_mismatch.Po \ + ./$(DEPDIR)/execveat-v.Po ./$(DEPDIR)/execveat.Po \ + ./$(DEPDIR)/faccessat--secontext.Po \ + ./$(DEPDIR)/faccessat--secontext_full.Po \ ++ ./$(DEPDIR)/faccessat--secontext_full_mismatch.Po \ ++ ./$(DEPDIR)/faccessat--secontext_mismatch.Po \ + ./$(DEPDIR)/faccessat-P.Po \ + ./$(DEPDIR)/faccessat-y--secontext.Po \ + ./$(DEPDIR)/faccessat-y--secontext_full.Po \ ++ ./$(DEPDIR)/faccessat-y--secontext_full_mismatch.Po \ ++ ./$(DEPDIR)/faccessat-y--secontext_mismatch.Po \ + ./$(DEPDIR)/faccessat-y.Po ./$(DEPDIR)/faccessat-yy.Po \ + ./$(DEPDIR)/faccessat.Po ./$(DEPDIR)/faccessat2-P.Po \ + ./$(DEPDIR)/faccessat2-y.Po ./$(DEPDIR)/faccessat2-yy.Po \ +@@ -4519,26 +4728,38 @@ + ./$(DEPDIR)/fanotify_init.Po \ + ./$(DEPDIR)/fanotify_mark--secontext.Po \ + ./$(DEPDIR)/fanotify_mark--secontext_full.Po \ ++ ./$(DEPDIR)/fanotify_mark--secontext_full_mismatch.Po \ ++ ./$(DEPDIR)/fanotify_mark--secontext_mismatch.Po \ + ./$(DEPDIR)/fanotify_mark-Xabbrev.Po \ + ./$(DEPDIR)/fanotify_mark-Xraw.Po \ + ./$(DEPDIR)/fanotify_mark-Xverbose.Po \ + ./$(DEPDIR)/fanotify_mark.Po ./$(DEPDIR)/fchdir.Po \ + ./$(DEPDIR)/fchmod--secontext.Po \ + ./$(DEPDIR)/fchmod--secontext_full.Po \ ++ ./$(DEPDIR)/fchmod--secontext_full_mismatch.Po \ ++ ./$(DEPDIR)/fchmod--secontext_mismatch.Po \ + ./$(DEPDIR)/fchmod-y--secontext.Po \ + ./$(DEPDIR)/fchmod-y--secontext_full.Po \ ++ ./$(DEPDIR)/fchmod-y--secontext_full_mismatch.Po \ ++ ./$(DEPDIR)/fchmod-y--secontext_mismatch.Po \ + ./$(DEPDIR)/fchmod-y.Po ./$(DEPDIR)/fchmod.Po \ + ./$(DEPDIR)/fchmodat--secontext.Po \ + ./$(DEPDIR)/fchmodat--secontext_full.Po \ ++ ./$(DEPDIR)/fchmodat--secontext_full_mismatch.Po \ ++ ./$(DEPDIR)/fchmodat--secontext_mismatch.Po \ + ./$(DEPDIR)/fchmodat.Po ./$(DEPDIR)/fchown.Po \ + ./$(DEPDIR)/fchown32.Po ./$(DEPDIR)/fchownat--secontext.Po \ + ./$(DEPDIR)/fchownat--secontext_full.Po \ ++ ./$(DEPDIR)/fchownat--secontext_full_mismatch.Po \ ++ ./$(DEPDIR)/fchownat--secontext_mismatch.Po \ + ./$(DEPDIR)/fchownat.Po \ + ./$(DEPDIR)/fcntl--pidns-translation.Po ./$(DEPDIR)/fcntl.Po \ + ./$(DEPDIR)/fcntl64--pidns-translation.Po \ + ./$(DEPDIR)/fcntl64.Po ./$(DEPDIR)/fdatasync.Po \ + ./$(DEPDIR)/fflush.Po ./$(DEPDIR)/file_handle--secontext.Po \ + ./$(DEPDIR)/file_handle--secontext_full.Po \ ++ ./$(DEPDIR)/file_handle--secontext_full_mismatch.Po \ ++ ./$(DEPDIR)/file_handle--secontext_mismatch.Po \ + ./$(DEPDIR)/file_handle.Po ./$(DEPDIR)/filter-unavailable.Po \ + ./$(DEPDIR)/filter_seccomp-flag.Po \ + ./$(DEPDIR)/filter_seccomp-perf.Po ./$(DEPDIR)/finit_module.Po \ +@@ -4753,6 +4972,8 @@ + ./$(DEPDIR)/libtests_a-xmalloc_for_tests.Po \ + ./$(DEPDIR)/link.Po ./$(DEPDIR)/linkat--secontext.Po \ + ./$(DEPDIR)/linkat--secontext_full.Po ./$(DEPDIR)/linkat.Po \ ++ ./$(DEPDIR)/linkat--secontext_full_mismatch.Po \ ++ ./$(DEPDIR)/linkat--secontext_mismatch.Po \ + ./$(DEPDIR)/list_sigaction_signum.Po ./$(DEPDIR)/llseek.Po \ + ./$(DEPDIR)/localtime.Po ./$(DEPDIR)/lookup_dcookie.Po \ + ./$(DEPDIR)/looping_threads.Po ./$(DEPDIR)/lseek.Po \ +@@ -4867,9 +5088,13 @@ + ./$(DEPDIR)/oldselect-efault.Po ./$(DEPDIR)/oldselect.Po \ + ./$(DEPDIR)/oldstat.Po ./$(DEPDIR)/open--secontext.Po \ + ./$(DEPDIR)/open--secontext_full.Po ./$(DEPDIR)/open.Po \ ++ ./$(DEPDIR)/open--secontext_full_mismatch.Po \ ++ ./$(DEPDIR)/open--secontext_mismatch.Po \ + ./$(DEPDIR)/open_tree-P.Po ./$(DEPDIR)/open_tree.Po \ + ./$(DEPDIR)/openat--secontext.Po \ + ./$(DEPDIR)/openat--secontext_full.Po ./$(DEPDIR)/openat.Po \ ++ ./$(DEPDIR)/openat--secontext_full_mismatch.Po \ ++ ./$(DEPDIR)/openat--secontext_mismatch.Po \ + ./$(DEPDIR)/openat2-Xabbrev.Po ./$(DEPDIR)/openat2-Xraw.Po \ + ./$(DEPDIR)/openat2-Xverbose.Po \ + ./$(DEPDIR)/openat2-v-y-Xabbrev.Po \ +@@ -5119,7 +5316,8 @@ + am__v_CCLD_1 = + SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.c accept.c \ + accept4.c access.c access--secontext.c \ +- access--secontext_full.c acct.c add_key.c adjtimex.c aio.c \ ++ access--secontext_full.c access--secontext_full_mismatch.c \ ++ access--secontext_mismatch.c acct.c add_key.c adjtimex.c aio.c \ + aio_pgetevents.c alarm.c answer.c attach-f-p.c \ + attach-f-p-cmd.c attach-p-cmd-cmd.c attach-p-cmd-p.c \ + block_reset_raise_run.c block_reset_run.c bpf.c \ +@@ -4468,7 +4666,8 @@ + bpf-success.c bpf-success-long-y.c bpf-success-v.c bpf-v.c \ + brk.c btrfs.c caps.c caps-abbrev.c chdir.c check_sigblock.c \ + check_sigign.c chmod.c chmod--secontext.c \ +- chmod--secontext_full.c chown.c chown32.c chroot.c \ ++ chmod--secontext_full.c chmod--secontext_full_mismatch.c \ ++ chmod--secontext_mismatch.c chown.c chown32.c chroot.c \ + clock_adjtime.c clock_adjtime64.c clock_nanosleep.c \ + clock_xettime.c clock_xettime64.c clone-flags.c clone3.c \ + clone3-Xabbrev.c clone3-Xraw.c clone3-Xverbose.c \ +@@ -4484,24 +4683,40 @@ + dup3-y.c dup3-yy.c epoll_create.c epoll_create1.c epoll_ctl.c \ + epoll_pwait.c epoll_pwait2.c epoll_pwait2-P.c epoll_pwait2-y.c \ + epoll_wait.c erestartsys.c eventfd.c execve.c \ +- execve--secontext.c execve--secontext_full.c execve-v.c \ +- execveat.c execveat--secontext.c execveat--secontext_full.c \ +- execveat-v.c faccessat.c faccessat--secontext.c \ +- faccessat--secontext_full.c faccessat-P.c faccessat-y.c \ ++ execve--secontext.c execve--secontext_full.c \ ++ execve--secontext_full_mismatch.c execve--secontext_mismatch.c \ ++ execve-v.c execveat.c execveat--secontext.c \ ++ execveat--secontext_full.c execveat--secontext_full_mismatch.c \ ++ execveat--secontext_mismatch.c execveat-v.c faccessat.c \ ++ faccessat--secontext.c faccessat--secontext_full.c \ ++ faccessat--secontext_full_mismatch.c \ ++ faccessat--secontext_mismatch.c faccessat-P.c faccessat-y.c \ + faccessat-y--secontext.c faccessat-y--secontext_full.c \ +- faccessat-yy.c faccessat2.c faccessat2-P.c faccessat2-y.c \ +- faccessat2-yy.c fadvise64.c fadvise64_64.c fallocate.c \ +- fanotify_init.c fanotify_mark.c fanotify_mark--secontext.c \ +- fanotify_mark--secontext_full.c fanotify_mark-Xabbrev.c \ ++ faccessat-y--secontext_full_mismatch.c \ ++ faccessat-y--secontext_mismatch.c faccessat-yy.c faccessat2.c \ ++ faccessat2-P.c faccessat2-y.c faccessat2-yy.c fadvise64.c \ ++ fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \ ++ fanotify_mark--secontext.c fanotify_mark--secontext_full.c \ ++ fanotify_mark--secontext_full_mismatch.c \ ++ fanotify_mark--secontext_mismatch.c fanotify_mark-Xabbrev.c \ + fanotify_mark-Xraw.c fanotify_mark-Xverbose.c fchdir.c \ + fchmod.c fchmod--secontext.c fchmod--secontext_full.c \ ++ fchmod--secontext_full_mismatch.c fchmod--secontext_mismatch.c \ + fchmod-y.c fchmod-y--secontext.c fchmod-y--secontext_full.c \ +- fchmodat.c fchmodat--secontext.c fchmodat--secontext_full.c \ +- fchown.c fchown32.c fchownat.c fchownat--secontext.c \ +- fchownat--secontext_full.c fcntl.c fcntl--pidns-translation.c \ +- fcntl64.c fcntl64--pidns-translation.c fdatasync.c fflush.c \ ++ fchmod-y--secontext_full_mismatch.c \ ++ fchmod-y--secontext_mismatch.c fchmodat.c \ ++ fchmodat--secontext.c fchmodat--secontext_full.c \ ++ fchmodat--secontext_full_mismatch.c \ ++ fchmodat--secontext_mismatch.c fchown.c fchown32.c fchownat.c \ ++ fchownat--secontext.c fchownat--secontext_full.c \ ++ fchownat--secontext_full_mismatch.c \ ++ fchownat--secontext_mismatch.c fcntl.c \ ++ fcntl--pidns-translation.c fcntl64.c \ ++ fcntl64--pidns-translation.c fdatasync.c fflush.c \ + file_handle.c file_handle--secontext.c \ +- file_handle--secontext_full.c filter-unavailable.c \ ++ file_handle--secontext_full.c \ ++ file_handle--secontext_full_mismatch.c \ ++ file_handle--secontext_mismatch.c filter-unavailable.c \ + filter_seccomp-flag.c filter_seccomp-perf.c finit_module.c \ + flock.c fork--pidns-translation.c fork-f.c fsconfig.c \ + fsconfig-P.c fsmount.c fsopen.c fspick.c fspick-P.c fstat.c \ +@@ -4588,6 +4803,7 @@ + landlock_create_ruleset-y.c landlock_restrict_self.c \ + landlock_restrict_self-y.c lchown.c lchown32.c link.c linkat.c \ + linkat--secontext.c linkat--secontext_full.c \ ++ linkat--secontext_full_mismatch.c linkat--secontext_mismatch.c \ + list_sigaction_signum.c llseek.c localtime.c lookup_dcookie.c \ + looping_threads.c lseek.c lstat.c lstat64.c madvise.c \ + maybe_switch_current_tcp.c \ +@@ -4641,8 +4857,10 @@ + old_mmap-v-none.c oldfstat.c oldlstat.c oldselect.c \ + oldselect-P.c oldselect-efault.c oldselect-efault-P.c \ + oldstat.c open.c open--secontext.c open--secontext_full.c \ ++ open--secontext_full_mismatch.c open--secontext_mismatch.c \ + open_tree.c open_tree-P.c openat.c openat--secontext.c \ +- openat--secontext_full.c openat2.c openat2-Xabbrev.c \ ++ openat--secontext_full.c openat--secontext_full_mismatch.c \ ++ openat--secontext_mismatch.c openat2.c openat2-Xabbrev.c \ + openat2-Xraw.c openat2-Xverbose.c openat2-v.c openat2-v-y.c \ + openat2-v-y-Xabbrev.c openat2-v-y-Xraw.c \ + openat2-v-y-Xverbose.c openat2-y.c orphaned_process_group.c \ +@@ -4753,7 +4971,8 @@ + xetpriority--pidns-translation.c xettimeofday.c zeroargc.c + DIST_SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.c \ + accept.c accept4.c access.c access--secontext.c \ +- access--secontext_full.c acct.c add_key.c adjtimex.c aio.c \ ++ access--secontext_full.c access--secontext_full_mismatch.c \ ++ access--secontext_mismatch.c acct.c add_key.c adjtimex.c aio.c \ + aio_pgetevents.c alarm.c answer.c attach-f-p.c \ + attach-f-p-cmd.c attach-p-cmd-cmd.c attach-p-cmd-p.c \ + block_reset_raise_run.c block_reset_run.c bpf.c \ +@@ -4762,7 +4981,8 @@ + bpf-success.c bpf-success-long-y.c bpf-success-v.c bpf-v.c \ + brk.c btrfs.c caps.c caps-abbrev.c chdir.c check_sigblock.c \ + check_sigign.c chmod.c chmod--secontext.c \ +- chmod--secontext_full.c chown.c chown32.c chroot.c \ ++ chmod--secontext_full.c chmod--secontext_full_mismatch.c \ ++ chmod--secontext_mismatch.c chown.c chown32.c chroot.c \ + clock_adjtime.c clock_adjtime64.c clock_nanosleep.c \ + clock_xettime.c clock_xettime64.c clone-flags.c clone3.c \ + clone3-Xabbrev.c clone3-Xraw.c clone3-Xverbose.c \ +@@ -4778,24 +4998,40 @@ + dup3-y.c dup3-yy.c epoll_create.c epoll_create1.c epoll_ctl.c \ + epoll_pwait.c epoll_pwait2.c epoll_pwait2-P.c epoll_pwait2-y.c \ + epoll_wait.c erestartsys.c eventfd.c execve.c \ +- execve--secontext.c execve--secontext_full.c execve-v.c \ +- execveat.c execveat--secontext.c execveat--secontext_full.c \ +- execveat-v.c faccessat.c faccessat--secontext.c \ +- faccessat--secontext_full.c faccessat-P.c faccessat-y.c \ ++ execve--secontext.c execve--secontext_full.c \ ++ execve--secontext_full_mismatch.c execve--secontext_mismatch.c \ ++ execve-v.c execveat.c execveat--secontext.c \ ++ execveat--secontext_full.c execveat--secontext_full_mismatch.c \ ++ execveat--secontext_mismatch.c execveat-v.c faccessat.c \ ++ faccessat--secontext.c faccessat--secontext_full.c \ ++ faccessat--secontext_full_mismatch.c \ ++ faccessat--secontext_mismatch.c faccessat-P.c faccessat-y.c \ + faccessat-y--secontext.c faccessat-y--secontext_full.c \ +- faccessat-yy.c faccessat2.c faccessat2-P.c faccessat2-y.c \ +- faccessat2-yy.c fadvise64.c fadvise64_64.c fallocate.c \ +- fanotify_init.c fanotify_mark.c fanotify_mark--secontext.c \ +- fanotify_mark--secontext_full.c fanotify_mark-Xabbrev.c \ ++ faccessat-y--secontext_full_mismatch.c \ ++ faccessat-y--secontext_mismatch.c faccessat-yy.c faccessat2.c \ ++ faccessat2-P.c faccessat2-y.c faccessat2-yy.c fadvise64.c \ ++ fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \ ++ fanotify_mark--secontext.c fanotify_mark--secontext_full.c \ ++ fanotify_mark--secontext_full_mismatch.c \ ++ fanotify_mark--secontext_mismatch.c fanotify_mark-Xabbrev.c \ + fanotify_mark-Xraw.c fanotify_mark-Xverbose.c fchdir.c \ + fchmod.c fchmod--secontext.c fchmod--secontext_full.c \ ++ fchmod--secontext_full_mismatch.c fchmod--secontext_mismatch.c \ + fchmod-y.c fchmod-y--secontext.c fchmod-y--secontext_full.c \ +- fchmodat.c fchmodat--secontext.c fchmodat--secontext_full.c \ +- fchown.c fchown32.c fchownat.c fchownat--secontext.c \ +- fchownat--secontext_full.c fcntl.c fcntl--pidns-translation.c \ +- fcntl64.c fcntl64--pidns-translation.c fdatasync.c fflush.c \ ++ fchmod-y--secontext_full_mismatch.c \ ++ fchmod-y--secontext_mismatch.c fchmodat.c \ ++ fchmodat--secontext.c fchmodat--secontext_full.c \ ++ fchmodat--secontext_full_mismatch.c \ ++ fchmodat--secontext_mismatch.c fchown.c fchown32.c fchownat.c \ ++ fchownat--secontext.c fchownat--secontext_full.c \ ++ fchownat--secontext_full_mismatch.c \ ++ fchownat--secontext_mismatch.c fcntl.c \ ++ fcntl--pidns-translation.c fcntl64.c \ ++ fcntl64--pidns-translation.c fdatasync.c fflush.c \ + file_handle.c file_handle--secontext.c \ +- file_handle--secontext_full.c filter-unavailable.c \ ++ file_handle--secontext_full.c \ ++ file_handle--secontext_full_mismatch.c \ ++ file_handle--secontext_mismatch.c filter-unavailable.c \ + filter_seccomp-flag.c filter_seccomp-perf.c finit_module.c \ + flock.c fork--pidns-translation.c fork-f.c fsconfig.c \ + fsconfig-P.c fsmount.c fsopen.c fspick.c fspick-P.c fstat.c \ +@@ -4882,6 +5118,7 @@ + landlock_create_ruleset-y.c landlock_restrict_self.c \ + landlock_restrict_self-y.c lchown.c lchown32.c link.c linkat.c \ + linkat--secontext.c linkat--secontext_full.c \ ++ linkat--secontext_full_mismatch.c linkat--secontext_mismatch.c \ + list_sigaction_signum.c llseek.c localtime.c lookup_dcookie.c \ + looping_threads.c lseek.c lstat.c lstat64.c madvise.c \ + maybe_switch_current_tcp.c \ +@@ -4935,8 +5172,10 @@ + old_mmap-v-none.c oldfstat.c oldlstat.c oldselect.c \ + oldselect-P.c oldselect-efault.c oldselect-efault-P.c \ + oldstat.c open.c open--secontext.c open--secontext_full.c \ ++ open--secontext_full_mismatch.c open--secontext_mismatch.c \ + open_tree.c open_tree-P.c openat.c openat--secontext.c \ +- openat--secontext_full.c openat2.c openat2-Xabbrev.c \ ++ openat--secontext_full.c openat--secontext_full_mismatch.c \ ++ openat--secontext_mismatch.c openat2.c openat2-Xabbrev.c \ + openat2-Xraw.c openat2-Xverbose.c openat2-v.c openat2-v-y.c \ + openat2-v-y-Xabbrev.c openat2-v-y-Xraw.c \ + openat2-v-y-Xverbose.c openat2-y.c orphaned_process_group.c \ +@@ -6212,66 +6451,126 @@ + secontext_EXECUTABLES = \ + access--secontext \ + access--secontext_full \ ++ access--secontext_full_mismatch \ ++ access--secontext_mismatch \ + chmod--secontext \ + chmod--secontext_full \ ++ chmod--secontext_full_mismatch \ ++ chmod--secontext_mismatch \ + execve--secontext \ + execve--secontext_full \ ++ execve--secontext_full_mismatch \ ++ execve--secontext_mismatch \ + execveat--secontext \ + execveat--secontext_full \ ++ execveat--secontext_full_mismatch \ ++ execveat--secontext_mismatch \ + faccessat--secontext \ + faccessat--secontext_full \ ++ faccessat--secontext_full_mismatch \ ++ faccessat--secontext_mismatch \ + faccessat-y--secontext \ + faccessat-y--secontext_full \ ++ faccessat-y--secontext_full_mismatch \ ++ faccessat-y--secontext_mismatch \ + fanotify_mark--secontext \ + fanotify_mark--secontext_full \ ++ fanotify_mark--secontext_full_mismatch \ ++ fanotify_mark--secontext_mismatch \ + fchmod--secontext \ + fchmod--secontext_full \ ++ fchmod--secontext_full_mismatch \ ++ fchmod--secontext_mismatch \ + fchmod-y--secontext \ + fchmod-y--secontext_full \ ++ fchmod-y--secontext_full_mismatch \ ++ fchmod-y--secontext_mismatch \ + fchmodat--secontext \ + fchmodat--secontext_full \ ++ fchmodat--secontext_full_mismatch \ ++ fchmodat--secontext_mismatch \ + fchownat--secontext \ + fchownat--secontext_full \ ++ fchownat--secontext_full_mismatch \ ++ fchownat--secontext_mismatch \ + file_handle--secontext \ + file_handle--secontext_full \ ++ file_handle--secontext_full_mismatch \ ++ file_handle--secontext_mismatch \ + linkat--secontext \ + linkat--secontext_full \ ++ linkat--secontext_full_mismatch \ ++ linkat--secontext_mismatch \ + open--secontext \ + open--secontext_full \ ++ open--secontext_full_mismatch \ ++ open--secontext_mismatch \ + openat--secontext \ + openat--secontext_full \ ++ openat--secontext_full_mismatch \ ++ openat--secontext_mismatch \ + # + + access__secontext_LDADD = $(LDADD) $(libselinux_LDADD) + access__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) ++access__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) ++access__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) + chmod__secontext_LDADD = $(LDADD) $(libselinux_LDADD) + chmod__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) ++chmod__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) ++chmod__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) + execve__secontext_LDADD = $(LDADD) $(libselinux_LDADD) + execve__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) ++execve__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) ++execve__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) + execveat__secontext_LDADD = $(LDADD) $(libselinux_LDADD) + execveat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) ++execveat__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) ++execveat__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) + faccessat__secontext_LDADD = $(LDADD) $(libselinux_LDADD) + faccessat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) ++faccessat__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) ++faccessat__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) + faccessat_y__secontext_LDADD = $(LDADD) $(libselinux_LDADD) + faccessat_y__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) ++faccessat_y__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) ++faccessat_y__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) + fanotify_mark__secontext_LDADD = $(LDADD) $(libselinux_LDADD) + fanotify_mark__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) ++fanotify_mark__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) ++fanotify_mark__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) + fchmod__secontext_LDADD = $(LDADD) $(libselinux_LDADD) + fchmod__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) ++fchmod__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) ++fchmod__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) + fchmod_y__secontext_LDADD = $(LDADD) $(libselinux_LDADD) + fchmod_y__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) ++fchmod_y__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) ++fchmod_y__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) + fchmodat__secontext_LDADD = $(LDADD) $(libselinux_LDADD) + fchmodat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) ++fchmodat__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) ++fchmodat__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) + fchownat__secontext_LDADD = $(LDADD) $(libselinux_LDADD) + fchownat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) ++fchownat__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) ++fchownat__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) + file_handle__secontext_LDADD = $(LDADD) $(libselinux_LDADD) + file_handle__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) ++file_handle__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) ++file_handle__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) + linkat__secontext_LDADD = $(LDADD) $(libselinux_LDADD) + linkat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) ++linkat__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) ++linkat__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) + open__secontext_LDADD = $(LDADD) $(libselinux_LDADD) + open__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) ++open__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) ++open__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) + openat__secontext_LDADD = $(LDADD) $(libselinux_LDADD) + openat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) ++openat__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) ++openat__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) + attach_f_p_LDADD = -lpthread $(LDADD) + count_f_LDADD = -lpthread $(LDADD) + delay_LDADD = $(clock_LIBS) $(LDADD) +@@ -6325,15 +6624,20 @@ + # Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in; do not edit. + GEN_TESTS = _newselect.gen.test _newselect-P.gen.test accept.gen.test \ + accept4.gen.test access.gen.test access--secontext.gen.test \ +- access--secontext_full.gen.test acct.gen.test add_key.gen.test \ +- adjtimex.gen.test aio.gen.test aio_pgetevents.gen.test \ +- alarm.gen.test bpf.gen.test bpf-obj_get_info_by_fd.gen.test \ ++ access--secontext_full.gen.test \ ++ access--secontext_full_mismatch.gen.test \ ++ access--secontext_mismatch.gen.test acct.gen.test \ ++ add_key.gen.test adjtimex.gen.test aio.gen.test \ ++ aio_pgetevents.gen.test alarm.gen.test bpf.gen.test \ ++ bpf-obj_get_info_by_fd.gen.test \ + bpf-obj_get_info_by_fd-prog.gen.test \ + bpf-obj_get_info_by_fd-prog-v.gen.test \ + bpf-obj_get_info_by_fd-v.gen.test bpf-v.gen.test \ + btrfs.gen.test chdir.gen.test chmod.gen.test \ + chmod--secontext.gen.test chmod--secontext_full.gen.test \ +- chown.gen.test chown32.gen.test chroot.gen.test clock.gen.test \ ++ chmod--secontext_full_mismatch.gen.test \ ++ chmod--secontext_mismatch.gen.test chown.gen.test \ ++ chown32.gen.test chroot.gen.test clock.gen.test \ + clock_adjtime.gen.test clock_adjtime64.gen.test \ + clock_nanosleep.gen.test clock_xettime.gen.test \ + clock_xettime64.gen.test clone3.gen.test \ +@@ -6356,36 +6660,53 @@ + epoll_pwait2-P.gen.test epoll_pwait2-y.gen.test \ + epoll_wait.gen.test erestartsys.gen.test \ + execve--secontext.gen.test execve--secontext_full.gen.test \ +- execveat.gen.test execveat--secontext.gen.test \ +- execveat--secontext_full.gen.test execveat-v.gen.test \ ++ execve--secontext_full_mismatch.gen.test \ ++ execve--secontext_mismatch.gen.test execveat.gen.test \ ++ execveat--secontext.gen.test execveat--secontext_full.gen.test \ ++ execveat--secontext_full_mismatch.gen.test \ ++ execveat--secontext_mismatch.gen.test execveat-v.gen.test \ + faccessat--secontext.gen.test \ +- faccessat--secontext_full.gen.test faccessat-P.gen.test \ ++ faccessat--secontext_full.gen.test \ ++ faccessat--secontext_full_mismatch.gen.test \ ++ faccessat--secontext_mismatch.gen.test faccessat-P.gen.test \ + faccessat-y.gen.test faccessat-y--secontext.gen.test \ +- faccessat-y--secontext_full.gen.test faccessat-yy.gen.test \ ++ faccessat-y--secontext_full.gen.test \ ++ faccessat-y--secontext_full_mismatch.gen.test \ ++ faccessat-y--secontext_mismatch.gen.test faccessat-yy.gen.test \ + faccessat2-P.gen.test faccessat2-y.gen.test \ + faccessat2-yy.gen.test fadvise64_64.gen.test \ + fallocate.gen.test fanotify_init.gen.test \ + fanotify_mark.gen.test fanotify_mark--secontext.gen.test \ + fanotify_mark--secontext_full.gen.test \ ++ fanotify_mark--secontext_full_mismatch.gen.test \ ++ fanotify_mark--secontext_mismatch.gen.test \ + fanotify_mark-Xabbrev.gen.test fanotify_mark-Xraw.gen.test \ + fanotify_mark-Xverbose.gen.test fchdir.gen.test \ + fchmod.gen.test fchmod--secontext.gen.test \ +- fchmod--secontext_full.gen.test fchmod-y.gen.test \ ++ fchmod--secontext_full.gen.test \ ++ fchmod--secontext_full_mismatch.gen.test \ ++ fchmod--secontext_mismatch.gen.test fchmod-y.gen.test \ + fchmod-y--secontext.gen.test fchmod-y--secontext_full.gen.test \ +- fchmodat.gen.test fchmodat--secontext.gen.test \ +- fchmodat--secontext_full.gen.test fchown.gen.test \ ++ fchmod-y--secontext_full_mismatch.gen.test \ ++ fchmod-y--secontext_mismatch.gen.test fchmodat.gen.test \ ++ fchmodat--secontext.gen.test fchmodat--secontext_full.gen.test \ ++ fchmodat--secontext_full_mismatch.gen.test \ ++ fchmodat--secontext_mismatch.gen.test fchown.gen.test \ + fchown32.gen.test fchownat.gen.test \ + fchownat--secontext.gen.test fchownat--secontext_full.gen.test \ +- fcntl.gen.test fcntl--pidns-translation.gen.test \ +- fcntl64.gen.test fcntl64--pidns-translation.gen.test \ +- fdatasync.gen.test file_handle.gen.test \ +- file_handle--secontext.gen.test \ +- file_handle--secontext_full.gen.test filter_seccomp.gen.test \ +- filter_seccomp-flag.gen.test finit_module.gen.test \ +- flock.gen.test fork-f.gen.test fsconfig.gen.test \ +- fsconfig-P.gen.test fsmount.gen.test fsopen.gen.test \ +- fspick.gen.test fspick-P.gen.test fstat.gen.test \ +- fstat-Xabbrev.gen.test fstat-Xraw.gen.test \ ++ fchownat--secontext_full_mismatch.gen.test \ ++ fchownat--secontext_mismatch.gen.test fcntl.gen.test \ ++ fcntl--pidns-translation.gen.test fcntl64.gen.test \ ++ fcntl64--pidns-translation.gen.test fdatasync.gen.test \ ++ file_handle.gen.test file_handle--secontext.gen.test \ ++ file_handle--secontext_full.gen.test \ ++ file_handle--secontext_full_mismatch.gen.test \ ++ file_handle--secontext_mismatch.gen.test \ ++ filter_seccomp.gen.test filter_seccomp-flag.gen.test \ ++ finit_module.gen.test flock.gen.test fork-f.gen.test \ ++ fsconfig.gen.test fsconfig-P.gen.test fsmount.gen.test \ ++ fsopen.gen.test fspick.gen.test fspick-P.gen.test \ ++ fstat.gen.test fstat-Xabbrev.gen.test fstat-Xraw.gen.test \ + fstat-Xverbose.gen.test fstat64.gen.test \ + fstat64-Xabbrev.gen.test fstat64-Xraw.gen.test \ + fstat64-Xverbose.gen.test fstatat64.gen.test fstatfs.gen.test \ +@@ -6512,8 +6833,10 @@ + landlock_restrict_self-y.gen.test lchown.gen.test \ + lchown32.gen.test link.gen.test linkat.gen.test \ + linkat--secontext.gen.test linkat--secontext_full.gen.test \ +- lookup_dcookie.gen.test lstat.gen.test lstat64.gen.test \ +- madvise.gen.test maybe_switch_current_tcp.gen.test \ ++ linkat--secontext_full_mismatch.gen.test \ ++ linkat--secontext_mismatch.gen.test lookup_dcookie.gen.test \ ++ lstat.gen.test lstat64.gen.test madvise.gen.test \ ++ maybe_switch_current_tcp.gen.test \ + maybe_switch_current_tcp--quiet-thread-execve.gen.test \ + mbind.gen.test mbind-Xabbrev.gen.test mbind-Xraw.gen.test \ + mbind-Xverbose.gen.test membarrier.gen.test \ +@@ -6582,16 +6905,19 @@ + oldselect.gen.test oldselect-P.gen.test \ + oldselect-efault.gen.test oldselect-efault-P.gen.test \ + oldstat.gen.test open.gen.test open--secontext.gen.test \ +- open--secontext_full.gen.test open_tree.gen.test \ ++ open--secontext_full.gen.test \ ++ open--secontext_full_mismatch.gen.test \ ++ open--secontext_mismatch.gen.test open_tree.gen.test \ + open_tree-P.gen.test openat.gen.test \ + openat--secontext.gen.test openat--secontext_full.gen.test \ +- openat2.gen.test openat2-Xabbrev.gen.test \ +- openat2-Xraw.gen.test openat2-Xverbose.gen.test \ +- openat2-v.gen.test openat2-v-y.gen.test \ +- openat2-v-y-Xabbrev.gen.test openat2-v-y-Xraw.gen.test \ +- openat2-v-y-Xverbose.gen.test openat2-y.gen.test \ +- orphaned_process_group.gen.test osf_utimes.gen.test \ +- pause.gen.test perf_event_open.gen.test \ ++ openat--secontext_full_mismatch.gen.test \ ++ openat--secontext_mismatch.gen.test openat2.gen.test \ ++ openat2-Xabbrev.gen.test openat2-Xraw.gen.test \ ++ openat2-Xverbose.gen.test openat2-v.gen.test \ ++ openat2-v-y.gen.test openat2-v-y-Xabbrev.gen.test \ ++ openat2-v-y-Xraw.gen.test openat2-v-y-Xverbose.gen.test \ ++ openat2-y.gen.test orphaned_process_group.gen.test \ ++ osf_utimes.gen.test pause.gen.test perf_event_open.gen.test \ + perf_event_open_nonverbose.gen.test \ + perf_event_open_unabbrev.gen.test personality-Xabbrev.gen.test \ + personality-Xraw.gen.test personality-Xverbose.gen.test \ +@@ -7155,6 +7481,14 @@ + @rm -f access--secontext_full$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(access__secontext_full_OBJECTS) $(access__secontext_full_LDADD) $(LIBS) + ++access--secontext_full_mismatch$(EXEEXT): $(access__secontext_full_mismatch_OBJECTS) $(access__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_access__secontext_full_mismatch_DEPENDENCIES) ++ @rm -f access--secontext_full_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(access__secontext_full_mismatch_OBJECTS) $(access__secontext_full_mismatch_LDADD) $(LIBS) ++ ++access--secontext_mismatch$(EXEEXT): $(access__secontext_mismatch_OBJECTS) $(access__secontext_mismatch_DEPENDENCIES) $(EXTRA_access__secontext_mismatch_DEPENDENCIES) ++ @rm -f access--secontext_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(access__secontext_mismatch_OBJECTS) $(access__secontext_mismatch_LDADD) $(LIBS) ++ + acct$(EXEEXT): $(acct_OBJECTS) $(acct_DEPENDENCIES) $(EXTRA_acct_DEPENDENCIES) + @rm -f acct$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(acct_OBJECTS) $(acct_LDADD) $(LIBS) +@@ -7283,6 +7617,14 @@ + @rm -f chmod--secontext_full$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(chmod__secontext_full_OBJECTS) $(chmod__secontext_full_LDADD) $(LIBS) + ++chmod--secontext_full_mismatch$(EXEEXT): $(chmod__secontext_full_mismatch_OBJECTS) $(chmod__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_chmod__secontext_full_mismatch_DEPENDENCIES) ++ @rm -f chmod--secontext_full_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(chmod__secontext_full_mismatch_OBJECTS) $(chmod__secontext_full_mismatch_LDADD) $(LIBS) ++ ++chmod--secontext_mismatch$(EXEEXT): $(chmod__secontext_mismatch_OBJECTS) $(chmod__secontext_mismatch_DEPENDENCIES) $(EXTRA_chmod__secontext_mismatch_DEPENDENCIES) ++ @rm -f chmod--secontext_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(chmod__secontext_mismatch_OBJECTS) $(chmod__secontext_mismatch_LDADD) $(LIBS) ++ + chown$(EXEEXT): $(chown_OBJECTS) $(chown_DEPENDENCIES) $(EXTRA_chown_DEPENDENCIES) + @rm -f chown$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(chown_OBJECTS) $(chown_LDADD) $(LIBS) +@@ -7527,6 +7869,14 @@ + @rm -f execve--secontext_full$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(execve__secontext_full_OBJECTS) $(execve__secontext_full_LDADD) $(LIBS) + ++execve--secontext_full_mismatch$(EXEEXT): $(execve__secontext_full_mismatch_OBJECTS) $(execve__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_execve__secontext_full_mismatch_DEPENDENCIES) ++ @rm -f execve--secontext_full_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(execve__secontext_full_mismatch_OBJECTS) $(execve__secontext_full_mismatch_LDADD) $(LIBS) ++ ++execve--secontext_mismatch$(EXEEXT): $(execve__secontext_mismatch_OBJECTS) $(execve__secontext_mismatch_DEPENDENCIES) $(EXTRA_execve__secontext_mismatch_DEPENDENCIES) ++ @rm -f execve--secontext_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(execve__secontext_mismatch_OBJECTS) $(execve__secontext_mismatch_LDADD) $(LIBS) ++ + execve-v$(EXEEXT): $(execve_v_OBJECTS) $(execve_v_DEPENDENCIES) $(EXTRA_execve_v_DEPENDENCIES) + @rm -f execve-v$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(execve_v_OBJECTS) $(execve_v_LDADD) $(LIBS) +@@ -7543,6 +7893,14 @@ + @rm -f execveat--secontext_full$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(execveat__secontext_full_OBJECTS) $(execveat__secontext_full_LDADD) $(LIBS) + ++execveat--secontext_full_mismatch$(EXEEXT): $(execveat__secontext_full_mismatch_OBJECTS) $(execveat__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_execveat__secontext_full_mismatch_DEPENDENCIES) ++ @rm -f execveat--secontext_full_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(execveat__secontext_full_mismatch_OBJECTS) $(execveat__secontext_full_mismatch_LDADD) $(LIBS) ++ ++execveat--secontext_mismatch$(EXEEXT): $(execveat__secontext_mismatch_OBJECTS) $(execveat__secontext_mismatch_DEPENDENCIES) $(EXTRA_execveat__secontext_mismatch_DEPENDENCIES) ++ @rm -f execveat--secontext_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(execveat__secontext_mismatch_OBJECTS) $(execveat__secontext_mismatch_LDADD) $(LIBS) ++ + execveat-v$(EXEEXT): $(execveat_v_OBJECTS) $(execveat_v_DEPENDENCIES) $(EXTRA_execveat_v_DEPENDENCIES) + @rm -f execveat-v$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(execveat_v_OBJECTS) $(execveat_v_LDADD) $(LIBS) +@@ -7559,6 +7917,14 @@ + @rm -f faccessat--secontext_full$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(faccessat__secontext_full_OBJECTS) $(faccessat__secontext_full_LDADD) $(LIBS) + ++faccessat--secontext_full_mismatch$(EXEEXT): $(faccessat__secontext_full_mismatch_OBJECTS) $(faccessat__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_faccessat__secontext_full_mismatch_DEPENDENCIES) ++ @rm -f faccessat--secontext_full_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(faccessat__secontext_full_mismatch_OBJECTS) $(faccessat__secontext_full_mismatch_LDADD) $(LIBS) ++ ++faccessat--secontext_mismatch$(EXEEXT): $(faccessat__secontext_mismatch_OBJECTS) $(faccessat__secontext_mismatch_DEPENDENCIES) $(EXTRA_faccessat__secontext_mismatch_DEPENDENCIES) ++ @rm -f faccessat--secontext_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(faccessat__secontext_mismatch_OBJECTS) $(faccessat__secontext_mismatch_LDADD) $(LIBS) ++ + faccessat-P$(EXEEXT): $(faccessat_P_OBJECTS) $(faccessat_P_DEPENDENCIES) $(EXTRA_faccessat_P_DEPENDENCIES) + @rm -f faccessat-P$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(faccessat_P_OBJECTS) $(faccessat_P_LDADD) $(LIBS) +@@ -7575,6 +7941,14 @@ + @rm -f faccessat-y--secontext_full$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(faccessat_y__secontext_full_OBJECTS) $(faccessat_y__secontext_full_LDADD) $(LIBS) + ++faccessat-y--secontext_full_mismatch$(EXEEXT): $(faccessat_y__secontext_full_mismatch_OBJECTS) $(faccessat_y__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_faccessat_y__secontext_full_mismatch_DEPENDENCIES) ++ @rm -f faccessat-y--secontext_full_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(faccessat_y__secontext_full_mismatch_OBJECTS) $(faccessat_y__secontext_full_mismatch_LDADD) $(LIBS) ++ ++faccessat-y--secontext_mismatch$(EXEEXT): $(faccessat_y__secontext_mismatch_OBJECTS) $(faccessat_y__secontext_mismatch_DEPENDENCIES) $(EXTRA_faccessat_y__secontext_mismatch_DEPENDENCIES) ++ @rm -f faccessat-y--secontext_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(faccessat_y__secontext_mismatch_OBJECTS) $(faccessat_y__secontext_mismatch_LDADD) $(LIBS) ++ + faccessat-yy$(EXEEXT): $(faccessat_yy_OBJECTS) $(faccessat_yy_DEPENDENCIES) $(EXTRA_faccessat_yy_DEPENDENCIES) + @rm -f faccessat-yy$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(faccessat_yy_OBJECTS) $(faccessat_yy_LDADD) $(LIBS) +@@ -7623,6 +7997,14 @@ + @rm -f fanotify_mark--secontext_full$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(fanotify_mark__secontext_full_OBJECTS) $(fanotify_mark__secontext_full_LDADD) $(LIBS) + ++fanotify_mark--secontext_full_mismatch$(EXEEXT): $(fanotify_mark__secontext_full_mismatch_OBJECTS) $(fanotify_mark__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_fanotify_mark__secontext_full_mismatch_DEPENDENCIES) ++ @rm -f fanotify_mark--secontext_full_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(fanotify_mark__secontext_full_mismatch_OBJECTS) $(fanotify_mark__secontext_full_mismatch_LDADD) $(LIBS) ++ ++fanotify_mark--secontext_mismatch$(EXEEXT): $(fanotify_mark__secontext_mismatch_OBJECTS) $(fanotify_mark__secontext_mismatch_DEPENDENCIES) $(EXTRA_fanotify_mark__secontext_mismatch_DEPENDENCIES) ++ @rm -f fanotify_mark--secontext_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(fanotify_mark__secontext_mismatch_OBJECTS) $(fanotify_mark__secontext_mismatch_LDADD) $(LIBS) ++ + fanotify_mark-Xabbrev$(EXEEXT): $(fanotify_mark_Xabbrev_OBJECTS) $(fanotify_mark_Xabbrev_DEPENDENCIES) $(EXTRA_fanotify_mark_Xabbrev_DEPENDENCIES) + @rm -f fanotify_mark-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(fanotify_mark_Xabbrev_OBJECTS) $(fanotify_mark_Xabbrev_LDADD) $(LIBS) +@@ -7651,6 +8033,14 @@ + @rm -f fchmod--secontext_full$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(fchmod__secontext_full_OBJECTS) $(fchmod__secontext_full_LDADD) $(LIBS) + ++fchmod--secontext_full_mismatch$(EXEEXT): $(fchmod__secontext_full_mismatch_OBJECTS) $(fchmod__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_fchmod__secontext_full_mismatch_DEPENDENCIES) ++ @rm -f fchmod--secontext_full_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(fchmod__secontext_full_mismatch_OBJECTS) $(fchmod__secontext_full_mismatch_LDADD) $(LIBS) ++ ++fchmod--secontext_mismatch$(EXEEXT): $(fchmod__secontext_mismatch_OBJECTS) $(fchmod__secontext_mismatch_DEPENDENCIES) $(EXTRA_fchmod__secontext_mismatch_DEPENDENCIES) ++ @rm -f fchmod--secontext_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(fchmod__secontext_mismatch_OBJECTS) $(fchmod__secontext_mismatch_LDADD) $(LIBS) ++ + fchmod-y$(EXEEXT): $(fchmod_y_OBJECTS) $(fchmod_y_DEPENDENCIES) $(EXTRA_fchmod_y_DEPENDENCIES) + @rm -f fchmod-y$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(fchmod_y_OBJECTS) $(fchmod_y_LDADD) $(LIBS) +@@ -7663,6 +8053,14 @@ + @rm -f fchmod-y--secontext_full$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(fchmod_y__secontext_full_OBJECTS) $(fchmod_y__secontext_full_LDADD) $(LIBS) + ++fchmod-y--secontext_full_mismatch$(EXEEXT): $(fchmod_y__secontext_full_mismatch_OBJECTS) $(fchmod_y__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_fchmod_y__secontext_full_mismatch_DEPENDENCIES) ++ @rm -f fchmod-y--secontext_full_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(fchmod_y__secontext_full_mismatch_OBJECTS) $(fchmod_y__secontext_full_mismatch_LDADD) $(LIBS) ++ ++fchmod-y--secontext_mismatch$(EXEEXT): $(fchmod_y__secontext_mismatch_OBJECTS) $(fchmod_y__secontext_mismatch_DEPENDENCIES) $(EXTRA_fchmod_y__secontext_mismatch_DEPENDENCIES) ++ @rm -f fchmod-y--secontext_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(fchmod_y__secontext_mismatch_OBJECTS) $(fchmod_y__secontext_mismatch_LDADD) $(LIBS) ++ + fchmodat$(EXEEXT): $(fchmodat_OBJECTS) $(fchmodat_DEPENDENCIES) $(EXTRA_fchmodat_DEPENDENCIES) + @rm -f fchmodat$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(fchmodat_OBJECTS) $(fchmodat_LDADD) $(LIBS) +@@ -7675,6 +8073,14 @@ + @rm -f fchmodat--secontext_full$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(fchmodat__secontext_full_OBJECTS) $(fchmodat__secontext_full_LDADD) $(LIBS) + ++fchmodat--secontext_full_mismatch$(EXEEXT): $(fchmodat__secontext_full_mismatch_OBJECTS) $(fchmodat__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_fchmodat__secontext_full_mismatch_DEPENDENCIES) ++ @rm -f fchmodat--secontext_full_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(fchmodat__secontext_full_mismatch_OBJECTS) $(fchmodat__secontext_full_mismatch_LDADD) $(LIBS) ++ ++fchmodat--secontext_mismatch$(EXEEXT): $(fchmodat__secontext_mismatch_OBJECTS) $(fchmodat__secontext_mismatch_DEPENDENCIES) $(EXTRA_fchmodat__secontext_mismatch_DEPENDENCIES) ++ @rm -f fchmodat--secontext_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(fchmodat__secontext_mismatch_OBJECTS) $(fchmodat__secontext_mismatch_LDADD) $(LIBS) ++ + fchown$(EXEEXT): $(fchown_OBJECTS) $(fchown_DEPENDENCIES) $(EXTRA_fchown_DEPENDENCIES) + @rm -f fchown$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(fchown_OBJECTS) $(fchown_LDADD) $(LIBS) +@@ -7695,6 +8101,14 @@ + @rm -f fchownat--secontext_full$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(fchownat__secontext_full_OBJECTS) $(fchownat__secontext_full_LDADD) $(LIBS) + ++fchownat--secontext_full_mismatch$(EXEEXT): $(fchownat__secontext_full_mismatch_OBJECTS) $(fchownat__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_fchownat__secontext_full_mismatch_DEPENDENCIES) ++ @rm -f fchownat--secontext_full_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(fchownat__secontext_full_mismatch_OBJECTS) $(fchownat__secontext_full_mismatch_LDADD) $(LIBS) ++ ++fchownat--secontext_mismatch$(EXEEXT): $(fchownat__secontext_mismatch_OBJECTS) $(fchownat__secontext_mismatch_DEPENDENCIES) $(EXTRA_fchownat__secontext_mismatch_DEPENDENCIES) ++ @rm -f fchownat--secontext_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(fchownat__secontext_mismatch_OBJECTS) $(fchownat__secontext_mismatch_LDADD) $(LIBS) ++ + fcntl$(EXEEXT): $(fcntl_OBJECTS) $(fcntl_DEPENDENCIES) $(EXTRA_fcntl_DEPENDENCIES) + @rm -f fcntl$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(fcntl_OBJECTS) $(fcntl_LDADD) $(LIBS) +@@ -7731,6 +8145,14 @@ + @rm -f file_handle--secontext_full$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(file_handle__secontext_full_OBJECTS) $(file_handle__secontext_full_LDADD) $(LIBS) + ++file_handle--secontext_full_mismatch$(EXEEXT): $(file_handle__secontext_full_mismatch_OBJECTS) $(file_handle__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_file_handle__secontext_full_mismatch_DEPENDENCIES) ++ @rm -f file_handle--secontext_full_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(file_handle__secontext_full_mismatch_OBJECTS) $(file_handle__secontext_full_mismatch_LDADD) $(LIBS) ++ ++file_handle--secontext_mismatch$(EXEEXT): $(file_handle__secontext_mismatch_OBJECTS) $(file_handle__secontext_mismatch_DEPENDENCIES) $(EXTRA_file_handle__secontext_mismatch_DEPENDENCIES) ++ @rm -f file_handle--secontext_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(file_handle__secontext_mismatch_OBJECTS) $(file_handle__secontext_mismatch_LDADD) $(LIBS) ++ + filter-unavailable$(EXEEXT): $(filter_unavailable_OBJECTS) $(filter_unavailable_DEPENDENCIES) $(EXTRA_filter_unavailable_DEPENDENCIES) + @rm -f filter-unavailable$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(filter_unavailable_OBJECTS) $(filter_unavailable_LDADD) $(LIBS) +@@ -8775,6 +9197,14 @@ + @rm -f linkat--secontext_full$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(linkat__secontext_full_OBJECTS) $(linkat__secontext_full_LDADD) $(LIBS) + ++linkat--secontext_full_mismatch$(EXEEXT): $(linkat__secontext_full_mismatch_OBJECTS) $(linkat__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_linkat__secontext_full_mismatch_DEPENDENCIES) ++ @rm -f linkat--secontext_full_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(linkat__secontext_full_mismatch_OBJECTS) $(linkat__secontext_full_mismatch_LDADD) $(LIBS) ++ ++linkat--secontext_mismatch$(EXEEXT): $(linkat__secontext_mismatch_OBJECTS) $(linkat__secontext_mismatch_DEPENDENCIES) $(EXTRA_linkat__secontext_mismatch_DEPENDENCIES) ++ @rm -f linkat--secontext_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(linkat__secontext_mismatch_OBJECTS) $(linkat__secontext_mismatch_LDADD) $(LIBS) ++ + list_sigaction_signum$(EXEEXT): $(list_sigaction_signum_OBJECTS) $(list_sigaction_signum_DEPENDENCIES) $(EXTRA_list_sigaction_signum_DEPENDENCIES) + @rm -f list_sigaction_signum$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(list_sigaction_signum_OBJECTS) $(list_sigaction_signum_LDADD) $(LIBS) +@@ -9423,6 +9853,14 @@ + @rm -f open--secontext_full$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(open__secontext_full_OBJECTS) $(open__secontext_full_LDADD) $(LIBS) + ++open--secontext_full_mismatch$(EXEEXT): $(open__secontext_full_mismatch_OBJECTS) $(open__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_open__secontext_full_mismatch_DEPENDENCIES) ++ @rm -f open--secontext_full_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(open__secontext_full_mismatch_OBJECTS) $(open__secontext_full_mismatch_LDADD) $(LIBS) ++ ++open--secontext_mismatch$(EXEEXT): $(open__secontext_mismatch_OBJECTS) $(open__secontext_mismatch_DEPENDENCIES) $(EXTRA_open__secontext_mismatch_DEPENDENCIES) ++ @rm -f open--secontext_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(open__secontext_mismatch_OBJECTS) $(open__secontext_mismatch_LDADD) $(LIBS) ++ + open_tree$(EXEEXT): $(open_tree_OBJECTS) $(open_tree_DEPENDENCIES) $(EXTRA_open_tree_DEPENDENCIES) + @rm -f open_tree$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(open_tree_OBJECTS) $(open_tree_LDADD) $(LIBS) +@@ -9443,6 +9881,14 @@ + @rm -f openat--secontext_full$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(openat__secontext_full_OBJECTS) $(openat__secontext_full_LDADD) $(LIBS) + ++openat--secontext_full_mismatch$(EXEEXT): $(openat__secontext_full_mismatch_OBJECTS) $(openat__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_openat__secontext_full_mismatch_DEPENDENCIES) ++ @rm -f openat--secontext_full_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(openat__secontext_full_mismatch_OBJECTS) $(openat__secontext_full_mismatch_LDADD) $(LIBS) ++ ++openat--secontext_mismatch$(EXEEXT): $(openat__secontext_mismatch_OBJECTS) $(openat__secontext_mismatch_DEPENDENCIES) $(EXTRA_openat__secontext_mismatch_DEPENDENCIES) ++ @rm -f openat--secontext_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(openat__secontext_mismatch_OBJECTS) $(openat__secontext_mismatch_LDADD) $(LIBS) ++ + openat2$(EXEEXT): $(openat2_OBJECTS) $(openat2_DEPENDENCIES) $(EXTRA_openat2_DEPENDENCIES) + @rm -f openat2$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(openat2_OBJECTS) $(openat2_LDADD) $(LIBS) +@@ -10835,6 +11281,8 @@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/accept4.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/access--secontext.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/access--secontext_full.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/access--secontext_full_mismatch.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/access--secontext_mismatch.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/access.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/acct.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/add_key.Po@am__quote@ # am--include-marker +@@ -10867,6 +11315,8 @@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_sigign.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmod--secontext.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmod--secontext_full.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmod--secontext_full_mismatch.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmod--secontext_mismatch.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmod.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chown.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chown32.Po@am__quote@ # am--include-marker +@@ -10928,17 +11378,25 @@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eventfd.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve--secontext.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve--secontext_full.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve--secontext_full_mismatch.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve--secontext_mismatch.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve-v.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat--secontext.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat--secontext_full.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat--secontext_full_mismatch.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat--secontext_mismatch.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat-v.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat--secontext.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat--secontext_full.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat--secontext_full_mismatch.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat--secontext_mismatch.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-P.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-y--secontext.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-y--secontext_full.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-y--secontext_full_mismatch.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-y--secontext_mismatch.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-y.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-yy.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat.Po@am__quote@ # am--include-marker +@@ -10952,6 +11410,8 @@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_init.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark--secontext.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark--secontext_full.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark--secontext_full_mismatch.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark--secontext_mismatch.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark-Xabbrev.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark-Xraw.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark-Xverbose.Po@am__quote@ # am--include-marker +@@ -10959,17 +11419,25 @@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchdir.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod--secontext.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod--secontext_full.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod--secontext_full_mismatch.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod--secontext_mismatch.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y--secontext.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y--secontext_full.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y--secontext_full_mismatch.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y--secontext_mismatch.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat--secontext.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat--secontext_full.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat--secontext_full_mismatch.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat--secontext_mismatch.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchown.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchown32.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat--secontext.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat--secontext_full.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat--secontext_full_mismatch.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat--secontext_mismatch.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl--pidns-translation.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl.Po@am__quote@ # am--include-marker +@@ -10979,6 +11447,8 @@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fflush.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_handle--secontext.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_handle--secontext_full.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_handle--secontext_full_mismatch.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_handle--secontext_mismatch.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_handle.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filter-unavailable.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filter_seccomp-flag.Po@am__quote@ # am--include-marker +@@ -11276,6 +11746,8 @@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/link.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat--secontext.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat--secontext_full.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat--secontext_full_mismatch.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat--secontext_mismatch.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/list_sigaction_signum.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/llseek.Po@am__quote@ # am--include-marker +@@ -11438,11 +11910,15 @@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oldstat.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open--secontext.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open--secontext_full.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open--secontext_full_mismatch.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open--secontext_mismatch.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open_tree-P.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open_tree.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat--secontext.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat--secontext_full.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat--secontext_full_mismatch.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat--secontext_mismatch.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat2-Xabbrev.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat2-Xraw.Po@am__quote@ # am--include-marker +@@ -13004,6 +13480,12 @@ + $(srcdir)/access--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + ++$(srcdir)/access--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ ++$(srcdir)/access--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ + $(srcdir)/acct.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +@@ -13055,6 +13537,12 @@ + $(srcdir)/chmod--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + ++$(srcdir)/chmod--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ ++$(srcdir)/chmod--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ + $(srcdir)/chown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +@@ -13220,6 +13708,12 @@ + $(srcdir)/execve--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + ++$(srcdir)/execve--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ ++$(srcdir)/execve--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ + $(srcdir)/execveat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +@@ -13229,6 +13723,12 @@ + $(srcdir)/execveat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + ++$(srcdir)/execveat--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ ++$(srcdir)/execveat--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ + $(srcdir)/execveat-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +@@ -13238,6 +13738,12 @@ + $(srcdir)/faccessat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + ++$(srcdir)/faccessat--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ ++$(srcdir)/faccessat--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ + $(srcdir)/faccessat-P.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +@@ -13250,6 +13756,12 @@ + $(srcdir)/faccessat-y--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + ++$(srcdir)/faccessat-y--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ ++$(srcdir)/faccessat-y--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ + $(srcdir)/faccessat-yy.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +@@ -13280,6 +13792,12 @@ + $(srcdir)/fanotify_mark--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + ++$(srcdir)/fanotify_mark--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ ++$(srcdir)/fanotify_mark--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ + $(srcdir)/fanotify_mark-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +@@ -13301,6 +13819,12 @@ + $(srcdir)/fchmod--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + ++$(srcdir)/fchmod--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ ++$(srcdir)/fchmod--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ + $(srcdir)/fchmod-y.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +@@ -13310,6 +13834,12 @@ + $(srcdir)/fchmod-y--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + ++$(srcdir)/fchmod-y--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ ++$(srcdir)/fchmod-y--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ + $(srcdir)/fchmodat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +@@ -13319,6 +13849,12 @@ + $(srcdir)/fchmodat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + ++$(srcdir)/fchmodat--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ ++$(srcdir)/fchmodat--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ + $(srcdir)/fchown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +@@ -13334,6 +13870,12 @@ + $(srcdir)/fchownat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + ++$(srcdir)/fchownat--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ ++$(srcdir)/fchownat--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ + $(srcdir)/fcntl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +@@ -13358,6 +13900,12 @@ + $(srcdir)/file_handle--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + ++$(srcdir)/file_handle--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ ++$(srcdir)/file_handle--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ + $(srcdir)/filter_seccomp.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +@@ -14117,6 +14665,12 @@ + $(srcdir)/linkat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + ++$(srcdir)/linkat--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ ++$(srcdir)/linkat--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ + $(srcdir)/lookup_dcookie.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +@@ -14546,6 +15100,12 @@ + $(srcdir)/open--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + ++$(srcdir)/open--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ ++$(srcdir)/open--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ + $(srcdir)/open_tree.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +@@ -14561,6 +15121,12 @@ + $(srcdir)/openat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + ++$(srcdir)/openat--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ ++$(srcdir)/openat--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ + $(srcdir)/openat2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +--- old/tests-mx32/Makefile.in 2022-02-07 20:23:38.728063729 +0100 ++++ new/tests-mx32/Makefile.in 2022-02-07 20:24:04.572063372 +0100 +@@ -614,25 +614,55 @@ + xet_thread_area_x86$(EXEEXT) xetitimer$(EXEEXT) \ + xetpgid$(EXEEXT) xetpriority$(EXEEXT) xettimeofday$(EXEEXT) + am__EXEEXT_2 = access--secontext$(EXEEXT) \ +- access--secontext_full$(EXEEXT) chmod--secontext$(EXEEXT) \ +- chmod--secontext_full$(EXEEXT) execve--secontext$(EXEEXT) \ +- execve--secontext_full$(EXEEXT) execveat--secontext$(EXEEXT) \ +- execveat--secontext_full$(EXEEXT) \ ++ access--secontext_full$(EXEEXT) \ ++ access--secontext_full_mismatch$(EXEEXT) \ ++ access--secontext_mismatch$(EXEEXT) chmod--secontext$(EXEEXT) \ ++ chmod--secontext_full$(EXEEXT) \ ++ chmod--secontext_full_mismatch$(EXEEXT) \ ++ chmod--secontext_mismatch$(EXEEXT) execve--secontext$(EXEEXT) \ ++ execve--secontext_full$(EXEEXT) \ ++ execve--secontext_full_mismatch$(EXEEXT) \ ++ execve--secontext_mismatch$(EXEEXT) \ ++ execveat--secontext$(EXEEXT) execveat--secontext_full$(EXEEXT) \ ++ execveat--secontext_full_mismatch$(EXEEXT) \ ++ execveat--secontext_mismatch$(EXEEXT) \ + faccessat--secontext$(EXEEXT) \ + faccessat--secontext_full$(EXEEXT) \ ++ faccessat--secontext_full_mismatch$(EXEEXT) \ ++ faccessat--secontext_mismatch$(EXEEXT) \ + faccessat-y--secontext$(EXEEXT) \ + faccessat-y--secontext_full$(EXEEXT) \ ++ faccessat-y--secontext_full_mismatch$(EXEEXT) \ ++ faccessat-y--secontext_mismatch$(EXEEXT) \ + fanotify_mark--secontext$(EXEEXT) \ + fanotify_mark--secontext_full$(EXEEXT) \ ++ fanotify_mark--secontext_full_mismatch$(EXEEXT) \ ++ fanotify_mark--secontext_mismatch$(EXEEXT) \ + fchmod--secontext$(EXEEXT) fchmod--secontext_full$(EXEEXT) \ ++ fchmod--secontext_full_mismatch$(EXEEXT) \ ++ fchmod--secontext_mismatch$(EXEEXT) \ + fchmod-y--secontext$(EXEEXT) fchmod-y--secontext_full$(EXEEXT) \ ++ fchmod-y--secontext_full_mismatch$(EXEEXT) \ ++ fchmod-y--secontext_mismatch$(EXEEXT) \ + fchmodat--secontext$(EXEEXT) fchmodat--secontext_full$(EXEEXT) \ ++ fchmodat--secontext_full_mismatch$(EXEEXT) \ ++ fchmodat--secontext_mismatch$(EXEEXT) \ + fchownat--secontext$(EXEEXT) fchownat--secontext_full$(EXEEXT) \ ++ fchownat--secontext_full_mismatch$(EXEEXT) \ ++ fchownat--secontext_mismatch$(EXEEXT) \ + file_handle--secontext$(EXEEXT) \ + file_handle--secontext_full$(EXEEXT) \ ++ file_handle--secontext_full_mismatch$(EXEEXT) \ ++ file_handle--secontext_mismatch$(EXEEXT) \ + linkat--secontext$(EXEEXT) linkat--secontext_full$(EXEEXT) \ +- open--secontext$(EXEEXT) open--secontext_full$(EXEEXT) \ +- openat--secontext$(EXEEXT) openat--secontext_full$(EXEEXT) ++ linkat--secontext_full_mismatch$(EXEEXT) \ ++ linkat--secontext_mismatch$(EXEEXT) open--secontext$(EXEEXT) \ ++ open--secontext_full$(EXEEXT) \ ++ open--secontext_full_mismatch$(EXEEXT) \ ++ open--secontext_mismatch$(EXEEXT) openat--secontext$(EXEEXT) \ ++ openat--secontext_full$(EXEEXT) \ ++ openat--secontext_full_mismatch$(EXEEXT) \ ++ openat--secontext_mismatch$(EXEEXT) + ARFLAGS = cru + AM_V_AR = $(am__v_AR_@AM_V@) + am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@) +@@ -662,6 +692,17 @@ + access__secontext_full_SOURCES = access--secontext_full.c + access__secontext_full_OBJECTS = access--secontext_full.$(OBJEXT) + access__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) ++access__secontext_full_mismatch_SOURCES = \ ++ access--secontext_full_mismatch.c ++access__secontext_full_mismatch_OBJECTS = \ ++ access--secontext_full_mismatch.$(OBJEXT) ++access__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) ++access__secontext_mismatch_SOURCES = access--secontext_mismatch.c ++access__secontext_mismatch_OBJECTS = \ ++ access--secontext_mismatch.$(OBJEXT) ++access__secontext_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) + acct_SOURCES = acct.c + acct_OBJECTS = acct.$(OBJEXT) + acct_LDADD = $(LDADD) +@@ -790,6 +831,17 @@ + chmod__secontext_full_SOURCES = chmod--secontext_full.c + chmod__secontext_full_OBJECTS = chmod--secontext_full.$(OBJEXT) + chmod__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) ++chmod__secontext_full_mismatch_SOURCES = \ ++ chmod--secontext_full_mismatch.c ++chmod__secontext_full_mismatch_OBJECTS = \ ++ chmod--secontext_full_mismatch.$(OBJEXT) ++chmod__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) ++chmod__secontext_mismatch_SOURCES = chmod--secontext_mismatch.c ++chmod__secontext_mismatch_OBJECTS = \ ++ chmod--secontext_mismatch.$(OBJEXT) ++chmod__secontext_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) + chown_SOURCES = chown.c + chown_OBJECTS = chown.$(OBJEXT) + chown_LDADD = $(LDADD) +@@ -1031,6 +1083,17 @@ + execve__secontext_full_SOURCES = execve--secontext_full.c + execve__secontext_full_OBJECTS = execve--secontext_full.$(OBJEXT) + execve__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) ++execve__secontext_full_mismatch_SOURCES = \ ++ execve--secontext_full_mismatch.c ++execve__secontext_full_mismatch_OBJECTS = \ ++ execve--secontext_full_mismatch.$(OBJEXT) ++execve__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) ++execve__secontext_mismatch_SOURCES = execve--secontext_mismatch.c ++execve__secontext_mismatch_OBJECTS = \ ++ execve--secontext_mismatch.$(OBJEXT) ++execve__secontext_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) + execve_v_SOURCES = execve-v.c + execve_v_OBJECTS = execve-v.$(OBJEXT) + execve_v_LDADD = $(LDADD) +@@ -1045,6 +1108,17 @@ + execveat__secontext_full_SOURCES = execveat--secontext_full.c + execveat__secontext_full_OBJECTS = execveat--secontext_full.$(OBJEXT) + execveat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) ++execveat__secontext_full_mismatch_SOURCES = \ ++ execveat--secontext_full_mismatch.c ++execveat__secontext_full_mismatch_OBJECTS = \ ++ execveat--secontext_full_mismatch.$(OBJEXT) ++execveat__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) ++execveat__secontext_mismatch_SOURCES = execveat--secontext_mismatch.c ++execveat__secontext_mismatch_OBJECTS = \ ++ execveat--secontext_mismatch.$(OBJEXT) ++execveat__secontext_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) + execveat_v_SOURCES = execveat-v.c + execveat_v_OBJECTS = execveat-v.$(OBJEXT) + execveat_v_LDADD = $(LDADD) +@@ -1061,6 +1135,18 @@ + faccessat--secontext_full.$(OBJEXT) + faccessat__secontext_full_DEPENDENCIES = $(LDADD) \ + $(am__DEPENDENCIES_2) ++faccessat__secontext_full_mismatch_SOURCES = \ ++ faccessat--secontext_full_mismatch.c ++faccessat__secontext_full_mismatch_OBJECTS = \ ++ faccessat--secontext_full_mismatch.$(OBJEXT) ++faccessat__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) ++faccessat__secontext_mismatch_SOURCES = \ ++ faccessat--secontext_mismatch.c ++faccessat__secontext_mismatch_OBJECTS = \ ++ faccessat--secontext_mismatch.$(OBJEXT) ++faccessat__secontext_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) + faccessat_P_SOURCES = faccessat-P.c + faccessat_P_OBJECTS = faccessat-P.$(OBJEXT) + faccessat_P_LDADD = $(LDADD) +@@ -1077,6 +1163,18 @@ + faccessat-y--secontext_full.$(OBJEXT) + faccessat_y__secontext_full_DEPENDENCIES = $(LDADD) \ + $(am__DEPENDENCIES_2) ++faccessat_y__secontext_full_mismatch_SOURCES = \ ++ faccessat-y--secontext_full_mismatch.c ++faccessat_y__secontext_full_mismatch_OBJECTS = \ ++ faccessat-y--secontext_full_mismatch.$(OBJEXT) ++faccessat_y__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) ++faccessat_y__secontext_mismatch_SOURCES = \ ++ faccessat-y--secontext_mismatch.c ++faccessat_y__secontext_mismatch_OBJECTS = \ ++ faccessat-y--secontext_mismatch.$(OBJEXT) ++faccessat_y__secontext_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) + faccessat_yy_SOURCES = faccessat-yy.c + faccessat_yy_OBJECTS = faccessat-yy.$(OBJEXT) + faccessat_yy_LDADD = $(LDADD) +@@ -1126,6 +1224,18 @@ + fanotify_mark--secontext_full.$(OBJEXT) + fanotify_mark__secontext_full_DEPENDENCIES = $(LDADD) \ + $(am__DEPENDENCIES_2) ++fanotify_mark__secontext_full_mismatch_SOURCES = \ ++ fanotify_mark--secontext_full_mismatch.c ++fanotify_mark__secontext_full_mismatch_OBJECTS = \ ++ fanotify_mark--secontext_full_mismatch.$(OBJEXT) ++fanotify_mark__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) ++fanotify_mark__secontext_mismatch_SOURCES = \ ++ fanotify_mark--secontext_mismatch.c ++fanotify_mark__secontext_mismatch_OBJECTS = \ ++ fanotify_mark--secontext_mismatch.$(OBJEXT) ++fanotify_mark__secontext_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) + fanotify_mark_Xabbrev_SOURCES = fanotify_mark-Xabbrev.c + fanotify_mark_Xabbrev_OBJECTS = fanotify_mark-Xabbrev.$(OBJEXT) + fanotify_mark_Xabbrev_LDADD = $(LDADD) +@@ -1152,6 +1262,17 @@ + fchmod__secontext_full_SOURCES = fchmod--secontext_full.c + fchmod__secontext_full_OBJECTS = fchmod--secontext_full.$(OBJEXT) + fchmod__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) ++fchmod__secontext_full_mismatch_SOURCES = \ ++ fchmod--secontext_full_mismatch.c ++fchmod__secontext_full_mismatch_OBJECTS = \ ++ fchmod--secontext_full_mismatch.$(OBJEXT) ++fchmod__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) ++fchmod__secontext_mismatch_SOURCES = fchmod--secontext_mismatch.c ++fchmod__secontext_mismatch_OBJECTS = \ ++ fchmod--secontext_mismatch.$(OBJEXT) ++fchmod__secontext_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) + fchmod_y_SOURCES = fchmod-y.c + fchmod_y_OBJECTS = fchmod-y.$(OBJEXT) + fchmod_y_LDADD = $(LDADD) +@@ -1162,6 +1283,17 @@ + fchmod_y__secontext_full_SOURCES = fchmod-y--secontext_full.c + fchmod_y__secontext_full_OBJECTS = fchmod-y--secontext_full.$(OBJEXT) + fchmod_y__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) ++fchmod_y__secontext_full_mismatch_SOURCES = \ ++ fchmod-y--secontext_full_mismatch.c ++fchmod_y__secontext_full_mismatch_OBJECTS = \ ++ fchmod-y--secontext_full_mismatch.$(OBJEXT) ++fchmod_y__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) ++fchmod_y__secontext_mismatch_SOURCES = fchmod-y--secontext_mismatch.c ++fchmod_y__secontext_mismatch_OBJECTS = \ ++ fchmod-y--secontext_mismatch.$(OBJEXT) ++fchmod_y__secontext_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) + fchmodat_SOURCES = fchmodat.c + fchmodat_OBJECTS = fchmodat.$(OBJEXT) + fchmodat_LDADD = $(LDADD) +@@ -1172,6 +1304,17 @@ + fchmodat__secontext_full_SOURCES = fchmodat--secontext_full.c + fchmodat__secontext_full_OBJECTS = fchmodat--secontext_full.$(OBJEXT) + fchmodat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) ++fchmodat__secontext_full_mismatch_SOURCES = \ ++ fchmodat--secontext_full_mismatch.c ++fchmodat__secontext_full_mismatch_OBJECTS = \ ++ fchmodat--secontext_full_mismatch.$(OBJEXT) ++fchmodat__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) ++fchmodat__secontext_mismatch_SOURCES = fchmodat--secontext_mismatch.c ++fchmodat__secontext_mismatch_OBJECTS = \ ++ fchmodat--secontext_mismatch.$(OBJEXT) ++fchmodat__secontext_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) + fchown_SOURCES = fchown.c + fchown_OBJECTS = fchown.$(OBJEXT) + fchown_LDADD = $(LDADD) +@@ -1190,6 +1333,17 @@ + fchownat__secontext_full_SOURCES = fchownat--secontext_full.c + fchownat__secontext_full_OBJECTS = fchownat--secontext_full.$(OBJEXT) + fchownat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) ++fchownat__secontext_full_mismatch_SOURCES = \ ++ fchownat--secontext_full_mismatch.c ++fchownat__secontext_full_mismatch_OBJECTS = \ ++ fchownat--secontext_full_mismatch.$(OBJEXT) ++fchownat__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) ++fchownat__secontext_mismatch_SOURCES = fchownat--secontext_mismatch.c ++fchownat__secontext_mismatch_OBJECTS = \ ++ fchownat--secontext_mismatch.$(OBJEXT) ++fchownat__secontext_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) + fcntl_SOURCES = fcntl.c + fcntl_OBJECTS = fcntl.$(OBJEXT) + fcntl_LDADD = $(LDADD) +@@ -1227,6 +1381,18 @@ + file_handle--secontext_full.$(OBJEXT) + file_handle__secontext_full_DEPENDENCIES = $(LDADD) \ + $(am__DEPENDENCIES_2) ++file_handle__secontext_full_mismatch_SOURCES = \ ++ file_handle--secontext_full_mismatch.c ++file_handle__secontext_full_mismatch_OBJECTS = \ ++ file_handle--secontext_full_mismatch.$(OBJEXT) ++file_handle__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) ++file_handle__secontext_mismatch_SOURCES = \ ++ file_handle--secontext_mismatch.c ++file_handle__secontext_mismatch_OBJECTS = \ ++ file_handle--secontext_mismatch.$(OBJEXT) ++file_handle__secontext_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) + filter_unavailable_SOURCES = filter-unavailable.c + filter_unavailable_OBJECTS = filter-unavailable.$(OBJEXT) + filter_unavailable_DEPENDENCIES = $(LDADD) +@@ -2318,6 +2484,17 @@ + linkat__secontext_full_SOURCES = linkat--secontext_full.c + linkat__secontext_full_OBJECTS = linkat--secontext_full.$(OBJEXT) + linkat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) ++linkat__secontext_full_mismatch_SOURCES = \ ++ linkat--secontext_full_mismatch.c ++linkat__secontext_full_mismatch_OBJECTS = \ ++ linkat--secontext_full_mismatch.$(OBJEXT) ++linkat__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) ++linkat__secontext_mismatch_SOURCES = linkat--secontext_mismatch.c ++linkat__secontext_mismatch_OBJECTS = \ ++ linkat--secontext_mismatch.$(OBJEXT) ++linkat__secontext_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) + list_sigaction_signum_SOURCES = list_sigaction_signum.c + list_sigaction_signum_OBJECTS = list_sigaction_signum.$(OBJEXT) + list_sigaction_signum_LDADD = $(LDADD) +@@ -2976,6 +3153,15 @@ + open__secontext_full_SOURCES = open--secontext_full.c + open__secontext_full_OBJECTS = open--secontext_full.$(OBJEXT) + open__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) ++open__secontext_full_mismatch_SOURCES = \ ++ open--secontext_full_mismatch.c ++open__secontext_full_mismatch_OBJECTS = \ ++ open--secontext_full_mismatch.$(OBJEXT) ++open__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) ++open__secontext_mismatch_SOURCES = open--secontext_mismatch.c ++open__secontext_mismatch_OBJECTS = open--secontext_mismatch.$(OBJEXT) ++open__secontext_mismatch_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) + open_tree_SOURCES = open_tree.c + open_tree_OBJECTS = open_tree.$(OBJEXT) + open_tree_LDADD = $(LDADD) +@@ -2994,6 +3180,17 @@ + openat__secontext_full_SOURCES = openat--secontext_full.c + openat__secontext_full_OBJECTS = openat--secontext_full.$(OBJEXT) + openat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2) ++openat__secontext_full_mismatch_SOURCES = \ ++ openat--secontext_full_mismatch.c ++openat__secontext_full_mismatch_OBJECTS = \ ++ openat--secontext_full_mismatch.$(OBJEXT) ++openat__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) ++openat__secontext_mismatch_SOURCES = openat--secontext_mismatch.c ++openat__secontext_mismatch_OBJECTS = \ ++ openat--secontext_mismatch.$(OBJEXT) ++openat__secontext_mismatch_DEPENDENCIES = $(LDADD) \ ++ $(am__DEPENDENCIES_2) + openat2_SOURCES = openat2.c + openat2_OBJECTS = openat2.$(OBJEXT) + openat2_LDADD = $(LDADD) +@@ -4449,6 +4646,8 @@ + ./$(DEPDIR)/_newselect.Po ./$(DEPDIR)/accept.Po \ + ./$(DEPDIR)/accept4.Po ./$(DEPDIR)/access--secontext.Po \ + ./$(DEPDIR)/access--secontext_full.Po ./$(DEPDIR)/access.Po \ ++ ./$(DEPDIR)/access--secontext_full_mismatch.Po \ ++ ./$(DEPDIR)/access--secontext_mismatch.Po \ + ./$(DEPDIR)/acct.Po ./$(DEPDIR)/add_key.Po \ + ./$(DEPDIR)/adjtimex.Po ./$(DEPDIR)/aio.Po \ + ./$(DEPDIR)/aio_pgetevents.Po ./$(DEPDIR)/alarm.Po \ +@@ -4468,6 +4667,8 @@ + ./$(DEPDIR)/chdir.Po ./$(DEPDIR)/check_sigblock.Po \ + ./$(DEPDIR)/check_sigign.Po ./$(DEPDIR)/chmod--secontext.Po \ + ./$(DEPDIR)/chmod--secontext_full.Po ./$(DEPDIR)/chmod.Po \ ++ ./$(DEPDIR)/chmod--secontext_full_mismatch.Po \ ++ ./$(DEPDIR)/chmod--secontext_mismatch.Po \ + ./$(DEPDIR)/chown.Po ./$(DEPDIR)/chown32.Po \ + ./$(DEPDIR)/chroot.Po ./$(DEPDIR)/clock_adjtime.Po \ + ./$(DEPDIR)/clock_adjtime64.Po ./$(DEPDIR)/clock_nanosleep.Po \ +@@ -4503,14 +4704,22 @@ + ./$(DEPDIR)/epoll_wait.Po ./$(DEPDIR)/erestartsys.Po \ + ./$(DEPDIR)/eventfd.Po ./$(DEPDIR)/execve--secontext.Po \ + ./$(DEPDIR)/execve--secontext_full.Po ./$(DEPDIR)/execve-v.Po \ ++ ./$(DEPDIR)/execve--secontext_full_mismatch.Po \ ++ ./$(DEPDIR)/execve--secontext_mismatch.Po \ + ./$(DEPDIR)/execve.Po ./$(DEPDIR)/execveat--secontext.Po \ + ./$(DEPDIR)/execveat--secontext_full.Po \ ++ ./$(DEPDIR)/execveat--secontext_full_mismatch.Po \ ++ ./$(DEPDIR)/execveat--secontext_mismatch.Po \ + ./$(DEPDIR)/execveat-v.Po ./$(DEPDIR)/execveat.Po \ + ./$(DEPDIR)/faccessat--secontext.Po \ + ./$(DEPDIR)/faccessat--secontext_full.Po \ ++ ./$(DEPDIR)/faccessat--secontext_full_mismatch.Po \ ++ ./$(DEPDIR)/faccessat--secontext_mismatch.Po \ + ./$(DEPDIR)/faccessat-P.Po \ + ./$(DEPDIR)/faccessat-y--secontext.Po \ + ./$(DEPDIR)/faccessat-y--secontext_full.Po \ ++ ./$(DEPDIR)/faccessat-y--secontext_full_mismatch.Po \ ++ ./$(DEPDIR)/faccessat-y--secontext_mismatch.Po \ + ./$(DEPDIR)/faccessat-y.Po ./$(DEPDIR)/faccessat-yy.Po \ + ./$(DEPDIR)/faccessat.Po ./$(DEPDIR)/faccessat2-P.Po \ + ./$(DEPDIR)/faccessat2-y.Po ./$(DEPDIR)/faccessat2-yy.Po \ +@@ -4519,26 +4728,38 @@ + ./$(DEPDIR)/fanotify_init.Po \ + ./$(DEPDIR)/fanotify_mark--secontext.Po \ + ./$(DEPDIR)/fanotify_mark--secontext_full.Po \ ++ ./$(DEPDIR)/fanotify_mark--secontext_full_mismatch.Po \ ++ ./$(DEPDIR)/fanotify_mark--secontext_mismatch.Po \ + ./$(DEPDIR)/fanotify_mark-Xabbrev.Po \ + ./$(DEPDIR)/fanotify_mark-Xraw.Po \ + ./$(DEPDIR)/fanotify_mark-Xverbose.Po \ + ./$(DEPDIR)/fanotify_mark.Po ./$(DEPDIR)/fchdir.Po \ + ./$(DEPDIR)/fchmod--secontext.Po \ + ./$(DEPDIR)/fchmod--secontext_full.Po \ ++ ./$(DEPDIR)/fchmod--secontext_full_mismatch.Po \ ++ ./$(DEPDIR)/fchmod--secontext_mismatch.Po \ + ./$(DEPDIR)/fchmod-y--secontext.Po \ + ./$(DEPDIR)/fchmod-y--secontext_full.Po \ ++ ./$(DEPDIR)/fchmod-y--secontext_full_mismatch.Po \ ++ ./$(DEPDIR)/fchmod-y--secontext_mismatch.Po \ + ./$(DEPDIR)/fchmod-y.Po ./$(DEPDIR)/fchmod.Po \ + ./$(DEPDIR)/fchmodat--secontext.Po \ + ./$(DEPDIR)/fchmodat--secontext_full.Po \ ++ ./$(DEPDIR)/fchmodat--secontext_full_mismatch.Po \ ++ ./$(DEPDIR)/fchmodat--secontext_mismatch.Po \ + ./$(DEPDIR)/fchmodat.Po ./$(DEPDIR)/fchown.Po \ + ./$(DEPDIR)/fchown32.Po ./$(DEPDIR)/fchownat--secontext.Po \ + ./$(DEPDIR)/fchownat--secontext_full.Po \ ++ ./$(DEPDIR)/fchownat--secontext_full_mismatch.Po \ ++ ./$(DEPDIR)/fchownat--secontext_mismatch.Po \ + ./$(DEPDIR)/fchownat.Po \ + ./$(DEPDIR)/fcntl--pidns-translation.Po ./$(DEPDIR)/fcntl.Po \ + ./$(DEPDIR)/fcntl64--pidns-translation.Po \ + ./$(DEPDIR)/fcntl64.Po ./$(DEPDIR)/fdatasync.Po \ + ./$(DEPDIR)/fflush.Po ./$(DEPDIR)/file_handle--secontext.Po \ + ./$(DEPDIR)/file_handle--secontext_full.Po \ ++ ./$(DEPDIR)/file_handle--secontext_full_mismatch.Po \ ++ ./$(DEPDIR)/file_handle--secontext_mismatch.Po \ + ./$(DEPDIR)/file_handle.Po ./$(DEPDIR)/filter-unavailable.Po \ + ./$(DEPDIR)/filter_seccomp-flag.Po \ + ./$(DEPDIR)/filter_seccomp-perf.Po ./$(DEPDIR)/finit_module.Po \ +@@ -4753,6 +4972,8 @@ + ./$(DEPDIR)/libtests_a-xmalloc_for_tests.Po \ + ./$(DEPDIR)/link.Po ./$(DEPDIR)/linkat--secontext.Po \ + ./$(DEPDIR)/linkat--secontext_full.Po ./$(DEPDIR)/linkat.Po \ ++ ./$(DEPDIR)/linkat--secontext_full_mismatch.Po \ ++ ./$(DEPDIR)/linkat--secontext_mismatch.Po \ + ./$(DEPDIR)/list_sigaction_signum.Po ./$(DEPDIR)/llseek.Po \ + ./$(DEPDIR)/localtime.Po ./$(DEPDIR)/lookup_dcookie.Po \ + ./$(DEPDIR)/looping_threads.Po ./$(DEPDIR)/lseek.Po \ +@@ -4867,9 +5088,13 @@ + ./$(DEPDIR)/oldselect-efault.Po ./$(DEPDIR)/oldselect.Po \ + ./$(DEPDIR)/oldstat.Po ./$(DEPDIR)/open--secontext.Po \ + ./$(DEPDIR)/open--secontext_full.Po ./$(DEPDIR)/open.Po \ ++ ./$(DEPDIR)/open--secontext_full_mismatch.Po \ ++ ./$(DEPDIR)/open--secontext_mismatch.Po \ + ./$(DEPDIR)/open_tree-P.Po ./$(DEPDIR)/open_tree.Po \ + ./$(DEPDIR)/openat--secontext.Po \ + ./$(DEPDIR)/openat--secontext_full.Po ./$(DEPDIR)/openat.Po \ ++ ./$(DEPDIR)/openat--secontext_full_mismatch.Po \ ++ ./$(DEPDIR)/openat--secontext_mismatch.Po \ + ./$(DEPDIR)/openat2-Xabbrev.Po ./$(DEPDIR)/openat2-Xraw.Po \ + ./$(DEPDIR)/openat2-Xverbose.Po \ + ./$(DEPDIR)/openat2-v-y-Xabbrev.Po \ +@@ -5119,7 +5316,8 @@ + am__v_CCLD_1 = + SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.c accept.c \ + accept4.c access.c access--secontext.c \ +- access--secontext_full.c acct.c add_key.c adjtimex.c aio.c \ ++ access--secontext_full.c access--secontext_full_mismatch.c \ ++ access--secontext_mismatch.c acct.c add_key.c adjtimex.c aio.c \ + aio_pgetevents.c alarm.c answer.c attach-f-p.c \ + attach-f-p-cmd.c attach-p-cmd-cmd.c attach-p-cmd-p.c \ + block_reset_raise_run.c block_reset_run.c bpf.c \ +@@ -4468,7 +4666,8 @@ + bpf-success.c bpf-success-long-y.c bpf-success-v.c bpf-v.c \ + brk.c btrfs.c caps.c caps-abbrev.c chdir.c check_sigblock.c \ + check_sigign.c chmod.c chmod--secontext.c \ +- chmod--secontext_full.c chown.c chown32.c chroot.c \ ++ chmod--secontext_full.c chmod--secontext_full_mismatch.c \ ++ chmod--secontext_mismatch.c chown.c chown32.c chroot.c \ + clock_adjtime.c clock_adjtime64.c clock_nanosleep.c \ + clock_xettime.c clock_xettime64.c clone-flags.c clone3.c \ + clone3-Xabbrev.c clone3-Xraw.c clone3-Xverbose.c \ +@@ -4484,24 +4683,40 @@ + dup3-y.c dup3-yy.c epoll_create.c epoll_create1.c epoll_ctl.c \ + epoll_pwait.c epoll_pwait2.c epoll_pwait2-P.c epoll_pwait2-y.c \ + epoll_wait.c erestartsys.c eventfd.c execve.c \ +- execve--secontext.c execve--secontext_full.c execve-v.c \ +- execveat.c execveat--secontext.c execveat--secontext_full.c \ +- execveat-v.c faccessat.c faccessat--secontext.c \ +- faccessat--secontext_full.c faccessat-P.c faccessat-y.c \ ++ execve--secontext.c execve--secontext_full.c \ ++ execve--secontext_full_mismatch.c execve--secontext_mismatch.c \ ++ execve-v.c execveat.c execveat--secontext.c \ ++ execveat--secontext_full.c execveat--secontext_full_mismatch.c \ ++ execveat--secontext_mismatch.c execveat-v.c faccessat.c \ ++ faccessat--secontext.c faccessat--secontext_full.c \ ++ faccessat--secontext_full_mismatch.c \ ++ faccessat--secontext_mismatch.c faccessat-P.c faccessat-y.c \ + faccessat-y--secontext.c faccessat-y--secontext_full.c \ +- faccessat-yy.c faccessat2.c faccessat2-P.c faccessat2-y.c \ +- faccessat2-yy.c fadvise64.c fadvise64_64.c fallocate.c \ +- fanotify_init.c fanotify_mark.c fanotify_mark--secontext.c \ +- fanotify_mark--secontext_full.c fanotify_mark-Xabbrev.c \ ++ faccessat-y--secontext_full_mismatch.c \ ++ faccessat-y--secontext_mismatch.c faccessat-yy.c faccessat2.c \ ++ faccessat2-P.c faccessat2-y.c faccessat2-yy.c fadvise64.c \ ++ fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \ ++ fanotify_mark--secontext.c fanotify_mark--secontext_full.c \ ++ fanotify_mark--secontext_full_mismatch.c \ ++ fanotify_mark--secontext_mismatch.c fanotify_mark-Xabbrev.c \ + fanotify_mark-Xraw.c fanotify_mark-Xverbose.c fchdir.c \ + fchmod.c fchmod--secontext.c fchmod--secontext_full.c \ ++ fchmod--secontext_full_mismatch.c fchmod--secontext_mismatch.c \ + fchmod-y.c fchmod-y--secontext.c fchmod-y--secontext_full.c \ +- fchmodat.c fchmodat--secontext.c fchmodat--secontext_full.c \ +- fchown.c fchown32.c fchownat.c fchownat--secontext.c \ +- fchownat--secontext_full.c fcntl.c fcntl--pidns-translation.c \ +- fcntl64.c fcntl64--pidns-translation.c fdatasync.c fflush.c \ ++ fchmod-y--secontext_full_mismatch.c \ ++ fchmod-y--secontext_mismatch.c fchmodat.c \ ++ fchmodat--secontext.c fchmodat--secontext_full.c \ ++ fchmodat--secontext_full_mismatch.c \ ++ fchmodat--secontext_mismatch.c fchown.c fchown32.c fchownat.c \ ++ fchownat--secontext.c fchownat--secontext_full.c \ ++ fchownat--secontext_full_mismatch.c \ ++ fchownat--secontext_mismatch.c fcntl.c \ ++ fcntl--pidns-translation.c fcntl64.c \ ++ fcntl64--pidns-translation.c fdatasync.c fflush.c \ + file_handle.c file_handle--secontext.c \ +- file_handle--secontext_full.c filter-unavailable.c \ ++ file_handle--secontext_full.c \ ++ file_handle--secontext_full_mismatch.c \ ++ file_handle--secontext_mismatch.c filter-unavailable.c \ + filter_seccomp-flag.c filter_seccomp-perf.c finit_module.c \ + flock.c fork--pidns-translation.c fork-f.c fsconfig.c \ + fsconfig-P.c fsmount.c fsopen.c fspick.c fspick-P.c fstat.c \ +@@ -4588,6 +4803,7 @@ + landlock_create_ruleset-y.c landlock_restrict_self.c \ + landlock_restrict_self-y.c lchown.c lchown32.c link.c linkat.c \ + linkat--secontext.c linkat--secontext_full.c \ ++ linkat--secontext_full_mismatch.c linkat--secontext_mismatch.c \ + list_sigaction_signum.c llseek.c localtime.c lookup_dcookie.c \ + looping_threads.c lseek.c lstat.c lstat64.c madvise.c \ + maybe_switch_current_tcp.c \ +@@ -4641,8 +4857,10 @@ + old_mmap-v-none.c oldfstat.c oldlstat.c oldselect.c \ + oldselect-P.c oldselect-efault.c oldselect-efault-P.c \ + oldstat.c open.c open--secontext.c open--secontext_full.c \ ++ open--secontext_full_mismatch.c open--secontext_mismatch.c \ + open_tree.c open_tree-P.c openat.c openat--secontext.c \ +- openat--secontext_full.c openat2.c openat2-Xabbrev.c \ ++ openat--secontext_full.c openat--secontext_full_mismatch.c \ ++ openat--secontext_mismatch.c openat2.c openat2-Xabbrev.c \ + openat2-Xraw.c openat2-Xverbose.c openat2-v.c openat2-v-y.c \ + openat2-v-y-Xabbrev.c openat2-v-y-Xraw.c \ + openat2-v-y-Xverbose.c openat2-y.c orphaned_process_group.c \ +@@ -4753,7 +4971,8 @@ + xetpriority--pidns-translation.c xettimeofday.c zeroargc.c + DIST_SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.c \ + accept.c accept4.c access.c access--secontext.c \ +- access--secontext_full.c acct.c add_key.c adjtimex.c aio.c \ ++ access--secontext_full.c access--secontext_full_mismatch.c \ ++ access--secontext_mismatch.c acct.c add_key.c adjtimex.c aio.c \ + aio_pgetevents.c alarm.c answer.c attach-f-p.c \ + attach-f-p-cmd.c attach-p-cmd-cmd.c attach-p-cmd-p.c \ + block_reset_raise_run.c block_reset_run.c bpf.c \ +@@ -4762,7 +4981,8 @@ + bpf-success.c bpf-success-long-y.c bpf-success-v.c bpf-v.c \ + brk.c btrfs.c caps.c caps-abbrev.c chdir.c check_sigblock.c \ + check_sigign.c chmod.c chmod--secontext.c \ +- chmod--secontext_full.c chown.c chown32.c chroot.c \ ++ chmod--secontext_full.c chmod--secontext_full_mismatch.c \ ++ chmod--secontext_mismatch.c chown.c chown32.c chroot.c \ + clock_adjtime.c clock_adjtime64.c clock_nanosleep.c \ + clock_xettime.c clock_xettime64.c clone-flags.c clone3.c \ + clone3-Xabbrev.c clone3-Xraw.c clone3-Xverbose.c \ +@@ -4778,24 +4998,40 @@ + dup3-y.c dup3-yy.c epoll_create.c epoll_create1.c epoll_ctl.c \ + epoll_pwait.c epoll_pwait2.c epoll_pwait2-P.c epoll_pwait2-y.c \ + epoll_wait.c erestartsys.c eventfd.c execve.c \ +- execve--secontext.c execve--secontext_full.c execve-v.c \ +- execveat.c execveat--secontext.c execveat--secontext_full.c \ +- execveat-v.c faccessat.c faccessat--secontext.c \ +- faccessat--secontext_full.c faccessat-P.c faccessat-y.c \ ++ execve--secontext.c execve--secontext_full.c \ ++ execve--secontext_full_mismatch.c execve--secontext_mismatch.c \ ++ execve-v.c execveat.c execveat--secontext.c \ ++ execveat--secontext_full.c execveat--secontext_full_mismatch.c \ ++ execveat--secontext_mismatch.c execveat-v.c faccessat.c \ ++ faccessat--secontext.c faccessat--secontext_full.c \ ++ faccessat--secontext_full_mismatch.c \ ++ faccessat--secontext_mismatch.c faccessat-P.c faccessat-y.c \ + faccessat-y--secontext.c faccessat-y--secontext_full.c \ +- faccessat-yy.c faccessat2.c faccessat2-P.c faccessat2-y.c \ +- faccessat2-yy.c fadvise64.c fadvise64_64.c fallocate.c \ +- fanotify_init.c fanotify_mark.c fanotify_mark--secontext.c \ +- fanotify_mark--secontext_full.c fanotify_mark-Xabbrev.c \ ++ faccessat-y--secontext_full_mismatch.c \ ++ faccessat-y--secontext_mismatch.c faccessat-yy.c faccessat2.c \ ++ faccessat2-P.c faccessat2-y.c faccessat2-yy.c fadvise64.c \ ++ fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \ ++ fanotify_mark--secontext.c fanotify_mark--secontext_full.c \ ++ fanotify_mark--secontext_full_mismatch.c \ ++ fanotify_mark--secontext_mismatch.c fanotify_mark-Xabbrev.c \ + fanotify_mark-Xraw.c fanotify_mark-Xverbose.c fchdir.c \ + fchmod.c fchmod--secontext.c fchmod--secontext_full.c \ ++ fchmod--secontext_full_mismatch.c fchmod--secontext_mismatch.c \ + fchmod-y.c fchmod-y--secontext.c fchmod-y--secontext_full.c \ +- fchmodat.c fchmodat--secontext.c fchmodat--secontext_full.c \ +- fchown.c fchown32.c fchownat.c fchownat--secontext.c \ +- fchownat--secontext_full.c fcntl.c fcntl--pidns-translation.c \ +- fcntl64.c fcntl64--pidns-translation.c fdatasync.c fflush.c \ ++ fchmod-y--secontext_full_mismatch.c \ ++ fchmod-y--secontext_mismatch.c fchmodat.c \ ++ fchmodat--secontext.c fchmodat--secontext_full.c \ ++ fchmodat--secontext_full_mismatch.c \ ++ fchmodat--secontext_mismatch.c fchown.c fchown32.c fchownat.c \ ++ fchownat--secontext.c fchownat--secontext_full.c \ ++ fchownat--secontext_full_mismatch.c \ ++ fchownat--secontext_mismatch.c fcntl.c \ ++ fcntl--pidns-translation.c fcntl64.c \ ++ fcntl64--pidns-translation.c fdatasync.c fflush.c \ + file_handle.c file_handle--secontext.c \ +- file_handle--secontext_full.c filter-unavailable.c \ ++ file_handle--secontext_full.c \ ++ file_handle--secontext_full_mismatch.c \ ++ file_handle--secontext_mismatch.c filter-unavailable.c \ + filter_seccomp-flag.c filter_seccomp-perf.c finit_module.c \ + flock.c fork--pidns-translation.c fork-f.c fsconfig.c \ + fsconfig-P.c fsmount.c fsopen.c fspick.c fspick-P.c fstat.c \ +@@ -4882,6 +5118,7 @@ + landlock_create_ruleset-y.c landlock_restrict_self.c \ + landlock_restrict_self-y.c lchown.c lchown32.c link.c linkat.c \ + linkat--secontext.c linkat--secontext_full.c \ ++ linkat--secontext_full_mismatch.c linkat--secontext_mismatch.c \ + list_sigaction_signum.c llseek.c localtime.c lookup_dcookie.c \ + looping_threads.c lseek.c lstat.c lstat64.c madvise.c \ + maybe_switch_current_tcp.c \ +@@ -4935,8 +5172,10 @@ + old_mmap-v-none.c oldfstat.c oldlstat.c oldselect.c \ + oldselect-P.c oldselect-efault.c oldselect-efault-P.c \ + oldstat.c open.c open--secontext.c open--secontext_full.c \ ++ open--secontext_full_mismatch.c open--secontext_mismatch.c \ + open_tree.c open_tree-P.c openat.c openat--secontext.c \ +- openat--secontext_full.c openat2.c openat2-Xabbrev.c \ ++ openat--secontext_full.c openat--secontext_full_mismatch.c \ ++ openat--secontext_mismatch.c openat2.c openat2-Xabbrev.c \ + openat2-Xraw.c openat2-Xverbose.c openat2-v.c openat2-v-y.c \ + openat2-v-y-Xabbrev.c openat2-v-y-Xraw.c \ + openat2-v-y-Xverbose.c openat2-y.c orphaned_process_group.c \ +@@ -6212,66 +6451,126 @@ + secontext_EXECUTABLES = \ + access--secontext \ + access--secontext_full \ ++ access--secontext_full_mismatch \ ++ access--secontext_mismatch \ + chmod--secontext \ + chmod--secontext_full \ ++ chmod--secontext_full_mismatch \ ++ chmod--secontext_mismatch \ + execve--secontext \ + execve--secontext_full \ ++ execve--secontext_full_mismatch \ ++ execve--secontext_mismatch \ + execveat--secontext \ + execveat--secontext_full \ ++ execveat--secontext_full_mismatch \ ++ execveat--secontext_mismatch \ + faccessat--secontext \ + faccessat--secontext_full \ ++ faccessat--secontext_full_mismatch \ ++ faccessat--secontext_mismatch \ + faccessat-y--secontext \ + faccessat-y--secontext_full \ ++ faccessat-y--secontext_full_mismatch \ ++ faccessat-y--secontext_mismatch \ + fanotify_mark--secontext \ + fanotify_mark--secontext_full \ ++ fanotify_mark--secontext_full_mismatch \ ++ fanotify_mark--secontext_mismatch \ + fchmod--secontext \ + fchmod--secontext_full \ ++ fchmod--secontext_full_mismatch \ ++ fchmod--secontext_mismatch \ + fchmod-y--secontext \ + fchmod-y--secontext_full \ ++ fchmod-y--secontext_full_mismatch \ ++ fchmod-y--secontext_mismatch \ + fchmodat--secontext \ + fchmodat--secontext_full \ ++ fchmodat--secontext_full_mismatch \ ++ fchmodat--secontext_mismatch \ + fchownat--secontext \ + fchownat--secontext_full \ ++ fchownat--secontext_full_mismatch \ ++ fchownat--secontext_mismatch \ + file_handle--secontext \ + file_handle--secontext_full \ ++ file_handle--secontext_full_mismatch \ ++ file_handle--secontext_mismatch \ + linkat--secontext \ + linkat--secontext_full \ ++ linkat--secontext_full_mismatch \ ++ linkat--secontext_mismatch \ + open--secontext \ + open--secontext_full \ ++ open--secontext_full_mismatch \ ++ open--secontext_mismatch \ + openat--secontext \ + openat--secontext_full \ ++ openat--secontext_full_mismatch \ ++ openat--secontext_mismatch \ + # + + access__secontext_LDADD = $(LDADD) $(libselinux_LDADD) + access__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) ++access__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) ++access__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) + chmod__secontext_LDADD = $(LDADD) $(libselinux_LDADD) + chmod__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) ++chmod__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) ++chmod__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) + execve__secontext_LDADD = $(LDADD) $(libselinux_LDADD) + execve__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) ++execve__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) ++execve__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) + execveat__secontext_LDADD = $(LDADD) $(libselinux_LDADD) + execveat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) ++execveat__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) ++execveat__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) + faccessat__secontext_LDADD = $(LDADD) $(libselinux_LDADD) + faccessat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) ++faccessat__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) ++faccessat__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) + faccessat_y__secontext_LDADD = $(LDADD) $(libselinux_LDADD) + faccessat_y__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) ++faccessat_y__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) ++faccessat_y__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) + fanotify_mark__secontext_LDADD = $(LDADD) $(libselinux_LDADD) + fanotify_mark__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) ++fanotify_mark__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) ++fanotify_mark__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) + fchmod__secontext_LDADD = $(LDADD) $(libselinux_LDADD) + fchmod__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) ++fchmod__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) ++fchmod__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) + fchmod_y__secontext_LDADD = $(LDADD) $(libselinux_LDADD) + fchmod_y__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) ++fchmod_y__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) ++fchmod_y__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) + fchmodat__secontext_LDADD = $(LDADD) $(libselinux_LDADD) + fchmodat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) ++fchmodat__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) ++fchmodat__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) + fchownat__secontext_LDADD = $(LDADD) $(libselinux_LDADD) + fchownat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) ++fchownat__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) ++fchownat__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) + file_handle__secontext_LDADD = $(LDADD) $(libselinux_LDADD) + file_handle__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) ++file_handle__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) ++file_handle__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) + linkat__secontext_LDADD = $(LDADD) $(libselinux_LDADD) + linkat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) ++linkat__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) ++linkat__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) + open__secontext_LDADD = $(LDADD) $(libselinux_LDADD) + open__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) ++open__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) ++open__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) + openat__secontext_LDADD = $(LDADD) $(libselinux_LDADD) + openat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD) ++openat__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) ++openat__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD) + attach_f_p_LDADD = -lpthread $(LDADD) + count_f_LDADD = -lpthread $(LDADD) + delay_LDADD = $(clock_LIBS) $(LDADD) +@@ -6325,15 +6624,20 @@ + # Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in; do not edit. + GEN_TESTS = _newselect.gen.test _newselect-P.gen.test accept.gen.test \ + accept4.gen.test access.gen.test access--secontext.gen.test \ +- access--secontext_full.gen.test acct.gen.test add_key.gen.test \ +- adjtimex.gen.test aio.gen.test aio_pgetevents.gen.test \ +- alarm.gen.test bpf.gen.test bpf-obj_get_info_by_fd.gen.test \ ++ access--secontext_full.gen.test \ ++ access--secontext_full_mismatch.gen.test \ ++ access--secontext_mismatch.gen.test acct.gen.test \ ++ add_key.gen.test adjtimex.gen.test aio.gen.test \ ++ aio_pgetevents.gen.test alarm.gen.test bpf.gen.test \ ++ bpf-obj_get_info_by_fd.gen.test \ + bpf-obj_get_info_by_fd-prog.gen.test \ + bpf-obj_get_info_by_fd-prog-v.gen.test \ + bpf-obj_get_info_by_fd-v.gen.test bpf-v.gen.test \ + btrfs.gen.test chdir.gen.test chmod.gen.test \ + chmod--secontext.gen.test chmod--secontext_full.gen.test \ +- chown.gen.test chown32.gen.test chroot.gen.test clock.gen.test \ ++ chmod--secontext_full_mismatch.gen.test \ ++ chmod--secontext_mismatch.gen.test chown.gen.test \ ++ chown32.gen.test chroot.gen.test clock.gen.test \ + clock_adjtime.gen.test clock_adjtime64.gen.test \ + clock_nanosleep.gen.test clock_xettime.gen.test \ + clock_xettime64.gen.test clone3.gen.test \ +@@ -6356,36 +6660,53 @@ + epoll_pwait2-P.gen.test epoll_pwait2-y.gen.test \ + epoll_wait.gen.test erestartsys.gen.test \ + execve--secontext.gen.test execve--secontext_full.gen.test \ +- execveat.gen.test execveat--secontext.gen.test \ +- execveat--secontext_full.gen.test execveat-v.gen.test \ ++ execve--secontext_full_mismatch.gen.test \ ++ execve--secontext_mismatch.gen.test execveat.gen.test \ ++ execveat--secontext.gen.test execveat--secontext_full.gen.test \ ++ execveat--secontext_full_mismatch.gen.test \ ++ execveat--secontext_mismatch.gen.test execveat-v.gen.test \ + faccessat--secontext.gen.test \ +- faccessat--secontext_full.gen.test faccessat-P.gen.test \ ++ faccessat--secontext_full.gen.test \ ++ faccessat--secontext_full_mismatch.gen.test \ ++ faccessat--secontext_mismatch.gen.test faccessat-P.gen.test \ + faccessat-y.gen.test faccessat-y--secontext.gen.test \ +- faccessat-y--secontext_full.gen.test faccessat-yy.gen.test \ ++ faccessat-y--secontext_full.gen.test \ ++ faccessat-y--secontext_full_mismatch.gen.test \ ++ faccessat-y--secontext_mismatch.gen.test faccessat-yy.gen.test \ + faccessat2-P.gen.test faccessat2-y.gen.test \ + faccessat2-yy.gen.test fadvise64_64.gen.test \ + fallocate.gen.test fanotify_init.gen.test \ + fanotify_mark.gen.test fanotify_mark--secontext.gen.test \ + fanotify_mark--secontext_full.gen.test \ ++ fanotify_mark--secontext_full_mismatch.gen.test \ ++ fanotify_mark--secontext_mismatch.gen.test \ + fanotify_mark-Xabbrev.gen.test fanotify_mark-Xraw.gen.test \ + fanotify_mark-Xverbose.gen.test fchdir.gen.test \ + fchmod.gen.test fchmod--secontext.gen.test \ +- fchmod--secontext_full.gen.test fchmod-y.gen.test \ ++ fchmod--secontext_full.gen.test \ ++ fchmod--secontext_full_mismatch.gen.test \ ++ fchmod--secontext_mismatch.gen.test fchmod-y.gen.test \ + fchmod-y--secontext.gen.test fchmod-y--secontext_full.gen.test \ +- fchmodat.gen.test fchmodat--secontext.gen.test \ +- fchmodat--secontext_full.gen.test fchown.gen.test \ ++ fchmod-y--secontext_full_mismatch.gen.test \ ++ fchmod-y--secontext_mismatch.gen.test fchmodat.gen.test \ ++ fchmodat--secontext.gen.test fchmodat--secontext_full.gen.test \ ++ fchmodat--secontext_full_mismatch.gen.test \ ++ fchmodat--secontext_mismatch.gen.test fchown.gen.test \ + fchown32.gen.test fchownat.gen.test \ + fchownat--secontext.gen.test fchownat--secontext_full.gen.test \ +- fcntl.gen.test fcntl--pidns-translation.gen.test \ +- fcntl64.gen.test fcntl64--pidns-translation.gen.test \ +- fdatasync.gen.test file_handle.gen.test \ +- file_handle--secontext.gen.test \ +- file_handle--secontext_full.gen.test filter_seccomp.gen.test \ +- filter_seccomp-flag.gen.test finit_module.gen.test \ +- flock.gen.test fork-f.gen.test fsconfig.gen.test \ +- fsconfig-P.gen.test fsmount.gen.test fsopen.gen.test \ +- fspick.gen.test fspick-P.gen.test fstat.gen.test \ +- fstat-Xabbrev.gen.test fstat-Xraw.gen.test \ ++ fchownat--secontext_full_mismatch.gen.test \ ++ fchownat--secontext_mismatch.gen.test fcntl.gen.test \ ++ fcntl--pidns-translation.gen.test fcntl64.gen.test \ ++ fcntl64--pidns-translation.gen.test fdatasync.gen.test \ ++ file_handle.gen.test file_handle--secontext.gen.test \ ++ file_handle--secontext_full.gen.test \ ++ file_handle--secontext_full_mismatch.gen.test \ ++ file_handle--secontext_mismatch.gen.test \ ++ filter_seccomp.gen.test filter_seccomp-flag.gen.test \ ++ finit_module.gen.test flock.gen.test fork-f.gen.test \ ++ fsconfig.gen.test fsconfig-P.gen.test fsmount.gen.test \ ++ fsopen.gen.test fspick.gen.test fspick-P.gen.test \ ++ fstat.gen.test fstat-Xabbrev.gen.test fstat-Xraw.gen.test \ + fstat-Xverbose.gen.test fstat64.gen.test \ + fstat64-Xabbrev.gen.test fstat64-Xraw.gen.test \ + fstat64-Xverbose.gen.test fstatat64.gen.test fstatfs.gen.test \ +@@ -6512,8 +6833,10 @@ + landlock_restrict_self-y.gen.test lchown.gen.test \ + lchown32.gen.test link.gen.test linkat.gen.test \ + linkat--secontext.gen.test linkat--secontext_full.gen.test \ +- lookup_dcookie.gen.test lstat.gen.test lstat64.gen.test \ +- madvise.gen.test maybe_switch_current_tcp.gen.test \ ++ linkat--secontext_full_mismatch.gen.test \ ++ linkat--secontext_mismatch.gen.test lookup_dcookie.gen.test \ ++ lstat.gen.test lstat64.gen.test madvise.gen.test \ ++ maybe_switch_current_tcp.gen.test \ + maybe_switch_current_tcp--quiet-thread-execve.gen.test \ + mbind.gen.test mbind-Xabbrev.gen.test mbind-Xraw.gen.test \ + mbind-Xverbose.gen.test membarrier.gen.test \ +@@ -6582,16 +6905,19 @@ + oldselect.gen.test oldselect-P.gen.test \ + oldselect-efault.gen.test oldselect-efault-P.gen.test \ + oldstat.gen.test open.gen.test open--secontext.gen.test \ +- open--secontext_full.gen.test open_tree.gen.test \ ++ open--secontext_full.gen.test \ ++ open--secontext_full_mismatch.gen.test \ ++ open--secontext_mismatch.gen.test open_tree.gen.test \ + open_tree-P.gen.test openat.gen.test \ + openat--secontext.gen.test openat--secontext_full.gen.test \ +- openat2.gen.test openat2-Xabbrev.gen.test \ +- openat2-Xraw.gen.test openat2-Xverbose.gen.test \ +- openat2-v.gen.test openat2-v-y.gen.test \ +- openat2-v-y-Xabbrev.gen.test openat2-v-y-Xraw.gen.test \ +- openat2-v-y-Xverbose.gen.test openat2-y.gen.test \ +- orphaned_process_group.gen.test osf_utimes.gen.test \ +- pause.gen.test perf_event_open.gen.test \ ++ openat--secontext_full_mismatch.gen.test \ ++ openat--secontext_mismatch.gen.test openat2.gen.test \ ++ openat2-Xabbrev.gen.test openat2-Xraw.gen.test \ ++ openat2-Xverbose.gen.test openat2-v.gen.test \ ++ openat2-v-y.gen.test openat2-v-y-Xabbrev.gen.test \ ++ openat2-v-y-Xraw.gen.test openat2-v-y-Xverbose.gen.test \ ++ openat2-y.gen.test orphaned_process_group.gen.test \ ++ osf_utimes.gen.test pause.gen.test perf_event_open.gen.test \ + perf_event_open_nonverbose.gen.test \ + perf_event_open_unabbrev.gen.test personality-Xabbrev.gen.test \ + personality-Xraw.gen.test personality-Xverbose.gen.test \ +@@ -7155,6 +7481,14 @@ + @rm -f access--secontext_full$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(access__secontext_full_OBJECTS) $(access__secontext_full_LDADD) $(LIBS) + ++access--secontext_full_mismatch$(EXEEXT): $(access__secontext_full_mismatch_OBJECTS) $(access__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_access__secontext_full_mismatch_DEPENDENCIES) ++ @rm -f access--secontext_full_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(access__secontext_full_mismatch_OBJECTS) $(access__secontext_full_mismatch_LDADD) $(LIBS) ++ ++access--secontext_mismatch$(EXEEXT): $(access__secontext_mismatch_OBJECTS) $(access__secontext_mismatch_DEPENDENCIES) $(EXTRA_access__secontext_mismatch_DEPENDENCIES) ++ @rm -f access--secontext_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(access__secontext_mismatch_OBJECTS) $(access__secontext_mismatch_LDADD) $(LIBS) ++ + acct$(EXEEXT): $(acct_OBJECTS) $(acct_DEPENDENCIES) $(EXTRA_acct_DEPENDENCIES) + @rm -f acct$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(acct_OBJECTS) $(acct_LDADD) $(LIBS) +@@ -7283,6 +7617,14 @@ + @rm -f chmod--secontext_full$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(chmod__secontext_full_OBJECTS) $(chmod__secontext_full_LDADD) $(LIBS) + ++chmod--secontext_full_mismatch$(EXEEXT): $(chmod__secontext_full_mismatch_OBJECTS) $(chmod__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_chmod__secontext_full_mismatch_DEPENDENCIES) ++ @rm -f chmod--secontext_full_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(chmod__secontext_full_mismatch_OBJECTS) $(chmod__secontext_full_mismatch_LDADD) $(LIBS) ++ ++chmod--secontext_mismatch$(EXEEXT): $(chmod__secontext_mismatch_OBJECTS) $(chmod__secontext_mismatch_DEPENDENCIES) $(EXTRA_chmod__secontext_mismatch_DEPENDENCIES) ++ @rm -f chmod--secontext_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(chmod__secontext_mismatch_OBJECTS) $(chmod__secontext_mismatch_LDADD) $(LIBS) ++ + chown$(EXEEXT): $(chown_OBJECTS) $(chown_DEPENDENCIES) $(EXTRA_chown_DEPENDENCIES) + @rm -f chown$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(chown_OBJECTS) $(chown_LDADD) $(LIBS) +@@ -7527,6 +7869,14 @@ + @rm -f execve--secontext_full$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(execve__secontext_full_OBJECTS) $(execve__secontext_full_LDADD) $(LIBS) + ++execve--secontext_full_mismatch$(EXEEXT): $(execve__secontext_full_mismatch_OBJECTS) $(execve__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_execve__secontext_full_mismatch_DEPENDENCIES) ++ @rm -f execve--secontext_full_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(execve__secontext_full_mismatch_OBJECTS) $(execve__secontext_full_mismatch_LDADD) $(LIBS) ++ ++execve--secontext_mismatch$(EXEEXT): $(execve__secontext_mismatch_OBJECTS) $(execve__secontext_mismatch_DEPENDENCIES) $(EXTRA_execve__secontext_mismatch_DEPENDENCIES) ++ @rm -f execve--secontext_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(execve__secontext_mismatch_OBJECTS) $(execve__secontext_mismatch_LDADD) $(LIBS) ++ + execve-v$(EXEEXT): $(execve_v_OBJECTS) $(execve_v_DEPENDENCIES) $(EXTRA_execve_v_DEPENDENCIES) + @rm -f execve-v$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(execve_v_OBJECTS) $(execve_v_LDADD) $(LIBS) +@@ -7543,6 +7893,14 @@ + @rm -f execveat--secontext_full$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(execveat__secontext_full_OBJECTS) $(execveat__secontext_full_LDADD) $(LIBS) + ++execveat--secontext_full_mismatch$(EXEEXT): $(execveat__secontext_full_mismatch_OBJECTS) $(execveat__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_execveat__secontext_full_mismatch_DEPENDENCIES) ++ @rm -f execveat--secontext_full_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(execveat__secontext_full_mismatch_OBJECTS) $(execveat__secontext_full_mismatch_LDADD) $(LIBS) ++ ++execveat--secontext_mismatch$(EXEEXT): $(execveat__secontext_mismatch_OBJECTS) $(execveat__secontext_mismatch_DEPENDENCIES) $(EXTRA_execveat__secontext_mismatch_DEPENDENCIES) ++ @rm -f execveat--secontext_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(execveat__secontext_mismatch_OBJECTS) $(execveat__secontext_mismatch_LDADD) $(LIBS) ++ + execveat-v$(EXEEXT): $(execveat_v_OBJECTS) $(execveat_v_DEPENDENCIES) $(EXTRA_execveat_v_DEPENDENCIES) + @rm -f execveat-v$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(execveat_v_OBJECTS) $(execveat_v_LDADD) $(LIBS) +@@ -7559,6 +7917,14 @@ + @rm -f faccessat--secontext_full$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(faccessat__secontext_full_OBJECTS) $(faccessat__secontext_full_LDADD) $(LIBS) + ++faccessat--secontext_full_mismatch$(EXEEXT): $(faccessat__secontext_full_mismatch_OBJECTS) $(faccessat__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_faccessat__secontext_full_mismatch_DEPENDENCIES) ++ @rm -f faccessat--secontext_full_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(faccessat__secontext_full_mismatch_OBJECTS) $(faccessat__secontext_full_mismatch_LDADD) $(LIBS) ++ ++faccessat--secontext_mismatch$(EXEEXT): $(faccessat__secontext_mismatch_OBJECTS) $(faccessat__secontext_mismatch_DEPENDENCIES) $(EXTRA_faccessat__secontext_mismatch_DEPENDENCIES) ++ @rm -f faccessat--secontext_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(faccessat__secontext_mismatch_OBJECTS) $(faccessat__secontext_mismatch_LDADD) $(LIBS) ++ + faccessat-P$(EXEEXT): $(faccessat_P_OBJECTS) $(faccessat_P_DEPENDENCIES) $(EXTRA_faccessat_P_DEPENDENCIES) + @rm -f faccessat-P$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(faccessat_P_OBJECTS) $(faccessat_P_LDADD) $(LIBS) +@@ -7575,6 +7941,14 @@ + @rm -f faccessat-y--secontext_full$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(faccessat_y__secontext_full_OBJECTS) $(faccessat_y__secontext_full_LDADD) $(LIBS) + ++faccessat-y--secontext_full_mismatch$(EXEEXT): $(faccessat_y__secontext_full_mismatch_OBJECTS) $(faccessat_y__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_faccessat_y__secontext_full_mismatch_DEPENDENCIES) ++ @rm -f faccessat-y--secontext_full_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(faccessat_y__secontext_full_mismatch_OBJECTS) $(faccessat_y__secontext_full_mismatch_LDADD) $(LIBS) ++ ++faccessat-y--secontext_mismatch$(EXEEXT): $(faccessat_y__secontext_mismatch_OBJECTS) $(faccessat_y__secontext_mismatch_DEPENDENCIES) $(EXTRA_faccessat_y__secontext_mismatch_DEPENDENCIES) ++ @rm -f faccessat-y--secontext_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(faccessat_y__secontext_mismatch_OBJECTS) $(faccessat_y__secontext_mismatch_LDADD) $(LIBS) ++ + faccessat-yy$(EXEEXT): $(faccessat_yy_OBJECTS) $(faccessat_yy_DEPENDENCIES) $(EXTRA_faccessat_yy_DEPENDENCIES) + @rm -f faccessat-yy$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(faccessat_yy_OBJECTS) $(faccessat_yy_LDADD) $(LIBS) +@@ -7623,6 +7997,14 @@ + @rm -f fanotify_mark--secontext_full$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(fanotify_mark__secontext_full_OBJECTS) $(fanotify_mark__secontext_full_LDADD) $(LIBS) + ++fanotify_mark--secontext_full_mismatch$(EXEEXT): $(fanotify_mark__secontext_full_mismatch_OBJECTS) $(fanotify_mark__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_fanotify_mark__secontext_full_mismatch_DEPENDENCIES) ++ @rm -f fanotify_mark--secontext_full_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(fanotify_mark__secontext_full_mismatch_OBJECTS) $(fanotify_mark__secontext_full_mismatch_LDADD) $(LIBS) ++ ++fanotify_mark--secontext_mismatch$(EXEEXT): $(fanotify_mark__secontext_mismatch_OBJECTS) $(fanotify_mark__secontext_mismatch_DEPENDENCIES) $(EXTRA_fanotify_mark__secontext_mismatch_DEPENDENCIES) ++ @rm -f fanotify_mark--secontext_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(fanotify_mark__secontext_mismatch_OBJECTS) $(fanotify_mark__secontext_mismatch_LDADD) $(LIBS) ++ + fanotify_mark-Xabbrev$(EXEEXT): $(fanotify_mark_Xabbrev_OBJECTS) $(fanotify_mark_Xabbrev_DEPENDENCIES) $(EXTRA_fanotify_mark_Xabbrev_DEPENDENCIES) + @rm -f fanotify_mark-Xabbrev$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(fanotify_mark_Xabbrev_OBJECTS) $(fanotify_mark_Xabbrev_LDADD) $(LIBS) +@@ -7651,6 +8033,14 @@ + @rm -f fchmod--secontext_full$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(fchmod__secontext_full_OBJECTS) $(fchmod__secontext_full_LDADD) $(LIBS) + ++fchmod--secontext_full_mismatch$(EXEEXT): $(fchmod__secontext_full_mismatch_OBJECTS) $(fchmod__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_fchmod__secontext_full_mismatch_DEPENDENCIES) ++ @rm -f fchmod--secontext_full_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(fchmod__secontext_full_mismatch_OBJECTS) $(fchmod__secontext_full_mismatch_LDADD) $(LIBS) ++ ++fchmod--secontext_mismatch$(EXEEXT): $(fchmod__secontext_mismatch_OBJECTS) $(fchmod__secontext_mismatch_DEPENDENCIES) $(EXTRA_fchmod__secontext_mismatch_DEPENDENCIES) ++ @rm -f fchmod--secontext_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(fchmod__secontext_mismatch_OBJECTS) $(fchmod__secontext_mismatch_LDADD) $(LIBS) ++ + fchmod-y$(EXEEXT): $(fchmod_y_OBJECTS) $(fchmod_y_DEPENDENCIES) $(EXTRA_fchmod_y_DEPENDENCIES) + @rm -f fchmod-y$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(fchmod_y_OBJECTS) $(fchmod_y_LDADD) $(LIBS) +@@ -7663,6 +8053,14 @@ + @rm -f fchmod-y--secontext_full$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(fchmod_y__secontext_full_OBJECTS) $(fchmod_y__secontext_full_LDADD) $(LIBS) + ++fchmod-y--secontext_full_mismatch$(EXEEXT): $(fchmod_y__secontext_full_mismatch_OBJECTS) $(fchmod_y__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_fchmod_y__secontext_full_mismatch_DEPENDENCIES) ++ @rm -f fchmod-y--secontext_full_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(fchmod_y__secontext_full_mismatch_OBJECTS) $(fchmod_y__secontext_full_mismatch_LDADD) $(LIBS) ++ ++fchmod-y--secontext_mismatch$(EXEEXT): $(fchmod_y__secontext_mismatch_OBJECTS) $(fchmod_y__secontext_mismatch_DEPENDENCIES) $(EXTRA_fchmod_y__secontext_mismatch_DEPENDENCIES) ++ @rm -f fchmod-y--secontext_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(fchmod_y__secontext_mismatch_OBJECTS) $(fchmod_y__secontext_mismatch_LDADD) $(LIBS) ++ + fchmodat$(EXEEXT): $(fchmodat_OBJECTS) $(fchmodat_DEPENDENCIES) $(EXTRA_fchmodat_DEPENDENCIES) + @rm -f fchmodat$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(fchmodat_OBJECTS) $(fchmodat_LDADD) $(LIBS) +@@ -7675,6 +8073,14 @@ + @rm -f fchmodat--secontext_full$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(fchmodat__secontext_full_OBJECTS) $(fchmodat__secontext_full_LDADD) $(LIBS) + ++fchmodat--secontext_full_mismatch$(EXEEXT): $(fchmodat__secontext_full_mismatch_OBJECTS) $(fchmodat__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_fchmodat__secontext_full_mismatch_DEPENDENCIES) ++ @rm -f fchmodat--secontext_full_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(fchmodat__secontext_full_mismatch_OBJECTS) $(fchmodat__secontext_full_mismatch_LDADD) $(LIBS) ++ ++fchmodat--secontext_mismatch$(EXEEXT): $(fchmodat__secontext_mismatch_OBJECTS) $(fchmodat__secontext_mismatch_DEPENDENCIES) $(EXTRA_fchmodat__secontext_mismatch_DEPENDENCIES) ++ @rm -f fchmodat--secontext_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(fchmodat__secontext_mismatch_OBJECTS) $(fchmodat__secontext_mismatch_LDADD) $(LIBS) ++ + fchown$(EXEEXT): $(fchown_OBJECTS) $(fchown_DEPENDENCIES) $(EXTRA_fchown_DEPENDENCIES) + @rm -f fchown$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(fchown_OBJECTS) $(fchown_LDADD) $(LIBS) +@@ -7695,6 +8101,14 @@ + @rm -f fchownat--secontext_full$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(fchownat__secontext_full_OBJECTS) $(fchownat__secontext_full_LDADD) $(LIBS) + ++fchownat--secontext_full_mismatch$(EXEEXT): $(fchownat__secontext_full_mismatch_OBJECTS) $(fchownat__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_fchownat__secontext_full_mismatch_DEPENDENCIES) ++ @rm -f fchownat--secontext_full_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(fchownat__secontext_full_mismatch_OBJECTS) $(fchownat__secontext_full_mismatch_LDADD) $(LIBS) ++ ++fchownat--secontext_mismatch$(EXEEXT): $(fchownat__secontext_mismatch_OBJECTS) $(fchownat__secontext_mismatch_DEPENDENCIES) $(EXTRA_fchownat__secontext_mismatch_DEPENDENCIES) ++ @rm -f fchownat--secontext_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(fchownat__secontext_mismatch_OBJECTS) $(fchownat__secontext_mismatch_LDADD) $(LIBS) ++ + fcntl$(EXEEXT): $(fcntl_OBJECTS) $(fcntl_DEPENDENCIES) $(EXTRA_fcntl_DEPENDENCIES) + @rm -f fcntl$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(fcntl_OBJECTS) $(fcntl_LDADD) $(LIBS) +@@ -7731,6 +8145,14 @@ + @rm -f file_handle--secontext_full$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(file_handle__secontext_full_OBJECTS) $(file_handle__secontext_full_LDADD) $(LIBS) + ++file_handle--secontext_full_mismatch$(EXEEXT): $(file_handle__secontext_full_mismatch_OBJECTS) $(file_handle__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_file_handle__secontext_full_mismatch_DEPENDENCIES) ++ @rm -f file_handle--secontext_full_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(file_handle__secontext_full_mismatch_OBJECTS) $(file_handle__secontext_full_mismatch_LDADD) $(LIBS) ++ ++file_handle--secontext_mismatch$(EXEEXT): $(file_handle__secontext_mismatch_OBJECTS) $(file_handle__secontext_mismatch_DEPENDENCIES) $(EXTRA_file_handle__secontext_mismatch_DEPENDENCIES) ++ @rm -f file_handle--secontext_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(file_handle__secontext_mismatch_OBJECTS) $(file_handle__secontext_mismatch_LDADD) $(LIBS) ++ + filter-unavailable$(EXEEXT): $(filter_unavailable_OBJECTS) $(filter_unavailable_DEPENDENCIES) $(EXTRA_filter_unavailable_DEPENDENCIES) + @rm -f filter-unavailable$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(filter_unavailable_OBJECTS) $(filter_unavailable_LDADD) $(LIBS) +@@ -8775,6 +9197,14 @@ + @rm -f linkat--secontext_full$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(linkat__secontext_full_OBJECTS) $(linkat__secontext_full_LDADD) $(LIBS) + ++linkat--secontext_full_mismatch$(EXEEXT): $(linkat__secontext_full_mismatch_OBJECTS) $(linkat__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_linkat__secontext_full_mismatch_DEPENDENCIES) ++ @rm -f linkat--secontext_full_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(linkat__secontext_full_mismatch_OBJECTS) $(linkat__secontext_full_mismatch_LDADD) $(LIBS) ++ ++linkat--secontext_mismatch$(EXEEXT): $(linkat__secontext_mismatch_OBJECTS) $(linkat__secontext_mismatch_DEPENDENCIES) $(EXTRA_linkat__secontext_mismatch_DEPENDENCIES) ++ @rm -f linkat--secontext_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(linkat__secontext_mismatch_OBJECTS) $(linkat__secontext_mismatch_LDADD) $(LIBS) ++ + list_sigaction_signum$(EXEEXT): $(list_sigaction_signum_OBJECTS) $(list_sigaction_signum_DEPENDENCIES) $(EXTRA_list_sigaction_signum_DEPENDENCIES) + @rm -f list_sigaction_signum$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(list_sigaction_signum_OBJECTS) $(list_sigaction_signum_LDADD) $(LIBS) +@@ -9423,6 +9853,14 @@ + @rm -f open--secontext_full$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(open__secontext_full_OBJECTS) $(open__secontext_full_LDADD) $(LIBS) + ++open--secontext_full_mismatch$(EXEEXT): $(open__secontext_full_mismatch_OBJECTS) $(open__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_open__secontext_full_mismatch_DEPENDENCIES) ++ @rm -f open--secontext_full_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(open__secontext_full_mismatch_OBJECTS) $(open__secontext_full_mismatch_LDADD) $(LIBS) ++ ++open--secontext_mismatch$(EXEEXT): $(open__secontext_mismatch_OBJECTS) $(open__secontext_mismatch_DEPENDENCIES) $(EXTRA_open__secontext_mismatch_DEPENDENCIES) ++ @rm -f open--secontext_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(open__secontext_mismatch_OBJECTS) $(open__secontext_mismatch_LDADD) $(LIBS) ++ + open_tree$(EXEEXT): $(open_tree_OBJECTS) $(open_tree_DEPENDENCIES) $(EXTRA_open_tree_DEPENDENCIES) + @rm -f open_tree$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(open_tree_OBJECTS) $(open_tree_LDADD) $(LIBS) +@@ -9443,6 +9881,14 @@ + @rm -f openat--secontext_full$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(openat__secontext_full_OBJECTS) $(openat__secontext_full_LDADD) $(LIBS) + ++openat--secontext_full_mismatch$(EXEEXT): $(openat__secontext_full_mismatch_OBJECTS) $(openat__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_openat__secontext_full_mismatch_DEPENDENCIES) ++ @rm -f openat--secontext_full_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(openat__secontext_full_mismatch_OBJECTS) $(openat__secontext_full_mismatch_LDADD) $(LIBS) ++ ++openat--secontext_mismatch$(EXEEXT): $(openat__secontext_mismatch_OBJECTS) $(openat__secontext_mismatch_DEPENDENCIES) $(EXTRA_openat__secontext_mismatch_DEPENDENCIES) ++ @rm -f openat--secontext_mismatch$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(openat__secontext_mismatch_OBJECTS) $(openat__secontext_mismatch_LDADD) $(LIBS) ++ + openat2$(EXEEXT): $(openat2_OBJECTS) $(openat2_DEPENDENCIES) $(EXTRA_openat2_DEPENDENCIES) + @rm -f openat2$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(openat2_OBJECTS) $(openat2_LDADD) $(LIBS) +@@ -10835,6 +11281,8 @@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/accept4.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/access--secontext.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/access--secontext_full.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/access--secontext_full_mismatch.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/access--secontext_mismatch.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/access.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/acct.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/add_key.Po@am__quote@ # am--include-marker +@@ -10867,6 +11315,8 @@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_sigign.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmod--secontext.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmod--secontext_full.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmod--secontext_full_mismatch.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmod--secontext_mismatch.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmod.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chown.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chown32.Po@am__quote@ # am--include-marker +@@ -10928,17 +11378,25 @@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eventfd.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve--secontext.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve--secontext_full.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve--secontext_full_mismatch.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve--secontext_mismatch.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve-v.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat--secontext.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat--secontext_full.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat--secontext_full_mismatch.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat--secontext_mismatch.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat-v.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat--secontext.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat--secontext_full.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat--secontext_full_mismatch.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat--secontext_mismatch.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-P.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-y--secontext.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-y--secontext_full.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-y--secontext_full_mismatch.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-y--secontext_mismatch.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-y.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-yy.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat.Po@am__quote@ # am--include-marker +@@ -10952,6 +11410,8 @@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_init.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark--secontext.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark--secontext_full.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark--secontext_full_mismatch.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark--secontext_mismatch.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark-Xabbrev.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark-Xraw.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark-Xverbose.Po@am__quote@ # am--include-marker +@@ -10959,17 +11419,25 @@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchdir.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod--secontext.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod--secontext_full.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod--secontext_full_mismatch.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod--secontext_mismatch.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y--secontext.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y--secontext_full.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y--secontext_full_mismatch.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y--secontext_mismatch.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat--secontext.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat--secontext_full.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat--secontext_full_mismatch.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat--secontext_mismatch.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchown.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchown32.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat--secontext.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat--secontext_full.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat--secontext_full_mismatch.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat--secontext_mismatch.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl--pidns-translation.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl.Po@am__quote@ # am--include-marker +@@ -10979,6 +11447,8 @@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fflush.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_handle--secontext.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_handle--secontext_full.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_handle--secontext_full_mismatch.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_handle--secontext_mismatch.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_handle.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filter-unavailable.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filter_seccomp-flag.Po@am__quote@ # am--include-marker +@@ -11276,6 +11746,8 @@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/link.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat--secontext.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat--secontext_full.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat--secontext_full_mismatch.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat--secontext_mismatch.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/list_sigaction_signum.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/llseek.Po@am__quote@ # am--include-marker +@@ -11438,11 +11910,15 @@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oldstat.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open--secontext.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open--secontext_full.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open--secontext_full_mismatch.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open--secontext_mismatch.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open_tree-P.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open_tree.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat--secontext.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat--secontext_full.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat--secontext_full_mismatch.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat--secontext_mismatch.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat2-Xabbrev.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat2-Xraw.Po@am__quote@ # am--include-marker +@@ -13004,6 +13480,12 @@ + $(srcdir)/access--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + ++$(srcdir)/access--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ ++$(srcdir)/access--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ + $(srcdir)/acct.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +@@ -13055,6 +13537,12 @@ + $(srcdir)/chmod--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + ++$(srcdir)/chmod--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ ++$(srcdir)/chmod--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ + $(srcdir)/chown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +@@ -13220,6 +13708,12 @@ + $(srcdir)/execve--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + ++$(srcdir)/execve--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ ++$(srcdir)/execve--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ + $(srcdir)/execveat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +@@ -13229,6 +13723,12 @@ + $(srcdir)/execveat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + ++$(srcdir)/execveat--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ ++$(srcdir)/execveat--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ + $(srcdir)/execveat-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +@@ -13238,6 +13738,12 @@ + $(srcdir)/faccessat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + ++$(srcdir)/faccessat--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ ++$(srcdir)/faccessat--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ + $(srcdir)/faccessat-P.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +@@ -13250,6 +13756,12 @@ + $(srcdir)/faccessat-y--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + ++$(srcdir)/faccessat-y--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ ++$(srcdir)/faccessat-y--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ + $(srcdir)/faccessat-yy.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +@@ -13280,6 +13792,12 @@ + $(srcdir)/fanotify_mark--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + ++$(srcdir)/fanotify_mark--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ ++$(srcdir)/fanotify_mark--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ + $(srcdir)/fanotify_mark-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +@@ -13301,6 +13819,12 @@ + $(srcdir)/fchmod--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + ++$(srcdir)/fchmod--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ ++$(srcdir)/fchmod--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ + $(srcdir)/fchmod-y.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +@@ -13310,6 +13834,12 @@ + $(srcdir)/fchmod-y--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + ++$(srcdir)/fchmod-y--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ ++$(srcdir)/fchmod-y--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ + $(srcdir)/fchmodat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +@@ -13319,6 +13849,12 @@ + $(srcdir)/fchmodat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + ++$(srcdir)/fchmodat--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ ++$(srcdir)/fchmodat--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ + $(srcdir)/fchown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +@@ -13334,6 +13870,12 @@ + $(srcdir)/fchownat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + ++$(srcdir)/fchownat--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ ++$(srcdir)/fchownat--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ + $(srcdir)/fcntl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +@@ -13358,6 +13900,12 @@ + $(srcdir)/file_handle--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + ++$(srcdir)/file_handle--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ ++$(srcdir)/file_handle--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ + $(srcdir)/filter_seccomp.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +@@ -14117,6 +14665,12 @@ + $(srcdir)/linkat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + ++$(srcdir)/linkat--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ ++$(srcdir)/linkat--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ + $(srcdir)/lookup_dcookie.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +@@ -14546,6 +15100,12 @@ + $(srcdir)/open--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + ++$(srcdir)/open--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ ++$(srcdir)/open--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ + $(srcdir)/open_tree.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +@@ -14561,6 +15121,12 @@ + $(srcdir)/openat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + ++$(srcdir)/openat--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ ++$(srcdir)/openat--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in ++ $(AM_V_GEN) $^ $@ ++ + $(srcdir)/openat2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in + $(AM_V_GEN) $^ $@ + +--- old/configure 2022-02-07 20:23:38.732063729 +0100 ++++ configure 2022-02-07 20:24:00.604063427 +0100 +@@ -18438,7 +18438,7 @@ + saved_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $libselinux_LDFLAGS" + missing= +- for func in getpidcon getfilecon; do ++ for func in getpidcon getfilecon selabel_open selabel_lookup; do + as_ac_Lib=`$as_echo "ac_cv_lib_selinux_$func" | $as_tr_sh` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $func in -lselinux" >&5 + $as_echo_n "checking for $func in -lselinux... " >&6; } +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests/access--secontext_mismatch.c 2022-02-07 20:42:23.500048176 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "access--secontext.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests/chmod--secontext_mismatch.c 2022-02-07 20:42:23.500048176 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "chmod--secontext.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests/execveat--secontext_mismatch.c 2022-02-07 20:42:23.504048176 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "execveat--secontext.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests/execve--secontext_mismatch.c 2022-02-07 20:42:23.504048176 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "execve--secontext.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests/faccessat--secontext_mismatch.c 2022-02-07 20:42:23.504048176 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "faccessat--secontext.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests/faccessat-y--secontext_mismatch.c 2022-02-07 20:42:23.508048176 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "faccessat-y--secontext.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests/fanotify_mark--secontext_mismatch.c 2022-02-07 20:42:23.508048176 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "fanotify_mark--secontext.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests/fchmodat--secontext_mismatch.c 2022-02-07 20:42:23.512048175 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "fchmodat--secontext.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests/fchmod--secontext_mismatch.c 2022-02-07 20:42:23.512048175 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "fchmod--secontext.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests/fchmod-y--secontext_mismatch.c 2022-02-07 20:42:23.512048175 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "fchmod-y--secontext.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests/fchownat--secontext_mismatch.c 2022-02-07 20:42:23.516048175 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "fchownat--secontext.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests/file_handle--secontext_mismatch.c 2022-02-07 20:42:23.516048175 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "file_handle--secontext.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests/linkat--secontext_mismatch.c 2022-02-07 20:42:23.520048175 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "linkat--secontext.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests-m32/access--secontext_mismatch.c 2022-02-07 20:42:23.500048176 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "access--secontext.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests-m32/chmod--secontext_mismatch.c 2022-02-07 20:42:23.500048176 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "chmod--secontext.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests-m32/execveat--secontext_mismatch.c 2022-02-07 20:42:23.504048176 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "execveat--secontext.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests-m32/execve--secontext_mismatch.c 2022-02-07 20:42:23.504048176 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "execve--secontext.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests-m32/faccessat--secontext_mismatch.c 2022-02-07 20:42:23.504048176 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "faccessat--secontext.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests-m32/faccessat-y--secontext_mismatch.c 2022-02-07 20:42:23.508048176 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "faccessat-y--secontext.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests-m32/fanotify_mark--secontext_mismatch.c 2022-02-07 20:42:23.508048176 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "fanotify_mark--secontext.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests-m32/fchmodat--secontext_mismatch.c 2022-02-07 20:42:23.512048175 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "fchmodat--secontext.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests-m32/fchmod--secontext_mismatch.c 2022-02-07 20:42:23.512048175 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "fchmod--secontext.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests-m32/fchmod-y--secontext_mismatch.c 2022-02-07 20:42:23.512048175 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "fchmod-y--secontext.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests-m32/fchownat--secontext_mismatch.c 2022-02-07 20:42:23.516048175 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "fchownat--secontext.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests-m32/file_handle--secontext_mismatch.c 2022-02-07 20:42:23.516048175 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "file_handle--secontext.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests-m32/linkat--secontext_mismatch.c 2022-02-07 20:42:23.520048175 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "linkat--secontext.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests-m32/openat--secontext_mismatch.c 2022-02-07 20:42:23.520048175 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "openat--secontext.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests-m32/open--secontext_mismatch.c 2022-02-07 20:42:23.520048175 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "open--secontext.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests-mx32/access--secontext_mismatch.c 2022-02-07 20:42:23.500048176 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "access--secontext.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests-mx32/chmod--secontext_mismatch.c 2022-02-07 20:42:23.500048176 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "chmod--secontext.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests-mx32/execveat--secontext_mismatch.c 2022-02-07 20:42:23.504048176 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "execveat--secontext.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests-mx32/execve--secontext_mismatch.c 2022-02-07 20:42:23.504048176 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "execve--secontext.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests-mx32/faccessat--secontext_mismatch.c 2022-02-07 20:42:23.504048176 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "faccessat--secontext.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests-mx32/faccessat-y--secontext_mismatch.c 2022-02-07 20:42:23.508048176 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "faccessat-y--secontext.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests-mx32/fanotify_mark--secontext_mismatch.c 2022-02-07 20:42:23.508048176 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "fanotify_mark--secontext.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests-mx32/fchmodat--secontext_mismatch.c 2022-02-07 20:42:23.512048175 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "fchmodat--secontext.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests-mx32/fchmod--secontext_mismatch.c 2022-02-07 20:42:23.512048175 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "fchmod--secontext.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests-mx32/fchmod-y--secontext_mismatch.c 2022-02-07 20:42:23.512048175 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "fchmod-y--secontext.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests-mx32/fchownat--secontext_mismatch.c 2022-02-07 20:42:23.516048175 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "fchownat--secontext.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests-mx32/file_handle--secontext_mismatch.c 2022-02-07 20:42:23.516048175 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "file_handle--secontext.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests-mx32/linkat--secontext_mismatch.c 2022-02-07 20:42:23.520048175 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "linkat--secontext.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests-mx32/openat--secontext_mismatch.c 2022-02-07 20:42:23.520048175 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "openat--secontext.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests-mx32/open--secontext_mismatch.c 2022-02-07 20:42:23.520048175 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "open--secontext.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests/openat--secontext_mismatch.c 2022-02-07 20:42:23.520048175 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "openat--secontext.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests/open--secontext_mismatch.c 2022-02-07 20:42:23.520048175 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "open--secontext.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests/access--secontext_full_mismatch.c 2022-02-07 20:42:23.500048176 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "access--secontext_full.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests/chmod--secontext_full_mismatch.c 2022-02-07 20:42:23.500048176 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "chmod--secontext_full.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests/execveat--secontext_full_mismatch.c 2022-02-07 20:42:23.504048176 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "execveat--secontext_full.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests/execve--secontext_full_mismatch.c 2022-02-07 20:42:23.500048176 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "execve--secontext_full.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests/faccessat--secontext_full_mismatch.c 2022-02-07 20:42:23.504048176 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "faccessat--secontext_full.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests/faccessat-y--secontext_full_mismatch.c 2022-02-07 20:42:23.508048176 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "faccessat-y--secontext_full.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests/fanotify_mark--secontext_full_mismatch.c 2022-02-07 20:42:23.508048176 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "fanotify_mark--secontext_full.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests/fchmodat--secontext_full_mismatch.c 2022-02-07 20:42:23.512048175 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "fchmodat--secontext_full.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests/fchmod--secontext_full_mismatch.c 2022-02-07 20:42:23.508048176 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "fchmod--secontext_full.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests/fchmod-y--secontext_full_mismatch.c 2022-02-07 20:42:23.512048175 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "fchmod-y--secontext_full.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests/fchownat--secontext_full_mismatch.c 2022-02-07 20:42:23.516048175 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "fchownat--secontext_full.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests/file_handle--secontext_full_mismatch.c 2022-02-07 20:42:23.516048175 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "file_handle--secontext_full.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests/linkat--secontext_full_mismatch.c 2022-02-07 20:42:23.516048175 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "linkat--secontext_full.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests-m32/access--secontext_full_mismatch.c 2022-02-07 20:42:23.500048176 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "access--secontext_full.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests-m32/chmod--secontext_full_mismatch.c 2022-02-07 20:42:23.500048176 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "chmod--secontext_full.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests-m32/execveat--secontext_full_mismatch.c 2022-02-07 20:42:23.504048176 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "execveat--secontext_full.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests-m32/execve--secontext_full_mismatch.c 2022-02-07 20:42:23.500048176 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "execve--secontext_full.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests-m32/faccessat--secontext_full_mismatch.c 2022-02-07 20:42:23.504048176 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "faccessat--secontext_full.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests-m32/faccessat-y--secontext_full_mismatch.c 2022-02-07 20:42:23.508048176 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "faccessat-y--secontext_full.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests-m32/fanotify_mark--secontext_full_mismatch.c 2022-02-07 20:42:23.508048176 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "fanotify_mark--secontext_full.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests-m32/fchmodat--secontext_full_mismatch.c 2022-02-07 20:42:23.512048175 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "fchmodat--secontext_full.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests-m32/fchmod--secontext_full_mismatch.c 2022-02-07 20:42:23.508048176 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "fchmod--secontext_full.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests-m32/fchmod-y--secontext_full_mismatch.c 2022-02-07 20:42:23.512048175 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "fchmod-y--secontext_full.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests-m32/fchownat--secontext_full_mismatch.c 2022-02-07 20:42:23.516048175 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "fchownat--secontext_full.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests-m32/file_handle--secontext_full_mismatch.c 2022-02-07 20:42:23.516048175 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "file_handle--secontext_full.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests-m32/linkat--secontext_full_mismatch.c 2022-02-07 20:42:23.516048175 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "linkat--secontext_full.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests-m32/openat--secontext_full_mismatch.c 2022-02-07 20:42:23.520048175 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "openat--secontext_full.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests-m32/open--secontext_full_mismatch.c 2022-02-07 20:42:23.520048175 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "open--secontext_full.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests-mx32/access--secontext_full_mismatch.c 2022-02-07 20:42:23.500048176 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "access--secontext_full.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests-mx32/chmod--secontext_full_mismatch.c 2022-02-07 20:42:23.500048176 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "chmod--secontext_full.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests-mx32/execveat--secontext_full_mismatch.c 2022-02-07 20:42:23.504048176 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "execveat--secontext_full.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests-mx32/execve--secontext_full_mismatch.c 2022-02-07 20:42:23.500048176 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "execve--secontext_full.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests-mx32/faccessat--secontext_full_mismatch.c 2022-02-07 20:42:23.504048176 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "faccessat--secontext_full.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests-mx32/faccessat-y--secontext_full_mismatch.c 2022-02-07 20:42:23.508048176 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "faccessat-y--secontext_full.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests-mx32/fanotify_mark--secontext_full_mismatch.c 2022-02-07 20:42:23.508048176 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "fanotify_mark--secontext_full.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests-mx32/fchmodat--secontext_full_mismatch.c 2022-02-07 20:42:23.512048175 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "fchmodat--secontext_full.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests-mx32/fchmod--secontext_full_mismatch.c 2022-02-07 20:42:23.508048176 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "fchmod--secontext_full.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests-mx32/fchmod-y--secontext_full_mismatch.c 2022-02-07 20:42:23.512048175 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "fchmod-y--secontext_full.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests-mx32/fchownat--secontext_full_mismatch.c 2022-02-07 20:42:23.516048175 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "fchownat--secontext_full.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests-mx32/file_handle--secontext_full_mismatch.c 2022-02-07 20:42:23.516048175 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "file_handle--secontext_full.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests-mx32/linkat--secontext_full_mismatch.c 2022-02-07 20:42:23.516048175 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "linkat--secontext_full.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests-mx32/openat--secontext_full_mismatch.c 2022-02-07 20:42:23.520048175 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "openat--secontext_full.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests-mx32/open--secontext_full_mismatch.c 2022-02-07 20:42:23.520048175 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "open--secontext_full.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests/openat--secontext_full_mismatch.c 2022-02-07 20:42:23.520048175 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "openat--secontext_full.c" +--- /dev/null 2022-02-02 22:09:50.443209891 +0100 ++++ new/tests/open--secontext_full_mismatch.c 2022-02-07 20:42:23.520048175 +0100 +@@ -0,0 +1,2 @@ ++#define PRINT_SECONTEXT_MISMATCH ++#include "open--secontext_full.c" +-- +2.1.4 + diff --git a/SOURCES/0170-tests-linkat-reset-errno-before-SELinux-context-mani.patch b/SOURCES/0170-tests-linkat-reset-errno-before-SELinux-context-mani.patch new file mode 100644 index 0000000..78f92d3 --- /dev/null +++ b/SOURCES/0170-tests-linkat-reset-errno-before-SELinux-context-mani.patch @@ -0,0 +1,122 @@ +From f5fd689e40322a7b08a97eb2d26f192610728230 Mon Sep 17 00:00:00 2001 +From: Eugene Syromyatnikov +Date: Tue, 18 Jan 2022 16:10:28 +0100 +Subject: [PATCH 170/174] tests/linkat: reset errno before SELinux context + manipulation + +To avoid printing a stale error information in case of mismatch check +failure. + +* tests/linkat.c: Include . +(main): Add "errno = 0" before update_secontext_field calls. +--- + tests/linkat.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/tests/linkat.c b/tests/linkat.c +index 1a869e3..c3e2ee4 100644 +--- a/tests/linkat.c ++++ b/tests/linkat.c +@@ -10,6 +10,7 @@ + #include "tests.h" + #include "scno.h" + ++#include + #include + #include + #include +@@ -91,6 +92,7 @@ main(void) + free(sample_1_secontext); + + #ifdef PRINT_SECONTEXT_MISMATCH ++ errno = 0; + update_secontext_field(sample_1, SECONTEXT_USER, "system_u"); + sample_1_secontext = SECONTEXT_FILE(sample_1); + +@@ -112,6 +114,7 @@ main(void) + free(sample_1_secontext); + #endif + ++ errno = 0; + update_secontext_field(sample_1, SECONTEXT_TYPE, "default_t"); + sample_1_secontext = SECONTEXT_FILE(sample_1); + sample_2_secontext = sample_1_secontext; +@@ -142,6 +145,7 @@ main(void) + int dfd_old = get_dir_fd("."); + char *cwd = get_fd_path(dfd_old); + ++ errno = 0; + update_secontext_field(".", SECONTEXT_TYPE, "default_t"); + char *dfd_old_secontext = SECONTEXT_FILE("."); + +--- a/tests-m32/linkat.c ++++ b/tests-m32/linkat.c +@@ -10,6 +10,7 @@ + #include "tests.h" + #include "scno.h" + ++#include + #include + #include + #include +@@ -91,6 +92,7 @@ main(void) + free(sample_1_secontext); + + #ifdef PRINT_SECONTEXT_MISMATCH ++ errno = 0; + update_secontext_field(sample_1, SECONTEXT_USER, "system_u"); + sample_1_secontext = SECONTEXT_FILE(sample_1); + +@@ -112,6 +114,7 @@ main(void) + free(sample_1_secontext); + #endif + ++ errno = 0; + update_secontext_field(sample_1, SECONTEXT_TYPE, "default_t"); + sample_1_secontext = SECONTEXT_FILE(sample_1); + sample_2_secontext = sample_1_secontext; +@@ -142,6 +145,7 @@ main(void) + int dfd_old = get_dir_fd("."); + char *cwd = get_fd_path(dfd_old); + ++ errno = 0; + update_secontext_field(".", SECONTEXT_TYPE, "default_t"); + char *dfd_old_secontext = SECONTEXT_FILE("."); + +--- a/tests-mx32/linkat.c ++++ b/tests-mx32/linkat.c +@@ -10,6 +10,7 @@ + #include "tests.h" + #include "scno.h" + ++#include + #include + #include + #include +@@ -91,6 +92,7 @@ main(void) + free(sample_1_secontext); + + #ifdef PRINT_SECONTEXT_MISMATCH ++ errno = 0; + update_secontext_field(sample_1, SECONTEXT_USER, "system_u"); + sample_1_secontext = SECONTEXT_FILE(sample_1); + +@@ -112,6 +114,7 @@ main(void) + free(sample_1_secontext); + #endif + ++ errno = 0; + update_secontext_field(sample_1, SECONTEXT_TYPE, "default_t"); + sample_1_secontext = SECONTEXT_FILE(sample_1); + sample_2_secontext = sample_1_secontext; +@@ -142,6 +145,7 @@ main(void) + int dfd_old = get_dir_fd("."); + char *cwd = get_fd_path(dfd_old); + ++ errno = 0; + update_secontext_field(".", SECONTEXT_TYPE, "default_t"); + char *dfd_old_secontext = SECONTEXT_FILE("."); + +-- +2.1.4 + diff --git a/SOURCES/0171-tests-secontext-add-secontext-field-getters.patch b/SOURCES/0171-tests-secontext-add-secontext-field-getters.patch new file mode 100644 index 0000000..fce5e5a --- /dev/null +++ b/SOURCES/0171-tests-secontext-add-secontext-field-getters.patch @@ -0,0 +1,356 @@ +From 4951286eb634c00c11883b851c91f3a21975eabd Mon Sep 17 00:00:00 2001 +From: Eugene Syromyatnikov +Date: Tue, 18 Jan 2022 18:03:57 +0100 +Subject: [PATCH 171/174] tests/secontext: add secontext field getters + +* tests/secontext.h (get_secontext_field, get_secontext_field_file): New +declarations. +* tests/secontext.c (get_type_from_context): Rename to... +(get_secontext_field): ...this; remove "static" qualifier; add "field" +argument, use it. +(raw_expected_secontext_short_file, raw_secontext_short_pid): Replace +get_type_from_context call with get_secontext_field. +(get_secontext_field_file): New function. +(raw_secontext_short_file): Replace body with get_secontext_field_file +call. +--- + tests/secontext.c | 27 +++++++++++++++------------ + tests/secontext.h | 20 ++++++++++++++++++++ + 2 files changed, 35 insertions(+), 12 deletions(-) + +diff --git a/tests/secontext.c b/tests/secontext.c +index 848eea9..52211ed 100644 +--- a/tests/secontext.c ++++ b/tests/secontext.c +@@ -56,8 +56,8 @@ strip_trailing_newlines(char *context) + return context; + } + +-static char * +-get_type_from_context(const char *full_context) ++char * ++get_secontext_field(const char *full_context, enum secontext_field field) + { + int saved_errno = errno; + +@@ -72,7 +72,7 @@ get_type_from_context(const char *full_context) + char *context = NULL; + for (token = strtok_r(ctx_copy, ":", &saveptr), i = 0; + token; token = strtok_r(NULL, ":", &saveptr), i++) { +- if (i == 2) { ++ if (i == field) { + context = xstrdup(token); + break; + } +@@ -122,7 +122,7 @@ raw_expected_secontext_short_file(const char *filename) + int saved_errno = errno; + + char *ctx = raw_expected_secontext_full_file(filename); +- char *type = get_type_from_context(ctx); ++ char *type = get_secontext_field(ctx, SECONTEXT_TYPE); + free(ctx); + + errno = saved_errno; +@@ -144,20 +144,23 @@ raw_secontext_full_file(const char *filename) + return full_secontext; + } + +-static char * +-raw_secontext_short_file(const char *filename) ++char * ++get_secontext_field_file(const char *file, enum secontext_field field) + { +- int saved_errno = errno; +- +- char *ctx = raw_secontext_full_file(filename); +- char *type = get_type_from_context(ctx); ++ char *ctx = raw_secontext_full_file(file); ++ char *type = get_secontext_field(ctx, field); + free(ctx); + +- errno = saved_errno; + return type; + } + + static char * ++raw_secontext_short_file(const char *filename) ++{ ++ return get_secontext_field_file(filename, SECONTEXT_TYPE); ++} ++ ++static char * + raw_secontext_full_pid(pid_t pid) + { + int saved_errno = errno; +@@ -178,7 +181,7 @@ raw_secontext_short_pid(pid_t pid) + int saved_errno = errno; + + char *ctx = raw_secontext_full_pid(pid); +- char *type = get_type_from_context(ctx); ++ char *type = get_secontext_field(ctx, SECONTEXT_TYPE); + free(ctx); + + errno = saved_errno; +diff --git a/tests/secontext.h b/tests/secontext.h +index 1d0251a..e5571d5 100644 +--- a/tests/secontext.h ++++ b/tests/secontext.h +@@ -23,6 +23,15 @@ enum secontext_field { + + #if defined TEST_SECONTEXT && defined HAVE_SELINUX_RUNTIME + ++/** ++ * Parse a SELinux context string and return a specified field, duplicated ++ * in a separate string. The caller is responsible for freeing the memory ++ * pointed by the returned value. ++ */ ++char *get_secontext_field(const char *full_context, enum secontext_field field); ++ ++char *get_secontext_field_file(const char *file, enum secontext_field field); ++ + void update_secontext_field(const char *file, enum secontext_field field, + const char *newvalue); + +@@ -48,6 +57,17 @@ void update_secontext_field(const char *file, enum secontext_field field, + + #else + ++static inline char * ++get_secontext_field(const char *ctx, enum secontext_field field) ++{ ++ return NULL; ++} ++static inline char * ++get_secontext_field_file(const char *file, enum secontext_field field) ++{ ++ return NULL; ++} ++ + static inline void + update_secontext_field(const char *file, enum secontext_field field, + const char *newvalue) +diff --git a/tests-m32/secontext.c b/tests-m32/secontext.c +index 848eea9..52211ed 100644 +--- a/tests-m32/secontext.c ++++ b/tests-m32/secontext.c +@@ -56,8 +56,8 @@ strip_trailing_newlines(char *context) + return context; + } + +-static char * +-get_type_from_context(const char *full_context) ++char * ++get_secontext_field(const char *full_context, enum secontext_field field) + { + int saved_errno = errno; + +@@ -72,7 +72,7 @@ get_type_from_context(const char *full_context) + char *context = NULL; + for (token = strtok_r(ctx_copy, ":", &saveptr), i = 0; + token; token = strtok_r(NULL, ":", &saveptr), i++) { +- if (i == 2) { ++ if (i == field) { + context = xstrdup(token); + break; + } +@@ -122,7 +122,7 @@ raw_expected_secontext_short_file(const char *filename) + int saved_errno = errno; + + char *ctx = raw_expected_secontext_full_file(filename); +- char *type = get_type_from_context(ctx); ++ char *type = get_secontext_field(ctx, SECONTEXT_TYPE); + free(ctx); + + errno = saved_errno; +@@ -144,20 +144,23 @@ raw_secontext_full_file(const char *filename) + return full_secontext; + } + +-static char * +-raw_secontext_short_file(const char *filename) ++char * ++get_secontext_field_file(const char *file, enum secontext_field field) + { +- int saved_errno = errno; +- +- char *ctx = raw_secontext_full_file(filename); +- char *type = get_type_from_context(ctx); ++ char *ctx = raw_secontext_full_file(file); ++ char *type = get_secontext_field(ctx, field); + free(ctx); + +- errno = saved_errno; + return type; + } + + static char * ++raw_secontext_short_file(const char *filename) ++{ ++ return get_secontext_field_file(filename, SECONTEXT_TYPE); ++} ++ ++static char * + raw_secontext_full_pid(pid_t pid) + { + int saved_errno = errno; +@@ -178,7 +181,7 @@ raw_secontext_short_pid(pid_t pid) + int saved_errno = errno; + + char *ctx = raw_secontext_full_pid(pid); +- char *type = get_type_from_context(ctx); ++ char *type = get_secontext_field(ctx, SECONTEXT_TYPE); + free(ctx); + + errno = saved_errno; +diff --git a/tests-m32/secontext.h b/tests-m32/secontext.h +index 1d0251a..e5571d5 100644 +--- a/tests-m32/secontext.h ++++ b/tests-m32/secontext.h +@@ -23,6 +23,15 @@ enum secontext_field { + + #if defined TEST_SECONTEXT && defined HAVE_SELINUX_RUNTIME + ++/** ++ * Parse a SELinux context string and return a specified field, duplicated ++ * in a separate string. The caller is responsible for freeing the memory ++ * pointed by the returned value. ++ */ ++char *get_secontext_field(const char *full_context, enum secontext_field field); ++ ++char *get_secontext_field_file(const char *file, enum secontext_field field); ++ + void update_secontext_field(const char *file, enum secontext_field field, + const char *newvalue); + +@@ -48,6 +57,17 @@ void update_secontext_field(const char *file, enum secontext_field field, + + #else + ++static inline char * ++get_secontext_field(const char *ctx, enum secontext_field field) ++{ ++ return NULL; ++} ++static inline char * ++get_secontext_field_file(const char *file, enum secontext_field field) ++{ ++ return NULL; ++} ++ + static inline void + update_secontext_field(const char *file, enum secontext_field field, + const char *newvalue) +diff --git a/tests-mx32/secontext.c b/tests-mx32/secontext.c +index 848eea9..52211ed 100644 +--- a/tests-mx32/secontext.c ++++ b/tests-mx32/secontext.c +@@ -56,8 +56,8 @@ strip_trailing_newlines(char *context) + return context; + } + +-static char * +-get_type_from_context(const char *full_context) ++char * ++get_secontext_field(const char *full_context, enum secontext_field field) + { + int saved_errno = errno; + +@@ -72,7 +72,7 @@ get_type_from_context(const char *full_context) + char *context = NULL; + for (token = strtok_r(ctx_copy, ":", &saveptr), i = 0; + token; token = strtok_r(NULL, ":", &saveptr), i++) { +- if (i == 2) { ++ if (i == field) { + context = xstrdup(token); + break; + } +@@ -122,7 +122,7 @@ raw_expected_secontext_short_file(const char *filename) + int saved_errno = errno; + + char *ctx = raw_expected_secontext_full_file(filename); +- char *type = get_type_from_context(ctx); ++ char *type = get_secontext_field(ctx, SECONTEXT_TYPE); + free(ctx); + + errno = saved_errno; +@@ -144,20 +144,23 @@ raw_secontext_full_file(const char *filename) + return full_secontext; + } + +-static char * +-raw_secontext_short_file(const char *filename) ++char * ++get_secontext_field_file(const char *file, enum secontext_field field) + { +- int saved_errno = errno; +- +- char *ctx = raw_secontext_full_file(filename); +- char *type = get_type_from_context(ctx); ++ char *ctx = raw_secontext_full_file(file); ++ char *type = get_secontext_field(ctx, field); + free(ctx); + +- errno = saved_errno; + return type; + } + + static char * ++raw_secontext_short_file(const char *filename) ++{ ++ return get_secontext_field_file(filename, SECONTEXT_TYPE); ++} ++ ++static char * + raw_secontext_full_pid(pid_t pid) + { + int saved_errno = errno; +@@ -178,7 +181,7 @@ raw_secontext_short_pid(pid_t pid) + int saved_errno = errno; + + char *ctx = raw_secontext_full_pid(pid); +- char *type = get_type_from_context(ctx); ++ char *type = get_secontext_field(ctx, SECONTEXT_TYPE); + free(ctx); + + errno = saved_errno; +diff --git a/tests-mx32/secontext.h b/tests-mx32/secontext.h +index 1d0251a..e5571d5 100644 +--- a/tests-mx32/secontext.h ++++ b/tests-mx32/secontext.h +@@ -23,6 +23,15 @@ enum secontext_field { + + #if defined TEST_SECONTEXT && defined HAVE_SELINUX_RUNTIME + ++/** ++ * Parse a SELinux context string and return a specified field, duplicated ++ * in a separate string. The caller is responsible for freeing the memory ++ * pointed by the returned value. ++ */ ++char *get_secontext_field(const char *full_context, enum secontext_field field); ++ ++char *get_secontext_field_file(const char *file, enum secontext_field field); ++ + void update_secontext_field(const char *file, enum secontext_field field, + const char *newvalue); + +@@ -48,6 +57,17 @@ void update_secontext_field(const char *file, enum secontext_field field, + + #else + ++static inline char * ++get_secontext_field(const char *ctx, enum secontext_field field) ++{ ++ return NULL; ++} ++static inline char * ++get_secontext_field_file(const char *file, enum secontext_field field) ++{ ++ return NULL; ++} ++ + static inline void + update_secontext_field(const char *file, enum secontext_field field, + const char *newvalue) +-- +2.1.4 + diff --git a/SOURCES/0172-tests-linkat-provide-fallback-values-for-secontext-f.patch b/SOURCES/0172-tests-linkat-provide-fallback-values-for-secontext-f.patch new file mode 100644 index 0000000..066c93a --- /dev/null +++ b/SOURCES/0172-tests-linkat-provide-fallback-values-for-secontext-f.patch @@ -0,0 +1,181 @@ +From 97e2742a7f1e6e113354911d04505ada3bfb5d70 Mon Sep 17 00:00:00 2001 +From: Eugene Syromyatnikov +Date: Tue, 18 Jan 2022 18:04:42 +0100 +Subject: [PATCH 172/174] tests/linkat: provide fallback values for secontext + fields changes + +* tests/linkat.c (mangle_secontext_field): New function. +(main): Replace calls to update_secontext_field +with mangle_secontext_field calls. +--- + tests/linkat.c | 23 ++++++++++++++++++++--- + 1 file changed, 20 insertions(+), 3 deletions(-) + +diff --git a/tests/linkat.c b/tests/linkat.c +index c3e2ee4..decb736 100644 +--- a/tests/linkat.c ++++ b/tests/linkat.c +@@ -21,6 +21,20 @@ + #include "secontext.h" + #include "xmalloc.h" + ++static void ++mangle_secontext_field(const char *path, enum secontext_field field, ++ const char *new_val, const char *fallback_val) ++{ ++ char *orig = get_secontext_field_file(path, field); ++ if (!orig) ++ return; ++ ++ update_secontext_field(path, field, ++ strcmp(new_val, orig) ? new_val : fallback_val); ++ ++ free(orig); ++} ++ + int + main(void) + { +@@ -93,7 +107,8 @@ main(void) + + #ifdef PRINT_SECONTEXT_MISMATCH + errno = 0; +- update_secontext_field(sample_1, SECONTEXT_USER, "system_u"); ++ mangle_secontext_field(sample_1, SECONTEXT_USER, "system_u", ++ "unconfined_u"); + sample_1_secontext = SECONTEXT_FILE(sample_1); + + # ifdef PRINT_SECONTEXT_FULL +@@ -115,7 +130,8 @@ main(void) + #endif + + errno = 0; +- update_secontext_field(sample_1, SECONTEXT_TYPE, "default_t"); ++ mangle_secontext_field(sample_1, SECONTEXT_TYPE, "default_t", ++ "unconfined_t"); + sample_1_secontext = SECONTEXT_FILE(sample_1); + sample_2_secontext = sample_1_secontext; + +@@ -146,7 +162,8 @@ main(void) + char *cwd = get_fd_path(dfd_old); + + errno = 0; +- update_secontext_field(".", SECONTEXT_TYPE, "default_t"); ++ mangle_secontext_field(".", SECONTEXT_TYPE, "default_t", ++ "unconfined_t"); + char *dfd_old_secontext = SECONTEXT_FILE("."); + + #ifdef PRINT_SECONTEXT_MISMATCH +diff --git a/tests-m32/linkat.c b/tests-m32/linkat.c +index c3e2ee4..decb736 100644 +--- a/tests-m32/linkat.c ++++ b/tests-m32/linkat.c +@@ -21,6 +21,20 @@ + #include "secontext.h" + #include "xmalloc.h" + ++static void ++mangle_secontext_field(const char *path, enum secontext_field field, ++ const char *new_val, const char *fallback_val) ++{ ++ char *orig = get_secontext_field_file(path, field); ++ if (!orig) ++ return; ++ ++ update_secontext_field(path, field, ++ strcmp(new_val, orig) ? new_val : fallback_val); ++ ++ free(orig); ++} ++ + int + main(void) + { +@@ -93,7 +107,8 @@ main(void) + + #ifdef PRINT_SECONTEXT_MISMATCH + errno = 0; +- update_secontext_field(sample_1, SECONTEXT_USER, "system_u"); ++ mangle_secontext_field(sample_1, SECONTEXT_USER, "system_u", ++ "unconfined_u"); + sample_1_secontext = SECONTEXT_FILE(sample_1); + + # ifdef PRINT_SECONTEXT_FULL +@@ -115,7 +130,8 @@ main(void) + #endif + + errno = 0; +- update_secontext_field(sample_1, SECONTEXT_TYPE, "default_t"); ++ mangle_secontext_field(sample_1, SECONTEXT_TYPE, "default_t", ++ "unconfined_t"); + sample_1_secontext = SECONTEXT_FILE(sample_1); + sample_2_secontext = sample_1_secontext; + +@@ -146,7 +162,8 @@ main(void) + char *cwd = get_fd_path(dfd_old); + + errno = 0; +- update_secontext_field(".", SECONTEXT_TYPE, "default_t"); ++ mangle_secontext_field(".", SECONTEXT_TYPE, "default_t", ++ "unconfined_t"); + char *dfd_old_secontext = SECONTEXT_FILE("."); + + #ifdef PRINT_SECONTEXT_MISMATCH +diff --git a/tests-mx32/linkat.c b/tests-mx32/linkat.c +index c3e2ee4..decb736 100644 +--- a/tests-mx32/linkat.c ++++ b/tests-mx32/linkat.c +@@ -21,6 +21,20 @@ + #include "secontext.h" + #include "xmalloc.h" + ++static void ++mangle_secontext_field(const char *path, enum secontext_field field, ++ const char *new_val, const char *fallback_val) ++{ ++ char *orig = get_secontext_field_file(path, field); ++ if (!orig) ++ return; ++ ++ update_secontext_field(path, field, ++ strcmp(new_val, orig) ? new_val : fallback_val); ++ ++ free(orig); ++} ++ + int + main(void) + { +@@ -93,7 +107,8 @@ main(void) + + #ifdef PRINT_SECONTEXT_MISMATCH + errno = 0; +- update_secontext_field(sample_1, SECONTEXT_USER, "system_u"); ++ mangle_secontext_field(sample_1, SECONTEXT_USER, "system_u", ++ "unconfined_u"); + sample_1_secontext = SECONTEXT_FILE(sample_1); + + # ifdef PRINT_SECONTEXT_FULL +@@ -115,7 +130,8 @@ main(void) + #endif + + errno = 0; +- update_secontext_field(sample_1, SECONTEXT_TYPE, "default_t"); ++ mangle_secontext_field(sample_1, SECONTEXT_TYPE, "default_t", ++ "unconfined_t"); + sample_1_secontext = SECONTEXT_FILE(sample_1); + sample_2_secontext = sample_1_secontext; + +@@ -146,7 +162,8 @@ main(void) + char *cwd = get_fd_path(dfd_old); + + errno = 0; +- update_secontext_field(".", SECONTEXT_TYPE, "default_t"); ++ mangle_secontext_field(".", SECONTEXT_TYPE, "default_t", ++ "unconfined_t"); + char *dfd_old_secontext = SECONTEXT_FILE("."); + + #ifdef PRINT_SECONTEXT_MISMATCH +-- +2.1.4 + diff --git a/SOURCES/0173-tests-secontext-eliminate-separate-secontext_format-.patch b/SOURCES/0173-tests-secontext-eliminate-separate-secontext_format-.patch new file mode 100644 index 0000000..c1eb4aa --- /dev/null +++ b/SOURCES/0173-tests-secontext-eliminate-separate-secontext_format-.patch @@ -0,0 +1,63 @@ +From 6e8aa3749cb7e11e9a59db996f79f036bf7ef263 Mon Sep 17 00:00:00 2001 +From: Eugene Syromyatnikov +Date: Tue, 18 Jan 2022 18:05:19 +0100 +Subject: [PATCH 173/174] tests/secontext: eliminate separate secontext_format + declaration + +* tests/secontext.c (secontext_format): Remove declaration, supply +the attributes to the definition. +--- + tests/secontext.c | 5 +---- + 1 file changed, 1 insertion(+), 4 deletions(-) + +diff --git a/tests/secontext.c b/tests/secontext.c +index 52211ed..ba271c8 100644 +--- a/tests/secontext.c ++++ b/tests/secontext.c +@@ -23,10 +23,7 @@ + # define TEST_SECONTEXT + # include "secontext.h" + +-static char * +-secontext_format(char *context, const char *fmt) +- ATTRIBUTE_FORMAT((printf, 2, 0)) ATTRIBUTE_MALLOC; +- ++ATTRIBUTE_FORMAT((printf, 2, 0)) ATTRIBUTE_MALLOC + static char * + secontext_format(char *context, const char *fmt) + { +diff --git a/tests-m32/secontext.c b/tests-m32/secontext.c +index 52211ed..ba271c8 100644 +--- a/tests-m32/secontext.c ++++ b/tests-m32/secontext.c +@@ -23,10 +23,7 @@ + # define TEST_SECONTEXT + # include "secontext.h" + +-static char * +-secontext_format(char *context, const char *fmt) +- ATTRIBUTE_FORMAT((printf, 2, 0)) ATTRIBUTE_MALLOC; +- ++ATTRIBUTE_FORMAT((printf, 2, 0)) ATTRIBUTE_MALLOC + static char * + secontext_format(char *context, const char *fmt) + { +diff --git a/tests-mx32/secontext.c b/tests-mx32/secontext.c +index 52211ed..ba271c8 100644 +--- a/tests-mx32/secontext.c ++++ b/tests-mx32/secontext.c +@@ -23,10 +23,7 @@ + # define TEST_SECONTEXT + # include "secontext.h" + +-static char * +-secontext_format(char *context, const char *fmt) +- ATTRIBUTE_FORMAT((printf, 2, 0)) ATTRIBUTE_MALLOC; +- ++ATTRIBUTE_FORMAT((printf, 2, 0)) ATTRIBUTE_MALLOC + static char * + secontext_format(char *context, const char *fmt) + { +-- +2.1.4 + diff --git a/SOURCES/0174-tests-linkat-reset-context-to-the-expected-one-if-a-.patch b/SOURCES/0174-tests-linkat-reset-context-to-the-expected-one-if-a-.patch new file mode 100644 index 0000000..9a34d01 --- /dev/null +++ b/SOURCES/0174-tests-linkat-reset-context-to-the-expected-one-if-a-.patch @@ -0,0 +1,190 @@ +From 78a81bcfb71ef3d9f6e8b1a32e123fbbc6112a60 Mon Sep 17 00:00:00 2001 +From: Eugene Syromyatnikov +Date: Tue, 18 Jan 2022 18:24:34 +0100 +Subject: [PATCH 174/174] tests/linkat: reset context to the expected one if a + mismatch has been detected + +* tests/secontext.h (reset_secontext_file): New declaration. +* tests/secontext.c (reset_secontext_file): New function. +* tests/linkat.c (main): Check that there is no initial mismatch +in the sample_1 context, reset it otherwise. +--- + tests/linkat.c | 3 +++ + tests/secontext.c | 7 +++++++ + tests/secontext.h | 7 +++++++ + 3 files changed, 17 insertions(+) + +diff --git a/tests/linkat.c b/tests/linkat.c +index decb736..781b85a 100644 +--- a/tests/linkat.c ++++ b/tests/linkat.c +@@ -103,6 +103,9 @@ main(void) + if (close(fd_sample_2)) + perror_msg_and_fail("close"); + ++ if (*sample_1_secontext && strstr(sample_1_secontext, "!!")) ++ reset_secontext_file(sample_1); ++ + free(sample_1_secontext); + + #ifdef PRINT_SECONTEXT_MISMATCH +diff --git a/tests/secontext.c b/tests/secontext.c +index ba271c8..94fadd4 100644 +--- a/tests/secontext.c ++++ b/tests/secontext.c +@@ -235,6 +235,13 @@ secontext_short_pid(pid_t pid) + return FORMAT_SPACE_AFTER(raw_secontext_short_pid(pid)); + } + ++void reset_secontext_file(const char *file) ++{ ++ char *proper_ctx = raw_expected_secontext_full_file(file); ++ (void) setfilecon(file, proper_ctx); ++ free(proper_ctx); ++} ++ + void + update_secontext_field(const char *file, enum secontext_field field, + const char *newvalue) +diff --git a/tests/secontext.h b/tests/secontext.h +index e5571d5..387263e 100644 +--- a/tests/secontext.h ++++ b/tests/secontext.h +@@ -32,6 +32,8 @@ char *get_secontext_field(const char *full_context, enum secontext_field field); + + char *get_secontext_field_file(const char *file, enum secontext_field field); + ++void reset_secontext_file(const char *file); ++ + void update_secontext_field(const char *file, enum secontext_field field, + const char *newvalue); + +@@ -69,6 +71,11 @@ get_secontext_field_file(const char *file, enum secontext_field field) + } + + static inline void ++reset_secontext_file(const char *file) ++{ ++} ++ ++static inline void + update_secontext_field(const char *file, enum secontext_field field, + const char *newvalue) + { +diff --git a/tests-m32/linkat.c b/tests-m32/linkat.c +index decb736..781b85a 100644 +--- a/tests-m32/linkat.c ++++ b/tests-m32/linkat.c +@@ -103,6 +103,9 @@ main(void) + if (close(fd_sample_2)) + perror_msg_and_fail("close"); + ++ if (*sample_1_secontext && strstr(sample_1_secontext, "!!")) ++ reset_secontext_file(sample_1); ++ + free(sample_1_secontext); + + #ifdef PRINT_SECONTEXT_MISMATCH +diff --git a/tests-m32/secontext.c b/tests-m32/secontext.c +index ba271c8..94fadd4 100644 +--- a/tests-m32/secontext.c ++++ b/tests-m32/secontext.c +@@ -235,6 +235,13 @@ secontext_short_pid(pid_t pid) + return FORMAT_SPACE_AFTER(raw_secontext_short_pid(pid)); + } + ++void reset_secontext_file(const char *file) ++{ ++ char *proper_ctx = raw_expected_secontext_full_file(file); ++ (void) setfilecon(file, proper_ctx); ++ free(proper_ctx); ++} ++ + void + update_secontext_field(const char *file, enum secontext_field field, + const char *newvalue) +diff --git a/tests-m32/secontext.h b/tests-m32/secontext.h +index e5571d5..387263e 100644 +--- a/tests-m32/secontext.h ++++ b/tests-m32/secontext.h +@@ -32,6 +32,8 @@ char *get_secontext_field(const char *full_context, enum secontext_field field); + + char *get_secontext_field_file(const char *file, enum secontext_field field); + ++void reset_secontext_file(const char *file); ++ + void update_secontext_field(const char *file, enum secontext_field field, + const char *newvalue); + +@@ -69,6 +71,11 @@ get_secontext_field_file(const char *file, enum secontext_field field) + } + + static inline void ++reset_secontext_file(const char *file) ++{ ++} ++ ++static inline void + update_secontext_field(const char *file, enum secontext_field field, + const char *newvalue) + { +diff --git a/tests-mx32/linkat.c b/tests-mx32/linkat.c +index decb736..781b85a 100644 +--- a/tests-mx32/linkat.c ++++ b/tests-mx32/linkat.c +@@ -103,6 +103,9 @@ main(void) + if (close(fd_sample_2)) + perror_msg_and_fail("close"); + ++ if (*sample_1_secontext && strstr(sample_1_secontext, "!!")) ++ reset_secontext_file(sample_1); ++ + free(sample_1_secontext); + + #ifdef PRINT_SECONTEXT_MISMATCH +diff --git a/tests-mx32/secontext.c b/tests-mx32/secontext.c +index ba271c8..94fadd4 100644 +--- a/tests-mx32/secontext.c ++++ b/tests-mx32/secontext.c +@@ -235,6 +235,13 @@ secontext_short_pid(pid_t pid) + return FORMAT_SPACE_AFTER(raw_secontext_short_pid(pid)); + } + ++void reset_secontext_file(const char *file) ++{ ++ char *proper_ctx = raw_expected_secontext_full_file(file); ++ (void) setfilecon(file, proper_ctx); ++ free(proper_ctx); ++} ++ + void + update_secontext_field(const char *file, enum secontext_field field, + const char *newvalue) +diff --git a/tests-mx32/secontext.h b/tests-mx32/secontext.h +index e5571d5..387263e 100644 +--- a/tests-mx32/secontext.h ++++ b/tests-mx32/secontext.h +@@ -32,6 +32,8 @@ char *get_secontext_field(const char *full_context, enum secontext_field field); + + char *get_secontext_field_file(const char *file, enum secontext_field field); + ++void reset_secontext_file(const char *file); ++ + void update_secontext_field(const char *file, enum secontext_field field, + const char *newvalue); + +@@ -69,6 +71,11 @@ get_secontext_field_file(const char *file, enum secontext_field field) + } + + static inline void ++reset_secontext_file(const char *file) ++{ ++} ++ ++static inline void + update_secontext_field(const char *file, enum secontext_field field, + const char *newvalue) + { +-- +2.1.4 + diff --git a/SOURCES/2003-undef-ARRAY_SIZE.patch b/SOURCES/2003-undef-ARRAY_SIZE.patch index e4e87bb..1ac46a4 100644 --- a/SOURCES/2003-undef-ARRAY_SIZE.patch +++ b/SOURCES/2003-undef-ARRAY_SIZE.patch @@ -1,7 +1,7 @@ -Index: strace-5.7/unwind.c +Index: strace-5.12/src/unwind.c =================================================================== ---- strace-5.7.orig/unwind.c 2018-12-10 01:00:00.000000000 +0100 -+++ strace-5.7/unwind.c 2020-06-02 11:13:42.777871147 +0200 +--- strace-5.12.orig/src/unwind.c 2018-12-10 01:00:00.000000000 +0100 ++++ strace-5.12/src/unwind.c 2020-06-02 11:13:42.777871147 +0200 @@ -9,6 +9,12 @@ #include "unwind.h" diff --git a/SPECS/strace.spec b/SPECS/strace.spec index c226283..c93e46b 100644 --- a/SPECS/strace.spec +++ b/SPECS/strace.spec @@ -1,14 +1,14 @@ Summary: Tracks and displays system calls associated with a running process Name: strace -Version: 5.7 -Release: 3%{?dist} +Version: 5.13 +Release: 4%{?dist} # The test suite is GPLv2+, all the rest is LGPLv2.1+. License: LGPL-2.1+ and GPL-2.0+ Group: Development/Debuggers URL: https://strace.io/ Source: https://strace.io/files/%{version}/%{name}-%{version}.tar.xz -BuildRequires: libacl-devel time gcc gzip +BuildRequires: libacl-devel time gcc gzip make BuildRequires: pkgconfig(bluez) BuildRequires: elfutils-devel binutils-devel BuildRequires: libselinux-devel @@ -144,97 +144,119 @@ BuildRequires: libselinux-devel #Patch111: 0111-xlat-update-uring_ops.patch ## v5.7~68 "tests: correct error message in io_uring_register test" #Patch112: 0112-tests-correct-error-message-in-io_uring_register-tes.patch -# v5.8~58 "io_uring: Remove struct io_cqring_offsets compile time asserts" -Patch113: 0113-io_uring-Remove-struct-io_cqring_offsets-compile-tim.patch -# v5.8~57 "io_uring: Add io_cqring_offset flags" -Patch114: 0114-io_uring-Add-io_cqring_offset-flags.patch -# v5.8~47 "xlat: update IORING_* constants" -Patch115: 0115-xlat-update-IORING_-constants.patch +## v5.8~58 "io_uring: Remove struct io_cqring_offsets compile time asserts" +#Patch113: 0113-io_uring-Remove-struct-io_cqring_offsets-compile-tim.patch +## v5.8~57 "io_uring: Add io_cqring_offset flags" +#Patch114: 0114-io_uring-Add-io_cqring_offset-flags.patch +## v5.8~47 "xlat: update IORING_* constants" +#Patch115: 0115-xlat-update-IORING_-constants.patch ## v5.5~71 "macros.h: introduce sizeof_field macro" #Patch116: 0116-macros.h-introduce-sizeof_field-macro.patch ## v5.5~49 "types: new infrastructure for automatic checking of structure types" #Patch117: 0117-types-new-infrastructure-for-automatic-checking-of-s.patch -# v5.8~59 "types: skip field lines that start with comments" -Patch118: 0118-types-skip-field-lines-that-start-with-comments.patch +## v5.8~59 "types: skip field lines that start with comments" +#Patch118: 0118-types-skip-field-lines-that-start-with-comments.patch ## PID namespace translation support ## https://bugzilla.redhat.com/1035434 ## https://bugzilla.redhat.com/1725113 https://bugzilla.redhat.com/1790836 ## https://bugzilla.redhat.com/1804334 https://bugzilla.redhat.com/1807458 # v5.8~62 "print_fields.h: add PRINT_FIELD_LEN macro" -Patch119: 0119-print_fields.h-add-PRINT_FIELD_LEN-macro.patch -# v5.8~61 "Move ilog* functions from util.c to defs.h" -Patch120: 0120-Move-ilog-functions-from-util.c-to-defs.h.patch +#Patch119: 0119-print_fields.h-add-PRINT_FIELD_LEN-macro.patch +## v5.8~61 "Move ilog* functions from util.c to defs.h" +#Patch120: 0120-Move-ilog-functions-from-util.c-to-defs.h.patch ## v5.8~59 "types: skip field lines that start with comments" #Patch121: 0121-types-skip-field-lines-that-start-with-comments.patch -# v5.8~54 "tests/inject-nf.test: replace getpid with geteuid" -Patch122: 0122-tests-inject-nf.test-replace-getpid-with-geteuid.patch -# v5.8~18 "fcntl: use print_fields.h macros" -Patch123: 0123-fcntl-use-print_fields.h-macros.patch -# v5.8~17 "kcmp: fix KCMP_FILE decoding" -Patch124: 0124-kcmp-fix-KCMP_FILE-decoding.patch -# v5.8~15 "printsiginfo: fix printing of siginfo_t.si_pid and siginfo_t.si_uid" -Patch125: 0125-printsiginfo-fix-printing-of-siginfo_t.si_pid-and-si.patch -# v5.8~14 "Use PRINT_FIELD_UID instead of printuid where appropriate" -Patch126: 0126-Use-PRINT_FIELD_UID-instead-of-printuid-where-approp.patch -# v5.8~10 "Consistently print process ids as signed integers" -Patch127: 0127-Consistently-print-process-ids-as-signed-integers.patch -# v5.8~9 "Remove tcb parameter of read_int_from_file" -Patch128: 0128-Remove-tcb-parameter-of-read_int_from_file.patch -# v5.8~6 "Add "struct tcb *" parameters to various functions" -Patch129: 0129-Add-struct-tcb-parameters-to-various-functions.patch -# v5.8~53 "Modify %process class: trace syscalls associated with process lifecycle" -Patch130: 0130-Modify-process-class-trace-syscalls-associated-with-.patch -# v5.8~5 "Introduce SYS_FUNC(tkill)" -Patch131: 0131-Introduce-SYS_FUNC-tkill.patch -# v5.8~4 "tests: check decoding of tkill syscall" -Patch132: 0132-tests-check-decoding-of-tkill-syscall.patch -# v5.8~3 "tests: check decoding of tgkill syscall" -Patch133: 0133-tests-check-decoding-of-tgkill-syscall.patch -# v5.8-5-gdea0284 "PID namespace translation support" -Patch134: 0134-PID-namespace-translation-support.patch -# v5.8-6-g173257d "Use printpid in decoders" -Patch135: 0135-Use-printpid-in-decoders.patch -# v5.8-7-g18c2208 "Use get_proc_pid for /proc paths" -Patch136: 0136-Use-get_proc_pid-for-proc-paths.patch -# v5.8-8-g7ecee07 "Implement testing framework for pidns" -Patch137: 0137-Implement-testing-framework-for-pidns.patch -# v5.8-9-gf350ce0 "Add tests for PID namespace translation" -Patch138: 0138-Add-tests-for-PID-namespace-translation.patch +## v5.8~54 "tests/inject-nf.test: replace getpid with geteuid" +#Patch122: 0122-tests-inject-nf.test-replace-getpid-with-geteuid.patch +## v5.8~18 "fcntl: use print_fields.h macros" +#Patch123: 0123-fcntl-use-print_fields.h-macros.patch +## v5.8~17 "kcmp: fix KCMP_FILE decoding" +#Patch124: 0124-kcmp-fix-KCMP_FILE-decoding.patch +## v5.8~15 "printsiginfo: fix printing of siginfo_t.si_pid and siginfo_t.si_uid" +#Patch125: 0125-printsiginfo-fix-printing-of-siginfo_t.si_pid-and-si.patch +## v5.8~14 "Use PRINT_FIELD_UID instead of printuid where appropriate" +#Patch126: 0126-Use-PRINT_FIELD_UID-instead-of-printuid-where-approp.patch +## v5.8~10 "Consistently print process ids as signed integers" +#Patch127: 0127-Consistently-print-process-ids-as-signed-integers.patch +## v5.8~9 "Remove tcb parameter of read_int_from_file" +#Patch128: 0128-Remove-tcb-parameter-of-read_int_from_file.patch +## v5.8~6 "Add "struct tcb *" parameters to various functions" +#Patch129: 0129-Add-struct-tcb-parameters-to-various-functions.patch +## v5.8~53 "Modify %process class: trace syscalls associated with process lifecycle" +#Patch130: 0130-Modify-process-class-trace-syscalls-associated-with-.patch +## v5.8~5 "Introduce SYS_FUNC(tkill)" +#Patch131: 0131-Introduce-SYS_FUNC-tkill.patch +## v5.8~4 "tests: check decoding of tkill syscall" +#Patch132: 0132-tests-check-decoding-of-tkill-syscall.patch +## v5.8~3 "tests: check decoding of tgkill syscall" +#Patch133: 0133-tests-check-decoding-of-tgkill-syscall.patch +## v5.8-5-gdea0284 "PID namespace translation support" +#Patch134: 0134-PID-namespace-translation-support.patch +## v5.8-6-g173257d "Use printpid in decoders" +#Patch135: 0135-Use-printpid-in-decoders.patch +## v5.8-7-g18c2208 "Use get_proc_pid for /proc paths" +#Patch136: 0136-Use-get_proc_pid-for-proc-paths.patch +## v5.8-8-g7ecee07 "Implement testing framework for pidns" +#Patch137: 0137-Implement-testing-framework-for-pidns.patch +## v5.8-9-gf350ce0 "Add tests for PID namespace translation" +#Patch138: 0138-Add-tests-for-PID-namespace-translation.patch -# v5.12~55 "tests: add fchmod-y test" -Patch142: 0142-tests-add-fchmod-y-test.patch -# v5.12~54 "tests: introduce create_and_enter_subdir and leave_and_remove_subdir" -Patch143: 0143-tests-introduce-create_and_enter_subdir-and-leave_an.patch -# v5.8~36 "tests: check decoding of faccessat syscall in -P, -y, and -yy modes" -Patch144: 0144-tests-check-decoding-of-faccessat-syscall-in-P-y-and.patch -# v5.12~97 "xmalloc: introduce xasprintf" -Patch145: 0145-xmalloc-introduce-xasprintf.patch -# v5.12~96 "tests: use xasprintf instead of asprintf" -Patch146: 0146-tests-use-xasprintf-instead-of-asprintf.patch -# v5.12~156 "file_handle: print f_handle as a hexadecimal string" -Patch147: 0147-file_handle-print-f_handle-as-a-hexadecimal-string.patch -# v5.10~47 "tests: fix execve test with fresh linux kernels" -Patch148: 0148-tests-fix-execve-test-with-fresh-linux-kernels.patch -# v5.12~49 "Implement --secontext[=full] option to display SELinux contexts" -Patch149: 0149-Implement-secontext-full-option-to-display-SELinux-c.patch +## v5.12~55 "tests: add fchmod-y test" +#Patch142: 0142-tests-add-fchmod-y-test.patch +## v5.12~54 "tests: introduce create_and_enter_subdir and leave_and_remove_subdir" +#Patch143: 0143-tests-introduce-create_and_enter_subdir-and-leave_an.patch +## v5.8~36 "tests: check decoding of faccessat syscall in -P, -y, and -yy modes" +#Patch144: 0144-tests-check-decoding-of-faccessat-syscall-in-P-y-and.patch +## v5.12~97 "xmalloc: introduce xasprintf" +#Patch145: 0145-xmalloc-introduce-xasprintf.patch +## v5.12~96 "tests: use xasprintf instead of asprintf" +#Patch146: 0146-tests-use-xasprintf-instead-of-asprintf.patch +## v5.12~156 "file_handle: print f_handle as a hexadecimal string" +#Patch147: 0147-file_handle-print-f_handle-as-a-hexadecimal-string.patch +## v5.10~47 "tests: fix execve test with fresh linux kernels" +#Patch148: 0148-tests-fix-execve-test-with-fresh-linux-kernels.patch +## v5.12~49 "Implement --secontext[=full] option to display SELinux contexts" +#Patch149: 0149-Implement-secontext-full-option-to-display-SELinux-c.patch # v5.13-14-g9623154 "m4/mpers.m4: generate HAVE_*_SELINUX_RUNTIME config defines" Patch155: 0155-m4-mpers.m4-generate-HAVE_-_SELINUX_RUNTIME-config-d.patch -# v5.9~28 "Introduce GLIBC_PREREQ_GE and GLIBC_PREREQ_LT macros" -Patch156: 0156-Introduce-GLIBC_PREREQ_GE-and-GLIBC_PREREQ_LT-macros.patch -# v5.9~27 "tests/ipc_msg.c: disable TEST_MSGCTL_BOGUS_ADDR on glibc >= 2.32" -Patch157: 0157-tests-ipc_msg.c-disable-TEST_MSGCTL_BOGUS_ADDR-on-gl.patch -# v5.10~46 "tests: disable TEST_MSGCTL_BOGUS_ADDR in ipc_msg test on glibc >= 2.31" -Patch158: 0158-tests-disable-TEST_MSGCTL_BOGUS_ADDR-in-ipc_msg-test.patch -# v5.10~22 "tests: disable tests for invalid msgctl commands on glibc >= 2.32" -Patch159: 0159-tests-disable-tests-for-invalid-msgctl-commands-on-g.patch -# v5.9~11 "tests: disable shmctl IPC_STAT test with a bogus address on glibc >= 2.32" -Patch160: 0160-tests-disable-shmctl-IPC_STAT-test-with-a-bogus-addr.patch -# v5.9~10 "tests: disable tests for invalid shmctl commands on glibc >= 2.32" -Patch161: 0161-tests-disable-tests-for-invalid-shmctl-commands-on-g.patch -# v5.9~12 "tests: disable tests for invalid semctl commands on glibc >= 2.32" -Patch162: 0162-tests-disable-tests-for-invalid-semctl-commands-on-g.patch +## v5.9~28 "Introduce GLIBC_PREREQ_GE and GLIBC_PREREQ_LT macros" +#Patch156: 0156-Introduce-GLIBC_PREREQ_GE-and-GLIBC_PREREQ_LT-macros.patch +## v5.9~27 "tests/ipc_msg.c: disable TEST_MSGCTL_BOGUS_ADDR on glibc >= 2.32" +#Patch157: 0157-tests-ipc_msg.c-disable-TEST_MSGCTL_BOGUS_ADDR-on-gl.patch +## v5.10~46 "tests: disable TEST_MSGCTL_BOGUS_ADDR in ipc_msg test on glibc >= 2.31" +#Patch158: 0158-tests-disable-TEST_MSGCTL_BOGUS_ADDR-in-ipc_msg-test.patch +## v5.10~22 "tests: disable tests for invalid msgctl commands on glibc >= 2.32" +#Patch159: 0159-tests-disable-tests-for-invalid-msgctl-commands-on-g.patch +## v5.9~11 "tests: disable shmctl IPC_STAT test with a bogus address on glibc >= 2.32" +#Patch160: 0160-tests-disable-shmctl-IPC_STAT-test-with-a-bogus-addr.patch +## v5.9~10 "tests: disable tests for invalid shmctl commands on glibc >= 2.32" +#Patch161: 0161-tests-disable-tests-for-invalid-shmctl-commands-on-g.patch +## v5.9~12 "tests: disable tests for invalid semctl commands on glibc >= 2.32" +#Patch162: 0162-tests-disable-tests-for-invalid-semctl-commands-on-g.patch + +# v5.13-55-g6b2191f "filter_qualify: free allocated data on the error path exit of parse_poke_token" +Patch163: 0163-filter_qualify-free-allocated-data-on-the-error-path.patch +# v5.13-56-g80dc60c "macros: expand BIT macros, add MASK macros; add *_SAFE macros" +Patch164: 0164-macros-expand-BIT-macros-add-MASK-macros-add-_SAFE-m.patch +# v5.13-58-g94ae5c2 "trie: use BIT* and MASK* macros" +Patch165: 0165-trie-use-BIT-and-MASK-macros.patch +# v5.13-65-g41b753e "tee: rewrite num_params access in tee_fetch_buf_data" +Patch166: 0166-tee-rewrite-num_params-access-in-tee_fetch_buf_data.patch + +# v5.15~1 "print_ifindex: fix IFNAME_QUOTED_SZ definition" +Patch167: 0167-print_ifindex-fix-IFNAME_QUOTED_SZ-definition.patch + +# v5.15~18 "m4: fix st_SELINUX check" +Patch168: 0168-m4-fix-st_SELINUX-check.patch +# v5.16~31 "Implement displaying of expected context upon mismatch" +Patch169: 0169-Implement-displaying-of-expected-context-upon-mismat.patch +Patch170: 0170-tests-linkat-reset-errno-before-SELinux-context-mani.patch +Patch171: 0171-tests-secontext-add-secontext-field-getters.patch +Patch172: 0172-tests-linkat-provide-fallback-values-for-secontext-f.patch +Patch173: 0173-tests-secontext-eliminate-separate-secontext_format-.patch +Patch174: 0174-tests-linkat-reset-context-to-the-expected-one-if-a-.patch ### Wire up rseq and kexec_file_load in order to avoid kexec_file_load ### test failure on aarch64. Addresses https://bugzilla.redhat.com/1676045 @@ -270,6 +292,12 @@ Provides: strace32 = %{evr} Obsoletes: strace32 < 4.24 %endif +# Fallback definitions for make_build/make_install macros +%{?!__make: %global __make %_bindir/make} +%{?!__install: %global __install %_bindir/install} +%{?!make_build: %global make_build %__make %{?_smp_mflags}} +%{?!make_install: %global make_install %__make install DESTDIR="%{?buildroot}" INSTALL="%__install -p"} + %description The strace program intercepts and records the system calls called and received by a running process. Strace can print a record of each @@ -332,48 +360,60 @@ received by a process. #%patch110 -p1 #%patch111 -p1 #%patch112 -p1 -%patch113 -p1 -%patch114 -p1 -%patch115 -p1 +#%patch113 -p1 +#%patch114 -p1 +#%patch115 -p1 #%patch116 -p1 #%patch117 -p1 -%patch118 -p1 -%patch119 -p1 -%patch120 -p1 +#%patch118 -p1 +#%patch119 -p1 +#%patch120 -p1 #%patch121 -p1 -%patch122 -p1 -%patch123 -p1 -%patch124 -p1 -%patch125 -p1 -%patch126 -p1 -%patch127 -p1 -%patch128 -p1 -%patch129 -p1 -%patch130 -p1 -%patch131 -p1 -%patch132 -p1 -%patch133 -p1 -%patch134 -p1 -%patch135 -p1 -%patch136 -p1 -%patch137 -p1 -%patch138 -p1 -%patch142 -p1 -%patch143 -p1 -%patch144 -p1 -%patch145 -p1 -%patch146 -p1 -%patch147 -p1 -%patch148 -p1 -%patch149 -p1 +#%patch122 -p1 +#%patch123 -p1 +#%patch124 -p1 +#%patch125 -p1 +#%patch126 -p1 +#%patch127 -p1 +#%patch128 -p1 +#%patch129 -p1 +#%patch130 -p1 +#%patch131 -p1 +#%patch132 -p1 +#%patch133 -p1 +#%patch134 -p1 +#%patch135 -p1 +#%patch136 -p1 +#%patch137 -p1 +#%patch138 -p1 +#%patch142 -p1 +#%patch143 -p1 +#%patch144 -p1 +#%patch145 -p1 +#%patch146 -p1 +#%patch147 -p1 +#%patch148 -p1 +#%patch149 -p1 %patch155 -p1 -%patch156 -p1 -%patch157 -p1 -%patch158 -p1 -%patch159 -p1 -%patch160 -p1 -%patch161 -p1 -%patch162 -p1 +#%patch156 -p1 +#%patch157 -p1 +#%patch158 -p1 +#%patch159 -p1 +#%patch160 -p1 +#%patch161 -p1 +#%patch162 -p1 +%patch163 -p1 +%patch164 -p1 +%patch165 -p1 +%patch166 -p1 +%patch167 -p1 +%patch168 -p1 +%patch169 -p1 +%patch170 -p1 +%patch171 -p1 +%patch172 -p1 +%patch173 -p1 +%patch174 -p1 #%patch1000 -p1 #%patch1001 -p1 @@ -388,7 +428,7 @@ chmod a+x tests/*.test echo -n %version-%release > .tarball-version echo -n 2020 > .year -echo -n 2020-04-30 > .strace.1.in.date +echo -n 2021-10-21 > doc/.strace.1.in.date %build @@ -408,18 +448,18 @@ CFLAGS=" $RPM_OPT_FLAGS $LDFLAGS " [ "x${CFLAGS#* -m64 }" = "x${CFLAGS}" ] || CFLAGS=$(echo "$CFLAGS" | sed 's/ -m64 / /g') export CFLAGS -CPPFLAGS=" -I%{_includedir} %{optflags} " +CPPFLAGS=" -isystem %{_includedir} %{optflags} " # Removing explicit -m64 as it breaks mpers [ "x${CPPFLAGS#* -m64 }" = "x${CPPFLAGS}" ] || CPPFLAGS=$(echo "$CPPFLAGS" | sed 's/ -m64 / /g') export CPPFLAGS CFLAGS_FOR_BUILD="$RPM_OPT_FLAGS"; export CFLAGS_FOR_BUILD %configure --enable-mpers=check --with-libdw --with-libiberty -make %{?_smp_mflags} +%make_build %install -make DESTDIR=%{buildroot} install +%make_install %ifarch %{strace32_arches} ln -s ./strace %{buildroot}%{_bindir}/strace32 @@ -442,10 +482,9 @@ chmod u+x tests/*.test tests-m32/*.test tests-mx32/*.test # We have to limit concurrent execution of tests as some time-sensitive tests # start to fail if the reported time is way too off from the expected one. -make -j2 -k check VERBOSE=1 V=1 TIMEOUT_DURATION=5400 +%make_build -k check VERBOSE=1 V=1 echo 'BEGIN OF TEST SUITE INFORMATION' -tail -n 99999 -- tests*/test-suite.log -tail -n 99999 -- tests*/ksysent.log ||: +tail -n 99999 -- tests*/test-suite.log tests*/ksysent.gen.log find tests* -type f -name '*.log' -print0 | xargs -r0 grep -H '^KERNEL BUG:' -- ||: echo 'END OF TEST SUITE INFORMATION' @@ -461,6 +500,20 @@ echo 'END OF TEST SUITE INFORMATION' %{_mandir}/man1/* %changelog +* Mon Feb 07 2022 Eugene Syromiatnikov - 5.13-4 +- Update tests-m32 and tests-mx32 with --secontext=mismatch option support + changes (#2046259). + +* Wed Jan 19 2022 Eugene Syromiatnikov - 5.13-3 +- Add --secontext=mismatch option support (#2038810). + +* Wed Jan 05 2022 Eugene Syromiatnikov - 5.13-2 +- Fix incorrect ifname printing buffer size (#2028158). + +* Wed Oct 20 2021 Eugene Syromiatnikov - 5.13-1 +- Rebase to v5.13; drop upstream patches on top of 5.7 (#2015917). +- Address some issues reported by covscan. + * Mon Aug 09 2021 Eugene Syromiatnikov - 5.7-3 - Add SELnux context decoding support (#1946500).