From be1ddc275623b6cf16060d8a0fa1fb36f677010a Mon Sep 17 00:00:00 2001 From: Jim Warner Date: Thu, 14 Oct 2021 00:00:00 -0500 Subject: [PATCH] library: created a valgrind 'warning-suppression' file Signed-off-by: Jim Warner --- Documentation/libproc.supp | 46 ++++++++++++++++++++++++++++++++++++++ Makefile.am | 3 ++- 2 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 Documentation/libproc.supp diff --git a/Documentation/libproc.supp b/Documentation/libproc.supp new file mode 100644 index 00000000..346f7cbc --- /dev/null +++ b/Documentation/libproc.supp @@ -0,0 +1,46 @@ +# +# This is a warning-suppression file for valgrind supplied by libproc +# to be used with the option: --suppressions=/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* +} diff --git a/Makefile.am b/Makefile.am index 2c409731..a0affc05 100644 --- a/Makefile.am +++ b/Makefile.am @@ -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 -- 2.40.0