403Webshell
Server IP : 112.74.42.100  /  Your IP : 216.73.216.142
Web Server : nginx/1.20.2
System : Linux iZwz96lx4pjqiy84w4hni7Z 5.10.134-17.3.al8.x86_64 #1 SMP Thu Oct 31 14:29:57 CST 2024 x86_64
User : www ( 1000)
PHP Version : 8.0.26
Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /www/server/mysql/mysql-test/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /www/server/mysql/mysql-test/valgrind.supp
# Copyright (c) 2005, 2021, Oracle and/or its affiliates.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License, version 2.0,
# as published by the Free Software Foundation.
#
# This program is also distributed with certain software (including
# but not limited to OpenSSL) that is licensed under separate terms,
# as designated in a particular file or component or in included license
# documentation.  The authors of MySQL hereby grant you an additional
# permission to link the program and your derivative works with the
# separately licensed software that they have included with MySQL.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License, version 2.0, for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA

#
# Suppress some common (not fatal) errors in system libraries found by valgrind
#

#
# Pthread doesn't free all thread specific memory before program exists
#
{
   pthread allocate_tls memory loss
   Memcheck:Leak
   fun:calloc
   ...
   fun:_dl_allocate_tls
   fun:allocate_stack
   fun:pthread_create*
}

{
   pthread allocate_tls memory loss
   Memcheck:Leak
   fun:calloc
   fun:_dl_allocate_tls
   fun:pthread_create*

}

{
   semi_sync_master_plugin_init
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:malloc
   ...
   fun:tls_get_addr_tail
}

{
   GCC never cleans up its TLS block
   Memcheck:Leak
   fun:memalign
   ...
   fun:tls_get_addr_tail*
}

{
   pthead_exit memory loss 1
   Memcheck:Leak
   fun:malloc
   fun:_dl_new_object
   fun:_dl_map_object_from_fd
}

{
   pthread_exit memory loss 2
   Memcheck:Leak
   fun:malloc
   fun:_dl_map_object
   fun:dl_open_worker
}

{
   pthread_exit memory loss 3
   Memcheck:Leak
   fun:malloc
   fun:_dl_map_object_deps
   fun:dl_open_worker
}

{
   pthread_exit memory loss 4
   Memcheck:Leak
   fun:calloc
   fun:_dl_check_map_versions
   fun:dl_open_worker
}

{
   pthread_exit memory loss 5
   Memcheck:Leak
   fun:calloc
   fun:_dl_new_object
   fun:_dl_map_object_from_fd
}

{
   pthread allocate_dtv memory loss
   Memcheck:Leak
   fun:calloc
   fun:allocate_dtv
   fun:_dl_allocate_tls_storage
   fun:__GI__dl_allocate_tls
   fun:pthread_create
}

{
   pthread allocate_dtv memory loss second
   Memcheck:Leak
   fun:calloc
   fun:allocate_dtv
   fun:_dl_allocate_tls
   fun:pthread_create*
}

{
   pthread allocate_dtv memory loss third
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:malloc
   fun:allocate_dtv_entry
   ...
   fun:exit
}

{
   pthread memalign memory loss
   Memcheck:Leak
   fun:memalign
   fun:_dl_allocate_tls_storage
   fun:__GI__dl_allocate_tls
   fun:pthread_create
}

{
   pthread pthread_key_create
   Memcheck:Leak
   fun:malloc
   fun:*
   fun:*
   fun:pthread_key_create
   fun:my_thread_global_init
}

{
   pthread strstr uninit
   Memcheck:Cond
   fun:strstr
   obj:/lib/tls/libpthread.so.*
   obj:/lib/tls/libpthread.so.*
   fun:call_init
   fun:_dl_init
   obj:/lib/ld-*.so
}

{
   pthread strstr uninit
   Memcheck:Cond
   fun:strstr
   obj:/lib/tls/libpthread.so.*
   obj:/lib/tls/libpthread.so.*
   fun:call_init
   fun:_dl_init
   obj:/lib/ld-*.so
}

{
   strlen/_dl_init_paths/dl_main/_dl_sysdep_start(Cond)
   Memcheck:Cond
   fun:strlen
   fun:_dl_init_paths
   fun:dl_main
   fun:_dl_sysdep_start
}

{
   pthread errno
   Memcheck:Leak
   fun:calloc
   fun:_dlerror_run
   fun:dlsym
   fun:__errno_location
}

{
   pthread errno
   Memcheck:Leak
   fun:calloc
   fun:_dlerror_run
   fun:dlclose
}


#
# Warnings in libz becasue it works with aligned memory(?)
#

{
   libz tr_flush_block
   Memcheck:Cond
   fun:_tr_flush_block
   fun:deflate_slow
   fun:deflate
   fun:do_flush
   fun:gzclose
}

{
   libz tr_flush_block2
   Memcheck:Cond
   fun:_tr_flush_block
   fun:deflate_slow
   fun:deflate
   fun:compress2
}

{
   libz longest_match
   Memcheck:Cond
   fun:longest_match
   fun:deflate_slow
   fun:deflate
}

{
   libz deflate
   Memcheck:Cond
   obj:*/libz.so.*
   obj:*/libz.so.*
   fun:deflate
   fun:compress2
}

{
   libz deflate2
   Memcheck:Cond
   obj:*/libz.so.*
   obj:*/libz.so.*
   fun:deflate
   obj:*/libz.so.*
   fun:gzflush
}

{
   libz deflate3
   Memcheck:Cond
   obj:*/libz.so.*
   obj:*/libz.so.*
   fun:deflate
   fun:do_flush
}

{
  libz deflate4
  Memcheck:Param
  write(buf)
  fun:*
  fun:my_write
  fun:do_flush
  fun:azclose
}

# Warning from zlib, cf. http://www.zlib.net/zlib_faq.html#faq36

{
   libz deflate5
   Memcheck:Cond
   fun:slide_hash
   fun:fill_window
   fun:deflate_fast
   fun:deflate
}

#
# Warning from my_thread_init becasue mysqld dies before kill thread exists
#

{
   my_thread_init kill thread memory loss second
   Memcheck:Leak
   fun:calloc
   fun:my_thread_init
   fun:kill_server_thread
}


# Red Hat AS 4 32 bit
{
   dl_relocate_object
   Memcheck:Cond
   fun:_dl_relocate_object
}

#
# Warning from my_thread_init becasue mysqld dies before kill thread exists
#

{
   my_thread_init kill thread memory loss second
   Memcheck:Leak
   fun:calloc
   fun:my_thread_init
   fun:kill_server_thread
}

#
# Leaks reported in _dl_* internal functions on Linux amd64 / glibc2.3.2.
#

{
   _dl_start invalid write8
   Memcheck:Addr8
   fun:_dl_start
}

{
   _dl_start invalid write4
   Memcheck:Addr4
   fun:_dl_start
}

{
   _dl_start/_dl_setup_hash invalid read8
   Memcheck:Addr8
   fun:_dl_setup_hash
   fun:_dl_start
}

{
   _dl_sysdep_start invalid write8
   Memcheck:Addr8
   fun:_dl_sysdep_start
}

{
   _dl_init invalid write8
   Memcheck:Addr8
   fun:_dl_init
}

{
   _dl_init invalid write4
   Memcheck:Addr4
   fun:_dl_init
}

{
   _dl_init/_dl_init invalid read8
   Memcheck:Addr8
   fun:_dl_debug_initialize
   fun:_dl_init
}

{
   _dl_init/_dl_debug_state invalid read8
   Memcheck:Addr8
   fun:_dl_debug_state
   fun:_dl_init
}

{
   init invalid write8
   Memcheck:Addr8
   fun:init
}

{
   fixup invalid write8
   Memcheck:Addr8
   fun:fixup
}

{
   fixup/_dl_lookup_versioned_symbol invalid read8
   Memcheck:Addr8
   fun:_dl_lookup_versioned_symbol
   fun:fixup
}

{
   _dl_runtime_resolve invalid read8
   Memcheck:Addr8
   fun:_dl_runtime_resolve
}

{
   __libc_start_main invalid write8
   Memcheck:Addr8
   fun:__libc_start_main
}

{
   __libc_start_main/__sigjmp_save invalid write4
   Memcheck:Addr4
   fun:__sigjmp_save
   fun:__libc_start_main
}

#
# These seem to be libc threading stuff, not related to MySQL code (allocations
# during pthread_exit()). Googling shows other projects also using these
# suppressions.
#
# Note that these all stem from pthread_exit() deeper in the call stack, but
# Valgrind only allows the top four calls in the suppressions.
#

{
   libc pthread_exit 1
   Memcheck:Leak
   fun:malloc
   fun:_dl_new_object
   fun:_dl_map_object_from_fd
   fun:_dl_map_object
}

{
   libc pthread_exit 2
   Memcheck:Leak
   fun:malloc
   fun:_dl_map_object
   fun:dl_open_worker
   fun:_dl_catch_error
}

{
   libc pthread_exit 3
   Memcheck:Leak
   fun:malloc
   fun:_dl_map_object_deps
   fun:dl_open_worker
   fun:_dl_catch_error
}

{
   libc pthread_exit 4
   Memcheck:Leak
   fun:calloc
   fun:_dl_check_map_versions
   fun:dl_open_worker
   fun:_dl_catch_error
}

{
   libc pthread_exit 5
   Memcheck:Leak
   fun:calloc
   fun:_dl_new_object
   fun:_dl_map_object_from_fd
   fun:_dl_map_object
}

{
   libc pthread_exit 6
   Memcheck:Leak
   fun:malloc
   fun:_dl_map_object
   fun:openaux
   fun:_dl_catch_error
}

{
   libc pthread_exit 7
   Memcheck:Leak
   fun:malloc
   fun:dl_open_worker
   fun:_dl_catch_error
   fun:_dl_open
}

{
   libc pthread_exit 8
   Memcheck:Leak
   fun:malloc
   fun:local_strdup
   fun:_dl_map_object
   fun:dl_open_worker
}

# strdup can be inlined
{
   libc pthread_exit 9
   Memcheck:Leak
   fun:malloc
   ...
   fun:expand_dynamic_string_token
   fun:_dl_map_object
   fun:dl_open_worker
}

#
# This is seen internally in the system libraries on 64-bit RHAS3.
#

{
   __lll_mutex_unlock_wake uninitialized
   Memcheck:Param
   futex(utime)
   fun:__lll_mutex_unlock_wake
}

#
# BUG#19940: NDB sends uninitialized parts of field buffers across the wire.
# This is "works as designed"; the uninitialized part is not used at the
# other end (but Valgrind cannot see this).
#
{
   bug19940
   Memcheck:Param
   socketcall.sendto(msg)
   fun:send
   fun:_ZN15TCP_Transporter6doSendEv
   fun:_ZN19TransporterRegistry11performSendEv
   fun:_ZN19TransporterRegistry14forceSendCheckEi
}
# Warning when printing stack trace (to suppress some not needed warnings)
#

{
   vprintf on stacktrace
   Memcheck:Cond
   fun:vfprintf
   fun:uffered_vfprintf
   fun:vfprintf
   fun:fprintf
   fun:print_stacktrace
}

#
# Safe warnings, that may happen because of thread scheduling
#

{
   dbug initialization by kill_server
   Memcheck:Leak
   fun:malloc
   fun:DbugMalloc
   fun:code_state
   fun:_db_enter_
   fun:kill_server
}

#
# Warning caused by small memory leak in threaded dlopen
#

{
   dlopen threaded memory leak
   Memcheck:Leak
   fun:calloc
   obj:*/libdl-*.so
   fun:dlopen*
}

{
   dlopen memory leak
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:calloc
   fun:_dlerror_run
   fun:dlsym
}
#
# Pthread doesn't free all thread specific memory before program exists
#
{
   pthread allocate_tls memory loss in 2.6.1.
   Memcheck:Leak
   fun:calloc
   obj:*/ld-*.so
   fun:_dl_allocate_tls
   fun:pthread_create*
}

{
   buf_buddy_relocate peeking (space,page) in potentially free blocks
   Memcheck:Addr1
   fun:buf_buddy_relocate
}

{
   Bug 59874 Valgrind warning in InnoDB compression code
   Memcheck:Cond
   fun:*
   fun:*
   fun:deflate
   fun:btr_store_big_rec_extern_fields_func
   fun:row_ins_index_entry_low
   fun:row_ins_index_entry
   fun:row_ins_index_entry_step
   fun:row_ins
   fun:row_ins_step
   fun:row_insert_for_mysql
}

{
   In page0zip.c we have already checked that the memory is initialized before calling deflate()
   Memcheck:Cond
   fun:*
   fun:*
   fun:deflate
   fun:page_zip_compress
}

{
   In page0zip.c we have already checked that the memory is initialized before calling deflate()
   Memcheck:Cond
   fun:*
   fun:*
   fun:deflate
   fun:page_zip_compress_deflate
}

{
   In page0zip.c we have already checked that the memory is initialized before calling deflate()
   Memcheck:Cond
   obj:*/libz.so*
   obj:*/libz.so*
   fun:deflate
   fun:page_zip_compress
   fun:page_zip_reorganize
   fun:page_cur_insert_rec_zip_reorg
   fun:page_cur_insert_rec_zip
   fun:page_cur_tuple_insert
   fun:btr_cur_optimistic_insert
   fun:btr_cur_pessimistic_insert
   fun:row_ins_index_entry_low
   fun:row_ins_index_entry
   fun:row_ins_index_entry_step
   fun:row_ins
   fun:row_ins_step
   fun:row_insert_for_mysql
}

{
   In page0zip.c we have already checked that the memory is initialized before calling deflate()
   Memcheck:Cond
   obj:*/libz.so*
   obj:*/libz.so*
   fun:deflate
   fun:page_zip_compress
   fun:page_zip_reorganize
   fun:page_cur_insert_rec_zip_reorg
   fun:page_cur_insert_rec_zip
   fun:page_cur_tuple_insert
   fun:btr_cur_optimistic_insert
   fun:row_ins_index_entry_low
   fun:row_ins_index_entry
   fun:row_ins_index_entry_step
   fun:row_ins
   fun:row_ins_step
   fun:row_insert_for_mysql
}

{
   In page0zip.c we have already checked that the memory is initialized before calling deflate()
   Memcheck:Cond
   obj:*/libz.so*
   obj:*/libz.so*
   fun:deflate
   fun:page_zip_compress
   fun:page_copy_rec_list_end
   fun:page_move_rec_list_end
   fun:btr_page_split_and_insert
   fun:btr_root_raise_and_insert
   fun:btr_cur_pessimistic_insert
   fun:row_ins_index_entry_low
   fun:row_ins_index_entry
   fun:row_ins_index_entry_step
   fun:row_ins
   fun:row_ins_step
   fun:row_insert_for_mysql
}

{
   In page0zip.c we have already checked that the memory is initialized before calling deflate()
   Memcheck:Cond
   obj:*/libz.so*
   obj:*/libz.so*
   fun:deflate
   fun:page_zip_compress
   fun:page_cur_insert_rec_zip_reorg
   fun:page_cur_insert_rec_zip
   fun:page_cur_tuple_insert
   fun:btr_cur_optimistic_insert
   fun:btr_cur_pessimistic_insert
   fun:row_ins_index_entry_low
   fun:row_ins_index_entry
   fun:row_ins_index_entry_step
   fun:row_ins
   fun:row_ins_step
   fun:row_insert_for_mysql
}

{
   Bug 59875 Valgrind warning in buf0buddy.c
   Memcheck:Addr1
   fun:mach_read_from_4
   fun:buf_buddy_relocate
   fun:buf_buddy_free_low
   fun:buf_buddy_free
}

#
# NDB packfrm vs deflate
#
{
   NDB packfrm case 1
   Memcheck:Cond
   fun:deflate_slow
   fun:deflate
   fun:compress
   fun:my_compress_alloc
   fun:my_compress
   fun:packfrm
}

{
   NDB packfrm case 2
   Memcheck:Cond
   fun:longest_match
   fun:deflate_slow
   fun:deflate
   fun:compress
   fun:my_compress_alloc
   fun:my_compress
   fun:packfrm
}

#
# pfs vs compress
#
{
   pfs vs. compress case 1
   Memcheck:Cond
   fun:longest_match
   fun:deflate_slow
   fun:deflate
   fun:compress
   fun:my_compress_alloc
   fun:my_compress
}

{
   pfs vs. compress case 2
   Memcheck:Cond
   fun:deflate_slow
   fun:deflate
   fun:compress
   fun:my_compress_alloc
   fun:my_compress
}

# Note the wildcard in the (mangled) function signatures of
# write_keys() and find_all_keys().
# They both return ha_rows, which is platform dependent.
#
# The '...' wildcards are for 'fun:inline_mysql_file_write' which *may*
# be inlined.
{
   Bug#12856915 VALGRIND FAILURE IN FILESORT/CREATE_SORT_INDEX
   Memcheck:Param
   write(buf)
   ...
   fun:_Z19my_b_flush_io_cacheP8IO_CACHEi
   ...
   fun:_Z8filesortP3THDP8Filesort*
}

# http://www.openldap.org/its/index.cgi/Software%20Bugs?id=9081;page=23
# Memory leak in ldap_initialize/ldap_unbind
# Version: 2.4.48
# Fixed in RE24 (2.4.49)
{
   OpenLDAP bug 9081
   Memcheck:Leak
   match-leak-kinds: definite
   fun:calloc
   fun:ber_memcalloc_x
   fun:ber_memcalloc
   fun:ber_sockbuf_alloc
   fun:ldap_create
   fun:ldap_initialize
}

# sasl_client_init will load all available plugins with _sasl_load_plugins().
# It seems some of the SASL plugin have leaks.
# Both LSAN and Valgrind report leaks.
{
   Loading SASL plugins 1
   Memcheck:Leak
   match-leak-kinds: definite
   fun:malloc
   ...
   fun:sasl_client_add_plugin
}

{
   Loading SASL plugins 2
   Memcheck:Leak
   match-leak-kinds: indirect
   fun:malloc
   ...
   fun:sasl_client_add_plugin
}

{
   Unloading SASL plugins
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:malloc
   ...
   fun:dlclose
   fun:_sasl_done_with_plugins
}

{
   cyrus libsasl2 still reachable one
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:malloc
   ...
   fun:sasl_client_init
}

{
   cyrus libsasl2 still reachable two
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:calloc
   ...
   fun:sasl_client_init
}

{
   cyrus libsasl2 still reachable three
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:malloc
   ...
   fun:sasl_set_path
}

{
   cyrus libsasl2 still reachable four
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:malloc
   ...
   fun:_sasl_build_mechlist
}

{
   OpenSSL still reachable.
   Memcheck:Leak
   fun:malloc
   ...
   fun:CRYPTO_malloc
   fun:sk_new
   ...
   fun:SSL_COMP_get_compression_methods
   fun:SSL_library_init
}

{
   OpenSSL still reachable.
   Memcheck:Leak
   fun:malloc
   fun:CRYPTO_malloc
   fun:engine_cleanup_add_last
   fun:ENGINE_add
}

{
   OpenSSL still reachable.
   Memcheck:Leak
   fun:malloc
   fun:CRYPTO_malloc
   fun:sk_new
   fun:engine_cleanup_add_last
   fun:ENGINE_add
}

{
   OpenSSL still reachable.
   Memcheck:Leak
   fun:malloc
   fun:CRYPTO_malloc
   fun:ENGINE_new
}

{
  OpenSSL still reachable.
  Memcheck:Leak
  match-leak-kinds: reachable
  fun:malloc
  fun:CRYPTO_malloc
  ...
  fun:ERR_peek_error
  fun:vio_ssl_read
  ...
}

{
  OpenSSL still reachable.
  Memcheck:Leak
  match-leak-kinds: reachable
  fun:malloc
  fun:CRYPTO_malloc
  ...
  fun:ERR_peek_error
  ...
  fun:sslaccept
  ...
  fun:server_mpvio_read_packet
  ...
}

{
   Bug#16039908 "BYTES STILL REACHABLE" IN VALGRIND TEST ON 5.6/TRUNK
   Memcheck:Leak
   fun:calloc
   fun:_dlerror_run
   fun:dlclose
   fun:_ZL15free_plugin_memP12st_plugin_dl
   fun:_ZL13plugin_dl_delPK16MYSQL_LEX_STRING
   fun:_ZL10plugin_delP13st_plugin_int
   fun:_ZL12reap_pluginsv
   fun:_Z15plugin_shutdownv
   fun:_Z*8clean_upb*
}

{
   main.udf gives similar warning as Bug#16039908
   Memcheck:Leak
   fun:calloc
   fun:_dlerror_run
   fun:dlclose
   fun:_Z*udf_deinitv
   fun:_Z*8clean_upb*
}

#Suppress warnings from glibc implementation of 'malloc_info'
{
   Malloc_info uninitialised value of size 8
   Memcheck:Value8
   fun:_itoa_word
   fun:vfprintf
   fun:fprintf
   fun:mi_arena.*
   fun:malloc_info
}

{
   Malloc_info conditional jump depends on uninitialised values
   Memcheck:Cond
   ...
   fun:mi_arena.*
   fun:malloc_info
}

#supress warnings from openssl random generator

{
   OpenSSL conditional jump in ssl3_ctx_ctrl
   Memcheck:Cond
   ...
   fun:ssl3_ctx_ctrl
   fun:new_VioSSLFd
}

{
   OpenSSL conditional jump in RAND_DRBG_generate
   Memcheck:Cond
   ...
   fun:RAND_DRBG_generate
}

{
   OpenSSL uninitialised value of size 8 in new_VioSSLFd
   Memcheck:Value8
   fun:BN_num_bits_word
   fun:BN_num_bits
   ...
   fun:new_VioSSLFd
}

{
   OpenSSL uninitialised value of size 8 in new_VioSSLFd
   Memcheck:Value8
   fun:BN_mod_exp_mont_consttime
   ...
   fun:new_VioSSLFd
}

{
   OpenSSL PB2 / 1
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:malloc
   fun:CRYPTO_malloc
   fun:sk_new
   fun:SSL_COMP_get_compression_methods
   fun:SSL_library_init
   fun:ssl_start
   fun:_Z8init_sslv
   fun:_Z11mysqld_mainiPPc
   fun:main
}

{
   OpenSSL PB2 / 2
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:malloc
   fun:CRYPTO_malloc
   fun:sk_new
   fun:SSL_COMP_get_compression_methods
   fun:SSL_library_init
   fun:ssl_start
   fun:_ZL8init_sslv
   fun:_Z11mysqld_mainiPPc
   fun:main
}


{
   OpenSSL libstdc++ version 5 / one
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:malloc
   fun:CRYPTO_malloc
   fun:sk_new
   obj:/lib/x86_64-linux-gnu/libssl.so.1.0.0
   fun:SSL_COMP_get_compression_methods
   fun:SSL_library_init
   fun:ssl_start
   fun:_ZL8init_sslv
   fun:_Z11mysqld_mainiPPc
   fun:main
}

{
   OpenSSL libstdc++ version 5 / two
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:malloc
   fun:CRYPTO_malloc
   fun:sk_new
   obj:/lib/x86_64-linux-gnu/libssl.so.1.0.0
   fun:SSL_COMP_get_compression_methods
   fun:SSL_library_init
   fun:ssl_start
   fun:_ZL8init_sslv
   fun:_Z11mysqld_mainiPPc
   fun:main
}

{
   OpenSSL libstdc++ version 5 / three
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:malloc
   obj:/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21
   fun:call_init.part.0
   fun:call_init
   fun:_dl_init
}

# supress uninitialized because some SSL libraries do random like that
{
   OpenSSL conditional jump in generate_user_salt due to randomness 1
   Memcheck:Cond
   fun:generate_user_salt
   fun:native_password_authenticate
}

{
   OpenSSL conditional jump in generate_user_salt due to randomness 2
   Memcheck:Cond
   fun:_Z18generate_user_saltPci
   fun:_ZL34caching_sha2_password_authenticateP16MYSQL_PLUGIN_VIOP22MYSQL_SERVER_AUTH_INFO
}

# Remove the NUMA ones below when https://github.com/numactl/numactl/issues/3
# is resolved.

{
   libnuma fails to free its internally allocated memory 1
   Memcheck:Leak
   fun:malloc
   fun:numa_bitmask_alloc
}

{
   libnuma fails to free its internally allocated memory 2
   Memcheck:Leak
   fun:calloc
   fun:numa_bitmask_alloc
}

{
   libnuma fails to free its internally allocated memory 3
   Memcheck:Leak
   fun:calloc
   ...
   fun:numa_node_*_cpu*
}

{
   General protobuf globals
   Memcheck:Leak
   fun:_Znwm
   ...
   fun:_GLOBAL__sub_I_mysqlx*.pb.cc
   ...
}

{
   General protobuf globals
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:_Znwm
   ...
   fun:_Z41__static_initialization_and_destruction_0ii
}

{
   General protobuf globals
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:_Znwm
   ...
   fun:_ZN6Mysqlx23protobuf_mysqlx_2eproto27StaticDescriptorInitializerC1Ev
}

{
   General protobuf globals
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:_Znwm
   ...
   fun:_ZN6google8protobuf8internal11InitSCCImplEPNS1_11SCCInfoBaseE
}

{
   mysqlx plugin install
   Memcheck:Leak
   fun:*alloc
   ...
   fun:_dl_catch_error
   ...
   fun:dlopen*
   ...
   fun:_ZL13plugin_dl_addPK16MYSQL_LEX_STRINGi*
   ...
}

# supress inability to cleanup OpenSSL error contexts in GR
{
   OpenSSL GR suppress leak 1
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:malloc
   fun:CRYPTO_malloc
   fun:ERR_get_state
   fun:ERR_clear_error
   obj:*
   obj:*
   obj:*
   obj:*
   obj:*
   obj:*
   obj:*
   obj:*
   obj:*
   fun:_ZN14Trans_delegate13before_commitEP3THDbP8IO_CACHES3_y
   fun:_ZN13MYSQL_BIN_LOG6commitEP3THDb
   fun:_Z17trans_commit_stmtP3THD
}

{
   OpenSSL GR suppress leak 2
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:malloc
   fun:CRYPTO_malloc
   fun:ERR_get_state
   fun:ERR_clear_error
   obj:*
   obj:*
   obj:*
   obj:*
   obj:*
   obj:*
   obj:*
   obj:*
   obj:*
   fun:_ZN14Trans_delegate13before_commitEP3THDbP8IO_CACHES3_y
   fun:_ZN13MYSQL_BIN_LOG6commitEP3THDb
   fun:_Z15ha_commit_transP3THDbb
}

{
   OpenSSL GR suppress leak 3
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:malloc
   ...
   fun:CRYPTO_malloc
   fun:lh_insert
   fun:int_thread_set_item
   fun:ERR_get_state
   fun:ERR_clear_error
   obj:*
   obj:*
   obj:*
   obj:*
   obj:*
   obj:*
   obj:*
   obj:*
   obj:*
   fun:_ZN14Trans_delegate13before_commitEP3THDbP8IO_CACHES3_y
}

{
   OpenSSL GR suppress leak 4
   Memcheck:Leak
   match-leak-kinds: all
   fun:malloc
   ...
   fun:CRYPTO_malloc
   fun:lh_new
   obj:*
   obj:*
   fun:ERR_get_state
   fun:ERR_put_error
   fun:PEM_read_bio
   fun:PEM_X509_INFO_read_bio
   fun:X509_load_cert_crl_file
   obj:*
   fun:X509_STORE_load_locations
   ...
}

{
  OpenSSL still reachable.
  Memcheck:Leak
  match-leak-kinds: reachable
  fun:malloc
  fun:CRYPTO_malloc
  ...
  fun:ERR_peek_error
  fun:vio_ssl_read
  ...
}

{
  OpenSSL still reachable.
  Memcheck:Leak
  match-leak-kinds: reachable
  fun:malloc
  fun:CRYPTO_malloc
  ...
  fun:ERR_peek_error
  ...
  fun:sslaccept
  ...
  fun:server_mpvio_read_packet
  ...
}

#
# Rules to suppress leaks from plugin dependencies
#

{
  TPL leak 1
  Memcheck:Leak
  match-leak-kinds: reachable
  fun:malloc
  fun:CRYPTO_malloc
  fun:BUF_strndup
  fun:CONF_module_add
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
  fun:_ZL17plugin_initializeP13st_plugin_int
  ...
}

{
  TPL leak 2
  Memcheck:Leak
  match-leak-kinds: reachable
  fun:malloc
  fun:CRYPTO_malloc
  fun:BUF_strndup
  fun:CONF_module_add
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
  fun:_ZL17plugin_initializeP13st_plugin_int
  ...
}

{
  TPL leak 3
  Memcheck:Leak
  match-leak-kinds: reachable
  fun:malloc
  ...
  fun:CRYPTO_malloc
  fun:lh_insert
  fun:int_thread_set_item
  fun:ERR_get_state
  fun:ERR_clear_error
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
  fun:_ZL17plugin_initializeP13st_plugin_int
  ...
}

{
  TPL leak 4
  Memcheck:Leak
  match-leak-kinds: reachable
  fun:malloc
  fun:CRYPTO_malloc
  fun:sk_new
  fun:CONF_module_add
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
  fun:_ZL17plugin_initializeP13st_plugin_int
  ...
}

{
  TPL leak 5
  Memcheck:Leak
  match-leak-kinds: reachable
  fun:malloc
  fun:CRYPTO_malloc
  fun:sk_new
  fun:SSL_COMP_get_compression_methods
  fun:SSL_library_init
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
  fun:_ZL17plugin_initializeP13st_plugin_int
  ...
}

{
  TPL leak 6
  Memcheck:Leak
  match-leak-kinds: reachable
  fun:malloc
  fun:CRYPTO_malloc
  fun:CONF_module_add
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
  fun:_ZL17plugin_initializeP13st_plugin_int
  ...
}

{
  TPL leak 7
  Memcheck:Leak
  match-leak-kinds: reachable
  fun:malloc
  fun:CRYPTO_malloc
  fun:CONF_module_add
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
  fun:_ZL17plugin_initializeP13st_plugin_int
  ...
}

{
  TPL leak 8
  Memcheck:Leak
  match-leak-kinds: reachable
  fun:malloc
  ...
  fun:CRYPTO_malloc
  fun:lh_new
  fun:int_thread_get
  fun:int_thread_set_item
  fun:ERR_get_state
  fun:ERR_clear_error
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
  fun:_ZL17plugin_initializeP13st_plugin_int
  ...
}

{
  TPL leak 9
  Memcheck:Leak
  match-leak-kinds: reachable
  fun:malloc
  fun:CRYPTO_malloc
  fun:ERR_get_state
  fun:ERR_clear_error
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
  fun:_ZL17plugin_initializeP13st_plugin_int
  ...
}

{
  TPL leak 10
  Memcheck:Leak
  match-leak-kinds: definite
  fun:malloc
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
  fun:_ZL17plugin_initializeP13st_plugin_int
  ...
}

{
  TPL leak 11
  Memcheck:Leak
  match-leak-kinds: reachable
  fun:malloc
  ...
  fun:CRYPTO_malloc
  fun:ERR_get_state
  fun:ERR_put_error
  fun:PEM_read_bio
  fun:PEM_X509_INFO_read_bio
  fun:X509_load_cert_crl_file
  fun:by_file_ctrl
  fun:X509_STORE_load_locations
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
  fun:_ZL17plugin_initializeP13st_plugin_int
}

{
  TPL leak 12
  Memcheck:Leak
  match-leak-kinds: reachable
  fun:malloc
  fun:CRYPTO_malloc
  fun:BUF_strndup
  fun:CONF_module_add
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
}

{
  TPL leak 13
  Memcheck:Leak
  match-leak-kinds: reachable
  fun:malloc
  fun:CRYPTO_malloc
  fun:CONF_module_add
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
}

{
  TPL leak 14
  Memcheck:Leak
  match-leak-kinds: reachable
  fun:malloc
  fun:CRYPTO_malloc
  fun:sk_new
  fun:SSL_COMP_get_compression_methods
  fun:SSL_library_init
  obj:*
  fun:_ZL17plugin_initializeP13st_plugin_int
  ...
}

{
  TPL leak 15
  Memcheck:Leak
  match-leak-kinds: all
  fun:malloc
  ...
  fun:CRYPTO_malloc
  fun:lh_insert
  obj:*
  fun:ERR_get_state
  fun:ERR_put_error
  fun:PEM_read_bio
  fun:PEM_X509_INFO_read_bio
  fun:X509_load_cert_crl_file
  obj:*
  fun:X509_STORE_load_locations
  ...
}

{
  TPL leak 16
  Memcheck:Leak
  match-leak-kinds: reachable
  fun:realloc
  fun:CRYPTO_realloc
  fun:sk_insert
  fun:CONF_module_add
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
  fun:_ZL17plugin_initializeP13st_plugin_int
  ...
}

{
  TPL leak 17
  Memcheck:Leak
  match-leak-kinds: reachable
  fun:malloc
  ...
  fun:CRYPTO_malloc
  fun:lh_insert
  fun:int_thread_set_item
  fun:ERR_get_state
  fun:ERR_clear_error
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
}

{
  TPL leak 18
  Memcheck:Leak
  match-leak-kinds: reachable
  fun:malloc
  ...
  fun:CRYPTO_malloc
  fun:lh_insert
  fun:int_thread_set_item
  fun:ERR_get_state
  fun:ERR_clear_error
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
}

{
  TPL leak 19
  Memcheck:Leak
  match-leak-kinds: reachable
  fun:malloc
  fun:CRYPTO_malloc
  fun:ERR_get_state
  fun:ERR_clear_error
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
}

{
  TPL leak 20
  Memcheck:Leak
  match-leak-kinds: definite
  fun:malloc
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
  fun:_ZL17plugin_initializeP13st_plugin_int
  ...
}

{
  TPL leak 21
  Memcheck:Leak
  match-leak-kinds: possible
  fun:malloc
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
  fun:_ZL17plugin_initializeP13st_plugin_int
  ...
}

{
  TPL leak 22
  Memcheck:Leak
  match-leak-kinds: possible
  fun:malloc
  ...
  fun:CRYPTO_malloc
  fun:lh_new
  fun:int_thread_get
  fun:int_thread_set_item
  fun:ERR_get_state
  fun:ERR_clear_error
  fun:ENGINE_load_builtin_engines
  obj:*
  obj:*
  obj:*
  obj:*
  obj:*
}

{
   TPL leak 23
   Memcheck:Leak
   match-leak-kinds: possible
   fun:malloc
   fun:_ZL13my_raw_mallocmi
   fun:_Z9my_mallocjmi
   fun:_ZL17my_openssl_mallocm
   fun:CRYPTO_malloc
   ...
}

# Workarounds for
#
# Bug#26116237 SYSCALL PARAM PPOLL(SIGMASK) POINTS TO UNADDRESSABLE BYTE
{
   RPL workaround 1
   Memcheck:Param
   ppoll(sigmask)
   fun:ppoll
   fun:vio_io_wait
}

{
   RPL workaround 2
   Memcheck:Param
   ppoll(sigmask)
   fun:ppoll
   fun:_Z11vio_io_waitP3Vio17enum_vio_io_eventi
}

# Workarounds for
#
# Bug#22833138 KEYRING_OKV : MEMORY LEAKS FROM OKV CLIENT LIB
{
   Keyring_OKV_workaround_addtoTagObj
   Memcheck:Leak
   fun:malloc
   fun:okimem_nat_malloc
   fun:OKIMemAlloc
   fun:addtoTagObj
}
{
   Keyring_OKV_workaround_OKIGetKey
   Memcheck:Leak
   fun:malloc
   fun:okimem_nat_malloc
   fun:OKIMemAlloc
   fun:OKIAPIResultAlloc
   fun:OKIGetKey
}
{
   Keyring_OKV_workaround_OKICreateKey
   Memcheck:Leak
   fun:malloc
   fun:okimem_nat_malloc
   fun:OKIMemAlloc
   fun:OKIAPIResultAlloc
   fun:OKICreateKey
}
{
   Keyring_OKV_workaround_okiconn_ssl_send_recv
   Memcheck:Leak
   fun:calloc
   ...
   fun:OKIConnSendRecvBytes
   fun:OKIOpsExecuteOp
}
{
   Keyring_OKV_workaround_OKIGetAttributes
   Memcheck:Leak
   fun:malloc
   fun:okimem_nat_malloc
   fun:OKIMemAlloc
   fun:OKIAPIResultAlloc
   fun:OKIGetAttributes
}
{
   Keyring_OKV_workaround_OKIGetAttributes2
   Memcheck:Leak
   fun:malloc
   fun:okimem_nat_malloc
   fun:OKIMemAlloc
   fun:OKIPostGetUIDTTLV
   fun:OKIAPIPostProcessing
   fun:OKIGetAttributes
}
{
   Keyring_OKV_workaround_OKIAddAttribute
   Memcheck:Leak
   fun:malloc
   fun:okimem_nat_malloc
   fun:OKIMemAlloc
   fun:OKIAPIResultAlloc
   fun:OKIAddAttribute
}
{
   Keyring_OKV_workaround_OKIAddAttribute2
   Memcheck:Leak
   match-leak-kinds: definite
   fun:malloc
   fun:okimem_nat_malloc
   fun:OKIMemAlloc
   fun:OKIOpsCreate
   fun:OKIAddAttribute
}
{
   Keyring_OKV_workaround_OKILocate
   Memcheck:Leak
   fun:malloc
   fun:okimem_nat_malloc
   fun:OKIMemAlloc
   fun:OKIAPIResultAlloc
   fun:OKILocate
}
{
   Keyring_OKV_workaround_OKIActivate
   Memcheck:Leak
   fun:malloc
   fun:okimem_nat_malloc
   fun:OKIMemAlloc
   fun:OKIAPIResultAlloc
   fun:OKIActivate
}
{
   Keyring_OKV_workaround_OKIRegKey
   Memcheck:Leak
   match-leak-kinds: definite
   fun:malloc
   fun:okimem_nat_malloc
   fun:OKIMemAlloc
   fun:OKIAPIResultAlloc
   fun:OKIRegKey
}
{
   Keyring_OKV_workaround_OKIRevoke
   Memcheck:Leak
   fun:malloc
   fun:okimem_nat_malloc
   fun:OKIMemAlloc
   fun:OKIAPIResultAlloc
   fun:OKIRevoke
}
{
   Keyring_OKV_workaround_OKIEnvCreate
   Memcheck:Leak
   fun:malloc
   fun:okimem_nat_malloc
   fun:OKIMemAlloc
   fun:OKIEnvCreate
}
{
   Keyring_OKV_workaround_OKITTLVMoveChildWithTag
   Memcheck:Leak
   fun:malloc
   fun:okimem_nat_malloc
   fun:OKIMemAlloc
   fun:OKITTLVMoveChildWithTag
}
{
   Keyring_OKV_workaround_OKIParseUnpackTTLVFromBuffer
   Memcheck:Leak
   fun:malloc
   fun:okimem_nat_malloc
   fun:OKIMemAlloc
   fun:OKIParseUnpackTTLVFromBuffer
}
{
   Keyring_OKV_workaround_OKITTLVAddChildObject
   Memcheck:Leak
   fun:malloc
   fun:okimem_nat_malloc
   fun:OKIMemAlloc
   fun:OKITTLVAddChildObject
}

# Bug#27209265 Suppress all issues relating to communication with AWS KMS server.

{
   OpenSSL still reachable.
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:malloc
   ...
   fun:CRYPTO_malloc
   fun:ERR_get_state
   fun:ERR_put_error
   fun:PEM_read_bio
   fun:PEM_X509_INFO_read_bio
   fun:X509_load_cert_crl_file
   fun:by_file_ctrl
   fun:X509_STORE_load_locations
   obj:*
   obj:*
   obj:*
   obj:*
   obj:*
   obj:*
   obj:*
}

# Bug #25964438  LDAP: ASAN AND VALGRIND ISSUES

{
   LDAP_TLS_workaround1
   Memcheck:Leak
   fun:calloc
   ...
   ...
   ...
   ...
   ...
   fun:ldap_int_tls_start
   fun:ldap_start_tls_s
   fun:*establish_tls*
   fun:*create*
}
{
   LDAP_TLS_workaround2
   Memcheck:Leak
   fun:malloc
   ...
   ...
   ...
   ...
   ...
   fun:ldap_int_tls_start
   fun:ldap_start_tls_s
   fun:*establish_tls*
   fun:*create*
}
{
   LDAP_TLS_workaround3
   Memcheck:Leak
   match-leak-kinds: reachable
   ...
   fun:PR_LoadLibraryWithFlags
}
{
   LDAP_TLS_workaround4
   Memcheck:Leak
   fun:malloc
   fun:PR_ErrorInstallTable
   fun:PR_CallOnce
   ...
   ...
   fun:PR_CallOnceWithArg
   ...
   fun:NSS_SetDomesticPolicy
   ...
   fun:PR_CallOnceWithArg
   ...
   ...
   ...
   fun:ldap_int_tls_start
   fun:ldap_start_tls_s
   fun:*establish_tls*
}
{
   LDAP_TLS_workaround5
   Memcheck:Leak
   fun:malloc
   ...
   fun:PR_LoadLibraryWithFlags
   ...
   ...
   ...
   fun:PR_CallOnce
   ...
   ...
   ...
   ...
   fun:_dl_catch_error
   fun:_dl_open
   fun:dlopen_doit
   fun:_dl_catch_error
   fun:_dlerror_run
}
{
   LDAP_TLS_workaround6
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:malloc
   fun:ber_memalloc_x
   fun:ber_strdup_x
   ...
   fun:ldap_int_initialize
   fun:ldap_create
   fun:ldap_initialize
}
{
   LDAP_TLS_workaround7
   Memcheck:Leak
   fun:malloc
   fun:*dl_close_worker*
   fun:*dl_close*
   ...
   fun:*free_mem*
   fun:*libc_freeres*
   fun:*vgnU_freeres*
   fun:*run_exit_handlers*
}
{
   LDAP_TLS_workaround8
   Memcheck:Leak
   fun:malloc
   fun:ber_memalloc_x
   fun:ber_strdup_x
   ...
   fun:ldap_int_initialize
   fun:ldap_set_option
}
{
   LDAP_TLS_workaround9
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:malloc
   ...
   fun:ldap_int_tls_start
   fun:ldap_start_tls_s
}
{
   LDAP_TLS_workaround10
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:calloc
   ...
   fun:ldap_int_tls_start
   fun:ldap_start_tls_s
}
{
   SIGSTOP_and_SIGCONT in gr tests
   Memcheck:Cond
   fun:signal_hand
   fun:pfs_spawn_thread
   fun:start_thread
   fun:clone
}
{
   Mysqlx: OpenSSL cert file still possible.
   Memcheck:Leak
   match-leak-kinds: possible
   fun:malloc
   ...
   fun:CRYPTO_malloc
   fun:ERR_get_state
   fun:ERR_put_error
   fun:PEM_read_bio
   fun:PEM_X509_INFO_read_bio
   fun:X509_load_cert_crl_file
   fun:*
   fun:X509_STORE_load_locations
   fun:*
   fun:*
   fun:*
   fun:*
}

{
   LDAP_1
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:malloc
   fun:PORT_Alloc_Util
   ...
   fun:SECMOD_LoadModule
   ...
   fun:ldap_int_tls_start
   ...
}


{
   LDAP_2
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:malloc
   fun:NSSRWLock_New_Util
   fun:SECOID_Init
   obj:/usr/lib64/libsoftokn3.so
   ...
   fun:dlopen_doit
   fun:_dl_catch_error
   fun:_dlerror_run
   ...
}


{
   LDAP_3
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:malloc
   fun:strdup
   fun:PR_LoadLibraryWithFlags
   ...
   fun:tlsmc_open_nssdb
   fun:tlsmc_convert
   fun:tlsmc_intercept_initialization
   obj:/usr/lib64/libldap-2.4.so.2.10.7
   ...
}

{
   LDAP_4
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:malloc
   fun:strdup
   fun:_dl_load_cache_lookup
   fun:_dl_map_object
   fun:openaux
   ...
   fun:PR_LoadLibraryWithFlags
   obj:/usr/lib64/libnssutil3.so
}

{
   LDAP_5
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:calloc
   fun:PR_LoadLibraryWithFlags
   ...
   fun:tlsmc_open_nssdb
}

{
   LDAP_6
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:malloc
   fun:PL_NewHashTable
   fun:SECOID_Init
   obj:/usr/lib64/libsoftokn3.so
   ...
   fun:PR_LoadLibraryWithFlags
   obj:/usr/lib64/libnssutil3.so
   fun:PORT_LoadLibraryFromOrigin
   ...
}

{
   LDAP_7
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:malloc
   fun:PL_HashTableRawAdd
   fun:SECOID_Init
   ...
   fun:PR_LoadLibraryWithFlags
   obj:/usr/lib64/libnssutil3.so
   fun:PORT_LoadLibraryFromOrigin
   ...
}

{
   LDAP_8
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:malloc
   fun:_dl_close_worker
   fun:_dl_close
   fun:_dl_catch_error
   fun:_dlerror_run
   ...
   obj:*
   fun:_ZL35authsm_run_second_authenticate_userP16mysql_async_auth
   fun:run_plugin_auth
   ...
}

{
   LDAP_9
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:calloc
   ...
   fun:dl_open_worker
   ...
   fun:_dl_open
}

{
   LDAP_10
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:malloc
   fun:PR_NewCondVar
   ...
   fun:SECMOD_LoadModule
   obj:/usr/lib64/libnss3.so
   ...
   obj:/usr/lib64/libldap-2.4.so.2.10.7
   fun:ldap_int_tls_start
   fun:ldap_start_tls_s
   fun:_ZN23Ldap_connection_creator13establish_tlsER9Ldap_info
}

{
   LDAP_11
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:calloc
   fun:PORT_ZAlloc_Util
}

{
   LDAP_12
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:calloc
   fun:PR_NewLock
   fun:NSSRWLock_New_Util
   ...
   fun:ldap_int_tls_start
   fun:ldap_start_tls_s
   ...
}

{
   LDAP_13
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:malloc
   fun:PORT_Alloc_Util
   fun:SECITEM_CopyItem_Util
   obj:/usr/lib64/libfreeblpriv3.so
   ...
   fun:dlopen_doit
   fun:_dl_catch_error
   fun:_dlerror_run
   ...
}

{
   LDAP_14
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:calloc
   obj:/usr/lib64/libfreeblpriv3.so
   ...
   fun:_dl_catch_error
   fun:_dlerror_run
   fun:dlopen@@GLIBC_2.2.5
   fun:PR_LoadLibraryWithFlags
   ...
}

{
   LDAP_15
   Memcheck:Leak
   match-leak-kinds: possible
   fun:malloc
   fun:PL_ArenaAllocate
   fun:PORT_ArenaAlloc_Util
   ...
   fun:ldap_int_tls_start
}

{
   LDAP_16
   Memcheck:Leak
   match-leak-kinds: possible
   fun:calloc
   fun:PORT_ZAlloc_Util
   ...
   fun:SECOID_Init
   obj:/usr/lib64/libsoftokn3.so
   fun:_dl_init
   fun:dl_open_worker
   ...
   fun:PR_LoadLibraryWithFlags
   obj:/usr/lib64/libnssutil3.so
   ...
}

{
   LDAP_17
   Memcheck:Leak
   match-leak-kinds: possible
   fun:calloc
   fun:PR_NewLock
   ...
   fun:SECMOD_LoadModule
   ...
   fun:ldap_int_tls_start
}

{
   LDAP_18
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:malloc
   fun:PR_NewCondVar
   fun:NSSRWLock_New_Util
   ...
   fun:dl_open_worker
   fun:_dl_catch_error
   fun:_dl_open
   ...
   fun:PR_LoadLibraryWithFlags
   obj:/usr/lib64/libnssutil3.so
   fun:PORT_LoadLibraryFromOrigin
}

{
   LDAP_19
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:malloc
   fun:PR_NewCondVar
   ...
   fun:PR_CallOnce
   ...
   fun:dlopen_doit
   fun:_dl_catch_error
   fun:_dlerror_run
   fun:dlopen@@GLIBC_2.2.5
   fun:PR_LoadLibraryWithFlags
}

{
   LDAP_20
   Memcheck:Leak
   match-leak-kinds: possible
   fun:calloc
   fun:PORT_ZAlloc_Util
   ...
   fun:SECMOD_CreateModuleEx
   fun:SECMOD_LoadModule
   ...
   fun:ldap_int_tls_start
}

{
   LDAP_21
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:calloc
   fun:PR_NewLock
   ...
   fun:SECOID_Init
   ...
   fun:PR_LoadLibraryWithFlags
   obj:/usr/lib64/libnssutil3.so
   fun:PORT_LoadLibraryFromOrigin
   ...
}

{
   LDAP_22
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:calloc
   fun:PR_NewLock
   obj:/usr/lib64/libfreeblpriv3.so
   fun:PR_CallOnce
   ...
   fun:_dlerror_run
   fun:dlopen@@GLIBC_2.2.5
   fun:PR_LoadLibraryWithFlags
   ...
}

{
   LDAP_23
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:calloc
   fun:PR_NewLock
   obj:/usr/lib64/libnssdbm3.so
   ...
   fun:legacy_Open
   ...
   fun:SECMOD_LoadModule
   fun:SECMOD_LoadModule
   ...
}

{
   LDAP_24
   Memcheck:Leak
   match-leak-kinds: possible
   fun:malloc
   fun:PL_ArenaAllocate
   fun:PORT_ArenaAlloc_Util
   ...
   fun:tlsmc_convert
   fun:tlsmc_intercept_initialization
}

{
   LDAP_25
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:malloc
   ...
   fun:_dl_close
   ...
   fun:_dl_catch_error
   fun:_dlerror_run
   fun:dlclose
   fun:mysql_client_plugin_deinit
   fun:_ZL8clean_upb
   fun:_Z11mysqld_mainiPPc
   fun:main
}

{
   LDAP_26
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:calloc
   fun:PORT_ZAlloc_Util
   fun:PORT_NewArena_Util
   fun:SECOID_Init
   ...
   fun:dlopen_doit
   fun:_dl_catch_error
   fun:_dlerror_run
   ...
   obj:/usr/lib64/libnssutil3.so
   fun:PORT_LoadLibraryFromOrigin
   ...
}

{
   LDAP_27
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:malloc
   ...
   fun:dlopen@@GLIBC_2.2.5
}

{
   LDAP_28
   Memcheck:Leak
   match-leak-kinds: possible
   fun:malloc
   ...
   fun:tls_init
   fun:ldap_int_tls_start
}

# Suppress all issues related to libcrypto library
{
   Conditional jump or move in BN_bin2bn
   Memcheck:Cond
   fun:BN_bin2bn
   ...
}
{
   Conditional jump or move in BN_ucmp
   Memcheck:Cond
   fun:BN_ucmp
   ...
}
{
   Conditional jump or move in libcrypto
   Memcheck:Cond
   obj:/usr/lib64/libcrypto.so.*
   fun:*
   ...
}
{
   Conditional jump or move in BN_mod_exp_mont
   Memcheck:Cond
   fun:BN_mod_exp_mont
   ...
}
{
   Use of uninitialised value of size 8 in libcrypto
   Memcheck:Value8
   obj:/usr/lib64/libcrypto.so.*
   ...
}
{
   Conditional jump or move in BN_mod_mul_montgomery
   Memcheck:Cond
   fun:BN_mod_mul_montgomery
   fun:BN_mod_exp_mont
   ...
}
{
   Conditional jump or move in bn_bn2binpad
   Memcheck:Cond
   fun:bn_bn2binpad
   ...
}
{
   Conditional jump or move in BN_from_montgomery
   Memcheck:Cond
   fun:BN_from_montgomery
   ...
}
{
   Use of uninitialised value of size 8 in libcrypto
   Memcheck:Value8
   obj:/usr/lib64/libcrypto.so.*
   fun:BN_from_montgomery
   fun:BN_mod_exp_mont
   obj:*
   ...
}
{
   Use of uninitialised value of size 8 in BN_from_montgomery/BN_mod_exp_mont
   Memcheck:Value8
   fun:BN_from_montgomery
   fun:BN_mod_exp_mont
   obj:*
   ...
}
{
   Conditional jump or move in BN_num_bits_word
   Memcheck:Cond
   fun:BN_num_bits_word
   fun:BN_num_bits
   ...
}
{
   Use of uninitialised value of size 8 in BN_num_bits_word
   Memcheck:Value8
   fun:BN_num_bits_word
   fun:BN_num_bits
   fun:BN_bn2bin
   ...
}
{
   Syscall param socketcall.sendto(msg) points to uninitialised byte(s)
   Memcheck:Param
   socketcall.sendto(msg)
   ...
   fun:send
   fun:*
   ...
}
{
   Conditional jump or move in RSA_eay_public_encrypt
   Memcheck:Cond
   fun:RSA_eay_public_encrypt
   fun:*
   ...
}

# Sporadic error in GR tests

{
   Syscall param socketcall.sendto(msg) points to uninitialised byte(s)
   Memcheck:Param
   socketcall.sendto(msg)
   obj:*
   fun:__netlink_request
   fun:getifaddrs_internal
   fun:getifaddrs
}

# We might end up writing uninitialised NULL flags out to chunk files during
# hash join. These flags are never used, so suppress the warnings.

{
   Syscall param write(buf) points to uninitialised byte(s)
   Memcheck:Param
   write(buf)
   ...
   fun:_Z19my_b_flush_io_cacheP8IO_CACHEi
   fun:_ZN13HashJoinChunk6RewindEv
}

{
   Syscall param write(buf) points to uninitialised byte(s)
   Memcheck:Param
   write(buf)
   ...
   fun:_Z19my_b_flush_io_cacheP8IO_CACHEi
   ...
   fun:_ZN16HashJoinIterator4InitEv
}

# Libevent initialization

{
   MySQL Server needs global init/deinit of libevent, in case when multiple components use it
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:malloc
   ...
   fun:evthread_use_pthreads
}

# Note that libtcmalloc.so reports lots of Mismatched free()/delete/delete[]
# So for valgrind builds, link with libtcmalloc_debug.so

{
   tcmalloc_debug
   Memcheck:Leak
   match-leak-kinds: reachable
   ...
   obj:/usr/lib64/libtcmalloc*
   fun:_dl_init
}

Youez - 2016 - github.com/yon3zu
LinuXploit