From 540dcfa50438286699e71c7b8683fcee62092f43 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Aug 29 2023 07:38:45 +0000 Subject: import strace-4.24-7.el7_9 --- 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..9f970da --- /dev/null +++ b/SOURCES/0167-print_ifindex-fix-IFNAME_QUOTED_SZ-definition.patch @@ -0,0 +1,50 @@ +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(-) + +Index: strace-4.24/NEWS +=================================================================== +--- strace-4.24.orig/NEWS 2022-01-06 16:40:29.277122809 +0100 ++++ strace-4.24/NEWS 2022-01-06 16:41:02.803843038 +0100 +@@ -21,6 +21,10 @@ + * Fixed build in exotic systemd-nspawn based environments. + * Fixed build on s390 with kernel headers that do not contain Linux commit + v3.10-rc1~201^2~11. ++ * 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). + + Noteworthy changes in release 4.23 (2018-06-14) + =============================================== +Index: strace-4.24/print_ifindex.c +=================================================================== +--- strace-4.24.orig/print_ifindex.c 2022-01-06 16:40:48.594961607 +0100 ++++ strace-4.24/print_ifindex.c 2022-01-06 16:41:10.107782089 +0100 +@@ -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) + + static const char * + get_ifname(const unsigned int ifindex) diff --git a/SOURCES/strace-b89a69dec27cf638df0e17db80ed937c3e1abf77.patch b/SOURCES/strace-b89a69dec27cf638df0e17db80ed937c3e1abf77.patch deleted file mode 100644 index 34e3ad0..0000000 --- a/SOURCES/strace-b89a69dec27cf638df0e17db80ed937c3e1abf77.patch +++ /dev/null @@ -1,71 +0,0 @@ -diff -Naurp a/xlat/v4l2_control_id_bases.h b/xlat/v4l2_control_id_bases.h ---- a/xlat/v4l2_control_id_bases.h 2018-08-14 00:44:25.000000000 +0000 -+++ b/xlat/v4l2_control_id_bases.h 2019-05-23 12:21:15.396137688 +0000 -@@ -31,12 +31,16 @@ DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE - #else - # define V4L2_CID_USER_TI_VPE_BASE (V4L2_CID_BASE + 0x1050) - #endif -+#ifndef STRACE_WORKAROUND_FOR_V4L2_CID_USER_IMX_BASE -+# define STRACE_WORKAROUND_FOR_V4L2_CID_USER_IMX_BASE -+# undef V4L2_CID_USER_IMX_BASE -+#endif - #if defined(V4L2_CID_USER_IMX_BASE) || (defined(HAVE_DECL_V4L2_CID_USER_IMX_BASE) && HAVE_DECL_V4L2_CID_USER_IMX_BASE) - DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE --static_assert((V4L2_CID_USER_IMX_BASE) == ((V4L2_CID_BASE + 0x1090)), "V4L2_CID_USER_IMX_BASE != (V4L2_CID_BASE + 0x1090)"); -+static_assert((V4L2_CID_USER_IMX_BASE) == ((V4L2_CID_BASE + 0x10b0)), "V4L2_CID_USER_IMX_BASE != (V4L2_CID_BASE + 0x10b0)"); - DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE - #else --# define V4L2_CID_USER_IMX_BASE (V4L2_CID_BASE + 0x1090) -+# define V4L2_CID_USER_IMX_BASE (V4L2_CID_BASE + 0x10b0) - #endif - #if defined(V4L2_CID_MPEG_BASE) || (defined(HAVE_DECL_V4L2_CID_MPEG_BASE) && HAVE_DECL_V4L2_CID_MPEG_BASE) - DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE -@@ -146,6 +150,21 @@ const struct xlat v4l2_control_id_bases[ - XLAT(V4L2_CID_USER_MEYE_BASE), - XLAT(V4L2_CID_USER_BTTV_BASE), - XLAT(V4L2_CID_USER_TI_VPE_BASE), -+#ifndef STRACE_WORKAROUND_FOR_V4L2_CID_USER_IMX_BASE -+# define STRACE_WORKAROUND_FOR_V4L2_CID_USER_IMX_BASE -+/* -+* Linux kernel commit v4.18-rc2-106-g421860b9d47053badce4b247576fa48df9ab4c48 -+* has changed the value of V4L2_CID_USER_IMX_BASE constant introduced -+* by commit v4.13-rc1~141^2~121 because the old value was already used -+* by V4L2_CID_USER_MAX217X_BASE. -+* This is of course an ABI breakage that affects Linux kernels starting -+* with 4.13 and up to 4.18, as well as their LTS derivatives. -+* Since the imx driver didn't provide any public control ID definitions, -+* it looks like the best way to handle this situation is to pretend that -+* the old value of V4L2_CID_USER_IMX_BASE didn't exist. -+*/ -+# undef V4L2_CID_USER_IMX_BASE -+#endif - XLAT(V4L2_CID_USER_IMX_BASE), - XLAT(V4L2_CID_MPEG_BASE), - XLAT(V4L2_CID_MPEG_CX2341X_BASE), -diff -Naurp a/xlat/v4l2_control_id_bases.in b/xlat/v4l2_control_id_bases.in ---- a/xlat/v4l2_control_id_bases.in 2018-05-06 15:34:41.000000000 +0000 -+++ b/xlat/v4l2_control_id_bases.in 2019-05-23 12:21:01.146061843 +0000 -@@ -2,7 +2,22 @@ V4L2_CID_BASE (V4L2_CTRL_CLASS_USER | - V4L2_CID_USER_MEYE_BASE (V4L2_CID_BASE + 0x1000) - V4L2_CID_USER_BTTV_BASE (V4L2_CID_BASE + 0x1010) - V4L2_CID_USER_TI_VPE_BASE (V4L2_CID_BASE + 0x1050) --V4L2_CID_USER_IMX_BASE (V4L2_CID_BASE + 0x1090) -+#ifndef STRACE_WORKAROUND_FOR_V4L2_CID_USER_IMX_BASE -+# define STRACE_WORKAROUND_FOR_V4L2_CID_USER_IMX_BASE -+/* -+ * Linux kernel commit v4.18-rc2-106-g421860b9d47053badce4b247576fa48df9ab4c48 -+ * has changed the value of V4L2_CID_USER_IMX_BASE constant introduced -+ * by commit v4.13-rc1~141^2~121 because the old value was already used -+ * by V4L2_CID_USER_MAX217X_BASE. -+ * This is of course an ABI breakage that affects Linux kernels starting -+ * with 4.13 and up to 4.18, as well as their LTS derivatives. -+ * Since the imx driver didn't provide any public control ID definitions, -+ * it looks like the best way to handle this situation is to pretend that -+ * the old value of V4L2_CID_USER_IMX_BASE didn't exist. -+ */ -+# undef V4L2_CID_USER_IMX_BASE -+#endif -+V4L2_CID_USER_IMX_BASE (V4L2_CID_BASE + 0x10b0) - V4L2_CID_MPEG_BASE (V4L2_CTRL_CLASS_MPEG | 0x900) - V4L2_CID_MPEG_CX2341X_BASE (V4L2_CTRL_CLASS_MPEG | 0x1000) - V4L2_CID_MPEG_MFC51_BASE (V4L2_CTRL_CLASS_MPEG | 0x1100) diff --git a/SPECS/strace.spec b/SPECS/strace.spec index 16df542..8bccdb2 100644 --- a/SPECS/strace.spec +++ b/SPECS/strace.spec @@ -1,7 +1,7 @@ Summary: Tracks and displays system calls associated with a running process Name: strace Version: 4.24 -Release: 6%{?dist} +Release: 7%{?dist} # The test suite is GPLv2+, all the rest is LGPLv2.1+. License: LGPL-2.1+ and GPL-2.0+ Group: Development/Debuggers @@ -146,12 +146,14 @@ Patch43: 0043-tests-fix-expected-output-for-some-ipc-tests.patch # v5.4~49 "tests: fix -a argument in ipc_msgbuf-Xraw test" Patch44: 0044-tests-fix-a-argument-in-ipc_msgbuf-Xraw-test.patch +# v5.15~1 "print_ifindex: fix IFNAME_QUOTED_SZ definition" +Patch167: 0167-print_ifindex-fix-IFNAME_QUOTED_SZ-definition.patch + ## RHEL-only: headers on some builders do not provide O_TMPFILE Patch200: 0200-strace-provide-O_TMPFILE-fallback-definition.patch ## RHEL-only: aarch64 brew builders are extremely slow on qual_fault.test Patch201: 0201-limit-qual_fault-scope-on-aarch64.patch -Patch9999: strace-b89a69dec27cf638df0e17db80ed937c3e1abf77.patch # In the past we had a separate strace64 package, these days the # stndard 64 bit build provides that functionality. For tracing @@ -235,14 +237,11 @@ binary supports tracing of 32-bit processes as well. %patch41 -p1 %patch43 -p1 %patch44 -p1 +%patch167 -p1 %patch200 -p1 %patch201 -p1 -%ifarch %{arm} -%patch9999 -p1 -%endif - echo -n %version-%release > .tarball-version echo -n 2019 > .year echo -n 2019-08-01 > .strace.1.in.date @@ -313,16 +312,27 @@ chmod u+x tests/*.test tests-m32/*.test tests-mx32/*.test %{buildroot}%{_bindir}/strace -V +uname_r="$(uname -r)" # Skip tests on s390x el6 kernel, test failures there are covered # by the following issues: # * https://bugzilla.redhat.com/show_bug.cgi?id=1220802 # * Absence of Linux commit v3.2-rc1~109^2~34 -uname_r="$(uname -r)" if [ "x${uname_r#2.6.32}" != "x${uname_r}" ] && \ [ "x${uname_r%s390x}" != "x${uname_r}" ] then echo "Skipping tests, kernel (${uname_r}) is too broken" -%ifnarch %{arm} +%ifarch s390 +# Skip tests on s390: +# * strace test suite used to rely too much on the fact that the last page +# is unreadable, and apparently it is readable on s390 compat +# * 16-bit set*id calls seem to be broken: +# setugid.c:65: setuid(0xffff03e5) = -1 != 0: Operation not permitted +# setresugid.c:79: setresgid(0xffff0087, 0x87, 0x87): Operation not permitted +# (at least v4.16-rc1~117^2~1 is missing) +elif [ "x${uname_r%s390}" != "x${uname_r}" -o "x${uname_r%s390x}" != "x${uname_r}" ] +then + echo "Skipping tests, test suite and kernel (${uname_r}) are too broken" +%endif else # We have to limit concurrent execution of tests as some time-sensitive # tests start to fail if the reported time is way too off @@ -332,7 +342,6 @@ else find tests* -type f -name '*.log' -print0 | xargs -r0 grep -H '^KERNEL BUG:' -- ||: echo 'END OF TEST SUITE INFORMATION' -%endif fi %clean @@ -352,6 +361,10 @@ rm -rf %{buildroot} %endif %changelog +* Wed Jan 05 2022 Eugene Syromiatnikov - 4.24-7 +- Fix incorrect ifname printing buffer size (#2028146): + e27b0677 "print_ifindex: fix IFNAME_QUOTED_SZ definition". + * Thu Apr 16 2020 Eugene Syromiatnikov - 4.24-6 - Fix expected alignment for IPC tests (#1795261): 4377e3a1 "tests: fix expected output for some ipc tests", and