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 <evgsyr@gmail.com>
+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 <pandrade@redhat.com>
+Suggested-by: Paulo Andrade <pandrade@redhat.com>
+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 <esyr@redhat.com> - 4.24-7
+- Fix incorrect ifname printing buffer size (#2028146):
+  e27b0677 "print_ifindex: fix IFNAME_QUOTED_SZ definition".
+
 * Thu Apr 16 2020 Eugene Syromiatnikov <esyr@redhat.com> - 4.24-6
 - Fix expected alignment for IPC tests (#1795261):
   4377e3a1 "tests: fix expected output for some ipc tests", and