From 3d014b677fa0bc4a2248bc9698d0bf56a09468f9 Mon Sep 17 00:00:00 2001 From: Martin Cermak Date: Mon, 17 Jun 2024 21:10:44 +0200 Subject: [PATCH] Resolves: RHEL-42605 --- RHEL-42605.patch | 75 ++++++++++++++++++++++++++++++++++++++++++++++++ rpminspect.yaml | 6 +++- systemtap.spec | 9 ++++-- 3 files changed, 87 insertions(+), 3 deletions(-) create mode 100644 RHEL-42605.patch diff --git a/RHEL-42605.patch b/RHEL-42605.patch new file mode 100644 index 0000000..b8f60eb --- /dev/null +++ b/RHEL-42605.patch @@ -0,0 +1,75 @@ +commit 0c437c7e2d02772615d73d1be1c3100d4c1de254 +Author: William Cohen +Date: Tue Jun 4 09:46:41 2024 -0400 + + Address changes in Linux 6.10 /include/linux/vmalloc.h + + Upstream linux kernel git commit 88ae5fb755b0d contains a number of + changes in /include/linux/vmalloc.h that affect vmalloc, vmalloc_node, + and vzalloc_node definitions. These are no longer functions but + macros and cannot be found in the list of symbols exported by the + kernel. Support for vzalloc, vmalloc_node, and vzalloc_node has been + in kernels since Linux 2.6.37. Given that systemtap requires Linux + 3.10 or newer there is no longer a need to check for the existence of + these functions or provide local versions of them. + +diff --git a/buildrun.cxx b/buildrun.cxx +index 8ee8c391f..a7fcd6297 100644 +--- a/buildrun.cxx ++++ b/buildrun.cxx +@@ -510,9 +510,6 @@ compile_pass (systemtap_session& s) + output_autoconf(s, o, cs, "autoconf-kallsyms_6_4.c", "STAPCONF_KALLSYMS_6_4", NULL); + output_autoconf(s, o, cs, "autoconf-uidgid.c", "STAPCONF_LINUX_UIDGID_H", NULL); + output_exportconf(s, o2, "sigset_from_compat", "STAPCONF_SIGSET_FROM_COMPAT_EXPORTED"); +- output_exportconf(s, o2, "vzalloc", "STAPCONF_VZALLOC"); +- output_exportconf(s, o2, "vzalloc_node", "STAPCONF_VZALLOC_NODE"); +- output_exportconf(s, o2, "vmalloc_node", "STAPCONF_VMALLOC_NODE"); + + // RHBZ1233912 - s390 temporary workaround for non-atomic udelay() + output_exportconf(s, o2, "udelay_simple", "STAPCONF_UDELAY_SIMPLE_EXPORTED"); +diff --git a/runtime/linux/alloc.c b/runtime/linux/alloc.c +index ab16249e1..add36c30d 100644 +--- a/runtime/linux/alloc.c ++++ b/runtime/linux/alloc.c +@@ -404,16 +404,6 @@ static void *_stp_kzalloc(size_t size) + return _stp_kzalloc_gfp(size, STP_ALLOC_FLAGS); + } + +-#ifndef STAPCONF_VZALLOC +-static void *vzalloc(unsigned long size) +-{ +- void *ret = vmalloc(size); +- if (ret) +- memset(ret, 0, size); +- return ret; +-} +-#endif +- + static void *_stp_vzalloc(size_t size) + { + void *ret; +@@ -438,24 +428,6 @@ static void *_stp_vzalloc(size_t size) + return ret; + } + +- +-#ifndef STAPCONF_VMALLOC_NODE +-static void *vmalloc_node(unsigned long size, int node __attribute__((unused))) +-{ +- return vmalloc(size); +-} +-#endif +- +-#ifndef STAPCONF_VZALLOC_NODE +-static void *vzalloc_node(unsigned long size, int node) +-{ +- void *ret = vmalloc_node(size, node); +- if (ret) +- memset(ret, 0, size); +- return ret; +-} +-#endif +- + static void *_stp_vzalloc_node(size_t size, int node) + { + void *ret; diff --git a/rpminspect.yaml b/rpminspect.yaml index fa72fcd..be695d8 100644 --- a/rpminspect.yaml +++ b/rpminspect.yaml @@ -21,4 +21,8 @@ permissions: # some stap scripts are wrapped within /bin/sh that confuses rpminspect shellsyntax: ignore: - - '*.stp' + - /usr/share/systemtap/examples/stapgames/2048.stp + - /usr/share/systemtap/testsuite/semko/autocast10.stp + - /usr/share/systemtap/testsuite/semok/autocast10.stp + - /usr/share/systemtap/testsuite/parseko/autocast02.stp + - /usr/share/systemtap/testsuite/systemtap.examples/stapgames/2048.stp diff --git a/systemtap.spec b/systemtap.spec index c492421..e148cb3 100644 --- a/systemtap.spec +++ b/systemtap.spec @@ -121,7 +121,7 @@ m stapdev stapdev Name: systemtap # PRERELEASE Version: 5.1 -Release: 3%{?release_override}%{?dist} +Release: 4%{?release_override}%{?dist} # for version, see also configure.ac @@ -160,6 +160,7 @@ Source: ftp://sourceware.org/pub/systemtap/releases/systemtap-%{version}.tar.gz Patch1: RHEL-36201a.patch Patch2: RHEL-36201b.patch Patch3: PR31495.patch +Patch4: RHEL-42605.patch # Build* BuildRequires: make @@ -589,6 +590,7 @@ or within a container. %patch -P1 -p1 %patch -P2 -p1 %patch -P3 -p1 +%patch -P4 -p1 %build @@ -1316,7 +1318,10 @@ exit 0 # PRERELEASE %changelog -* Fri May 17 2024 Martin Cermak - 5.1-3 +* Mon Jun 17 2024 Martin Cermak - 5.1-4 +- RHEL-42605 + +* Thu May 16 2024 Martin Cermak - 5.1-3 - RHEL-29529 - RHEL-7318 - RHELMISC-3948