diff --git a/.bcc.metadata b/.bcc.metadata
index e3a63ae..51078f8 100644
--- a/.bcc.metadata
+++ b/.bcc.metadata
@@ -1 +1 @@
-896d0249470dedfabfcc9a4c8b4089a55b793277 SOURCES/bcc-0.24.0.tar.gz
+059187f62e915eb74ea7b18e19fcb185f9d18255 SOURCES/bcc-0.25.0.tar.gz
diff --git a/.gitignore b/.gitignore
index 277ef94..9cf0677 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1 @@
-SOURCES/bcc-0.24.0.tar.gz
+SOURCES/bcc-0.25.0.tar.gz
diff --git a/SOURCES/bcc-0.24.0-Manpages-remove-unstable-statement.patch b/SOURCES/bcc-0.24.0-Manpages-remove-unstable-statement.patch
deleted file mode 100644
index 7b60d98..0000000
--- a/SOURCES/bcc-0.24.0-Manpages-remove-unstable-statement.patch
+++ /dev/null
@@ -1,1452 +0,0 @@
-From 6362a8e023cb53a523ab5a3d11bddcdbe05229fc Mon Sep 17 00:00:00 2001
-From: Jerome Marchand <jmarchan@redhat.com>
-Date: Tue, 6 Aug 2019 14:44:33 +0200
-Subject: [PATCH] Manpages: remove unstable statement
-
-The tools are tested before each release. They should be stable
-enough.
----
- man/man8/argdist.8        | 2 --
- man/man8/bashreadline.8   | 2 --
- man/man8/bindsnoop.8      | 2 --
- man/man8/biolatency.8     | 2 --
- man/man8/biolatpcts.8     | 2 --
- man/man8/biosnoop.8       | 2 --
- man/man8/biotop.8         | 2 --
- man/man8/bitesize.8       | 2 --
- man/man8/bpflist.8        | 2 --
- man/man8/bps.8            | 2 --
- man/man8/btrfsdist.8      | 2 --
- man/man8/btrfsslower.8    | 2 --
- man/man8/cachestat.8      | 2 --
- man/man8/cachetop.8       | 2 --
- man/man8/capable.8        | 2 --
- man/man8/compactsnoop.8   | 2 --
- man/man8/cpudist.8        | 2 --
- man/man8/cpuunclaimed.8   | 2 --
- man/man8/criticalstat.8   | 2 --
- man/man8/dbslower.8       | 2 --
- man/man8/dbstat.8         | 2 --
- man/man8/dcsnoop.8        | 2 --
- man/man8/dcstat.8         | 2 --
- man/man8/deadlock.8       | 2 --
- man/man8/dirtop.8         | 2 --
- man/man8/drsnoop.8        | 2 --
- man/man8/execsnoop.8      | 2 --
- man/man8/exitsnoop.8      | 2 --
- man/man8/ext4dist.8       | 2 --
- man/man8/ext4slower.8     | 2 --
- man/man8/filelife.8       | 2 --
- man/man8/fileslower.8     | 2 --
- man/man8/filetop.8        | 2 --
- man/man8/funccount.8      | 2 --
- man/man8/funcinterval.8   | 2 --
- man/man8/funclatency.8    | 2 --
- man/man8/funcslower.8     | 2 --
- man/man8/gethostlatency.8 | 2 --
- man/man8/hardirqs.8       | 2 --
- man/man8/inject.8         | 4 ----
- man/man8/killsnoop.8      | 2 --
- man/man8/klockstat.8      | 2 --
- man/man8/kvmexit.8        | 2 --
- man/man8/llcstat.8        | 2 --
- man/man8/mdflush.8        | 2 --
- man/man8/memleak.8        | 2 --
- man/man8/mountsnoop.8     | 2 --
- man/man8/mysqld_qslower.8 | 2 --
- man/man8/netqtop.8        | 2 --
- man/man8/nfsdist.8        | 2 --
- man/man8/nfsslower.8      | 2 --
- man/man8/offcputime.8     | 2 --
- man/man8/offwaketime.8    | 2 --
- man/man8/oomkill.8        | 2 --
- man/man8/opensnoop.8      | 2 --
- man/man8/pidpersec.8      | 2 --
- man/man8/profile.8        | 2 --
- man/man8/readahead.8      | 2 --
- man/man8/reset-trace.8    | 2 --
- man/man8/runqlat.8        | 2 --
- man/man8/runqlen.8        | 2 --
- man/man8/runqslower.8     | 2 --
- man/man8/shmsnoop.8       | 2 --
- man/man8/slabratetop.8    | 2 --
- man/man8/sofdsnoop.8      | 2 --
- man/man8/softirqs.8       | 2 --
- man/man8/solisten.8       | 2 --
- man/man8/spfdsnoop.8      | 2 --
- man/man8/sslsniff.8       | 2 --
- man/man8/stackcount.8     | 2 --
- man/man8/statsnoop.8      | 2 --
- man/man8/swapin.8         | 2 --
- man/man8/syncsnoop.8      | 2 --
- man/man8/syscount.8       | 2 --
- man/man8/tcpaccept.8      | 2 --
- man/man8/tcpconnect.8     | 2 --
- man/man8/tcpconnlat.8     | 2 --
- man/man8/tcpdrop.8        | 2 --
- man/man8/tcplife.8        | 2 --
- man/man8/tcpretrans.8     | 2 --
- man/man8/tcprtt.8         | 2 --
- man/man8/tcpstates.8      | 2 --
- man/man8/tcpsubnet.8      | 2 --
- man/man8/tcpsynbl.8       | 2 --
- man/man8/tcptop.8         | 2 --
- man/man8/tcptracer.8      | 2 --
- man/man8/threadsnoop.8    | 2 --
- man/man8/tplist.8         | 2 --
- man/man8/trace.8          | 2 --
- man/man8/ttysnoop.8       | 2 --
- man/man8/ucalls.8         | 2 --
- man/man8/uflow.8          | 2 --
- man/man8/ugc.8            | 2 --
- man/man8/uobjnew.8        | 2 --
- man/man8/ustat.8          | 2 --
- man/man8/uthreads.8       | 2 --
- man/man8/vfscount.8       | 2 --
- man/man8/vfsstat.8        | 2 --
- man/man8/virtiostat.8     | 2 --
- man/man8/wakeuptime.8     | 2 --
- man/man8/xfsdist.8        | 2 --
- man/man8/xfsslower.8      | 2 --
- man/man8/zfsdist.8        | 2 --
- man/man8/zfsslower.8      | 2 --
- 104 files changed, 210 deletions(-)
-
-diff --git a/man/man8/argdist.8 b/man/man8/argdist.8
-index 3033571b..91f13a33 100644
---- a/man/man8/argdist.8
-+++ b/man/man8/argdist.8
-@@ -191,7 +191,5 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Sasha Goldshtein
-diff --git a/man/man8/bashreadline.8 b/man/man8/bashreadline.8
-index bc68a491..705c514e 100644
---- a/man/man8/bashreadline.8
-+++ b/man/man8/bashreadline.8
-@@ -53,8 +53,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Brendan Gregg
- .SH SEE ALSO
-diff --git a/man/man8/bindsnoop.8 b/man/man8/bindsnoop.8
-index f8fa1850..05ed95a7 100644
---- a/man/man8/bindsnoop.8
-+++ b/man/man8/bindsnoop.8
-@@ -141,8 +141,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Pavel Dubovitsky
- .SH SEE ALSO
-diff --git a/man/man8/biolatency.8 b/man/man8/biolatency.8
-index c13f6c8a..6beef490 100644
---- a/man/man8/biolatency.8
-+++ b/man/man8/biolatency.8
-@@ -105,8 +105,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Brendan Gregg
- .SH SEE ALSO
-diff --git a/man/man8/biolatpcts.8 b/man/man8/biolatpcts.8
-index 7a06a11d..9dd41d08 100644
---- a/man/man8/biolatpcts.8
-+++ b/man/man8/biolatpcts.8
-@@ -81,8 +81,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Tejun Heo
- .SH SEE ALSO
-diff --git a/man/man8/biosnoop.8 b/man/man8/biosnoop.8
-index 4c073f76..2b2f7434 100644
---- a/man/man8/biosnoop.8
-+++ b/man/man8/biosnoop.8
-@@ -79,8 +79,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Brendan Gregg
- .SH SEE ALSO
-diff --git a/man/man8/biotop.8 b/man/man8/biotop.8
-index ed25521f..b00bf68a 100644
---- a/man/man8/biotop.8
-+++ b/man/man8/biotop.8
-@@ -95,8 +95,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Brendan Gregg
- .SH INSPIRATION
-diff --git a/man/man8/bitesize.8 b/man/man8/bitesize.8
-index 99cdbaab..529a1e26 100644
---- a/man/man8/bitesize.8
-+++ b/man/man8/bitesize.8
-@@ -43,8 +43,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Allan McAleavy
- .SH SEE ALSO
-diff --git a/man/man8/bpflist.8 b/man/man8/bpflist.8
-index 1cab0c81..afefd3af 100644
---- a/man/man8/bpflist.8
-+++ b/man/man8/bpflist.8
-@@ -54,7 +54,5 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Sasha Goldshtein
-diff --git a/man/man8/bps.8 b/man/man8/bps.8
-index 4316be0b..8af8ee2d 100644
---- a/man/man8/bps.8
-+++ b/man/man8/bps.8
-@@ -81,7 +81,5 @@ This is from bcc.
- https://github.com/iovisor/bcc
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Martin Lau
-diff --git a/man/man8/btrfsdist.8 b/man/man8/btrfsdist.8
-index 480264f9..cbf75121 100644
---- a/man/man8/btrfsdist.8
-+++ b/man/man8/btrfsdist.8
-@@ -74,8 +74,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Brendan Gregg
- .SH SEE ALSO
-diff --git a/man/man8/btrfsslower.8 b/man/man8/btrfsslower.8
-index a1ea106a..33864589 100644
---- a/man/man8/btrfsslower.8
-+++ b/man/man8/btrfsslower.8
-@@ -114,8 +114,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Brendan Gregg
- .SH SEE ALSO
-diff --git a/man/man8/cachestat.8 b/man/man8/cachestat.8
-index 172194d4..575941fc 100644
---- a/man/man8/cachestat.8
-+++ b/man/man8/cachestat.8
-@@ -76,8 +76,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Allan McAleavy
- .SH SEE ALSO
-diff --git a/man/man8/cachetop.8 b/man/man8/cachetop.8
-index 5642fa1d..1fe4067b 100644
---- a/man/man8/cachetop.8
-+++ b/man/man8/cachetop.8
-@@ -83,8 +83,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Emmanuel Bretelle
- .SH SEE ALSO
-diff --git a/man/man8/capable.8 b/man/man8/capable.8
-index 342946f8..2b7d13ba 100644
---- a/man/man8/capable.8
-+++ b/man/man8/capable.8
-@@ -87,8 +87,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Brendan Gregg
- .SH SEE ALSO
-diff --git a/man/man8/compactsnoop.8 b/man/man8/compactsnoop.8
-index a2933d7a..c1339579 100644
---- a/man/man8/compactsnoop.8
-+++ b/man/man8/compactsnoop.8
-@@ -173,7 +173,5 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Wenbo Zhang
-diff --git a/man/man8/cpudist.8 b/man/man8/cpudist.8
-index b5179102..a7825d64 100644
---- a/man/man8/cpudist.8
-+++ b/man/man8/cpudist.8
-@@ -99,8 +99,6 @@ Also look in the bcc distribution for a companion _example.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Sasha Goldshtein
- .SH SEE ALSO
-diff --git a/man/man8/cpuunclaimed.8 b/man/man8/cpuunclaimed.8
-index 674be499..107ff67b 100644
---- a/man/man8/cpuunclaimed.8
-+++ b/man/man8/cpuunclaimed.8
-@@ -98,8 +98,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Brendan Gregg
- .SH SEE ALSO
-diff --git a/man/man8/criticalstat.8 b/man/man8/criticalstat.8
-index 6b1c1110..6df592a3 100644
---- a/man/man8/criticalstat.8
-+++ b/man/man8/criticalstat.8
-@@ -66,8 +66,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Joel Fernandes
- .SH SEE ALSO
-diff --git a/man/man8/dbslower.8 b/man/man8/dbslower.8
-index e39b8bd0..e73b77f1 100644
---- a/man/man8/dbslower.8
-+++ b/man/man8/dbslower.8
-@@ -72,8 +72,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Sasha Goldshtein, Brendan Gregg
- .SH SEE ALSO
-diff --git a/man/man8/dbstat.8 b/man/man8/dbstat.8
-index c8e8fd8f..2ca31c67 100644
---- a/man/man8/dbstat.8
-+++ b/man/man8/dbstat.8
-@@ -64,8 +64,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Sasha Goldshtein
- .SH SEE ALSO
-diff --git a/man/man8/dcsnoop.8 b/man/man8/dcsnoop.8
-index 6ccb3b65..1d707ba1 100644
---- a/man/man8/dcsnoop.8
-+++ b/man/man8/dcsnoop.8
-@@ -69,8 +69,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Brendan Gregg
- .SH SEE ALSO
-diff --git a/man/man8/dcstat.8 b/man/man8/dcstat.8
-index e2bc4dc8..0501460f 100644
---- a/man/man8/dcstat.8
-+++ b/man/man8/dcstat.8
-@@ -53,8 +53,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Brendan Gregg
- .SH SEE ALSO
-diff --git a/man/man8/deadlock.8 b/man/man8/deadlock.8
-index 3e7744ce..9f0f7de0 100644
---- a/man/man8/deadlock.8
-+++ b/man/man8/deadlock.8
-@@ -144,7 +144,5 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Kenny Yu
-diff --git a/man/man8/dirtop.8 b/man/man8/dirtop.8
-index cc61a676..9a0fd3d9 100644
---- a/man/man8/dirtop.8
-+++ b/man/man8/dirtop.8
-@@ -105,8 +105,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Erwan Velu
- .SH INSPIRATION
-diff --git a/man/man8/drsnoop.8 b/man/man8/drsnoop.8
-index 572c0dce..3563da81 100644
---- a/man/man8/drsnoop.8
-+++ b/man/man8/drsnoop.8
-@@ -104,7 +104,5 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Wenbo Zhang
-diff --git a/man/man8/execsnoop.8 b/man/man8/execsnoop.8
-index e42ad38a..9daaf4b1 100644
---- a/man/man8/execsnoop.8
-+++ b/man/man8/execsnoop.8
-@@ -141,8 +141,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Brendan Gregg
- .SH SEE ALSO
-diff --git a/man/man8/exitsnoop.8 b/man/man8/exitsnoop.8
-index 86a43921..c37e1caf 100644
---- a/man/man8/exitsnoop.8
-+++ b/man/man8/exitsnoop.8
-@@ -102,8 +102,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Arturo Martin-de-Nicolas
- .SH SEE ALSO
-diff --git a/man/man8/ext4dist.8 b/man/man8/ext4dist.8
-index 61ecb727..ba17fc3d 100644
---- a/man/man8/ext4dist.8
-+++ b/man/man8/ext4dist.8
-@@ -72,8 +72,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Brendan Gregg
- .SH SEE ALSO
-diff --git a/man/man8/ext4slower.8 b/man/man8/ext4slower.8
-index a16bd5ef..b6276269 100644
---- a/man/man8/ext4slower.8
-+++ b/man/man8/ext4slower.8
-@@ -105,8 +105,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Brendan Gregg
- .SH SEE ALSO
-diff --git a/man/man8/filelife.8 b/man/man8/filelife.8
-index 9495d4e2..6438b374 100644
---- a/man/man8/filelife.8
-+++ b/man/man8/filelife.8
-@@ -64,8 +64,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Brendan Gregg
- .SH SEE ALSO
-diff --git a/man/man8/fileslower.8 b/man/man8/fileslower.8
-index fe912436..d567986b 100644
---- a/man/man8/fileslower.8
-+++ b/man/man8/fileslower.8
-@@ -106,8 +106,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Brendan Gregg
- .SH SEE ALSO
-diff --git a/man/man8/filetop.8 b/man/man8/filetop.8
-index ba0cbd6e..1f818d68 100644
---- a/man/man8/filetop.8
-+++ b/man/man8/filetop.8
-@@ -111,8 +111,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Brendan Gregg
- .SH INSPIRATION
-diff --git a/man/man8/funccount.8 b/man/man8/funccount.8
-index 16ce4fc0..1c7b71c1 100644
---- a/man/man8/funccount.8
-+++ b/man/man8/funccount.8
-@@ -104,8 +104,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Brendan Gregg, Sasha Goldshtein
- .SH SEE ALSO
-diff --git a/man/man8/funcinterval.8 b/man/man8/funcinterval.8
-index 8a603998..39be3377 100755
---- a/man/man8/funcinterval.8
-+++ b/man/man8/funcinterval.8
-@@ -114,8 +114,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Edward Wu
- .SH SEE ALSO
-diff --git a/man/man8/funclatency.8 b/man/man8/funclatency.8
-index 3eef805b..22496d18 100644
---- a/man/man8/funclatency.8
-+++ b/man/man8/funclatency.8
-@@ -130,8 +130,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Brendan Gregg, Sasha Goldshtein
- .SH SEE ALSO
-diff --git a/man/man8/funcslower.8 b/man/man8/funcslower.8
-index 06f17934..0e85989d 100644
---- a/man/man8/funcslower.8
-+++ b/man/man8/funcslower.8
-@@ -117,8 +117,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Sasha Goldshtein
- .SH SEE ALSO
-diff --git a/man/man8/gethostlatency.8 b/man/man8/gethostlatency.8
-index a9d18e07..876f3983 100644
---- a/man/man8/gethostlatency.8
-+++ b/man/man8/gethostlatency.8
-@@ -55,8 +55,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Brendan Gregg
- .SH SEE ALSO
-diff --git a/man/man8/hardirqs.8 b/man/man8/hardirqs.8
-index 12ae6be5..1b38779a 100644
---- a/man/man8/hardirqs.8
-+++ b/man/man8/hardirqs.8
-@@ -88,8 +88,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Brendan Gregg, Hengqi Chen
- .SH SEE ALSO
-diff --git a/man/man8/inject.8 b/man/man8/inject.8
-index 2ab80dbb..85b36b6e 100644
---- a/man/man8/inject.8
-+++ b/man/man8/inject.8
-@@ -112,9 +112,5 @@ example usage, output, and commentary for this tool.
- Linux
- 
- 
--.SH STABILITY
--Unstable - in development.
--
--
- .SH AUTHOR
- Howard McLauchlan
-diff --git a/man/man8/killsnoop.8 b/man/man8/killsnoop.8
-index acb376ea..2543b6a6 100644
---- a/man/man8/killsnoop.8
-+++ b/man/man8/killsnoop.8
-@@ -82,8 +82,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Brendan Gregg
- .SH SEE ALSO
-diff --git a/man/man8/klockstat.8 b/man/man8/klockstat.8
-index 0a3167d1..57f9db18 100644
---- a/man/man8/klockstat.8
-+++ b/man/man8/klockstat.8
-@@ -182,8 +182,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH CREDITS
- This tool is based on work of David Valin <dvalin@redhat.com> and his script.
- .SH AUTHOR
-diff --git a/man/man8/kvmexit.8 b/man/man8/kvmexit.8
-index c0cb4c98..0b56cecc 100644
---- a/man/man8/kvmexit.8
-+++ b/man/man8/kvmexit.8
-@@ -109,7 +109,5 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Fei Li <lifei.shirley@bytedance.com>
-diff --git a/man/man8/llcstat.8 b/man/man8/llcstat.8
-index 36dbed7d..2b554c46 100644
---- a/man/man8/llcstat.8
-+++ b/man/man8/llcstat.8
-@@ -63,8 +63,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Teng Qin
- .SH SEE ALSO
-diff --git a/man/man8/mdflush.8 b/man/man8/mdflush.8
-index 9d10ca87..3c3b9bba 100644
---- a/man/man8/mdflush.8
-+++ b/man/man8/mdflush.8
-@@ -49,8 +49,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Brendan Gregg
- .SH SEE ALSO
-diff --git a/man/man8/memleak.8 b/man/man8/memleak.8
-index 2fd26764..d56cf207 100644
---- a/man/man8/memleak.8
-+++ b/man/man8/memleak.8
-@@ -135,7 +135,5 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Sasha Goldshtein
-diff --git a/man/man8/mountsnoop.8 b/man/man8/mountsnoop.8
-index 01efdf9c..8afafba0 100644
---- a/man/man8/mountsnoop.8
-+++ b/man/man8/mountsnoop.8
-@@ -46,8 +46,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Omar Sandoval
- .SH SEE ALSO
-diff --git a/man/man8/mysqld_qslower.8 b/man/man8/mysqld_qslower.8
-index 5753079a..7daf074b 100644
---- a/man/man8/mysqld_qslower.8
-+++ b/man/man8/mysqld_qslower.8
-@@ -58,8 +58,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Brendan Gregg
- .SH SEE ALSO
-diff --git a/man/man8/netqtop.8 b/man/man8/netqtop.8
-index bfa34d11..8750782b 100644
---- a/man/man8/netqtop.8
-+++ b/man/man8/netqtop.8
-@@ -50,7 +50,5 @@ Also look in the bcc distribution for a netqtop_example.txt file containing
- example usage, output and commentary for this tool.
- .SH OS 
- Linux
--.SH STABILITY
--Unstable - in development
- .SH AUTHOR
- Yolandajn
-diff --git a/man/man8/nfsdist.8 b/man/man8/nfsdist.8
-index c72cfaa6..34532c18 100644
---- a/man/man8/nfsdist.8
-+++ b/man/man8/nfsdist.8
-@@ -72,8 +72,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Samuel Nair
- .SH SEE ALSO
-diff --git a/man/man8/nfsslower.8 b/man/man8/nfsslower.8
-index 22b36e3e..66021002 100644
---- a/man/man8/nfsslower.8
-+++ b/man/man8/nfsslower.8
-@@ -114,8 +114,6 @@ Also look in the bcc distribution for a companion nfsslower_examples.txt file co
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Samuel Nair
- .SH SEE ALSO
-diff --git a/man/man8/offcputime.8 b/man/man8/offcputime.8
-index be5387b9..270991d8 100644
---- a/man/man8/offcputime.8
-+++ b/man/man8/offcputime.8
-@@ -110,8 +110,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Brendan Gregg
- .SH SEE ALSO
-diff --git a/man/man8/offwaketime.8 b/man/man8/offwaketime.8
-index 7334b6f8..f0704e92 100644
---- a/man/man8/offwaketime.8
-+++ b/man/man8/offwaketime.8
-@@ -107,8 +107,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Brendan Gregg
- .SH SEE ALSO
-diff --git a/man/man8/oomkill.8 b/man/man8/oomkill.8
-index b6d6f9e1..965ba545 100644
---- a/man/man8/oomkill.8
-+++ b/man/man8/oomkill.8
-@@ -47,8 +47,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Brendan Gregg
- .SH SEE ALSO
-diff --git a/man/man8/opensnoop.8 b/man/man8/opensnoop.8
-index fee83263..953af623 100644
---- a/man/man8/opensnoop.8
-+++ b/man/man8/opensnoop.8
-@@ -148,8 +148,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Brendan Gregg
- .SH SEE ALSO
-diff --git a/man/man8/pidpersec.8 b/man/man8/pidpersec.8
-index 2164ffaf..9d272c81 100644
---- a/man/man8/pidpersec.8
-+++ b/man/man8/pidpersec.8
-@@ -33,8 +33,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Brendan Gregg
- .SH SEE ALSO
-diff --git a/man/man8/profile.8 b/man/man8/profile.8
-index 30871afe..8523a731 100644
---- a/man/man8/profile.8
-+++ b/man/man8/profile.8
-@@ -148,8 +148,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Brendan Gregg
- .SH SEE ALSO
-diff --git a/man/man8/readahead.8 b/man/man8/readahead.8
-index a2a10914..da8e4fe4 100644
---- a/man/man8/readahead.8
-+++ b/man/man8/readahead.8
-@@ -51,8 +51,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Suchakra Sharma
- .SH SEE ALSO
-diff --git a/man/man8/reset-trace.8 b/man/man8/reset-trace.8
-index e96d4790..90f525e0 100644
---- a/man/man8/reset-trace.8
-+++ b/man/man8/reset-trace.8
-@@ -53,7 +53,5 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Brendan Gregg
-diff --git a/man/man8/runqlat.8 b/man/man8/runqlat.8
-index d535ebbf..9e146a5e 100644
---- a/man/man8/runqlat.8
-+++ b/man/man8/runqlat.8
-@@ -105,8 +105,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Brendan Gregg
- .SH SEE ALSO
-diff --git a/man/man8/runqlen.8 b/man/man8/runqlen.8
-index b36a5a18..c2f0ffb4 100644
---- a/man/man8/runqlen.8
-+++ b/man/man8/runqlen.8
-@@ -78,8 +78,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Brendan Gregg
- .SH SEE ALSO
-diff --git a/man/man8/runqslower.8 b/man/man8/runqslower.8
-index 55ea5bd9..dbbec5ae 100644
---- a/man/man8/runqslower.8
-+++ b/man/man8/runqslower.8
-@@ -84,8 +84,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Ivan Babrou, original BCC Python version
- Andrii Nakryiko, CO-RE version
-diff --git a/man/man8/shmsnoop.8 b/man/man8/shmsnoop.8
-index e7092e19..944e9f07 100644
---- a/man/man8/shmsnoop.8
-+++ b/man/man8/shmsnoop.8
-@@ -66,8 +66,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Jiri Olsa
- .SH SEE ALSO
-diff --git a/man/man8/slabratetop.8 b/man/man8/slabratetop.8
-index bfe897fc..18d1e5ea 100644
---- a/man/man8/slabratetop.8
-+++ b/man/man8/slabratetop.8
-@@ -68,8 +68,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Brendan Gregg
- .SH SEE ALSO
-diff --git a/man/man8/sofdsnoop.8 b/man/man8/sofdsnoop.8
-index cd3ffa27..94432544 100644
---- a/man/man8/sofdsnoop.8
-+++ b/man/man8/sofdsnoop.8
-@@ -58,5 +58,3 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
-diff --git a/man/man8/softirqs.8 b/man/man8/softirqs.8
-index a9a14414..df2fc90b 100644
---- a/man/man8/softirqs.8
-+++ b/man/man8/softirqs.8
-@@ -85,8 +85,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHORS
- Brendan Gregg, Sasha Goldshtein
- .SH SEE ALSO
-diff --git a/man/man8/solisten.8 b/man/man8/solisten.8
-index 4d8ffe95..fd863447 100644
---- a/man/man8/solisten.8
-+++ b/man/man8/solisten.8
-@@ -45,5 +45,3 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
-diff --git a/man/man8/spfdsnoop.8 b/man/man8/spfdsnoop.8
-index ffad57c5..df80437f 100644
---- a/man/man8/spfdsnoop.8
-+++ b/man/man8/spfdsnoop.8
-@@ -77,8 +77,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Jiri Olsa
- .SH SEE ALSO
-diff --git a/man/man8/sslsniff.8 b/man/man8/sslsniff.8
-index df81664b..1d2749fa 100644
---- a/man/man8/sslsniff.8
-+++ b/man/man8/sslsniff.8
-@@ -86,8 +86,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHORS
- Adrian Lopez and Mark Drayton
- .SH SEE ALSO
-diff --git a/man/man8/stackcount.8 b/man/man8/stackcount.8
-index d2459561..2cf789c1 100644
---- a/man/man8/stackcount.8
-+++ b/man/man8/stackcount.8
-@@ -150,8 +150,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Brendan Gregg, Sasha Goldshtein
- .SH SEE ALSO
-diff --git a/man/man8/statsnoop.8 b/man/man8/statsnoop.8
-index c0555043..d1560b3c 100644
---- a/man/man8/statsnoop.8
-+++ b/man/man8/statsnoop.8
-@@ -83,8 +83,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Brendan Gregg
- .SH SEE ALSO
-diff --git a/man/man8/swapin.8 b/man/man8/swapin.8
-index c5ef1ffc..89600460 100644
---- a/man/man8/swapin.8
-+++ b/man/man8/swapin.8
-@@ -50,8 +50,6 @@ Also look in the bcc distribution for a companion _examples.txt file
- containing example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Brendan Gregg
- .SH SEE ALSO
-diff --git a/man/man8/syncsnoop.8 b/man/man8/syncsnoop.8
-index 8543f213..cd7b0629 100644
---- a/man/man8/syncsnoop.8
-+++ b/man/man8/syncsnoop.8
-@@ -45,8 +45,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Brendan Gregg
- .SH SEE ALSO
-diff --git a/man/man8/syscount.8 b/man/man8/syscount.8
-index d13793be..88343e14 100644
---- a/man/man8/syscount.8
-+++ b/man/man8/syscount.8
-@@ -102,8 +102,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Sasha Goldshtein
- .SH SEE ALSO
-diff --git a/man/man8/tcpaccept.8 b/man/man8/tcpaccept.8
-index 05b79693..6dd35301 100644
---- a/man/man8/tcpaccept.8
-+++ b/man/man8/tcpaccept.8
-@@ -118,8 +118,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Brendan Gregg
- .SH SEE ALSO
-diff --git a/man/man8/tcpconnect.8 b/man/man8/tcpconnect.8
-index 0ea84686..04952d74 100644
---- a/man/man8/tcpconnect.8
-+++ b/man/man8/tcpconnect.8
-@@ -197,8 +197,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Brendan Gregg
- .SH SEE ALSO
-diff --git a/man/man8/tcpconnlat.8 b/man/man8/tcpconnlat.8
-index 84762b45..3771baa7 100644
---- a/man/man8/tcpconnlat.8
-+++ b/man/man8/tcpconnlat.8
-@@ -125,8 +125,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Brendan Gregg
- .SH SEE ALSO
-diff --git a/man/man8/tcpdrop.8 b/man/man8/tcpdrop.8
-index c9b777b3..82e400eb 100644
---- a/man/man8/tcpdrop.8
-+++ b/man/man8/tcpdrop.8
-@@ -83,8 +83,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Brendan Gregg
- .SH SEE ALSO
-diff --git a/man/man8/tcplife.8 b/man/man8/tcplife.8
-index 5fb4c283..cc76d870 100644
---- a/man/man8/tcplife.8
-+++ b/man/man8/tcplife.8
-@@ -136,8 +136,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Brendan Gregg
- .SH SEE ALSO
-diff --git a/man/man8/tcpretrans.8 b/man/man8/tcpretrans.8
-index 0b643d11..aebdab73 100644
---- a/man/man8/tcpretrans.8
-+++ b/man/man8/tcpretrans.8
-@@ -103,8 +103,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Brendan Gregg
- .SH SEE ALSO
-diff --git a/man/man8/tcprtt.8 b/man/man8/tcprtt.8
-index 1ed32d6e..4ccf88e0 100644
---- a/man/man8/tcprtt.8
-+++ b/man/man8/tcprtt.8
-@@ -95,8 +95,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- zhenwei pi
- .SH SEE ALSO
-diff --git a/man/man8/tcpstates.8 b/man/man8/tcpstates.8
-index 57c40a83..1d6b8a29 100644
---- a/man/man8/tcpstates.8
-+++ b/man/man8/tcpstates.8
-@@ -137,8 +137,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Brendan Gregg
- .SH SEE ALSO
-diff --git a/man/man8/tcpsubnet.8 b/man/man8/tcpsubnet.8
-index 525b8082..daf41583 100644
---- a/man/man8/tcpsubnet.8
-+++ b/man/man8/tcpsubnet.8
-@@ -90,8 +90,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Rodrigo Manyari
- .SH INSPIRATION
-diff --git a/man/man8/tcpsynbl.8 b/man/man8/tcpsynbl.8
-index 8557af2b..c03c5460 100644
---- a/man/man8/tcpsynbl.8
-+++ b/man/man8/tcpsynbl.8
-@@ -69,8 +69,6 @@ Also look in the bcc distribution for a companion _examples.txt file
- containing example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Brendan Gregg
- .SH SEE ALSO
-diff --git a/man/man8/tcptop.8 b/man/man8/tcptop.8
-index f4f1c3d7..013cb3d9 100644
---- a/man/man8/tcptop.8
-+++ b/man/man8/tcptop.8
-@@ -127,8 +127,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Brendan Gregg
- .SH INSPIRATION
-diff --git a/man/man8/tcptracer.8 b/man/man8/tcptracer.8
-index 59240f4b..331efe9a 100644
---- a/man/man8/tcptracer.8
-+++ b/man/man8/tcptracer.8
-@@ -113,8 +113,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Iago López Galeiras
- .SH SEE ALSO
-diff --git a/man/man8/threadsnoop.8 b/man/man8/threadsnoop.8
-index 3c655f24..007281ad 100644
---- a/man/man8/threadsnoop.8
-+++ b/man/man8/threadsnoop.8
-@@ -52,8 +52,6 @@ Also look in the bcc distribution for a companion _examples.txt file
- containing example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Brendan Gregg
- .SH SEE ALSO
-diff --git a/man/man8/tplist.8 b/man/man8/tplist.8
-index da5edf37..f7e459da 100644
---- a/man/man8/tplist.8
-+++ b/man/man8/tplist.8
-@@ -56,7 +56,5 @@ This is from bcc.
- https://github.com/iovisor/bcc
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Sasha Goldshtein
-diff --git a/man/man8/trace.8 b/man/man8/trace.8
-index acfff58f..17aa20bc 100644
---- a/man/man8/trace.8
-+++ b/man/man8/trace.8
-@@ -216,7 +216,5 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Sasha Goldshtein
-diff --git a/man/man8/ttysnoop.8 b/man/man8/ttysnoop.8
-index e2ec037f..e20feb01 100644
---- a/man/man8/ttysnoop.8
-+++ b/man/man8/ttysnoop.8
-@@ -58,8 +58,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Brendan Gregg
- .SH SEE ALSO
-diff --git a/man/man8/ucalls.8 b/man/man8/ucalls.8
-index dfc4b8b2..be38c9fb 100644
---- a/man/man8/ucalls.8
-+++ b/man/man8/ucalls.8
-@@ -90,8 +90,6 @@ Also look in the bcc distribution for a companion _example.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Sasha Goldshtein
- .SH SEE ALSO
-diff --git a/man/man8/uflow.8 b/man/man8/uflow.8
-index 1d0951c3..d8800166 100644
---- a/man/man8/uflow.8
-+++ b/man/man8/uflow.8
-@@ -90,8 +90,6 @@ Also look in the bcc distribution for a companion _example.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Sasha Goldshtein
- .SH SEE ALSO
-diff --git a/man/man8/ugc.8 b/man/man8/ugc.8
-index 782ae634..5dd17f3a 100644
---- a/man/man8/ugc.8
-+++ b/man/man8/ugc.8
-@@ -90,8 +90,6 @@ Also look in the bcc distribution for a companion _example.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Sasha Goldshtein
- .SH SEE ALSO
-diff --git a/man/man8/uobjnew.8 b/man/man8/uobjnew.8
-index f4a9c74c..5cd7ef1b 100644
---- a/man/man8/uobjnew.8
-+++ b/man/man8/uobjnew.8
-@@ -80,8 +80,6 @@ Also look in the bcc distribution for a companion _example.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Sasha Goldshtein
- .SH SEE ALSO
-diff --git a/man/man8/ustat.8 b/man/man8/ustat.8
-index 371d855e..f37fc91f 100644
---- a/man/man8/ustat.8
-+++ b/man/man8/ustat.8
-@@ -125,8 +125,6 @@ Also look in the bcc distribution for a companion _example.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Sasha Goldshtein
- .SH SEE ALSO
-diff --git a/man/man8/uthreads.8 b/man/man8/uthreads.8
-index 6acffa56..5a91f2d4 100644
---- a/man/man8/uthreads.8
-+++ b/man/man8/uthreads.8
-@@ -60,8 +60,6 @@ Also look in the bcc distribution for a companion _example.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Sasha Goldshtein
- .SH SEE ALSO
-diff --git a/man/man8/vfscount.8 b/man/man8/vfscount.8
-index febbc9e6..0cc65adf 100644
---- a/man/man8/vfscount.8
-+++ b/man/man8/vfscount.8
-@@ -54,8 +54,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Brendan Gregg
- .SH SEE ALSO
-diff --git a/man/man8/vfsstat.8 b/man/man8/vfsstat.8
-index 929e6b63..f439857e 100644
---- a/man/man8/vfsstat.8
-+++ b/man/man8/vfsstat.8
-@@ -57,8 +57,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Brendan Gregg
- .SH SEE ALSO
-diff --git a/man/man8/virtiostat.8 b/man/man8/virtiostat.8
-index 8578f8d3..ac312c56 100644
---- a/man/man8/virtiostat.8
-+++ b/man/man8/virtiostat.8
-@@ -58,8 +58,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- zhenwei pi
- .SH SEE ALSO
-diff --git a/man/man8/wakeuptime.8 b/man/man8/wakeuptime.8
-index 8630ae4a..3c7cf80a 100644
---- a/man/man8/wakeuptime.8
-+++ b/man/man8/wakeuptime.8
-@@ -96,8 +96,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Brendan Gregg
- .SH SEE ALSO
-diff --git a/man/man8/xfsdist.8 b/man/man8/xfsdist.8
-index 3c890007..75b2c66e 100644
---- a/man/man8/xfsdist.8
-+++ b/man/man8/xfsdist.8
-@@ -72,8 +72,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Brendan Gregg
- .SH SEE ALSO
-diff --git a/man/man8/xfsslower.8 b/man/man8/xfsslower.8
-index 30ec3253..c914dcee 100644
---- a/man/man8/xfsslower.8
-+++ b/man/man8/xfsslower.8
-@@ -105,8 +105,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Brendan Gregg
- .SH SEE ALSO
-diff --git a/man/man8/zfsdist.8 b/man/man8/zfsdist.8
-index 1e5632fd..6c5de7d7 100644
---- a/man/man8/zfsdist.8
-+++ b/man/man8/zfsdist.8
-@@ -75,8 +75,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Brendan Gregg
- .SH SEE ALSO
-diff --git a/man/man8/zfsslower.8 b/man/man8/zfsslower.8
-index d1e2f9c1..31d382f6 100644
---- a/man/man8/zfsslower.8
-+++ b/man/man8/zfsslower.8
-@@ -108,8 +108,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
- example usage, output, and commentary for this tool.
- .SH OS
- Linux
--.SH STABILITY
--Unstable - in development.
- .SH AUTHOR
- Brendan Gregg
- .SH SEE ALSO
--- 
-2.35.3
-
diff --git a/SOURCES/bcc-0.24.0-RHEL-libbpf-version-fixes.patch b/SOURCES/bcc-0.24.0-RHEL-libbpf-version-fixes.patch
deleted file mode 100644
index b00d20e..0000000
--- a/SOURCES/bcc-0.24.0-RHEL-libbpf-version-fixes.patch
+++ /dev/null
@@ -1,324 +0,0 @@
-From 8f2951559127ffb93c3e36d5fc9d870768826ae9 Mon Sep 17 00:00:00 2001
-From: Jerome Marchand <jmarchan@redhat.com>
-Date: Thu, 24 Mar 2022 16:08:17 +0100
-Subject: [PATCH 2/2] RHEL: libbpf version fixes
-
-Revert "bcc: Replace deprecated libbpf APIs" since the libbpf version
-provided in RHEL 8 doesn't provide the new APIs.
-
-Remove BPF_MAP_TYPE_BLOOM_FILTER from bps since the libbpf version in
-RHEL 8, doesn't provide bloom filter map.
-
-Rename btf__load_vmlinux_btf into libbpf_find_kernel_btf. The function
-has been renamed upstream for naming consistency, but RHEL 8 libbpf
-still uses the old name.
-
-Add definition of struct bpf_core_relo.
----
- introspection/bps.c   |  1 -
- libbpf-tools/ksnoop.c |  2 +-
- src/cc/bcc_btf.cc     | 73 ++++++++++++++++++++++++++++++++++++-
- src/cc/libbpf.c       | 84 +++++++------------------------------------
- 4 files changed, 85 insertions(+), 75 deletions(-)
-
-diff --git a/introspection/bps.c b/introspection/bps.c
-index 232b23d4..6ec02e6c 100644
---- a/introspection/bps.c
-+++ b/introspection/bps.c
-@@ -80,7 +80,6 @@ static const char * const map_type_strings[] = {
-   [BPF_MAP_TYPE_RINGBUF] = "ringbuf",
-   [BPF_MAP_TYPE_INODE_STORAGE] = "inode_storage",
-   [BPF_MAP_TYPE_TASK_STORAGE] = "task_storage",
--  [BPF_MAP_TYPE_BLOOM_FILTER] = "bloom_filter",
- };
- 
- #define ARRAY_SIZE(x) (sizeof(x) / sizeof(*(x)))
-diff --git a/libbpf-tools/ksnoop.c b/libbpf-tools/ksnoop.c
-index 69c58403..a6ea6107 100644
---- a/libbpf-tools/ksnoop.c
-+++ b/libbpf-tools/ksnoop.c
-@@ -347,7 +347,7 @@ static struct btf *get_btf(const char *name)
- 		name && strlen(name) > 0 ? name : "vmlinux");
- 
- 	if (!vmlinux_btf) {
--		vmlinux_btf = btf__load_vmlinux_btf();
-+		vmlinux_btf = libbpf_find_kernel_btf();
- 		if (!vmlinux_btf) {
- 			err = -errno;
- 			p_err("No BTF, cannot determine type info: %s", strerror(-err));
-diff --git a/src/cc/bcc_btf.cc b/src/cc/bcc_btf.cc
-index 7f551ae8..c78ba823 100644
---- a/src/cc/bcc_btf.cc
-+++ b/src/cc/bcc_btf.cc
-@@ -170,6 +170,77 @@ static int btf_ext_setup_line_info(struct btf_ext *btf_ext)
-         return btf_ext_setup_info(btf_ext, &param);
- }
- 
-+/* bpf_core_relo_kind encodes which aspect of captured field/type/enum value
-+ * has to be adjusted by relocations.
-+ */
-+enum bpf_core_relo_kind {
-+	BPF_FIELD_BYTE_OFFSET = 0,	/* field byte offset */
-+	BPF_FIELD_BYTE_SIZE = 1,	/* field size in bytes */
-+	BPF_FIELD_EXISTS = 2,		/* field existence in target kernel */
-+	BPF_FIELD_SIGNED = 3,		/* field signedness (0 - unsigned, 1 - signed) */
-+	BPF_FIELD_LSHIFT_U64 = 4,	/* bitfield-specific left bitshift */
-+	BPF_FIELD_RSHIFT_U64 = 5,	/* bitfield-specific right bitshift */
-+	BPF_TYPE_ID_LOCAL = 6,		/* type ID in local BPF object */
-+	BPF_TYPE_ID_TARGET = 7,		/* type ID in target kernel */
-+	BPF_TYPE_EXISTS = 8,		/* type existence in target kernel */
-+	BPF_TYPE_SIZE = 9,		/* type size in bytes */
-+	BPF_ENUMVAL_EXISTS = 10,	/* enum value existence in target kernel */
-+	BPF_ENUMVAL_VALUE = 11,		/* enum value integer value */
-+};
-+
-+/* The minimum bpf_core_relo checked by the loader
-+ *
-+ * CO-RE relocation captures the following data:
-+ * - insn_off - instruction offset (in bytes) within a BPF program that needs
-+ *   its insn->imm field to be relocated with actual field info;
-+ * - type_id - BTF type ID of the "root" (containing) entity of a relocatable
-+ *   type or field;
-+ * - access_str_off - offset into corresponding .BTF string section. String
-+ *   interpretation depends on specific relocation kind:
-+ *     - for field-based relocations, string encodes an accessed field using
-+ *     a sequence of field and array indices, separated by colon (:). It's
-+ *     conceptually very close to LLVM's getelementptr ([0]) instruction's
-+ *     arguments for identifying offset to a field.
-+ *     - for type-based relocations, strings is expected to be just "0";
-+ *     - for enum value-based relocations, string contains an index of enum
-+ *     value within its enum type;
-+ *
-+ * Example to provide a better feel.
-+ *
-+ *   struct sample {
-+ *       int a;
-+ *       struct {
-+ *           int b[10];
-+ *       };
-+ *   };
-+ *
-+ *   struct sample *s = ...;
-+ *   int x = &s->a;     // encoded as "0:0" (a is field #0)
-+ *   int y = &s->b[5];  // encoded as "0:1:0:5" (anon struct is field #1, 
-+ *                      // b is field #0 inside anon struct, accessing elem #5)
-+ *   int z = &s[10]->b; // encoded as "10:1" (ptr is used as an array)
-+ *
-+ * type_id for all relocs in this example  will capture BTF type id of
-+ * `struct sample`.
-+ *
-+ * Such relocation is emitted when using __builtin_preserve_access_index()
-+ * Clang built-in, passing expression that captures field address, e.g.:
-+ *
-+ * bpf_probe_read(&dst, sizeof(dst),
-+ *		  __builtin_preserve_access_index(&src->a.b.c));
-+ *
-+ * In this case Clang will emit field relocation recording necessary data to
-+ * be able to find offset of embedded `a.b.c` field within `src` struct.
-+ *
-+ *   [0] https://llvm.org/docs/LangRef.html#getelementptr-instruction
-+ */
-+struct bpf_core_relo {
-+	__u32   insn_off;
-+	__u32   type_id;
-+	__u32   access_str_off;
-+	enum bpf_core_relo_kind kind;
-+};
-+
- static int btf_ext_setup_core_relos(struct btf_ext *btf_ext)
- {
-         struct btf_ext_sec_setup_param param = {
-@@ -597,7 +668,7 @@ int BTF::load(uint8_t *btf_sec, uintptr_t btf_sec_size,
-     return -1;
-   }
- 
--  if (btf__load_into_kernel(btf)) {
-+  if (btf__load(btf)) {
-     btf__free(btf);
-     warning("Loading .BTF section failed\n");
-     return -1;
-diff --git a/src/cc/libbpf.c b/src/cc/libbpf.c
-index e6403299..7410ae1a 100644
---- a/src/cc/libbpf.c
-+++ b/src/cc/libbpf.c
-@@ -297,25 +297,6 @@ static uint64_t ptr_to_u64(void *ptr)
-   return (uint64_t) (unsigned long) ptr;
- }
- 
--static int libbpf_bpf_map_create(struct bpf_create_map_attr *create_attr)
--{
--  LIBBPF_OPTS(bpf_map_create_opts, p);
--
--  p.map_flags = create_attr->map_flags;
--  p.numa_node = create_attr->numa_node;
--  p.btf_fd = create_attr->btf_fd;
--  p.btf_key_type_id = create_attr->btf_key_type_id;
--  p.btf_value_type_id = create_attr->btf_value_type_id;
--  p.map_ifindex = create_attr->map_ifindex;
--  if (create_attr->map_type == BPF_MAP_TYPE_STRUCT_OPS)
--    p.btf_vmlinux_value_type_id = create_attr->btf_vmlinux_value_type_id;
--  else
--    p.inner_map_fd = create_attr->inner_map_fd;
--
--  return bpf_map_create(create_attr->map_type, create_attr->name, create_attr->key_size,
--                        create_attr->value_size, create_attr->max_entries, &p);
--}
--
- int bcc_create_map_xattr(struct bpf_create_map_attr *attr, bool allow_rlimit)
- {
-   unsigned name_len = attr->name ? strlen(attr->name) : 0;
-@@ -323,7 +304,7 @@ int bcc_create_map_xattr(struct bpf_create_map_attr *attr, bool allow_rlimit)
- 
-   memcpy(map_name, attr->name, min(name_len, BPF_OBJ_NAME_LEN - 1));
-   attr->name = map_name;
--  int ret = libbpf_bpf_map_create(attr);
-+  int ret = bpf_create_map_xattr(attr);
- 
-   if (ret < 0 && errno == EPERM) {
-     if (!allow_rlimit)
-@@ -335,7 +316,7 @@ int bcc_create_map_xattr(struct bpf_create_map_attr *attr, bool allow_rlimit)
-       rl.rlim_max = RLIM_INFINITY;
-       rl.rlim_cur = rl.rlim_max;
-       if (setrlimit(RLIMIT_MEMLOCK, &rl) == 0)
--        ret = libbpf_bpf_map_create(attr);
-+        ret = bpf_create_map_xattr(attr);
-     }
-   }
- 
-@@ -345,12 +326,12 @@ int bcc_create_map_xattr(struct bpf_create_map_attr *attr, bool allow_rlimit)
-     attr->btf_fd = 0;
-     attr->btf_key_type_id = 0;
-     attr->btf_value_type_id = 0;
--    ret = libbpf_bpf_map_create(attr);
-+    ret = bpf_create_map_xattr(attr);
-   }
- 
-   if (ret < 0 && name_len && (errno == E2BIG || errno == EINVAL)) {
-     map_name[0] = '\0';
--    ret = libbpf_bpf_map_create(attr);
-+    ret = bpf_create_map_xattr(attr);
-   }
- 
-   if (ret < 0 && errno == EPERM) {
-@@ -363,7 +344,7 @@ int bcc_create_map_xattr(struct bpf_create_map_attr *attr, bool allow_rlimit)
-       rl.rlim_max = RLIM_INFINITY;
-       rl.rlim_cur = rl.rlim_max;
-       if (setrlimit(RLIMIT_MEMLOCK, &rl) == 0)
--        ret = libbpf_bpf_map_create(attr);
-+        ret = bpf_create_map_xattr(attr);
-     }
-   }
-   return ret;
-@@ -627,47 +608,6 @@ int bpf_prog_get_tag(int fd, unsigned long long *ptag)
-   return 0;
- }
- 
--static int libbpf_bpf_prog_load(const struct bpf_load_program_attr *load_attr,
--                                char *log_buf, size_t log_buf_sz)
--{
--  LIBBPF_OPTS(bpf_prog_load_opts, p);
--
--  if (!load_attr || !log_buf != !log_buf_sz) {
--    errno = EINVAL;
--    return -EINVAL;
--  }
--
--  p.expected_attach_type = load_attr->expected_attach_type;
--  switch (load_attr->prog_type) {
--  case BPF_PROG_TYPE_STRUCT_OPS:
--  case BPF_PROG_TYPE_LSM:
--    p.attach_btf_id = load_attr->attach_btf_id;
--    break;
--  case BPF_PROG_TYPE_TRACING:
--  case BPF_PROG_TYPE_EXT:
--    p.attach_btf_id = load_attr->attach_btf_id;
--    p.attach_prog_fd = load_attr->attach_prog_fd;
--    break;
--  default:
--    p.prog_ifindex = load_attr->prog_ifindex;
--    p.kern_version = load_attr->kern_version;
--  }
--  p.log_level = load_attr->log_level;
--  p.log_buf = log_buf;
--  p.log_size = log_buf_sz;
--  p.prog_btf_fd = load_attr->prog_btf_fd;
--  p.func_info_rec_size = load_attr->func_info_rec_size;
--  p.func_info_cnt = load_attr->func_info_cnt;
--  p.func_info = load_attr->func_info;
--  p.line_info_rec_size = load_attr->line_info_rec_size;
--  p.line_info_cnt = load_attr->line_info_cnt;
--  p.line_info = load_attr->line_info;
--  p.prog_flags = load_attr->prog_flags;
--
--  return bpf_prog_load(load_attr->prog_type, load_attr->name, load_attr->license,
--                       load_attr->insns, load_attr->insns_cnt, &p);
--}
--
- int bcc_prog_load_xattr(struct bpf_load_program_attr *attr, int prog_len,
-                         char *log_buf, unsigned log_buf_size, bool allow_rlimit)
- {
-@@ -750,7 +690,7 @@ int bcc_prog_load_xattr(struct bpf_load_program_attr *attr, int prog_len,
-     attr->name = prog_name;
-   }
- 
--  ret = libbpf_bpf_prog_load(attr, attr_log_buf, attr_log_buf_size);
-+  ret = bpf_load_program_xattr(attr, attr_log_buf, attr_log_buf_size);
- 
-   // func_info/line_info may not be supported in old kernels.
-   if (ret < 0 && attr->func_info && errno == EINVAL) {
-@@ -761,14 +701,14 @@ int bcc_prog_load_xattr(struct bpf_load_program_attr *attr, int prog_len,
-     attr->line_info = NULL;
-     attr->line_info_cnt = 0;
-     attr->line_info_rec_size = 0;
--    ret = libbpf_bpf_prog_load(attr, attr_log_buf, attr_log_buf_size);
-+    ret = bpf_load_program_xattr(attr, attr_log_buf, attr_log_buf_size);
-   }
- 
-   // BPF object name is not supported on older Kernels.
-   // If we failed due to this, clear the name and try again.
-   if (ret < 0 && name_len && (errno == E2BIG || errno == EINVAL)) {
-     prog_name[0] = '\0';
--    ret = libbpf_bpf_prog_load(attr, attr_log_buf, attr_log_buf_size);
-+    ret = bpf_load_program_xattr(attr, attr_log_buf, attr_log_buf_size);
-   }
- 
-   if (ret < 0 && errno == EPERM) {
-@@ -787,7 +727,7 @@ int bcc_prog_load_xattr(struct bpf_load_program_attr *attr, int prog_len,
-       rl.rlim_max = RLIM_INFINITY;
-       rl.rlim_cur = rl.rlim_max;
-       if (setrlimit(RLIMIT_MEMLOCK, &rl) == 0)
--        ret = libbpf_bpf_prog_load(attr, attr_log_buf, attr_log_buf_size);
-+        ret = bpf_load_program_xattr(attr, attr_log_buf, attr_log_buf_size);
-     }
-   }
- 
-@@ -805,7 +745,7 @@ int bcc_prog_load_xattr(struct bpf_load_program_attr *attr, int prog_len,
-       // If logging is not already enabled, enable it and do the syscall again.
-       if (attr->log_level == 0) {
-         attr->log_level = 1;
--        ret = libbpf_bpf_prog_load(attr, log_buf, log_buf_size);
-+        ret = bpf_load_program_xattr(attr, log_buf, log_buf_size);
-       }
-       // Print the log message and return.
-       bpf_print_hints(ret, log_buf);
-@@ -829,7 +769,7 @@ int bcc_prog_load_xattr(struct bpf_load_program_attr *attr, int prog_len,
-         goto return_result;
-       }
-       tmp_log_buf[0] = 0;
--      ret = libbpf_bpf_prog_load(attr, tmp_log_buf, tmp_log_buf_size);
-+      ret = bpf_load_program_xattr(attr, tmp_log_buf, tmp_log_buf_size);
-       if (ret < 0 && errno == ENOSPC) {
-         // Temporary buffer size is not enough. Double it and try again.
-         free(tmp_log_buf);
-@@ -1369,7 +1309,7 @@ int kernel_struct_has_field(const char *struct_name, const char *field_name)
-   struct btf *btf;
-   int i, ret, btf_id;
- 
--  btf = btf__load_vmlinux_btf();
-+  btf = libbpf_find_kernel_btf();
-   ret = libbpf_get_error(btf);
-   if (ret)
-     return -1;
--- 
-2.35.3
-
diff --git a/SOURCES/bcc-0.24.0-libbpf-Allow-kernel_struct_has_field-to-reach-field-.patch b/SOURCES/bcc-0.24.0-libbpf-Allow-kernel_struct_has_field-to-reach-field-.patch
deleted file mode 100644
index 9f58ae0..0000000
--- a/SOURCES/bcc-0.24.0-libbpf-Allow-kernel_struct_has_field-to-reach-field-.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From e9ae2826b8712d491362771233ed6bf21ae1a07a Mon Sep 17 00:00:00 2001
-From: Jerome Marchand <jmarchan@redhat.com>
-Date: Thu, 19 May 2022 16:37:40 +0200
-Subject: [PATCH 3/3] libbpf: Allow kernel_struct_has_field to reach field in
- unnamed struct or union
-
-Some field can belong to unnamed struct or union. In C, they are
-accessed as if their belong directly to the parent struct or union but
-this is not the case for BTF.
-
-When looking for a field, kernel_struct_has_field should also look
-reccursively into unnamed structs or unions.
----
- src/cc/libbpf.c | 28 ++++++++++++++++++----------
- 1 file changed, 18 insertions(+), 10 deletions(-)
-
-diff --git a/src/cc/libbpf.c b/src/cc/libbpf.c
-index 7410ae1a..e98b8852 100644
---- a/src/cc/libbpf.c
-+++ b/src/cc/libbpf.c
-@@ -1302,12 +1302,27 @@ bool bpf_has_kernel_btf(void)
-   return true;
- }
- 
-+static int find_member_by_name(struct btf *btf, const struct btf_type *btf_type, const char *field_name) {
-+  const struct btf_member *btf_member = btf_members(btf_type);
-+  int i;
-+
-+  for (i = 0; i < btf_vlen(btf_type); i++, btf_member++) {
-+    const char *name = btf__name_by_offset(btf, btf_member->name_off);
-+    if (!strcmp(name, field_name)) {
-+      return 1;
-+    } else if (name[0] == '\0') {
-+      if (find_member_by_name(btf, btf__type_by_id(btf, btf_member->type), field_name))
-+        return 1;
-+    }
-+  }
-+  return 0;
-+}
-+
- int kernel_struct_has_field(const char *struct_name, const char *field_name)
- {
-   const struct btf_type *btf_type;
--  const struct btf_member *btf_member;
-   struct btf *btf;
--  int i, ret, btf_id;
-+  int ret, btf_id;
- 
-   btf = libbpf_find_kernel_btf();
-   ret = libbpf_get_error(btf);
-@@ -1321,14 +1336,7 @@ int kernel_struct_has_field(const char *struct_name, const char *field_name)
-   }
- 
-   btf_type = btf__type_by_id(btf, btf_id);
--  btf_member = btf_members(btf_type);
--  for (i = 0; i < btf_vlen(btf_type); i++, btf_member++) {
--    if (!strcmp(btf__name_by_offset(btf, btf_member->name_off), field_name)) {
--      ret = 1;
--      goto cleanup;
--    }
--  }
--  ret = 0;
-+  ret = find_member_by_name(btf, btf_type, field_name);
- 
- cleanup:
-   btf__free(btf);
--- 
-2.35.3
-
diff --git a/SOURCES/bcc-0.25.0-Fix-bpf_pseudo_fd-type-conversion-error.patch b/SOURCES/bcc-0.25.0-Fix-bpf_pseudo_fd-type-conversion-error.patch
new file mode 100644
index 0000000..7ee0a2c
--- /dev/null
+++ b/SOURCES/bcc-0.25.0-Fix-bpf_pseudo_fd-type-conversion-error.patch
@@ -0,0 +1,77 @@
+From 728005aac7c23590a406ac67235d915e416bff5d Mon Sep 17 00:00:00 2001
+From: Yonghong Song <yhs@fb.com>
+Date: Sat, 13 Aug 2022 17:50:07 -0700
+Subject: [PATCH 1/2] Fix bpf_pseudo_fd() type conversion error
+
+With llvm15 and llvm16, the following command line
+  sudo ./trace.py 'smp_call_function_single "%K", arg1'
+will cause error:
+  /virtual/main.c:60:36: error: incompatible integer to pointer conversion passing 'u64'
+    (aka 'unsigned long long') to parameter of type 'void *' [-Wint-conversion]
+        bpf_perf_event_output(ctx, bpf_pseudo_fd(1, -1), CUR_CPU_IDENTIFIER, &__data, sizeof(__data));
+                                   ^~~~~~~~~~~~~~~~~~~~
+  1 error generated.
+  Failed to compile BPF module <text>
+
+In helpers.h, we have
+  u64 bpf_pseudo_fd(u64, u64) asm("llvm.bpf.pseudo");
+Apparently, <= llvm14 can tolerate u64 -> 'void *' conversion, but
+llvm15 by default will cause an error.
+
+Let us explicitly convert bpf_pseudo_fd to 'void *' to avoid
+such errors.
+
+Signed-off-by: Yonghong Song <yhs@fb.com>
+---
+ src/cc/frontends/clang/b_frontend_action.cc | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/src/cc/frontends/clang/b_frontend_action.cc b/src/cc/frontends/clang/b_frontend_action.cc
+index a4e05b16..dbeba3e4 100644
+--- a/src/cc/frontends/clang/b_frontend_action.cc
++++ b/src/cc/frontends/clang/b_frontend_action.cc
+@@ -957,7 +957,7 @@ bool BTypeVisitor::VisitCallExpr(CallExpr *Call) {
+           string arg0 = rewriter_.getRewrittenText(expansionRange(Call->getArg(0)->getSourceRange()));
+           string args_other = rewriter_.getRewrittenText(expansionRange(SourceRange(GET_BEGINLOC(Call->getArg(1)),
+                                                            GET_ENDLOC(Call->getArg(2)))));
+-          txt = "bpf_perf_event_output(" + arg0 + ", bpf_pseudo_fd(1, " + fd + ")";
++          txt = "bpf_perf_event_output(" + arg0 + ", (void *)bpf_pseudo_fd(1, " + fd + ")";
+           txt += ", CUR_CPU_IDENTIFIER, " + args_other + ")";
+ 
+           // e.g.
+@@ -986,7 +986,7 @@ bool BTypeVisitor::VisitCallExpr(CallExpr *Call) {
+           string meta_len = rewriter_.getRewrittenText(expansionRange(Call->getArg(3)->getSourceRange()));
+           txt = "bpf_perf_event_output(" +
+             skb + ", " +
+-            "bpf_pseudo_fd(1, " + fd + "), " +
++            "(void *)bpf_pseudo_fd(1, " + fd + "), " +
+             "((__u64)" + skb_len + " << 32) | BPF_F_CURRENT_CPU, " +
+             meta + ", " +
+             meta_len + ");";
+@@ -1006,12 +1006,12 @@ bool BTypeVisitor::VisitCallExpr(CallExpr *Call) {
+           string keyp = rewriter_.getRewrittenText(expansionRange(Call->getArg(1)->getSourceRange()));
+           string flag = rewriter_.getRewrittenText(expansionRange(Call->getArg(2)->getSourceRange()));
+           txt = "bpf_" + string(memb_name) + "(" + ctx + ", " +
+-            "bpf_pseudo_fd(1, " + fd + "), " + keyp + ", " + flag + ");";
++            "(void *)bpf_pseudo_fd(1, " + fd + "), " + keyp + ", " + flag + ");";
+         } else if (memb_name == "ringbuf_output") {
+           string name = string(Ref->getDecl()->getName());
+           string args = rewriter_.getRewrittenText(expansionRange(SourceRange(GET_BEGINLOC(Call->getArg(0)),
+                                                            GET_ENDLOC(Call->getArg(2)))));
+-          txt = "bpf_ringbuf_output(bpf_pseudo_fd(1, " + fd + ")";
++          txt = "bpf_ringbuf_output((void *)bpf_pseudo_fd(1, " + fd + ")";
+           txt += ", " + args + ")";
+ 
+           // e.g.
+@@ -1033,7 +1033,7 @@ bool BTypeVisitor::VisitCallExpr(CallExpr *Call) {
+         } else if (memb_name == "ringbuf_reserve") {
+           string name = string(Ref->getDecl()->getName());
+           string arg0 = rewriter_.getRewrittenText(expansionRange(Call->getArg(0)->getSourceRange()));
+-          txt = "bpf_ringbuf_reserve(bpf_pseudo_fd(1, " + fd + ")";
++          txt = "bpf_ringbuf_reserve((void *)bpf_pseudo_fd(1, " + fd + ")";
+           txt += ", " + arg0 + ", 0)"; // Flags in reserve are meaningless
+         } else if (memb_name == "ringbuf_discard") {
+           string name = string(Ref->getDecl()->getName());
+-- 
+2.38.1
+
diff --git a/SOURCES/bcc-0.25.0-Fix-clang-15-int-to-pointer-conversion-errors.patch b/SOURCES/bcc-0.25.0-Fix-clang-15-int-to-pointer-conversion-errors.patch
new file mode 100644
index 0000000..6b12079
--- /dev/null
+++ b/SOURCES/bcc-0.25.0-Fix-clang-15-int-to-pointer-conversion-errors.patch
@@ -0,0 +1,96 @@
+From f5a6c22f613d0566ba542f38f349be379e3844e8 Mon Sep 17 00:00:00 2001
+From: Jerome Marchand <jmarchan@redhat.com>
+Date: Wed, 26 Oct 2022 14:41:54 +0200
+Subject: [PATCH 2/2] Fix clang 15 int to pointer conversion errors
+
+Since version 15, clang issues error for implicit conversion of
+integer to pointer. Several tools are broken. This patch add explicit
+pointer cast where needed.
+
+Fixes the following errors:
+/virtual/main.c:37:18: error: incompatible integer to pointer conversion initializing 'struct request *' with an expression of type 'unsigned long' [-Wint-conversion]
+ struct request *req = ctx->di;
+                 ^     ~~~~~~~
+/virtual/main.c:49:18: error: incompatible integer to pointer conversion initializing 'struct request *' with an expression of type 'unsigned long' [-Wint-conversion]
+ struct request *req = ctx->di;
+                 ^     ~~~~~~~
+2 errors generated.
+
+/virtual/main.c:73:19: error: incompatible integer to pointer conversion initializing 'struct pt_regs *' with an expression of type 'unsigned long' [-Wint-conversion]
+ struct pt_regs * __ctx = ctx->di;
+                  ^       ~~~~~~~
+/virtual/main.c:100:240: error: incompatible integer to pointer conversion passing 'u64' (aka 'unsigned long long') to parameter of type 'const void *' [-Wint-conversion]
+    data.ppid = ({ typeof(pid_t) _val; __builtin_memset(&_val, 0, sizeof(_val)); bpf_probe_read(&_val, sizeof(_val), (u64)&({ typeof(struct task_struct *) _val; __builtin_memset(&_val, 0, sizeof(_val)); bpf_probe_read(&_val, sizeof(_val), (u64)&task->real_parent); _val; })->tgid); _val; });
+                                                                                                                                                                                                                                               ^~~~~~~~~~~~~~~~~~~~~~~
+/virtual/main.c:100:118: error: incompatible integer to pointer conversion passing 'u64' (aka 'unsigned long long') to parameter of type 'const void *' [-Wint-conversion]
+    data.ppid = ({ typeof(pid_t) _val; __builtin_memset(&_val, 0, sizeof(_val)); bpf_probe_read(&_val, sizeof(_val), (u64)&({ typeof(struct task_struct *) _val; __builtin_memset(&_val, 0, sizeof(_val)); bpf_probe_read(&_val, sizeof(_val), (u64)&task->real_parent); _val; })->tgid); _val; });
+                                                                                                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Signed-off-by: Jerome Marchand <jmarchan@redhat.com>
+---
+ src/cc/frontends/clang/b_frontend_action.cc | 18 +++++++++---------
+ 1 file changed, 9 insertions(+), 9 deletions(-)
+
+diff --git a/src/cc/frontends/clang/b_frontend_action.cc b/src/cc/frontends/clang/b_frontend_action.cc
+index dbeba3e4..c0582464 100644
+--- a/src/cc/frontends/clang/b_frontend_action.cc
++++ b/src/cc/frontends/clang/b_frontend_action.cc
+@@ -517,9 +517,9 @@ bool ProbeVisitor::VisitUnaryOperator(UnaryOperator *E) {
+   string pre, post;
+   pre = "({ typeof(" + E->getType().getAsString() + ") _val; __builtin_memset(&_val, 0, sizeof(_val));";
+   if (cannot_fall_back_safely)
+-    pre += " bpf_probe_read_kernel(&_val, sizeof(_val), (u64)";
++    pre += " bpf_probe_read_kernel(&_val, sizeof(_val), (void *)";
+   else
+-    pre += " bpf_probe_read(&_val, sizeof(_val), (u64)";
++    pre += " bpf_probe_read(&_val, sizeof(_val), (void *)";
+   post = "); _val; })";
+   rewriter_.ReplaceText(expansionLoc(E->getOperatorLoc()), 1, pre);
+   rewriter_.InsertTextAfterToken(expansionLoc(GET_ENDLOC(sub)), post);
+@@ -581,9 +581,9 @@ bool ProbeVisitor::VisitMemberExpr(MemberExpr *E) {
+   string pre, post;
+   pre = "({ typeof(" + E->getType().getAsString() + ") _val; __builtin_memset(&_val, 0, sizeof(_val));";
+   if (cannot_fall_back_safely)
+-    pre += " bpf_probe_read_kernel(&_val, sizeof(_val), (u64)&";
++    pre += " bpf_probe_read_kernel(&_val, sizeof(_val), (void *)&";
+   else
+-    pre += " bpf_probe_read(&_val, sizeof(_val), (u64)&";
++    pre += " bpf_probe_read(&_val, sizeof(_val), (void *)&";
+   post = rhs + "); _val; })";
+   rewriter_.InsertText(expansionLoc(GET_BEGINLOC(E)), pre);
+   rewriter_.ReplaceText(expansionRange(SourceRange(member, GET_ENDLOC(E))), post);
+@@ -635,9 +635,9 @@ bool ProbeVisitor::VisitArraySubscriptExpr(ArraySubscriptExpr *E) {
+ 
+   pre = "({ typeof(" + E->getType().getAsString() + ") _val; __builtin_memset(&_val, 0, sizeof(_val));";
+   if (cannot_fall_back_safely)
+-    pre += " bpf_probe_read_kernel(&_val, sizeof(_val), (u64)((";
++    pre += " bpf_probe_read_kernel(&_val, sizeof(_val), (void *)((";
+   else
+-    pre += " bpf_probe_read(&_val, sizeof(_val), (u64)((";
++    pre += " bpf_probe_read(&_val, sizeof(_val), (void *)((";
+   if (isMemberDereference(base)) {
+     pre += "&";
+     // If the base of the array subscript is a member dereference, we'll rewrite
+@@ -747,8 +747,8 @@ void BTypeVisitor::genParamDirectAssign(FunctionDecl *D, string& preamble,
+       arg->addAttr(UnavailableAttr::CreateImplicit(C, "ptregs"));
+       size_t d = idx - 1;
+       const char *reg = calling_conv_regs[d];
+-      preamble += " " + text + " = " + fn_args_[0]->getName().str() + "->" +
+-                  string(reg) + ";";
++      preamble += " " + text + " = (" + arg->getType().getAsString() + ")" +
++                  fn_args_[0]->getName().str() + "->" + string(reg) + ";";
+     }
+   }
+ }
+@@ -762,7 +762,7 @@ void BTypeVisitor::genParamIndirectAssign(FunctionDecl *D, string& preamble,
+ 
+     if (idx == 0) {
+       new_ctx = "__" + arg->getName().str();
+-      preamble += " struct pt_regs * " + new_ctx + " = " +
++      preamble += " struct pt_regs * " + new_ctx + " = (void *)" +
+                   arg->getName().str() + "->" +
+                   string(calling_conv_regs[0]) + ";";
+     } else {
+-- 
+2.38.1
+
diff --git a/SOURCES/bcc-0.25.0-Fix-get_kprobe_functions.patch b/SOURCES/bcc-0.25.0-Fix-get_kprobe_functions.patch
new file mode 100644
index 0000000..b3b224f
--- /dev/null
+++ b/SOURCES/bcc-0.25.0-Fix-get_kprobe_functions.patch
@@ -0,0 +1,30 @@
+From c27899b15bca6188d34c0b87b3389eeda2a90cb5 Mon Sep 17 00:00:00 2001
+From: Jerome Marchand <jmarchan@redhat.com>
+Date: Mon, 9 Jan 2023 18:17:20 +0100
+Subject: [PATCH] Fix get_kprobe_functions
+
+get_kprobe_functions will not only return a function that matches the
+regular expression, but also any function that starts with a
+substrings that matches it. This is obviously not the intended
+behavior.
+The issue is easily fixed by replacing re.match by re.fullmatch.
+---
+ src/python/bcc/__init__.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/python/bcc/__init__.py b/src/python/bcc/__init__.py
+index 7175b98e..970ddcc2 100644
+--- a/src/python/bcc/__init__.py
++++ b/src/python/bcc/__init__.py
+@@ -745,7 +745,7 @@ DEBUG_BTF = 0x20
+                 # Exclude all gcc 8's extra .cold functions
+                 elif re.match(b'^.*\.cold(\.\d+)?$', fn):
+                     continue
+-                if (t.lower() in [b't', b'w']) and re.match(event_re, fn) \
++                if (t.lower() in [b't', b'w']) and re.fullmatch(event_re, fn) \
+                     and fn not in blacklist:
+                     fns.append(fn)
+         return set(fns)     # Some functions may appear more than once
+-- 
+2.38.1
+
diff --git a/SOURCES/bcc-0.25.0-Manpages-remove-unstable-statement.patch b/SOURCES/bcc-0.25.0-Manpages-remove-unstable-statement.patch
new file mode 100644
index 0000000..904bff1
--- /dev/null
+++ b/SOURCES/bcc-0.25.0-Manpages-remove-unstable-statement.patch
@@ -0,0 +1,1480 @@
+From ce407eab95f96badd1879c9c7342eeabcfd17311 Mon Sep 17 00:00:00 2001
+From: Jerome Marchand <jmarchan@redhat.com>
+Date: Tue, 6 Aug 2019 14:44:33 +0200
+Subject: [PATCH 1/3] Manpages: remove unstable statement
+
+The tools are tested before each release. They should be stable
+enough.
+---
+ man/man8/argdist.8        | 2 --
+ man/man8/bashreadline.8   | 2 --
+ man/man8/bindsnoop.8      | 2 --
+ man/man8/biolatency.8     | 2 --
+ man/man8/biolatpcts.8     | 2 --
+ man/man8/biopattern.8     | 2 --
+ man/man8/biosnoop.8       | 2 --
+ man/man8/biotop.8         | 2 --
+ man/man8/bitesize.8       | 2 --
+ man/man8/bpflist.8        | 2 --
+ man/man8/bps.8            | 2 --
+ man/man8/btrfsdist.8      | 2 --
+ man/man8/btrfsslower.8    | 2 --
+ man/man8/cachestat.8      | 2 --
+ man/man8/cachetop.8       | 2 --
+ man/man8/capable.8        | 2 --
+ man/man8/compactsnoop.8   | 2 --
+ man/man8/cpudist.8        | 2 --
+ man/man8/cpuunclaimed.8   | 2 --
+ man/man8/criticalstat.8   | 2 --
+ man/man8/dbslower.8       | 2 --
+ man/man8/dbstat.8         | 2 --
+ man/man8/dcsnoop.8        | 2 --
+ man/man8/dcstat.8         | 2 --
+ man/man8/deadlock.8       | 2 --
+ man/man8/dirtop.8         | 2 --
+ man/man8/drsnoop.8        | 2 --
+ man/man8/execsnoop.8      | 2 --
+ man/man8/exitsnoop.8      | 2 --
+ man/man8/ext4dist.8       | 2 --
+ man/man8/ext4slower.8     | 2 --
+ man/man8/filelife.8       | 2 --
+ man/man8/fileslower.8     | 2 --
+ man/man8/filetop.8        | 2 --
+ man/man8/funccount.8      | 2 --
+ man/man8/funcinterval.8   | 2 --
+ man/man8/funclatency.8    | 2 --
+ man/man8/funcslower.8     | 2 --
+ man/man8/gethostlatency.8 | 2 --
+ man/man8/hardirqs.8       | 2 --
+ man/man8/inject.8         | 4 ----
+ man/man8/killsnoop.8      | 2 --
+ man/man8/klockstat.8      | 2 --
+ man/man8/kvmexit.8        | 2 --
+ man/man8/llcstat.8        | 2 --
+ man/man8/mdflush.8        | 2 --
+ man/man8/memleak.8        | 2 --
+ man/man8/mountsnoop.8     | 2 --
+ man/man8/mysqld_qslower.8 | 2 --
+ man/man8/netqtop.8        | 2 --
+ man/man8/nfsdist.8        | 2 --
+ man/man8/nfsslower.8      | 2 --
+ man/man8/offcputime.8     | 2 --
+ man/man8/offwaketime.8    | 2 --
+ man/man8/oomkill.8        | 2 --
+ man/man8/opensnoop.8      | 2 --
+ man/man8/pidpersec.8      | 2 --
+ man/man8/profile.8        | 2 --
+ man/man8/readahead.8      | 2 --
+ man/man8/reset-trace.8    | 2 --
+ man/man8/runqlat.8        | 2 --
+ man/man8/runqlen.8        | 2 --
+ man/man8/runqslower.8     | 2 --
+ man/man8/shmsnoop.8       | 2 --
+ man/man8/slabratetop.8    | 2 --
+ man/man8/sofdsnoop.8      | 2 --
+ man/man8/softirqs.8       | 2 --
+ man/man8/solisten.8       | 2 --
+ man/man8/spfdsnoop.8      | 2 --
+ man/man8/sslsniff.8       | 2 --
+ man/man8/stackcount.8     | 2 --
+ man/man8/statsnoop.8      | 2 --
+ man/man8/swapin.8         | 2 --
+ man/man8/syncsnoop.8      | 2 --
+ man/man8/syscount.8       | 2 --
+ man/man8/tcpaccept.8      | 2 --
+ man/man8/tcpcong.8        | 2 --
+ man/man8/tcpconnect.8     | 2 --
+ man/man8/tcpconnlat.8     | 2 --
+ man/man8/tcpdrop.8        | 2 --
+ man/man8/tcplife.8        | 2 --
+ man/man8/tcpretrans.8     | 2 --
+ man/man8/tcprtt.8         | 2 --
+ man/man8/tcpstates.8      | 2 --
+ man/man8/tcpsubnet.8      | 2 --
+ man/man8/tcpsynbl.8       | 2 --
+ man/man8/tcptop.8         | 2 --
+ man/man8/tcptracer.8      | 2 --
+ man/man8/threadsnoop.8    | 2 --
+ man/man8/tplist.8         | 2 --
+ man/man8/trace.8          | 2 --
+ man/man8/ttysnoop.8       | 2 --
+ man/man8/ucalls.8         | 2 --
+ man/man8/uflow.8          | 2 --
+ man/man8/ugc.8            | 2 --
+ man/man8/uobjnew.8        | 2 --
+ man/man8/ustat.8          | 2 --
+ man/man8/uthreads.8       | 2 --
+ man/man8/vfscount.8       | 2 --
+ man/man8/vfsstat.8        | 2 --
+ man/man8/virtiostat.8     | 2 --
+ man/man8/wakeuptime.8     | 2 --
+ man/man8/xfsdist.8        | 2 --
+ man/man8/xfsslower.8      | 2 --
+ man/man8/zfsdist.8        | 2 --
+ man/man8/zfsslower.8      | 2 --
+ 106 files changed, 214 deletions(-)
+
+diff --git a/man/man8/argdist.8 b/man/man8/argdist.8
+index 75b7fe63..99291521 100644
+--- a/man/man8/argdist.8
++++ b/man/man8/argdist.8
+@@ -191,7 +191,5 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Sasha Goldshtein
+diff --git a/man/man8/bashreadline.8 b/man/man8/bashreadline.8
+index bc68a491..705c514e 100644
+--- a/man/man8/bashreadline.8
++++ b/man/man8/bashreadline.8
+@@ -53,8 +53,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Brendan Gregg
+ .SH SEE ALSO
+diff --git a/man/man8/bindsnoop.8 b/man/man8/bindsnoop.8
+index f8fa1850..05ed95a7 100644
+--- a/man/man8/bindsnoop.8
++++ b/man/man8/bindsnoop.8
+@@ -141,8 +141,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Pavel Dubovitsky
+ .SH SEE ALSO
+diff --git a/man/man8/biolatency.8 b/man/man8/biolatency.8
+index db2ef484..21c3930e 100644
+--- a/man/man8/biolatency.8
++++ b/man/man8/biolatency.8
+@@ -108,8 +108,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Brendan Gregg, Rocky Xing
+ .SH SEE ALSO
+diff --git a/man/man8/biolatpcts.8 b/man/man8/biolatpcts.8
+index 7a06a11d..9dd41d08 100644
+--- a/man/man8/biolatpcts.8
++++ b/man/man8/biolatpcts.8
+@@ -81,8 +81,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Tejun Heo
+ .SH SEE ALSO
+diff --git a/man/man8/biopattern.8 b/man/man8/biopattern.8
+index 451d667f..70ba73e7 100644
+--- a/man/man8/biopattern.8
++++ b/man/man8/biopattern.8
+@@ -70,8 +70,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Rocky Xing
+ .SH SEE ALSO
+diff --git a/man/man8/biosnoop.8 b/man/man8/biosnoop.8
+index 24f19edf..06a85757 100644
+--- a/man/man8/biosnoop.8
++++ b/man/man8/biosnoop.8
+@@ -82,8 +82,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Brendan Gregg, Rocky Xing
+ .SH SEE ALSO
+diff --git a/man/man8/biotop.8 b/man/man8/biotop.8
+index 47392bc7..ac71d34e 100644
+--- a/man/man8/biotop.8
++++ b/man/man8/biotop.8
+@@ -98,8 +98,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Brendan Gregg, Rocky Xing
+ .SH INSPIRATION
+diff --git a/man/man8/bitesize.8 b/man/man8/bitesize.8
+index 655f69e7..314560b8 100644
+--- a/man/man8/bitesize.8
++++ b/man/man8/bitesize.8
+@@ -43,8 +43,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Allan McAleavy
+ .SH SEE ALSO
+diff --git a/man/man8/bpflist.8 b/man/man8/bpflist.8
+index 1cab0c81..afefd3af 100644
+--- a/man/man8/bpflist.8
++++ b/man/man8/bpflist.8
+@@ -54,7 +54,5 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Sasha Goldshtein
+diff --git a/man/man8/bps.8 b/man/man8/bps.8
+index 4316be0b..8af8ee2d 100644
+--- a/man/man8/bps.8
++++ b/man/man8/bps.8
+@@ -81,7 +81,5 @@ This is from bcc.
+ https://github.com/iovisor/bcc
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Martin Lau
+diff --git a/man/man8/btrfsdist.8 b/man/man8/btrfsdist.8
+index 480264f9..cbf75121 100644
+--- a/man/man8/btrfsdist.8
++++ b/man/man8/btrfsdist.8
+@@ -74,8 +74,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Brendan Gregg
+ .SH SEE ALSO
+diff --git a/man/man8/btrfsslower.8 b/man/man8/btrfsslower.8
+index a1ea106a..33864589 100644
+--- a/man/man8/btrfsslower.8
++++ b/man/man8/btrfsslower.8
+@@ -114,8 +114,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Brendan Gregg
+ .SH SEE ALSO
+diff --git a/man/man8/cachestat.8 b/man/man8/cachestat.8
+index 172194d4..575941fc 100644
+--- a/man/man8/cachestat.8
++++ b/man/man8/cachestat.8
+@@ -76,8 +76,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Allan McAleavy
+ .SH SEE ALSO
+diff --git a/man/man8/cachetop.8 b/man/man8/cachetop.8
+index bb7bb3cc..079b3cbf 100644
+--- a/man/man8/cachetop.8
++++ b/man/man8/cachetop.8
+@@ -90,8 +90,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Emmanuel Bretelle, Rocky Xing
+ .SH SEE ALSO
+diff --git a/man/man8/capable.8 b/man/man8/capable.8
+index 342946f8..2b7d13ba 100644
+--- a/man/man8/capable.8
++++ b/man/man8/capable.8
+@@ -87,8 +87,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Brendan Gregg
+ .SH SEE ALSO
+diff --git a/man/man8/compactsnoop.8 b/man/man8/compactsnoop.8
+index a2933d7a..c1339579 100644
+--- a/man/man8/compactsnoop.8
++++ b/man/man8/compactsnoop.8
+@@ -173,7 +173,5 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Wenbo Zhang
+diff --git a/man/man8/cpudist.8 b/man/man8/cpudist.8
+index 59937baa..1d6a7198 100644
+--- a/man/man8/cpudist.8
++++ b/man/man8/cpudist.8
+@@ -115,8 +115,6 @@ Also look in the bcc distribution for a companion _example.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Sasha Goldshtein, Rocky Xing
+ .SH SEE ALSO
+diff --git a/man/man8/cpuunclaimed.8 b/man/man8/cpuunclaimed.8
+index 674be499..107ff67b 100644
+--- a/man/man8/cpuunclaimed.8
++++ b/man/man8/cpuunclaimed.8
+@@ -98,8 +98,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Brendan Gregg
+ .SH SEE ALSO
+diff --git a/man/man8/criticalstat.8 b/man/man8/criticalstat.8
+index 6b1c1110..6df592a3 100644
+--- a/man/man8/criticalstat.8
++++ b/man/man8/criticalstat.8
+@@ -66,8 +66,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Joel Fernandes
+ .SH SEE ALSO
+diff --git a/man/man8/dbslower.8 b/man/man8/dbslower.8
+index e39b8bd0..e73b77f1 100644
+--- a/man/man8/dbslower.8
++++ b/man/man8/dbslower.8
+@@ -72,8 +72,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Sasha Goldshtein, Brendan Gregg
+ .SH SEE ALSO
+diff --git a/man/man8/dbstat.8 b/man/man8/dbstat.8
+index c8e8fd8f..2ca31c67 100644
+--- a/man/man8/dbstat.8
++++ b/man/man8/dbstat.8
+@@ -64,8 +64,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Sasha Goldshtein
+ .SH SEE ALSO
+diff --git a/man/man8/dcsnoop.8 b/man/man8/dcsnoop.8
+index 6ccb3b65..1d707ba1 100644
+--- a/man/man8/dcsnoop.8
++++ b/man/man8/dcsnoop.8
+@@ -69,8 +69,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Brendan Gregg
+ .SH SEE ALSO
+diff --git a/man/man8/dcstat.8 b/man/man8/dcstat.8
+index e2bc4dc8..0501460f 100644
+--- a/man/man8/dcstat.8
++++ b/man/man8/dcstat.8
+@@ -53,8 +53,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Brendan Gregg
+ .SH SEE ALSO
+diff --git a/man/man8/deadlock.8 b/man/man8/deadlock.8
+index 3e7744ce..9f0f7de0 100644
+--- a/man/man8/deadlock.8
++++ b/man/man8/deadlock.8
+@@ -144,7 +144,5 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Kenny Yu
+diff --git a/man/man8/dirtop.8 b/man/man8/dirtop.8
+index cc61a676..9a0fd3d9 100644
+--- a/man/man8/dirtop.8
++++ b/man/man8/dirtop.8
+@@ -105,8 +105,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Erwan Velu
+ .SH INSPIRATION
+diff --git a/man/man8/drsnoop.8 b/man/man8/drsnoop.8
+index 90ca901f..64cc1c68 100644
+--- a/man/man8/drsnoop.8
++++ b/man/man8/drsnoop.8
+@@ -107,7 +107,5 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Wenbo Zhang
+diff --git a/man/man8/execsnoop.8 b/man/man8/execsnoop.8
+index e42ad38a..9daaf4b1 100644
+--- a/man/man8/execsnoop.8
++++ b/man/man8/execsnoop.8
+@@ -141,8 +141,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Brendan Gregg
+ .SH SEE ALSO
+diff --git a/man/man8/exitsnoop.8 b/man/man8/exitsnoop.8
+index 86a43921..c37e1caf 100644
+--- a/man/man8/exitsnoop.8
++++ b/man/man8/exitsnoop.8
+@@ -102,8 +102,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Arturo Martin-de-Nicolas
+ .SH SEE ALSO
+diff --git a/man/man8/ext4dist.8 b/man/man8/ext4dist.8
+index 61ecb727..ba17fc3d 100644
+--- a/man/man8/ext4dist.8
++++ b/man/man8/ext4dist.8
+@@ -72,8 +72,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Brendan Gregg
+ .SH SEE ALSO
+diff --git a/man/man8/ext4slower.8 b/man/man8/ext4slower.8
+index a16bd5ef..b6276269 100644
+--- a/man/man8/ext4slower.8
++++ b/man/man8/ext4slower.8
+@@ -105,8 +105,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Brendan Gregg
+ .SH SEE ALSO
+diff --git a/man/man8/filelife.8 b/man/man8/filelife.8
+index 9495d4e2..6438b374 100644
+--- a/man/man8/filelife.8
++++ b/man/man8/filelife.8
+@@ -64,8 +64,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Brendan Gregg
+ .SH SEE ALSO
+diff --git a/man/man8/fileslower.8 b/man/man8/fileslower.8
+index fe912436..d567986b 100644
+--- a/man/man8/fileslower.8
++++ b/man/man8/fileslower.8
+@@ -106,8 +106,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Brendan Gregg
+ .SH SEE ALSO
+diff --git a/man/man8/filetop.8 b/man/man8/filetop.8
+index 2d5f191d..6b588ef9 100644
+--- a/man/man8/filetop.8
++++ b/man/man8/filetop.8
+@@ -111,8 +111,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Brendan Gregg
+ .SH INSPIRATION
+diff --git a/man/man8/funccount.8 b/man/man8/funccount.8
+index b2cb8575..9e019d92 100644
+--- a/man/man8/funccount.8
++++ b/man/man8/funccount.8
+@@ -104,8 +104,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Brendan Gregg, Sasha Goldshtein
+ .SH SEE ALSO
+diff --git a/man/man8/funcinterval.8 b/man/man8/funcinterval.8
+index 77128290..f76ff315 100644
+--- a/man/man8/funcinterval.8
++++ b/man/man8/funcinterval.8
+@@ -114,8 +114,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Edward Wu
+ .SH SEE ALSO
+diff --git a/man/man8/funclatency.8 b/man/man8/funclatency.8
+index 9012b832..088b26cd 100644
+--- a/man/man8/funclatency.8
++++ b/man/man8/funclatency.8
+@@ -131,8 +131,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Brendan Gregg, Sasha Goldshtein
+ .SH SEE ALSO
+diff --git a/man/man8/funcslower.8 b/man/man8/funcslower.8
+index 06f17934..0e85989d 100644
+--- a/man/man8/funcslower.8
++++ b/man/man8/funcslower.8
+@@ -117,8 +117,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Sasha Goldshtein
+ .SH SEE ALSO
+diff --git a/man/man8/gethostlatency.8 b/man/man8/gethostlatency.8
+index a9d18e07..876f3983 100644
+--- a/man/man8/gethostlatency.8
++++ b/man/man8/gethostlatency.8
+@@ -55,8 +55,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Brendan Gregg
+ .SH SEE ALSO
+diff --git a/man/man8/hardirqs.8 b/man/man8/hardirqs.8
+index aa9afb84..e74d56b3 100644
+--- a/man/man8/hardirqs.8
++++ b/man/man8/hardirqs.8
+@@ -95,8 +95,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Brendan Gregg, Hengqi Chen, Rocky Xing
+ .SH SEE ALSO
+diff --git a/man/man8/inject.8 b/man/man8/inject.8
+index 2ab80dbb..85b36b6e 100644
+--- a/man/man8/inject.8
++++ b/man/man8/inject.8
+@@ -112,9 +112,5 @@ example usage, output, and commentary for this tool.
+ Linux
+ 
+ 
+-.SH STABILITY
+-Unstable - in development.
+-
+-
+ .SH AUTHOR
+ Howard McLauchlan
+diff --git a/man/man8/killsnoop.8 b/man/man8/killsnoop.8
+index acb376ea..2543b6a6 100644
+--- a/man/man8/killsnoop.8
++++ b/man/man8/killsnoop.8
+@@ -82,8 +82,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Brendan Gregg
+ .SH SEE ALSO
+diff --git a/man/man8/klockstat.8 b/man/man8/klockstat.8
+index 0a3167d1..57f9db18 100644
+--- a/man/man8/klockstat.8
++++ b/man/man8/klockstat.8
+@@ -182,8 +182,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH CREDITS
+ This tool is based on work of David Valin <dvalin@redhat.com> and his script.
+ .SH AUTHOR
+diff --git a/man/man8/kvmexit.8 b/man/man8/kvmexit.8
+index c0cb4c98..0b56cecc 100644
+--- a/man/man8/kvmexit.8
++++ b/man/man8/kvmexit.8
+@@ -109,7 +109,5 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Fei Li <lifei.shirley@bytedance.com>
+diff --git a/man/man8/llcstat.8 b/man/man8/llcstat.8
+index 5a28d338..7440fe3b 100644
+--- a/man/man8/llcstat.8
++++ b/man/man8/llcstat.8
+@@ -66,8 +66,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Teng Qin
+ .SH SEE ALSO
+diff --git a/man/man8/mdflush.8 b/man/man8/mdflush.8
+index e22c46b3..66939b25 100644
+--- a/man/man8/mdflush.8
++++ b/man/man8/mdflush.8
+@@ -49,8 +49,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Brendan Gregg
+ .SH SEE ALSO
+diff --git a/man/man8/memleak.8 b/man/man8/memleak.8
+index 2fd26764..d56cf207 100644
+--- a/man/man8/memleak.8
++++ b/man/man8/memleak.8
+@@ -135,7 +135,5 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Sasha Goldshtein
+diff --git a/man/man8/mountsnoop.8 b/man/man8/mountsnoop.8
+index 01efdf9c..8afafba0 100644
+--- a/man/man8/mountsnoop.8
++++ b/man/man8/mountsnoop.8
+@@ -46,8 +46,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Omar Sandoval
+ .SH SEE ALSO
+diff --git a/man/man8/mysqld_qslower.8 b/man/man8/mysqld_qslower.8
+index 5753079a..7daf074b 100644
+--- a/man/man8/mysqld_qslower.8
++++ b/man/man8/mysqld_qslower.8
+@@ -58,8 +58,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Brendan Gregg
+ .SH SEE ALSO
+diff --git a/man/man8/netqtop.8 b/man/man8/netqtop.8
+index bfa34d11..8750782b 100644
+--- a/man/man8/netqtop.8
++++ b/man/man8/netqtop.8
+@@ -50,7 +50,5 @@ Also look in the bcc distribution for a netqtop_example.txt file containing
+ example usage, output and commentary for this tool.
+ .SH OS 
+ Linux
+-.SH STABILITY
+-Unstable - in development
+ .SH AUTHOR
+ Yolandajn
+diff --git a/man/man8/nfsdist.8 b/man/man8/nfsdist.8
+index c72cfaa6..34532c18 100644
+--- a/man/man8/nfsdist.8
++++ b/man/man8/nfsdist.8
+@@ -72,8 +72,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Samuel Nair
+ .SH SEE ALSO
+diff --git a/man/man8/nfsslower.8 b/man/man8/nfsslower.8
+index 22b36e3e..66021002 100644
+--- a/man/man8/nfsslower.8
++++ b/man/man8/nfsslower.8
+@@ -114,8 +114,6 @@ Also look in the bcc distribution for a companion nfsslower_examples.txt file co
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Samuel Nair
+ .SH SEE ALSO
+diff --git a/man/man8/offcputime.8 b/man/man8/offcputime.8
+index be5387b9..270991d8 100644
+--- a/man/man8/offcputime.8
++++ b/man/man8/offcputime.8
+@@ -110,8 +110,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Brendan Gregg
+ .SH SEE ALSO
+diff --git a/man/man8/offwaketime.8 b/man/man8/offwaketime.8
+index 44e3b684..4f4880e3 100644
+--- a/man/man8/offwaketime.8
++++ b/man/man8/offwaketime.8
+@@ -110,8 +110,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Brendan Gregg
+ .SH SEE ALSO
+diff --git a/man/man8/oomkill.8 b/man/man8/oomkill.8
+index b6d6f9e1..965ba545 100644
+--- a/man/man8/oomkill.8
++++ b/man/man8/oomkill.8
+@@ -47,8 +47,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Brendan Gregg
+ .SH SEE ALSO
+diff --git a/man/man8/opensnoop.8 b/man/man8/opensnoop.8
+index fee83263..953af623 100644
+--- a/man/man8/opensnoop.8
++++ b/man/man8/opensnoop.8
+@@ -148,8 +148,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Brendan Gregg
+ .SH SEE ALSO
+diff --git a/man/man8/pidpersec.8 b/man/man8/pidpersec.8
+index 2164ffaf..9d272c81 100644
+--- a/man/man8/pidpersec.8
++++ b/man/man8/pidpersec.8
+@@ -33,8 +33,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Brendan Gregg
+ .SH SEE ALSO
+diff --git a/man/man8/profile.8 b/man/man8/profile.8
+index 916224a9..6339dbfa 100644
+--- a/man/man8/profile.8
++++ b/man/man8/profile.8
+@@ -148,8 +148,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Brendan Gregg
+ .SH SEE ALSO
+diff --git a/man/man8/readahead.8 b/man/man8/readahead.8
+index a2a10914..da8e4fe4 100644
+--- a/man/man8/readahead.8
++++ b/man/man8/readahead.8
+@@ -51,8 +51,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Suchakra Sharma
+ .SH SEE ALSO
+diff --git a/man/man8/reset-trace.8 b/man/man8/reset-trace.8
+index e96d4790..90f525e0 100644
+--- a/man/man8/reset-trace.8
++++ b/man/man8/reset-trace.8
+@@ -53,7 +53,5 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Brendan Gregg
+diff --git a/man/man8/runqlat.8 b/man/man8/runqlat.8
+index d535ebbf..9e146a5e 100644
+--- a/man/man8/runqlat.8
++++ b/man/man8/runqlat.8
+@@ -105,8 +105,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Brendan Gregg
+ .SH SEE ALSO
+diff --git a/man/man8/runqlen.8 b/man/man8/runqlen.8
+index b36a5a18..c2f0ffb4 100644
+--- a/man/man8/runqlen.8
++++ b/man/man8/runqlen.8
+@@ -78,8 +78,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Brendan Gregg
+ .SH SEE ALSO
+diff --git a/man/man8/runqslower.8 b/man/man8/runqslower.8
+index 55ea5bd9..dbbec5ae 100644
+--- a/man/man8/runqslower.8
++++ b/man/man8/runqslower.8
+@@ -84,8 +84,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Ivan Babrou, original BCC Python version
+ Andrii Nakryiko, CO-RE version
+diff --git a/man/man8/shmsnoop.8 b/man/man8/shmsnoop.8
+index e7092e19..944e9f07 100644
+--- a/man/man8/shmsnoop.8
++++ b/man/man8/shmsnoop.8
+@@ -66,8 +66,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Jiri Olsa
+ .SH SEE ALSO
+diff --git a/man/man8/slabratetop.8 b/man/man8/slabratetop.8
+index bfe897fc..18d1e5ea 100644
+--- a/man/man8/slabratetop.8
++++ b/man/man8/slabratetop.8
+@@ -68,8 +68,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Brendan Gregg
+ .SH SEE ALSO
+diff --git a/man/man8/sofdsnoop.8 b/man/man8/sofdsnoop.8
+index cd3ffa27..94432544 100644
+--- a/man/man8/sofdsnoop.8
++++ b/man/man8/sofdsnoop.8
+@@ -58,5 +58,3 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+diff --git a/man/man8/softirqs.8 b/man/man8/softirqs.8
+index fa475f78..311fd0e6 100644
+--- a/man/man8/softirqs.8
++++ b/man/man8/softirqs.8
+@@ -99,8 +99,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHORS
+ Brendan Gregg, Sasha Goldshtein, Rocky Xing
+ .SH SEE ALSO
+diff --git a/man/man8/solisten.8 b/man/man8/solisten.8
+index 4d8ffe95..fd863447 100644
+--- a/man/man8/solisten.8
++++ b/man/man8/solisten.8
+@@ -45,5 +45,3 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+diff --git a/man/man8/spfdsnoop.8 b/man/man8/spfdsnoop.8
+index ffad57c5..df80437f 100644
+--- a/man/man8/spfdsnoop.8
++++ b/man/man8/spfdsnoop.8
+@@ -77,8 +77,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Jiri Olsa
+ .SH SEE ALSO
+diff --git a/man/man8/sslsniff.8 b/man/man8/sslsniff.8
+index 4b80191a..86219f8a 100644
+--- a/man/man8/sslsniff.8
++++ b/man/man8/sslsniff.8
+@@ -108,8 +108,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHORS
+ Adrian Lopez and Mark Drayton
+ .SH SEE ALSO
+diff --git a/man/man8/stackcount.8 b/man/man8/stackcount.8
+index d2459561..2cf789c1 100644
+--- a/man/man8/stackcount.8
++++ b/man/man8/stackcount.8
+@@ -150,8 +150,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Brendan Gregg, Sasha Goldshtein
+ .SH SEE ALSO
+diff --git a/man/man8/statsnoop.8 b/man/man8/statsnoop.8
+index c0555043..d1560b3c 100644
+--- a/man/man8/statsnoop.8
++++ b/man/man8/statsnoop.8
+@@ -83,8 +83,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Brendan Gregg
+ .SH SEE ALSO
+diff --git a/man/man8/swapin.8 b/man/man8/swapin.8
+index 9ef2eb9c..7347899d 100644
+--- a/man/man8/swapin.8
++++ b/man/man8/swapin.8
+@@ -56,8 +56,6 @@ Also look in the bcc distribution for a companion _examples.txt file
+ containing example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Brendan Gregg
+ .SH SEE ALSO
+diff --git a/man/man8/syncsnoop.8 b/man/man8/syncsnoop.8
+index 8543f213..cd7b0629 100644
+--- a/man/man8/syncsnoop.8
++++ b/man/man8/syncsnoop.8
+@@ -45,8 +45,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Brendan Gregg
+ .SH SEE ALSO
+diff --git a/man/man8/syscount.8 b/man/man8/syscount.8
+index 8c245dd8..54f9fe66 100644
+--- a/man/man8/syscount.8
++++ b/man/man8/syscount.8
+@@ -108,8 +108,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Sasha Goldshtein, Rocky Xing
+ .SH SEE ALSO
+diff --git a/man/man8/tcpaccept.8 b/man/man8/tcpaccept.8
+index 05b79693..6dd35301 100644
+--- a/man/man8/tcpaccept.8
++++ b/man/man8/tcpaccept.8
+@@ -118,8 +118,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Brendan Gregg
+ .SH SEE ALSO
+diff --git a/man/man8/tcpcong.8 b/man/man8/tcpcong.8
+index 877ed805..3fd0a253 100644
+--- a/man/man8/tcpcong.8
++++ b/man/man8/tcpcong.8
+@@ -128,8 +128,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ jacky gan
+ .SH SEE ALSO
+diff --git a/man/man8/tcpconnect.8 b/man/man8/tcpconnect.8
+index 0ea84686..04952d74 100644
+--- a/man/man8/tcpconnect.8
++++ b/man/man8/tcpconnect.8
+@@ -197,8 +197,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Brendan Gregg
+ .SH SEE ALSO
+diff --git a/man/man8/tcpconnlat.8 b/man/man8/tcpconnlat.8
+index 84762b45..3771baa7 100644
+--- a/man/man8/tcpconnlat.8
++++ b/man/man8/tcpconnlat.8
+@@ -125,8 +125,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Brendan Gregg
+ .SH SEE ALSO
+diff --git a/man/man8/tcpdrop.8 b/man/man8/tcpdrop.8
+index c9b777b3..82e400eb 100644
+--- a/man/man8/tcpdrop.8
++++ b/man/man8/tcpdrop.8
+@@ -83,8 +83,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Brendan Gregg
+ .SH SEE ALSO
+diff --git a/man/man8/tcplife.8 b/man/man8/tcplife.8
+index 5fb4c283..cc76d870 100644
+--- a/man/man8/tcplife.8
++++ b/man/man8/tcplife.8
+@@ -136,8 +136,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Brendan Gregg
+ .SH SEE ALSO
+diff --git a/man/man8/tcpretrans.8 b/man/man8/tcpretrans.8
+index 0b643d11..aebdab73 100644
+--- a/man/man8/tcpretrans.8
++++ b/man/man8/tcpretrans.8
+@@ -103,8 +103,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Brendan Gregg
+ .SH SEE ALSO
+diff --git a/man/man8/tcprtt.8 b/man/man8/tcprtt.8
+index fcd8bfe9..4ee6b8b5 100644
+--- a/man/man8/tcprtt.8
++++ b/man/man8/tcprtt.8
+@@ -95,8 +95,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ zhenwei pi
+ .SH SEE ALSO
+diff --git a/man/man8/tcpstates.8 b/man/man8/tcpstates.8
+index 57c40a83..1d6b8a29 100644
+--- a/man/man8/tcpstates.8
++++ b/man/man8/tcpstates.8
+@@ -137,8 +137,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Brendan Gregg
+ .SH SEE ALSO
+diff --git a/man/man8/tcpsubnet.8 b/man/man8/tcpsubnet.8
+index 525b8082..daf41583 100644
+--- a/man/man8/tcpsubnet.8
++++ b/man/man8/tcpsubnet.8
+@@ -90,8 +90,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Rodrigo Manyari
+ .SH INSPIRATION
+diff --git a/man/man8/tcpsynbl.8 b/man/man8/tcpsynbl.8
+index 8557af2b..c03c5460 100644
+--- a/man/man8/tcpsynbl.8
++++ b/man/man8/tcpsynbl.8
+@@ -69,8 +69,6 @@ Also look in the bcc distribution for a companion _examples.txt file
+ containing example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Brendan Gregg
+ .SH SEE ALSO
+diff --git a/man/man8/tcptop.8 b/man/man8/tcptop.8
+index f4f1c3d7..013cb3d9 100644
+--- a/man/man8/tcptop.8
++++ b/man/man8/tcptop.8
+@@ -127,8 +127,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Brendan Gregg
+ .SH INSPIRATION
+diff --git a/man/man8/tcptracer.8 b/man/man8/tcptracer.8
+index 59240f4b..331efe9a 100644
+--- a/man/man8/tcptracer.8
++++ b/man/man8/tcptracer.8
+@@ -113,8 +113,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Iago López Galeiras
+ .SH SEE ALSO
+diff --git a/man/man8/threadsnoop.8 b/man/man8/threadsnoop.8
+index 3c655f24..007281ad 100644
+--- a/man/man8/threadsnoop.8
++++ b/man/man8/threadsnoop.8
+@@ -52,8 +52,6 @@ Also look in the bcc distribution for a companion _examples.txt file
+ containing example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Brendan Gregg
+ .SH SEE ALSO
+diff --git a/man/man8/tplist.8 b/man/man8/tplist.8
+index da5edf37..f7e459da 100644
+--- a/man/man8/tplist.8
++++ b/man/man8/tplist.8
+@@ -56,7 +56,5 @@ This is from bcc.
+ https://github.com/iovisor/bcc
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Sasha Goldshtein
+diff --git a/man/man8/trace.8 b/man/man8/trace.8
+index c4417e5f..bd1b11b2 100644
+--- a/man/man8/trace.8
++++ b/man/man8/trace.8
+@@ -217,7 +217,5 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Sasha Goldshtein
+diff --git a/man/man8/ttysnoop.8 b/man/man8/ttysnoop.8
+index e2ec037f..e20feb01 100644
+--- a/man/man8/ttysnoop.8
++++ b/man/man8/ttysnoop.8
+@@ -58,8 +58,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Brendan Gregg
+ .SH SEE ALSO
+diff --git a/man/man8/ucalls.8 b/man/man8/ucalls.8
+index dfc4b8b2..be38c9fb 100644
+--- a/man/man8/ucalls.8
++++ b/man/man8/ucalls.8
+@@ -90,8 +90,6 @@ Also look in the bcc distribution for a companion _example.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Sasha Goldshtein
+ .SH SEE ALSO
+diff --git a/man/man8/uflow.8 b/man/man8/uflow.8
+index 1d0951c3..d8800166 100644
+--- a/man/man8/uflow.8
++++ b/man/man8/uflow.8
+@@ -90,8 +90,6 @@ Also look in the bcc distribution for a companion _example.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Sasha Goldshtein
+ .SH SEE ALSO
+diff --git a/man/man8/ugc.8 b/man/man8/ugc.8
+index 782ae634..5dd17f3a 100644
+--- a/man/man8/ugc.8
++++ b/man/man8/ugc.8
+@@ -90,8 +90,6 @@ Also look in the bcc distribution for a companion _example.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Sasha Goldshtein
+ .SH SEE ALSO
+diff --git a/man/man8/uobjnew.8 b/man/man8/uobjnew.8
+index f4a9c74c..5cd7ef1b 100644
+--- a/man/man8/uobjnew.8
++++ b/man/man8/uobjnew.8
+@@ -80,8 +80,6 @@ Also look in the bcc distribution for a companion _example.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Sasha Goldshtein
+ .SH SEE ALSO
+diff --git a/man/man8/ustat.8 b/man/man8/ustat.8
+index 371d855e..f37fc91f 100644
+--- a/man/man8/ustat.8
++++ b/man/man8/ustat.8
+@@ -125,8 +125,6 @@ Also look in the bcc distribution for a companion _example.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Sasha Goldshtein
+ .SH SEE ALSO
+diff --git a/man/man8/uthreads.8 b/man/man8/uthreads.8
+index 6acffa56..5a91f2d4 100644
+--- a/man/man8/uthreads.8
++++ b/man/man8/uthreads.8
+@@ -60,8 +60,6 @@ Also look in the bcc distribution for a companion _example.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Sasha Goldshtein
+ .SH SEE ALSO
+diff --git a/man/man8/vfscount.8 b/man/man8/vfscount.8
+index febbc9e6..0cc65adf 100644
+--- a/man/man8/vfscount.8
++++ b/man/man8/vfscount.8
+@@ -54,8 +54,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Brendan Gregg
+ .SH SEE ALSO
+diff --git a/man/man8/vfsstat.8 b/man/man8/vfsstat.8
+index 929e6b63..f439857e 100644
+--- a/man/man8/vfsstat.8
++++ b/man/man8/vfsstat.8
+@@ -57,8 +57,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Brendan Gregg
+ .SH SEE ALSO
+diff --git a/man/man8/virtiostat.8 b/man/man8/virtiostat.8
+index 8578f8d3..ac312c56 100644
+--- a/man/man8/virtiostat.8
++++ b/man/man8/virtiostat.8
+@@ -58,8 +58,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ zhenwei pi
+ .SH SEE ALSO
+diff --git a/man/man8/wakeuptime.8 b/man/man8/wakeuptime.8
+index 8630ae4a..3c7cf80a 100644
+--- a/man/man8/wakeuptime.8
++++ b/man/man8/wakeuptime.8
+@@ -96,8 +96,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Brendan Gregg
+ .SH SEE ALSO
+diff --git a/man/man8/xfsdist.8 b/man/man8/xfsdist.8
+index 3c890007..75b2c66e 100644
+--- a/man/man8/xfsdist.8
++++ b/man/man8/xfsdist.8
+@@ -72,8 +72,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Brendan Gregg
+ .SH SEE ALSO
+diff --git a/man/man8/xfsslower.8 b/man/man8/xfsslower.8
+index 30ec3253..c914dcee 100644
+--- a/man/man8/xfsslower.8
++++ b/man/man8/xfsslower.8
+@@ -105,8 +105,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Brendan Gregg
+ .SH SEE ALSO
+diff --git a/man/man8/zfsdist.8 b/man/man8/zfsdist.8
+index 1e5632fd..6c5de7d7 100644
+--- a/man/man8/zfsdist.8
++++ b/man/man8/zfsdist.8
+@@ -75,8 +75,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Brendan Gregg
+ .SH SEE ALSO
+diff --git a/man/man8/zfsslower.8 b/man/man8/zfsslower.8
+index d1e2f9c1..31d382f6 100644
+--- a/man/man8/zfsslower.8
++++ b/man/man8/zfsslower.8
+@@ -108,8 +108,6 @@ Also look in the bcc distribution for a companion _examples.txt file containing
+ example usage, output, and commentary for this tool.
+ .SH OS
+ Linux
+-.SH STABILITY
+-Unstable - in development.
+ .SH AUTHOR
+ Brendan Gregg
+ .SH SEE ALSO
+-- 
+2.38.1
+
diff --git a/SOURCES/bcc-0.25.0-RHEL-libbpf-version-fixes.patch b/SOURCES/bcc-0.25.0-RHEL-libbpf-version-fixes.patch
new file mode 100644
index 0000000..fa08b57
--- /dev/null
+++ b/SOURCES/bcc-0.25.0-RHEL-libbpf-version-fixes.patch
@@ -0,0 +1,684 @@
+From 66d9bffa99738bbed50b3d5b2d87990cdb5e4a58 Mon Sep 17 00:00:00 2001
+From: Jerome Marchand <jmarchan@redhat.com>
+Date: Mon, 28 Nov 2022 12:23:59 +0100
+Subject: [PATCH] RHEL: libbpf version fixes
+
+Revert "[bcc] stop using deprecated `bpf_load_program_attr`"
+Revert "backport `struct bpf_create_map_attr`"
+Revert "bcc: Replace deprecated libbpf API"
+
+Revert "bcc: Replace deprecated libbpf APIs" since the libbpf version
+provided in RHEL 8 doesn't provide the new APIs.
+
+Remove BPF_MAP_TYPE_BLOOM_FILTER from bps since the libbpf version in
+RHEL 8, doesn't provide bloom filter map.
+
+Rename btf__load_vmlinux_btf into libbpf_find_kernel_btf. The function
+has been renamed upstream for naming consistency, but RHEL 8 libbpf
+still uses the old name.
+
+Also use the older btf__get_nr_types() instead of btf__type_cnt() for
+the same reason.
+
+Add definition of struct bpf_core_relo.
+---
+ introspection/bps.c   |   1 -
+ libbpf-tools/ksnoop.c |   4 +-
+ src/cc/bcc_btf.cc     |  73 +++++++++++++++-
+ src/cc/bpf_module.cc  |  38 ++++----
+ src/cc/common.cc      |   4 +-
+ src/cc/libbpf.c       | 196 +++++++++++++++---------------------------
+ src/cc/libbpf.h       |  28 ++----
+ 7 files changed, 169 insertions(+), 175 deletions(-)
+
+diff --git a/introspection/bps.c b/introspection/bps.c
+index 232b23d4..6ec02e6c 100644
+--- a/introspection/bps.c
++++ b/introspection/bps.c
+@@ -80,7 +80,6 @@ static const char * const map_type_strings[] = {
+   [BPF_MAP_TYPE_RINGBUF] = "ringbuf",
+   [BPF_MAP_TYPE_INODE_STORAGE] = "inode_storage",
+   [BPF_MAP_TYPE_TASK_STORAGE] = "task_storage",
+-  [BPF_MAP_TYPE_BLOOM_FILTER] = "bloom_filter",
+ };
+ 
+ #define ARRAY_SIZE(x) (sizeof(x) / sizeof(*(x)))
+diff --git a/libbpf-tools/ksnoop.c b/libbpf-tools/ksnoop.c
+index 87fe175c..960e901b 100644
+--- a/libbpf-tools/ksnoop.c
++++ b/libbpf-tools/ksnoop.c
+@@ -347,7 +347,7 @@ static struct btf *get_btf(const char *name)
+ 		name && strlen(name) > 0 ? name : "vmlinux");
+ 
+ 	if (!vmlinux_btf) {
+-		vmlinux_btf = btf__load_vmlinux_btf();
++		vmlinux_btf = libbpf_find_kernel_btf();
+ 		if (!vmlinux_btf) {
+ 			err = -errno;
+ 			p_err("No BTF, cannot determine type info: %s", strerror(-err));
+@@ -357,7 +357,7 @@ static struct btf *get_btf(const char *name)
+ 	if (!name || strlen(name) == 0)
+ 		return vmlinux_btf;
+ 
+-	mod_btf = btf__load_module_btf(name, vmlinux_btf);
++	mod_btf = libbpf_find_kernel_btf(name, vmlinux_btf);
+ 	if (!mod_btf) {
+ 		err = -errno;
+ 		p_err("No BTF for module '%s': %s", name, strerror(-err));
+diff --git a/src/cc/bcc_btf.cc b/src/cc/bcc_btf.cc
+index be248612..74fc902c 100644
+--- a/src/cc/bcc_btf.cc
++++ b/src/cc/bcc_btf.cc
+@@ -170,6 +170,77 @@ static int btf_ext_setup_line_info(struct btf_ext *btf_ext)
+         return btf_ext_setup_info(btf_ext, &param);
+ }
+ 
++/* bpf_core_relo_kind encodes which aspect of captured field/type/enum value
++ * has to be adjusted by relocations.
++ */
++enum bpf_core_relo_kind {
++	BPF_FIELD_BYTE_OFFSET = 0,	/* field byte offset */
++	BPF_FIELD_BYTE_SIZE = 1,	/* field size in bytes */
++	BPF_FIELD_EXISTS = 2,		/* field existence in target kernel */
++	BPF_FIELD_SIGNED = 3,		/* field signedness (0 - unsigned, 1 - signed) */
++	BPF_FIELD_LSHIFT_U64 = 4,	/* bitfield-specific left bitshift */
++	BPF_FIELD_RSHIFT_U64 = 5,	/* bitfield-specific right bitshift */
++	BPF_TYPE_ID_LOCAL = 6,		/* type ID in local BPF object */
++	BPF_TYPE_ID_TARGET = 7,		/* type ID in target kernel */
++	BPF_TYPE_EXISTS = 8,		/* type existence in target kernel */
++	BPF_TYPE_SIZE = 9,		/* type size in bytes */
++	BPF_ENUMVAL_EXISTS = 10,	/* enum value existence in target kernel */
++	BPF_ENUMVAL_VALUE = 11,		/* enum value integer value */
++};
++
++/* The minimum bpf_core_relo checked by the loader
++ *
++ * CO-RE relocation captures the following data:
++ * - insn_off - instruction offset (in bytes) within a BPF program that needs
++ *   its insn->imm field to be relocated with actual field info;
++ * - type_id - BTF type ID of the "root" (containing) entity of a relocatable
++ *   type or field;
++ * - access_str_off - offset into corresponding .BTF string section. String
++ *   interpretation depends on specific relocation kind:
++ *     - for field-based relocations, string encodes an accessed field using
++ *     a sequence of field and array indices, separated by colon (:). It's
++ *     conceptually very close to LLVM's getelementptr ([0]) instruction's
++ *     arguments for identifying offset to a field.
++ *     - for type-based relocations, strings is expected to be just "0";
++ *     - for enum value-based relocations, string contains an index of enum
++ *     value within its enum type;
++ *
++ * Example to provide a better feel.
++ *
++ *   struct sample {
++ *       int a;
++ *       struct {
++ *           int b[10];
++ *       };
++ *   };
++ *
++ *   struct sample *s = ...;
++ *   int x = &s->a;     // encoded as "0:0" (a is field #0)
++ *   int y = &s->b[5];  // encoded as "0:1:0:5" (anon struct is field #1, 
++ *                      // b is field #0 inside anon struct, accessing elem #5)
++ *   int z = &s[10]->b; // encoded as "10:1" (ptr is used as an array)
++ *
++ * type_id for all relocs in this example  will capture BTF type id of
++ * `struct sample`.
++ *
++ * Such relocation is emitted when using __builtin_preserve_access_index()
++ * Clang built-in, passing expression that captures field address, e.g.:
++ *
++ * bpf_probe_read(&dst, sizeof(dst),
++ *		  __builtin_preserve_access_index(&src->a.b.c));
++ *
++ * In this case Clang will emit field relocation recording necessary data to
++ * be able to find offset of embedded `a.b.c` field within `src` struct.
++ *
++ *   [0] https://llvm.org/docs/LangRef.html#getelementptr-instruction
++ */
++struct bpf_core_relo {
++	__u32   insn_off;
++	__u32   type_id;
++	__u32   access_str_off;
++	enum bpf_core_relo_kind kind;
++};
++
+ static int btf_ext_setup_core_relos(struct btf_ext *btf_ext)
+ {
+         struct btf_ext_sec_setup_param param = {
+@@ -597,7 +668,7 @@ int BTF::load(uint8_t *btf_sec, uintptr_t btf_sec_size,
+     return -1;
+   }
+ 
+-  if (btf__load_into_kernel(btf)) {
++  if (btf__load(btf)) {
+     btf__free(btf);
+     warning("Loading .BTF section failed\n");
+     return -1;
+diff --git a/src/cc/bpf_module.cc b/src/cc/bpf_module.cc
+index 86f6a228..490fffe8 100644
+--- a/src/cc/bpf_module.cc
++++ b/src/cc/bpf_module.cc
+@@ -407,7 +407,7 @@ int BPFModule::create_maps(std::map<std::string, std::pair<int, int>> &map_tids,
+     }
+ 
+     if (pinned_id <= 0) {
+-      struct bcc_create_map_attr attr = {};
++      struct bpf_create_map_attr attr = {};
+       attr.map_type = (enum bpf_map_type)map_type;
+       attr.name = map_name;
+       attr.key_size = key_size;
+@@ -982,22 +982,26 @@ int BPFModule::bcc_func_load(int prog_type, const char *name,
+                 const char *license, unsigned kern_version,
+                 int log_level, char *log_buf, unsigned log_buf_size,
+                 const char *dev_name, unsigned flags, int expected_attach_type) {
+-  struct bpf_prog_load_opts opts = {};
++  struct bpf_load_program_attr attr = {};
+   unsigned func_info_cnt, line_info_cnt, finfo_rec_size, linfo_rec_size;
+   void *func_info = NULL, *line_info = NULL;
+   int ret;
+ 
++  attr.prog_type = (enum bpf_prog_type)prog_type;
+   if (expected_attach_type != -1) {
+-    opts.expected_attach_type = (enum bpf_attach_type)expected_attach_type;
++    attr.expected_attach_type = (enum bpf_attach_type)expected_attach_type;
+   }
+-  if (prog_type != BPF_PROG_TYPE_TRACING &&
+-      prog_type != BPF_PROG_TYPE_EXT) {
+-    opts.kern_version = kern_version;
++  attr.name = name;
++  attr.insns = insns;
++  attr.license = license;
++  if (attr.prog_type != BPF_PROG_TYPE_TRACING &&
++      attr.prog_type != BPF_PROG_TYPE_EXT) {
++    attr.kern_version = kern_version;
+   }
+-  opts.prog_flags = flags;
+-  opts.log_level = log_level;
++  attr.prog_flags = flags;
++  attr.log_level = log_level;
+   if (dev_name)
+-    opts.prog_ifindex = if_nametoindex(dev_name);
++    attr.prog_ifindex = if_nametoindex(dev_name);
+ 
+   if (btf_) {
+     int btf_fd = btf_->get_fd();
+@@ -1008,17 +1012,17 @@ int BPFModule::bcc_func_load(int prog_type, const char *name,
+                              &finfo_rec_size, &line_info,
+                              &line_info_cnt, &linfo_rec_size);
+     if (!ret) {
+-      opts.prog_btf_fd = btf_fd;
+-      opts.func_info = func_info;
+-      opts.func_info_cnt = func_info_cnt;
+-      opts.func_info_rec_size = finfo_rec_size;
+-      opts.line_info = line_info;
+-      opts.line_info_cnt = line_info_cnt;
+-      opts.line_info_rec_size = linfo_rec_size;
++      attr.prog_btf_fd = btf_fd;
++      attr.func_info = func_info;
++      attr.func_info_cnt = func_info_cnt;
++      attr.func_info_rec_size = finfo_rec_size;
++      attr.line_info = line_info;
++      attr.line_info_cnt = line_info_cnt;
++      attr.line_info_rec_size = linfo_rec_size;
+     }
+   }
+ 
+-  ret = bcc_prog_load_xattr((enum bpf_prog_type)prog_type, name, license, insns, &opts, prog_len, log_buf, log_buf_size, allow_rlimit_);
++  ret = bcc_prog_load_xattr(&attr, prog_len, log_buf, log_buf_size, allow_rlimit_);
+   if (btf_) {
+     free(func_info);
+     free(line_info);
+diff --git a/src/cc/common.cc b/src/cc/common.cc
+index 3143adb0..11970275 100644
+--- a/src/cc/common.cc
++++ b/src/cc/common.cc
+@@ -34,11 +34,11 @@ using std::experimental::optional;
+ static optional<int32_t> get_enum_val_from_btf(const char *name) {
+   optional<int32_t> val;
+ 
+-  auto btf = btf__load_vmlinux_btf();
++  auto btf = libbpf_find_kernel_btf();
+   if (libbpf_get_error(btf))
+     return {};
+ 
+-  for (size_t i = 1; i < btf__type_cnt(btf); i++) {
++  for (size_t i = 1; i <= btf__get_nr_types(btf); i++) {
+     auto t = btf__type_by_id(btf, i);
+     if (btf_kind(t) != BTF_KIND_ENUM)
+       continue;
+diff --git a/src/cc/libbpf.c b/src/cc/libbpf.c
+index 0c09f9b3..7042c792 100644
+--- a/src/cc/libbpf.c
++++ b/src/cc/libbpf.c
+@@ -319,33 +319,14 @@ static uint64_t ptr_to_u64(void *ptr)
+   return (uint64_t) (unsigned long) ptr;
+ }
+ 
+-static int libbpf_bpf_map_create(struct bcc_create_map_attr *create_attr)
+-{
+-  LIBBPF_OPTS(bpf_map_create_opts, p);
+-
+-  p.map_flags = create_attr->map_flags;
+-  p.numa_node = create_attr->numa_node;
+-  p.btf_fd = create_attr->btf_fd;
+-  p.btf_key_type_id = create_attr->btf_key_type_id;
+-  p.btf_value_type_id = create_attr->btf_value_type_id;
+-  p.map_ifindex = create_attr->map_ifindex;
+-  if (create_attr->map_type == BPF_MAP_TYPE_STRUCT_OPS)
+-    p.btf_vmlinux_value_type_id = create_attr->btf_vmlinux_value_type_id;
+-  else
+-    p.inner_map_fd = create_attr->inner_map_fd;
+-
+-  return bpf_map_create(create_attr->map_type, create_attr->name, create_attr->key_size,
+-                        create_attr->value_size, create_attr->max_entries, &p);
+-}
+-
+-int bcc_create_map_xattr(struct bcc_create_map_attr *attr, bool allow_rlimit)
++int bcc_create_map_xattr(struct bpf_create_map_attr *attr, bool allow_rlimit)
+ {
+   unsigned name_len = attr->name ? strlen(attr->name) : 0;
+   char map_name[BPF_OBJ_NAME_LEN] = {};
+ 
+   memcpy(map_name, attr->name, min(name_len, BPF_OBJ_NAME_LEN - 1));
+   attr->name = map_name;
+-  int ret = libbpf_bpf_map_create(attr);
++  int ret = bpf_create_map_xattr(attr);
+ 
+   if (ret < 0 && errno == EPERM) {
+     if (!allow_rlimit)
+@@ -357,7 +338,7 @@ int bcc_create_map_xattr(struct bcc_create_map_attr *attr, bool allow_rlimit)
+       rl.rlim_max = RLIM_INFINITY;
+       rl.rlim_cur = rl.rlim_max;
+       if (setrlimit(RLIMIT_MEMLOCK, &rl) == 0)
+-        ret = libbpf_bpf_map_create(attr);
++        ret = bpf_create_map_xattr(attr);
+     }
+   }
+ 
+@@ -367,12 +348,12 @@ int bcc_create_map_xattr(struct bcc_create_map_attr *attr, bool allow_rlimit)
+     attr->btf_fd = 0;
+     attr->btf_key_type_id = 0;
+     attr->btf_value_type_id = 0;
+-    ret = libbpf_bpf_map_create(attr);
++    ret = bpf_create_map_xattr(attr);
+   }
+ 
+   if (ret < 0 && name_len && (errno == E2BIG || errno == EINVAL)) {
+     map_name[0] = '\0';
+-    ret = libbpf_bpf_map_create(attr);
++    ret = bpf_create_map_xattr(attr);
+   }
+ 
+   if (ret < 0 && errno == EPERM) {
+@@ -385,7 +366,7 @@ int bcc_create_map_xattr(struct bcc_create_map_attr *attr, bool allow_rlimit)
+       rl.rlim_max = RLIM_INFINITY;
+       rl.rlim_cur = rl.rlim_max;
+       if (setrlimit(RLIMIT_MEMLOCK, &rl) == 0)
+-        ret = libbpf_bpf_map_create(attr);
++        ret = bpf_create_map_xattr(attr);
+     }
+   }
+   return ret;
+@@ -395,7 +376,7 @@ int bcc_create_map(enum bpf_map_type map_type, const char *name,
+                    int key_size, int value_size,
+                    int max_entries, int map_flags)
+ {
+-  struct bcc_create_map_attr attr = {};
++  struct bpf_create_map_attr attr = {};
+ 
+   attr.map_type = map_type;
+   attr.name = name;
+@@ -644,70 +625,24 @@ int bpf_prog_get_tag(int fd, unsigned long long *ptag)
+   return -2;
+ }
+ 
+-static int libbpf_bpf_prog_load(enum bpf_prog_type prog_type,
+-                                const char *prog_name, const char *license,
+-                                const struct bpf_insn *insns, size_t insn_cnt,
+-                                struct bpf_prog_load_opts *opts,
+-                                char *log_buf, size_t log_buf_sz)
+-{
+-
+-  LIBBPF_OPTS(bpf_prog_load_opts, p);
+-
+-  if (!opts || !log_buf != !log_buf_sz) {
+-    errno = EINVAL;
+-    return -EINVAL;
+-  }
+-
+-  p.expected_attach_type = opts->expected_attach_type;
+-  switch (prog_type) {
+-  case BPF_PROG_TYPE_STRUCT_OPS:
+-  case BPF_PROG_TYPE_LSM:
+-    p.attach_btf_id = opts->attach_btf_id;
+-    break;
+-  case BPF_PROG_TYPE_TRACING:
+-  case BPF_PROG_TYPE_EXT:
+-    p.attach_btf_id = opts->attach_btf_id;
+-    p.attach_prog_fd = opts->attach_prog_fd;
+-    break;
+-  default:
+-    p.prog_ifindex = opts->prog_ifindex;
+-    p.kern_version = opts->kern_version;
+-  }
+-  p.log_level = opts->log_level;
+-  p.log_buf = log_buf;
+-  p.log_size = log_buf_sz;
+-  p.prog_btf_fd = opts->prog_btf_fd;
+-  p.func_info_rec_size = opts->func_info_rec_size;
+-  p.func_info_cnt = opts->func_info_cnt;
+-  p.func_info = opts->func_info;
+-  p.line_info_rec_size = opts->line_info_rec_size;
+-  p.line_info_cnt = opts->line_info_cnt;
+-  p.line_info = opts->line_info;
+-  p.prog_flags = opts->prog_flags;
+-
+-  return bpf_prog_load(prog_type, prog_name, license,
+-                       insns, insn_cnt, &p);
+-}
+-
+-int bcc_prog_load_xattr(enum bpf_prog_type prog_type, const char *prog_name,
+-                        const char *license, const struct bpf_insn *insns,
+-                        struct bpf_prog_load_opts *opts, int prog_len,
++int bcc_prog_load_xattr(struct bpf_load_program_attr *attr, int prog_len,
+                         char *log_buf, unsigned log_buf_size, bool allow_rlimit)
+ {
+-  unsigned name_len = prog_name ? strlen(prog_name) : 0;
+-  char *tmp_log_buf = NULL, *opts_log_buf = NULL;
+-  unsigned tmp_log_buf_size = 0, opts_log_buf_size = 0;
++  unsigned name_len = attr->name ? strlen(attr->name) : 0;
++  char *tmp_log_buf = NULL, *attr_log_buf = NULL;
++  unsigned tmp_log_buf_size = 0, attr_log_buf_size = 0;
+   int ret = 0, name_offset = 0, expected_attach_type = 0;
+-  char new_prog_name[BPF_OBJ_NAME_LEN] = {};
++  char prog_name[BPF_OBJ_NAME_LEN] = {};
+ 
+   unsigned insns_cnt = prog_len / sizeof(struct bpf_insn);
++  attr->insns_cnt = insns_cnt;
+ 
+-  if (opts->log_level > 0) {
++  if (attr->log_level > 0) {
+     if (log_buf_size > 0) {
+       // Use user-provided log buffer if available.
+       log_buf[0] = 0;
+-      opts_log_buf = log_buf;
+-      opts_log_buf_size = log_buf_size;
++      attr_log_buf = log_buf;
++      attr_log_buf_size = log_buf_size;
+     } else {
+       // Create and use temporary log buffer if user didn't provide one.
+       tmp_log_buf_size = LOG_BUF_SIZE;
+@@ -715,82 +650,82 @@ int bcc_prog_load_xattr(enum bpf_prog_type prog_type, const char *prog_name,
+       if (!tmp_log_buf) {
+         fprintf(stderr, "bpf: Failed to allocate temporary log buffer: %s\n\n",
+                 strerror(errno));
+-        opts->log_level = 0;
++        attr->log_level = 0;
+       } else {
+         tmp_log_buf[0] = 0;
+-        opts_log_buf = tmp_log_buf;
+-        opts_log_buf_size = tmp_log_buf_size;
++        attr_log_buf = tmp_log_buf;
++        attr_log_buf_size = tmp_log_buf_size;
+       }
+     }
+   }
+ 
+-
+   if (name_len) {
+-    if (strncmp(prog_name, "kprobe__", 8) == 0)
++    if (strncmp(attr->name, "kprobe__", 8) == 0)
+       name_offset = 8;
+-    else if (strncmp(prog_name, "kretprobe__", 11) == 0)
++    else if (strncmp(attr->name, "kretprobe__", 11) == 0)
+       name_offset = 11;
+-    else if (strncmp(prog_name, "tracepoint__", 12) == 0)
++    else if (strncmp(attr->name, "tracepoint__", 12) == 0)
+       name_offset = 12;
+-    else if (strncmp(prog_name, "raw_tracepoint__", 16) == 0)
++    else if (strncmp(attr->name, "raw_tracepoint__", 16) == 0)
+       name_offset = 16;
+-    else if (strncmp(prog_name, "kfunc__", 7) == 0) {
++    else if (strncmp(attr->name, "kfunc__", 7) == 0) {
+       name_offset = 7;
+       expected_attach_type = BPF_TRACE_FENTRY;
+-    } else if (strncmp(prog_name, "kmod_ret__", 10) == 0) {
++    } else if (strncmp(attr->name, "kmod_ret__", 10) == 0) {
+       name_offset = 10;
+       expected_attach_type = BPF_MODIFY_RETURN;
+-    } else if (strncmp(prog_name, "kretfunc__", 10) == 0) {
++    } else if (strncmp(attr->name, "kretfunc__", 10) == 0) {
+       name_offset = 10;
+       expected_attach_type = BPF_TRACE_FEXIT;
+-    } else if (strncmp(prog_name, "lsm__", 5) == 0) {
++    } else if (strncmp(attr->name, "lsm__", 5) == 0) {
+       name_offset = 5;
+       expected_attach_type = BPF_LSM_MAC;
+-    } else if (strncmp(prog_name, "bpf_iter__", 10) == 0) {
++    } else if (strncmp(attr->name, "bpf_iter__", 10) == 0) {
+       name_offset = 10;
+       expected_attach_type = BPF_TRACE_ITER;
+     }
+ 
+-    if (prog_type == BPF_PROG_TYPE_TRACING ||
+-        prog_type == BPF_PROG_TYPE_LSM) {
+-      ret = libbpf_find_vmlinux_btf_id(prog_name + name_offset,
++    if (attr->prog_type == BPF_PROG_TYPE_TRACING ||
++        attr->prog_type == BPF_PROG_TYPE_LSM) {
++      ret = libbpf_find_vmlinux_btf_id(attr->name + name_offset,
+                                        expected_attach_type);
+       if (ret == -EINVAL) {
+         fprintf(stderr, "bpf: vmlinux BTF is not found\n");
+         return ret;
+       } else if (ret < 0) {
+         fprintf(stderr, "bpf: %s is not found in vmlinux BTF\n",
+-                prog_name + name_offset);
++                attr->name + name_offset);
+         return ret;
+       }
+ 
+-      opts->attach_btf_id = ret;
+-      opts->expected_attach_type = expected_attach_type;
++      attr->attach_btf_id = ret;
++      attr->expected_attach_type = expected_attach_type;
+     }
+ 
+-    memcpy(new_prog_name, prog_name + name_offset,
++    memcpy(prog_name, attr->name + name_offset,
+            min(name_len - name_offset, BPF_OBJ_NAME_LEN - 1));
++    attr->name = prog_name;
+   }
+ 
+-  ret = libbpf_bpf_prog_load(prog_type, new_prog_name, license, insns, insns_cnt, opts, opts_log_buf, opts_log_buf_size);
++  ret = bpf_load_program_xattr(attr, attr_log_buf, attr_log_buf_size);
+ 
+   // func_info/line_info may not be supported in old kernels.
+-  if (ret < 0 && opts->func_info && errno == EINVAL) {
+-    opts->prog_btf_fd = 0;
+-    opts->func_info = NULL;
+-    opts->func_info_cnt = 0;
+-    opts->func_info_rec_size = 0;
+-    opts->line_info = NULL;
+-    opts->line_info_cnt = 0;
+-    opts->line_info_rec_size = 0;
+-    ret = libbpf_bpf_prog_load(prog_type, new_prog_name, license, insns, insns_cnt, opts, opts_log_buf, opts_log_buf_size);
++  if (ret < 0 && attr->func_info && errno == EINVAL) {
++    attr->prog_btf_fd = 0;
++    attr->func_info = NULL;
++    attr->func_info_cnt = 0;
++    attr->func_info_rec_size = 0;
++    attr->line_info = NULL;
++    attr->line_info_cnt = 0;
++    attr->line_info_rec_size = 0;
++    ret = bpf_load_program_xattr(attr, attr_log_buf, attr_log_buf_size);
+   }
+ 
+   // BPF object name is not supported on older Kernels.
+   // If we failed due to this, clear the name and try again.
+   if (ret < 0 && name_len && (errno == E2BIG || errno == EINVAL)) {
+-    new_prog_name[0] = '\0';
+-    ret = libbpf_bpf_prog_load(prog_type, new_prog_name, license, insns, insns_cnt, opts, opts_log_buf, opts_log_buf_size);
++    prog_name[0] = '\0';
++    ret = bpf_load_program_xattr(attr, attr_log_buf, attr_log_buf_size);
+   }
+ 
+   if (ret < 0 && errno == EPERM) {
+@@ -809,14 +744,14 @@ int bcc_prog_load_xattr(enum bpf_prog_type prog_type, const char *prog_name,
+       rl.rlim_max = RLIM_INFINITY;
+       rl.rlim_cur = rl.rlim_max;
+       if (setrlimit(RLIMIT_MEMLOCK, &rl) == 0)
+-        ret = libbpf_bpf_prog_load(prog_type, new_prog_name, license, insns, insns_cnt, opts, opts_log_buf, opts_log_buf_size);
++        ret = bpf_load_program_xattr(attr, attr_log_buf, attr_log_buf_size);
+     }
+   }
+ 
+   if (ret < 0 && errno == E2BIG) {
+     fprintf(stderr,
+             "bpf: %s. Program %s too large (%u insns), at most %d insns\n\n",
+-            strerror(errno), new_prog_name, insns_cnt, BPF_MAXINSNS);
++            strerror(errno), attr->name, insns_cnt, BPF_MAXINSNS);
+     return -1;
+   }
+ 
+@@ -825,9 +760,9 @@ int bcc_prog_load_xattr(enum bpf_prog_type prog_type, const char *prog_name,
+     // User has provided a log buffer.
+     if (log_buf_size) {
+       // If logging is not already enabled, enable it and do the syscall again.
+-      if (opts->log_level == 0) {
+-        opts->log_level = 1;
+-        ret = libbpf_bpf_prog_load(prog_type, new_prog_name, license, insns, insns_cnt, opts, log_buf, log_buf_size);
++      if (attr->log_level == 0) {
++        attr->log_level = 1;
++        ret = bpf_load_program_xattr(attr, log_buf, log_buf_size);
+       }
+       // Print the log message and return.
+       bpf_print_hints(ret, log_buf);
+@@ -841,8 +776,8 @@ int bcc_prog_load_xattr(enum bpf_prog_type prog_type, const char *prog_name,
+     if (tmp_log_buf)
+       free(tmp_log_buf);
+     tmp_log_buf_size = LOG_BUF_SIZE;
+-    if (opts->log_level == 0)
+-      opts->log_level = 1;
++    if (attr->log_level == 0)
++      attr->log_level = 1;
+     for (;;) {
+       tmp_log_buf = malloc(tmp_log_buf_size);
+       if (!tmp_log_buf) {
+@@ -851,7 +786,7 @@ int bcc_prog_load_xattr(enum bpf_prog_type prog_type, const char *prog_name,
+         goto return_result;
+       }
+       tmp_log_buf[0] = 0;
+-      ret = libbpf_bpf_prog_load(prog_type, new_prog_name, license, insns, insns_cnt, opts, tmp_log_buf, tmp_log_buf_size);
++      ret = bpf_load_program_xattr(attr, tmp_log_buf, tmp_log_buf_size);
+       if (ret < 0 && errno == ENOSPC) {
+         // Temporary buffer size is not enough. Double it and try again.
+         free(tmp_log_buf);
+@@ -865,7 +800,7 @@ int bcc_prog_load_xattr(enum bpf_prog_type prog_type, const char *prog_name,
+ 
+   // Check if we should print the log message if log_level is not 0,
+   // either specified by user or set due to error.
+-  if (opts->log_level > 0) {
++  if (attr->log_level > 0) {
+     // Don't print if user enabled logging and provided log buffer,
+     // but there is no error.
+     if (log_buf && ret < 0)
+@@ -885,13 +820,16 @@ int bcc_prog_load(enum bpf_prog_type prog_type, const char *name,
+                   const char *license, unsigned kern_version,
+                   int log_level, char *log_buf, unsigned log_buf_size)
+ {
+-  struct bpf_prog_load_opts opts = {};
+-
++  struct bpf_load_program_attr attr = {};
+ 
++  attr.prog_type = prog_type;
++  attr.name = name;
++  attr.insns = insns;
++  attr.license = license;
+   if (prog_type != BPF_PROG_TYPE_TRACING && prog_type != BPF_PROG_TYPE_EXT)
+-    opts.kern_version = kern_version;
+-  opts.log_level = log_level;
+-  return bcc_prog_load_xattr(prog_type, name, license, insns, &opts, prog_len, log_buf, log_buf_size, true);
++    attr.kern_version = kern_version;
++  attr.log_level = log_level;
++  return bcc_prog_load_xattr(&attr, prog_len, log_buf, log_buf_size, true);
+ }
+ 
+ int bpf_open_raw_sock(const char *name)
+@@ -1388,7 +1326,7 @@ int kernel_struct_has_field(const char *struct_name, const char *field_name)
+   struct btf *btf;
+   int i, ret, btf_id;
+ 
+-  btf = btf__load_vmlinux_btf();
++  btf = libbpf_find_kernel_btf();
+   ret = libbpf_get_error(btf);
+   if (ret)
+     return -1;
+@@ -1565,7 +1503,7 @@ int bpf_attach_xdp(const char *dev_name, int progfd, uint32_t flags) {
+     return -1;
+   }
+ 
+-  ret = bpf_xdp_attach(ifindex, progfd, flags, NULL);
++  ret = bpf_set_link_xdp_fd(ifindex, progfd, flags);
+   if (ret) {
+     libbpf_strerror(ret, err_buf, sizeof(err_buf));
+     fprintf(stderr, "bpf: Attaching prog to %s: %s\n", dev_name, err_buf);
+diff --git a/src/cc/libbpf.h b/src/cc/libbpf.h
+index dd86f0a9..e001d740 100644
+--- a/src/cc/libbpf.h
++++ b/src/cc/libbpf.h
+@@ -27,25 +27,8 @@
+ extern "C" {
+ #endif
+ 
+-struct bcc_create_map_attr {
+-	const char *name;
+-	enum bpf_map_type map_type;
+-	__u32 map_flags;
+-	__u32 key_size;
+-	__u32 value_size;
+-	__u32 max_entries;
+-	__u32 numa_node;
+-	__u32 btf_fd;
+-	__u32 btf_key_type_id;
+-	__u32 btf_value_type_id;
+-	__u32 map_ifindex;
+-	union {
+-		__u32 inner_map_fd;
+-		__u32 btf_vmlinux_value_type_id;
+-	};
+-};
+-
+-struct bpf_prog_load_opts;
++struct bpf_create_map_attr;
++struct bpf_load_program_attr;
+ 
+ enum bpf_probe_attach_type {
+ 	BPF_PROBE_ENTRY,
+@@ -61,7 +44,7 @@ struct bcc_perf_buffer_opts {
+ int bcc_create_map(enum bpf_map_type map_type, const char *name,
+                    int key_size, int value_size, int max_entries,
+                    int map_flags);
+-int bcc_create_map_xattr(struct bcc_create_map_attr *attr, bool allow_rlimit);
++int bcc_create_map_xattr(struct bpf_create_map_attr *attr, bool allow_rlimit);
+ int bpf_update_elem(int fd, void *key, void *value, unsigned long long flags);
+ int bpf_lookup_elem(int fd, void *key, void *value);
+ int bpf_delete_elem(int fd, void *key);
+@@ -89,11 +72,10 @@ int bcc_prog_load(enum bpf_prog_type prog_type, const char *name,
+                   const struct bpf_insn *insns, int prog_len,
+                   const char *license, unsigned kern_version,
+                   int log_level, char *log_buf, unsigned log_buf_size);
+-int bcc_prog_load_xattr(enum bpf_prog_type prog_type, const char *prog_name,
+-						const char *license, const struct bpf_insn *insns,
+-						struct bpf_prog_load_opts *opts,
++int bcc_prog_load_xattr(struct bpf_load_program_attr *attr,
+                         int prog_len, char *log_buf,
+                         unsigned log_buf_size, bool allow_rlimit);
++
+ int bpf_attach_socket(int sockfd, int progfd);
+ 
+ /* create RAW socket. If name is not NULL/a non-empty null-terminated string,
+-- 
+2.38.1
+
diff --git a/SOURCES/bcc-0.25.0-Revert-tools-tcpaccept-Fix-support-for-v5.6-kernels.patch b/SOURCES/bcc-0.25.0-Revert-tools-tcpaccept-Fix-support-for-v5.6-kernels.patch
new file mode 100644
index 0000000..1c31ae9
--- /dev/null
+++ b/SOURCES/bcc-0.25.0-Revert-tools-tcpaccept-Fix-support-for-v5.6-kernels.patch
@@ -0,0 +1,42 @@
+From acee5d39d24b102e8ed09a242cb1c53246a1fb7f Mon Sep 17 00:00:00 2001
+From: Jerome Marchand <jmarchan@redhat.com>
+Date: Tue, 29 Nov 2022 15:33:49 +0100
+Subject: [PATCH] Revert "tools/tcpaccept: Fix support for v5.6+ kernels"
+
+This reverts commit 28955512d991ee3849c2a9accfc54bef9cd35f21.
+
+It breaks tcpaccept on RHEL 8 kernel.
+---
+ tools/tcpaccept.py | 9 ++-------
+ 1 file changed, 2 insertions(+), 7 deletions(-)
+
+diff --git a/tools/tcpaccept.py b/tools/tcpaccept.py
+index b2ace4fa..d3e44143 100755
+--- a/tools/tcpaccept.py
++++ b/tools/tcpaccept.py
+@@ -116,7 +116,7 @@ int kretprobe__inet_csk_accept(struct pt_regs *ctx)
+         return 0;
+ 
+     // check this is TCP
+-    u16 protocol = 0;
++    u8 protocol = 0;
+     // workaround for reading the sk_protocol bitfield:
+ 
+     // Following comments add by Joe Yin:
+@@ -132,12 +132,7 @@ int kretprobe__inet_csk_accept(struct pt_regs *ctx)
+     int gso_max_segs_offset = offsetof(struct sock, sk_gso_max_segs);
+     int sk_lingertime_offset = offsetof(struct sock, sk_lingertime);
+ 
+-
+-    // Since kernel v5.6 sk_protocol is its own u16 field and gso_max_segs
+-    // precedes sk_lingertime.
+-    if (sk_lingertime_offset - gso_max_segs_offset == 2)
+-        protocol = newsk->sk_protocol;
+-    else if (sk_lingertime_offset - gso_max_segs_offset == 4)
++    if (sk_lingertime_offset - gso_max_segs_offset == 4)
+         // 4.10+ with little endian
+ #if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
+         protocol = *(u8 *)((u64)&newsk->sk_gso_max_segs - 3);
+-- 
+2.38.1
+
diff --git a/SOURCES/bcc-0.25.0-libbpf-Allow-kernel_struct_has_field-to-reach-field-.patch b/SOURCES/bcc-0.25.0-libbpf-Allow-kernel_struct_has_field-to-reach-field-.patch
new file mode 100644
index 0000000..66baec5
--- /dev/null
+++ b/SOURCES/bcc-0.25.0-libbpf-Allow-kernel_struct_has_field-to-reach-field-.patch
@@ -0,0 +1,75 @@
+From 16277e3910c9281d807fc6d3b4ce41c62d7d265e Mon Sep 17 00:00:00 2001
+From: Jerome Marchand <jmarchan@redhat.com>
+Date: Thu, 19 May 2022 16:37:40 +0200
+Subject: [PATCH 3/3] libbpf: Allow kernel_struct_has_field to reach field in
+ unnamed struct or union
+
+Some fields can belong to unnamed struct or union (e.g. rcu and
+rcu_users fields of task_struct). In C, they are accessed as if their
+belong directly to the parent of the unnamed struct or union but this
+is not the case for BTF.
+
+When looking for a field, kernel_struct_has_field should also look
+reccursively into unnamed structs or unions. That allows code such as
+the following to work as expected:
+
+BPF.kernel_struct_has_field('task_struct', 'rcu')
+
+Signed-off-by: Jerome Marchand <jmarchan@redhat.com>
+---
+ src/cc/libbpf.c | 28 ++++++++++++++++++----------
+ 1 file changed, 18 insertions(+), 10 deletions(-)
+
+diff --git a/src/cc/libbpf.c b/src/cc/libbpf.c
+index 5f7a3f68..bdfde1f5 100644
+--- a/src/cc/libbpf.c
++++ b/src/cc/libbpf.c
+@@ -1319,12 +1319,27 @@ bool bpf_has_kernel_btf(void)
+   return true;
+ }
+ 
++static int find_member_by_name(struct btf *btf, const struct btf_type *btf_type, const char *field_name) {
++  const struct btf_member *btf_member = btf_members(btf_type);
++  int i;
++
++  for (i = 0; i < btf_vlen(btf_type); i++, btf_member++) {
++    const char *name = btf__name_by_offset(btf, btf_member->name_off);
++    if (!strcmp(name, field_name)) {
++      return 1;
++    } else if (name[0] == '\0') {
++      if (find_member_by_name(btf, btf__type_by_id(btf, btf_member->type), field_name))
++        return 1;
++    }
++  }
++  return 0;
++}
++
+ int kernel_struct_has_field(const char *struct_name, const char *field_name)
+ {
+   const struct btf_type *btf_type;
+-  const struct btf_member *btf_member;
+   struct btf *btf;
+-  int i, ret, btf_id;
++  int ret, btf_id;
+ 
+   btf = libbpf_find_kernel_btf();
+   ret = libbpf_get_error(btf);
+@@ -1338,14 +1353,7 @@ int kernel_struct_has_field(const char *struct_name, const char *field_name)
+   }
+ 
+   btf_type = btf__type_by_id(btf, btf_id);
+-  btf_member = btf_members(btf_type);
+-  for (i = 0; i < btf_vlen(btf_type); i++, btf_member++) {
+-    if (!strcmp(btf__name_by_offset(btf, btf_member->name_off), field_name)) {
+-      ret = 1;
+-      goto cleanup;
+-    }
+-  }
+-  ret = 0;
++  ret = find_member_by_name(btf, btf_type, field_name);
+ 
+ cleanup:
+   btf__free(btf);
+-- 
+2.38.1
+
diff --git a/SPECS/bcc.spec b/SPECS/bcc.spec
index b605ff2..7f3f43c 100644
--- a/SPECS/bcc.spec
+++ b/SPECS/bcc.spec
@@ -8,7 +8,7 @@
 %endif
 
 Name:           bcc
-Version:        0.24.0
+Version:        0.25.0
 Release:        2%{?dist}
 Summary:        BPF Compiler Collection (BCC)
 License:        ASL 2.0
@@ -17,6 +17,10 @@ Source0:        %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
 Patch0:         %{name}-%{version}-Manpages-remove-unstable-statement.patch
 Patch1:         %{name}-%{version}-RHEL-libbpf-version-fixes.patch
 Patch2:         %{name}-%{version}-libbpf-Allow-kernel_struct_has_field-to-reach-field-.patch
+Patch3:         %{name}-%{version}-Fix-bpf_pseudo_fd-type-conversion-error.patch
+Patch4:         %{name}-%{version}-Fix-clang-15-int-to-pointer-conversion-errors.patch
+Patch5:         %{name}-%{version}-Revert-tools-tcpaccept-Fix-support-for-v5.6-kernels.patch
+Patch6:         %{name}-%{version}-Fix-get_kprobe_functions.patch
 
 # Arches will be included as upstream support is added and dependencies are
 # satisfied in the respective arches
@@ -214,6 +218,13 @@ done
 
 
 %changelog
+* Tue Jan 10 2023 Jerome Marchand <jmarchan@redhat.com> - 0.25.0-2
+- Fix tcpdrop tool
+
+* Wed Nov 30 2022 Jerome Marchand <jmarchan@redhat.com> - 0.25.0-1
+- Rebase to bcc-0.25.0
+- Rebuild on LLVM 15
+
 * Thu Jun 23 2022 Jerome Marchand <jmarchan@redhat.com> - 0.24.0-2
 - Rebuild on libbpf 0.5.0