]> granicus.if.org Git - procps-ng/commitdiff
library: created a valgrind 'warning-suppression' file
authorJim Warner <james.warner@comcast.net>
Thu, 14 Oct 2021 05:00:00 +0000 (00:00 -0500)
committerCraig Small <csmall@dropbear.xyz>
Mon, 18 Oct 2021 06:38:43 +0000 (17:38 +1100)
Signed-off-by: Jim Warner <james.warner@comcast.net>
Documentation/libproc.supp [new file with mode: 0644]
Makefile.am

diff --git a/Documentation/libproc.supp b/Documentation/libproc.supp
new file mode 100644 (file)
index 0000000..346f7cb
--- /dev/null
@@ -0,0 +1,46 @@
+#
+#  This is a warning-suppression file for valgrind supplied by libproc
+#  to be used with the option: --suppressions=<path-for>/libproc.supp.
+#
+#  Memory leak warnings will only be encountered when a multi-threaded
+#  program has used the 'procps_pids' interface. That is because this
+#  library employs heap based memory in a thread safe manner. However,
+#  such memory will not be freed until the address space is reclaimed.
+#
+#  When a sibling thread using this 'procps_pids' API ends, or if some
+#  other thread in that address space calls 'pthread_cancel()' on such
+#  a thread, valgrind may warn that some memory was 'definitely lost'.
+#
+#  Any such warnings are dependent on the 'pids_item' enumerators that
+#  have been specified using 'procps_pids_new' or 'procps_pids_reset'.
+#
+#  A single-threaded application should not experience these warnings.
+#
+
+## for most of the 'definitely lost' warnings,
+## up to 4 blocks ranging from 1024 to 2048 bytes each
+{
+   HEAP_BASED_TLS_file2str
+   Memcheck:Leak
+   ...
+   fun:file2str
+}
+
+## for the remaining 'definitely lost' warnings,
+## a block for each active lxc container, 16 bytes + sizeof name
+{
+   HEAP_BASED_TLS_lxc
+   Memcheck:Leak
+   ...
+   fun:lxc_containers
+}
+
+## in case an installed library has been stripped,
+## this embraces both of the above warning categories
+{
+   HEAP_BASED_TLS_library
+   Memcheck:Leak
+   ...
+   obj:/usr/*lib*/libproc*
+   obj:/usr/local/*lib*/libproc*
+}
index 2c409731eb7e0b5200918bc049e345bd2ac473c5..a0affc05623620a584a49ab647e4a9894a67082c 100644 (file)
@@ -113,7 +113,8 @@ endif
 procpsngdir = $(docdir)
 dist_procpsng_DATA = \
        Documentation/bugs.md \
-       Documentation/FAQ
+       Documentation/FAQ \
+       Documentation/libproc.supp
 
 if BUILD_PIDOF
 if !CYGWIN