diff --git a/.gitignore b/.gitignore index e64fe0a..c2ff5b6 100644 --- a/.gitignore +++ b/.gitignore @@ -58,42 +58,10 @@ /systemtap-4.5-0.20210129gitea81249b90b9.tar.gz /systemtap-4.5-0.202101291559git9e1a0f5703ad.tar.gz /systemtap-4.5-0.202102101544git8d5e0abc542c.tar.gz -/systemtap-4.5-0.202102191905git0f623095ee3e.tar.gz -/systemtap-4.5-0.202102231232git663a93e8b82b.tar.gz -/systemtap-4.5-0.202104140931gitad00fb87e.tar.gz -/systemtap-4.5-0.202104140933gitad00fb87e.tar.gz -/systemtap-4.5-0.202105041345git02b6be05fb76.tar.gz /systemtap-4.5.tar.gz -/systemtap-4.6-16261989g7c2751e3.tar.gz -/systemtap-4.6~pre16262008gbff2b2ff.tar.gz -/systemtap-4.6~pre16262012gc7f1c12e.tar.gz -/systemtap-4.6~pre16262021g84ef6bd9.tar.gz -/systemtap-4.6~pre16291338gf2c14776.tar.gz /systemtap-4.6.tar.gz -/systemtap-4.7~pre16378386g61a4c8f8.tar.gz -/systemtap-4.7~pre16383943gecab2afe.tar.gz -/systemtap-4.7~pre16388948g209b5a19.tar.gz -/systemtap-4.7~pre16395042gefae8a3d.tar.gz -/systemtap-4.7~pre16432070g1d2cb8b3.tar.gz -/systemtap-4.7~pre16433134g7d871ab5.tar.gz -/systemtap-4.7~pre16468670g9f253544.tar.gz /systemtap-4.7.tar.gz -/systemtap-4.8~pre16557277g2882dcc9.tar.gz -/systemtap-4.8~pre16578235g069e109c.tar.gz -/systemtap-4.8~pre16594727g09f1b7bb.tar.gz -/systemtap-4.8~pre16594741g5bdc37b9.tar.gz -/systemtap-4.8~pre16650659g6a096a7d.tar.gz /systemtap-4.8.tar.gz /systemtap-4.9.tar.gz -/systemtap-5.0~pre16885197g6b17715f.tar.gz -/systemtap-5.0~pre16885234gd98d6c2d.tar.gz -/systemtap-5.0~pre16890184ge891a37e.tar.gz -/systemtap-5.0~pre16891249ge891a37e.tar.gz -/systemtap-5.0~pre16958465gca71442b.tar.gz /systemtap-5.0.tar.gz -/systemtap-5.1~pre17056120g2ccc0c4c.tar.gz -/systemtap-5.1~pre17056139g6c0b92b3.tar.gz -/systemtap-5.1~pre17059382g67086c54.tar.gz -/systemtap-5.1~pre17060399gb6abf4bd.tar.gz -/systemtap-5.1~pre17062114g2604d135.tar.gz -/systemtap-5.1~pre17062192g5fd8daba.tar.gz +/systemtap-5.1.tar.gz diff --git a/RHEL-16549.patch b/RHEL-16549.patch deleted file mode 100644 index 4469759..0000000 --- a/RHEL-16549.patch +++ /dev/null @@ -1,59 +0,0 @@ -commit 0fef0bd60ff4b359a32da52262855dfe82fe51ae -gpg: Signature made Tue 14 Nov 2023 03:20:12 PM EST -gpg: using RSA key 4B35DCD2EA45C4E0783135BC8094BE9C9F4696A1 -gpg: Can't check signature: No public key -Author: Yichun Zhang (agentzh) -Date: Fri Nov 10 21:51:56 2023 -0800 - - PR31051: memory and uprobe leaks in early uprobe registraton code when errors happen - -diff --git a/runtime/linux/uprobes-inode.c b/runtime/linux/uprobes-inode.c -index 997f4528d..289cce00b 100644 ---- a/runtime/linux/uprobes-inode.c -+++ b/runtime/linux/uprobes-inode.c -@@ -529,6 +529,16 @@ stapiu_init(struct stapiu_consumer *consumers, size_t nconsumers) - } - - if (unlikely(ret != 0)) { -+ for ( ;; ) { -+ struct stapiu_consumer *c = &consumers[i]; -+ // protect against conceivable stapiu_refresh() at same time -+ mutex_lock(& c->consumer_lock); -+ stapiu_consumer_unreg(c); -+ mutex_unlock(& c->consumer_lock); -+ if (i == 0) -+ break; -+ i--; -+ } - return ret; - } - -@@ -545,7 +555,27 @@ stapiu_init(struct stapiu_consumer *consumers, size_t nconsumers) - break; - } - } -- return ret; -+ -+ if (unlikely(ret != 0)) { -+ int j; -+ for (j = 0; j < nconsumers; ++j) { -+ struct stapiu_consumer *c = &consumers[j]; -+ // protect against conceivable stapiu_refresh() at same time -+ mutex_lock(& c->consumer_lock); -+ stapiu_consumer_unreg(c); -+ mutex_unlock(& c->consumer_lock); -+ } -+ for ( ;; ) { -+ struct stapiu_consumer *c = &consumers[i]; -+ stap_cleanup_task_finder_target(&c->finder); -+ if (i == 0) -+ break; -+ i--; -+ } -+ return ret; -+ } -+ -+ return 0; - } - - diff --git a/sources b/sources index 75bc5a4..7e3f5f6 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ -SHA512 (systemtap-5.1~pre17062192g5fd8daba.tar.gz) = 423b09c001a2446d807be9fb8b66226545dddb15e7e57af01780966b17af5e2d8c16f44ce3f77d9a884c4e64a379604f9fb493b2a0f5e6ae50d65de19d9af992 +SHA512 (systemtap-5.1.tar.gz) = da0fe237d2124031a5786d1221dbb420d90da5497376715fd43a7a9f61a354a229c1128e67ce6becbc012aa3796dc5d337149e239e3c1def0651b179e5bf199f + diff --git a/systemtap.spec b/systemtap.spec index d22819b..cb30ba7 100644 --- a/systemtap.spec +++ b/systemtap.spec @@ -92,7 +92,10 @@ \ g stapusr 156\ g stapsys 157\ -g stapdev 158 +g stapdev 158\ +g stapunpriv 159\ +u stapunpriv 159 "systemtap unprivileged user" /var/lib/stapunpriv /sbin/nologin\ +m stapunpriv stapunpriv %define _systemtap_server_preinstall \ # See systemd-sysusers(8) sysusers.d(5)\ @@ -117,7 +120,7 @@ m stapdev stapdev Name: systemtap # PRERELEASE -Version: 5.1~pre17062192g5fd8daba +Version: 5.1 Release: 1%{?release_override}%{?dist} # for version, see also configure.ac @@ -153,7 +156,7 @@ Release: 1%{?release_override}%{?dist} Summary: Programmable system-wide instrumentation system License: GPL-2.0-or-later URL: http://sourceware.org/systemtap/ -Source: %{name}-%{version}.tar.gz +Source: ftp://sourceware.org/pub/systemtap/releases/systemtap-%{version}.tar.gz # Build* BuildRequires: make @@ -842,6 +845,9 @@ echo '%_systemtap_runtime_preinstall' | systemd-sysusers --replace=%{_sysusersdi getent group stapusr >/dev/null || groupadd -f -g 156 -r stapusr getent group stapsys >/dev/null || groupadd -f -g 157 -r stapsys getent group stapdev >/dev/null || groupadd -f -g 158 -r stapdev +getent passwd stapunpriv >/dev/null || \ + useradd -c "Systemtap Unprivileged User" -u 159 -g stapunpriv -d %{_localstatedir}/lib/stapunpriv -r -s /sbin/nologin stapunpriv 2>/dev/null || \ + useradd -c "Systemtap Unprivileged User" -g stapunpriv -d %{_localstatedir}/lib/stapunpriv -r -s /sbin/nologin stapunpriv %endif exit 0 @@ -1304,7 +1310,11 @@ exit 0 # PRERELEASE %changelog -* Thu Jan 25 2024 Frank Ch. Eigler - 5.1-17062192g5fd8daba +* Fri Apr 26 2024 Frank Ch. Eigler - 5.1-1 +- Upstream release, see wiki page below for detailed notes. + https://sourceware.org/systemtap/wiki/SystemTapReleases + + * Thu Jan 25 2024 Frank Ch. Eigler - 5.1-17062192g5fd8daba - Automated weekly rawhide release - Applied spec changes from upstream git