mirror of
https://github.com/libguestfs/libguestfs.git
synced 2026-03-21 22:53:37 +00:00
Automated using this command: perl -pi.bak -e 's/(20[012][0-9])-20[12][01234]/$1-2025/g' `git ls-files`
469 lines
7.4 KiB
Plaintext
469 lines
7.4 KiB
Plaintext
# libguestfs
|
|
# Copyright (C) 2009-2025 Red Hat Inc.
|
|
#
|
|
# This program is free software; you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation; either version 2 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# 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 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 Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
|
|
# Valgrind suppressions used when testing only. There are no known
|
|
# resource leaks in libguestfs. This file is only for leaks in
|
|
# libraries that libguestfs uses.
|
|
|
|
# libnuma
|
|
{
|
|
libnuma_numa_node_size64_cond
|
|
Memcheck:Cond
|
|
fun:*
|
|
fun:numa_node_size64
|
|
fun:numa_init
|
|
}
|
|
{
|
|
libnuma_numa_node_size64_cond_2
|
|
Memcheck:Cond
|
|
fun:numa_node_size64
|
|
fun:numa_init
|
|
}
|
|
{
|
|
libnuma_numa_node_size64_cond_3
|
|
Memcheck:Cond
|
|
fun:*
|
|
fun:numa_node_size64
|
|
obj:/usr/lib64/libnuma.so.1
|
|
}
|
|
{
|
|
libnuma_numa_node_size64_cond_4
|
|
Memcheck:Cond
|
|
fun:numa_node_size64
|
|
obj:/usr/lib64/libnuma.so.1
|
|
}
|
|
{
|
|
libnuma_numa_node_size64_value8
|
|
Memcheck:Value8
|
|
fun:numa_node_size64
|
|
fun:numa_init
|
|
}
|
|
{
|
|
libnuma_numa_node_size64_value8_2
|
|
Memcheck:Value8
|
|
fun:numa_node_size64
|
|
obj:/usr/lib64/libnuma.so.1
|
|
}
|
|
|
|
# libnl
|
|
{
|
|
libnl_add_routing_table_name_leak
|
|
Memcheck:Leak
|
|
fun:malloc
|
|
fun:strdup
|
|
fun:add_routing_table_name
|
|
}
|
|
{
|
|
libnl_add_routing_table_name_leak_2
|
|
Memcheck:Leak
|
|
fun:calloc
|
|
fun:add_routing_table_name
|
|
}
|
|
{
|
|
libnl_add_proto_name_leak
|
|
Memcheck:Leak
|
|
fun:malloc
|
|
fun:strdup
|
|
fun:add_proto_name
|
|
}
|
|
{
|
|
libnl_add_proto_name_leak_2
|
|
Memcheck:Leak
|
|
fun:calloc
|
|
fun:add_proto_name
|
|
}
|
|
{
|
|
libnl1_malloc_leak
|
|
Memcheck:Leak
|
|
fun:malloc
|
|
fun:strdup
|
|
obj:/usr/lib/libnl.so.1.1
|
|
}
|
|
{
|
|
libnl1_malloc_leak_2
|
|
Memcheck:Leak
|
|
fun:malloc
|
|
fun:strdup
|
|
obj:/lib64/libnl.so.1.1
|
|
}
|
|
{
|
|
libnl1_malloc_leak_3
|
|
Memcheck:Leak
|
|
fun:malloc
|
|
fun:strdup
|
|
obj:/usr/lib64/libnl.so.1.1
|
|
}
|
|
{
|
|
libnl1_calloc_leak
|
|
Memcheck:Leak
|
|
fun:calloc
|
|
obj:/usr/lib/libnl.so.1.1
|
|
}
|
|
{
|
|
libnl1_calloc_leak_2
|
|
Memcheck:Leak
|
|
fun:calloc
|
|
obj:/lib64/libnl.so.1.1
|
|
}
|
|
{
|
|
libnl1_calloc_leak_3
|
|
Memcheck:Leak
|
|
fun:calloc
|
|
obj:/usr/lib64/libnl.so.1.1
|
|
}
|
|
|
|
# OCaml, by design, doesn't bother to free the major heap before
|
|
# calling exit. Ignore that leak.
|
|
{
|
|
caml_alloc_for_heap
|
|
Memcheck:Leak
|
|
...
|
|
fun:caml_alloc_for_heap
|
|
}
|
|
|
|
# OCaml caml_stat_* allocations are meant to be "static" so OCaml will
|
|
# never free them by design. See the OCaml manual, chapter
|
|
# "Interfacing C with OCaml".
|
|
{
|
|
caml_stat_allocations
|
|
Memcheck:Leak
|
|
...
|
|
fun:caml_stat_alloc*
|
|
}
|
|
|
|
# Real leak in OCaml 4.13, later fixed:
|
|
# https://github.com/ocaml/ocaml/issues/10698
|
|
{
|
|
caml_setup_stack_overflow_detection
|
|
Memcheck:Leak
|
|
...
|
|
fun:caml_setup_stack_overflow_detection
|
|
}
|
|
|
|
# Real leak in bytecode programs.
|
|
{
|
|
caml_init_atom_table
|
|
Memcheck:Leak
|
|
...
|
|
fun:caml_init_atom_table
|
|
}
|
|
|
|
# Real leak in bytecode programs.
|
|
{
|
|
caml_executable_name
|
|
Memcheck:Leak
|
|
fun:malloc
|
|
...
|
|
fun:caml_executable_name
|
|
fun:caml_main
|
|
}
|
|
|
|
# Valgrind bug affecting OCaml 4.14
|
|
# https://bugs.kde.org/show_bug.cgi?id=455711
|
|
{
|
|
caml_terminate_signals_uninitialized_sigaltstack
|
|
Memcheck:Param
|
|
sigaltstack(ss)
|
|
fun:sigaltstack
|
|
fun:caml_terminate_signals
|
|
}
|
|
|
|
{
|
|
caml_stop_stack_overflow_detection_uninitialized_sigaltstack
|
|
Memcheck:Param
|
|
sigaltstack(ss)
|
|
fun:sigaltstack
|
|
fun:caml_stop_stack_overflow_detection
|
|
}
|
|
|
|
# The OCaml PCRE.compile function calls pcre2_compile_8 which allocates
|
|
# memory. If these regexps are stored in a global variable then they
|
|
# can never be freed. This is not really a bug, so ignore it.
|
|
{
|
|
ocaml_pcre_globals
|
|
Memcheck:Leak
|
|
fun:malloc
|
|
fun:pcre2_compile_8
|
|
...
|
|
}
|
|
|
|
# glibc
|
|
{
|
|
glibc_cond
|
|
Memcheck:Cond
|
|
fun:index
|
|
fun:expand_dynamic_string_token
|
|
}
|
|
|
|
# Not a real leak - glibc doesn't bother to free thread
|
|
# data (TLS in this case).
|
|
{
|
|
glibc_leak_1
|
|
Memcheck:Leak
|
|
fun:calloc
|
|
fun:allocate_dtv
|
|
}
|
|
|
|
# Not a real leak - same as above, but glibc renamed the function.
|
|
{
|
|
glibc_leak_2
|
|
Memcheck:Leak
|
|
fun:calloc
|
|
fun:_dl_allocate_tls
|
|
}
|
|
|
|
# Not a real leak.
|
|
{
|
|
glibc_leak_3
|
|
Memcheck:Leak
|
|
...
|
|
fun:__add_to_environ
|
|
fun:setenv
|
|
}
|
|
|
|
# These appeared in glibc 2.35.
|
|
# See also nbdkit commit f6409b4137c1aeb97d01eef5753f22033d64bfd4
|
|
{
|
|
glibc_leak_4
|
|
Memcheck:Leak
|
|
...
|
|
fun:dlopen@@*
|
|
}
|
|
|
|
# libvirt calls gnutls_global_init but doesn't call the
|
|
# corresponding gnutls_global_deinit function because of
|
|
# thread-safety issues (in GnuTLS).
|
|
{
|
|
libvirt_leak_1
|
|
Memcheck:Leak
|
|
...
|
|
fun:gnutls_global_init
|
|
fun:virInitialize
|
|
}
|
|
|
|
# RHBZ#847429
|
|
{
|
|
libvirt_leak_2
|
|
Memcheck:Leak
|
|
...
|
|
fun:tryLoadOne
|
|
fun:VBoxCGlueInit
|
|
fun:vboxRegister
|
|
fun:virInitialize
|
|
}
|
|
|
|
# Variant of RHBZ#847429 with libvirt 1.0.2
|
|
{
|
|
libvirt_leak_3
|
|
Memcheck:Leak
|
|
...
|
|
fun:tryLoadOne
|
|
fun:VBoxCGlueInit
|
|
fun:vboxRegister
|
|
fun:virGlobalInit
|
|
}
|
|
|
|
# RHBZ#913145
|
|
{
|
|
libvirt_leak_4
|
|
Memcheck:Leak
|
|
...
|
|
fun:virNetClientProgramCall
|
|
}
|
|
|
|
# RHBZ#1116427
|
|
{
|
|
libvirt_leak_5
|
|
Memcheck:Leak
|
|
...
|
|
fun:virFileFindResourceFull
|
|
}
|
|
|
|
# RHBZ#1135388
|
|
{
|
|
libvirt_leak_6
|
|
Memcheck:Leak
|
|
...
|
|
fun:testDomainGenerateIfnames
|
|
}
|
|
|
|
# Possibly RHBZ#1145649
|
|
{
|
|
libvirt_leak_7
|
|
Memcheck:Leak
|
|
...
|
|
fun:selabel_close
|
|
fun:virSecuritySELinuxSecurityDriverClose
|
|
}
|
|
|
|
# RHBZ#1215042
|
|
{
|
|
libvirt_leak_8
|
|
Memcheck:Leak
|
|
...
|
|
fun:virGetUserRuntimeDirectory
|
|
fun:virNetSocketNewConnectUNIX
|
|
}
|
|
|
|
{
|
|
libvirt_leak_9
|
|
Memcheck:Leak
|
|
...
|
|
fun:g_malloc0
|
|
fun:virClassNew
|
|
...
|
|
fun:virDataTypesOnce
|
|
}
|
|
|
|
{
|
|
libvirt_leak_10
|
|
Memcheck:Leak
|
|
...
|
|
fun:g_malloc0
|
|
fun:virClassNew
|
|
...
|
|
fun:virOnce
|
|
}
|
|
|
|
# FUSE leaks the per-thread context (although the code looks
|
|
# like it attempts to clean it up). In older fuse, it uses
|
|
# malloc. In newer fuse it uses calloc.
|
|
{
|
|
fuse_leak_1
|
|
Memcheck:Leak
|
|
fun:malloc
|
|
fun:fuse_get_context_internal
|
|
}
|
|
|
|
{
|
|
fuse_leak_2
|
|
Memcheck:Leak
|
|
fun:calloc
|
|
fun:fuse_get_context_internal
|
|
}
|
|
|
|
# ld-*.so
|
|
{
|
|
ld_leak
|
|
Memcheck:Leak
|
|
...
|
|
fun:_dl_init
|
|
}
|
|
|
|
# Memory leak in libmagic (RHBZ#919466).
|
|
{
|
|
libmagic_leak
|
|
Memcheck:Leak
|
|
...
|
|
fun:magic_getpath
|
|
}
|
|
|
|
# Another memory leak in libmagic.
|
|
{
|
|
libmagic_leak_2
|
|
Memcheck:Leak
|
|
...
|
|
fun:file_apprentice
|
|
}
|
|
|
|
# Gtk
|
|
{
|
|
gtk_leak
|
|
Memcheck:Leak
|
|
...
|
|
fun:gtk_init_check
|
|
}
|
|
|
|
{
|
|
gtk_leak_2
|
|
Memcheck:Leak
|
|
...
|
|
fun:gdk_display_manager_get
|
|
}
|
|
|
|
{
|
|
gtk_leak_3
|
|
Memcheck:Leak
|
|
...
|
|
fun:_gdk_x11_screen_new
|
|
}
|
|
|
|
{
|
|
glib_leak_1
|
|
Memcheck:Leak
|
|
...
|
|
fun:g_type_register_static
|
|
}
|
|
|
|
{
|
|
glib_leak_2
|
|
Memcheck:Leak
|
|
...
|
|
fun:g_type_class_ref
|
|
}
|
|
|
|
# Perl
|
|
# note: Perl leaks memory by design, this just suppresses them.
|
|
{
|
|
perl_leak_1
|
|
Memcheck:Leak
|
|
...
|
|
fun:Perl_safesysmalloc
|
|
}
|
|
|
|
{
|
|
perl_leak_2
|
|
Memcheck:Leak
|
|
...
|
|
fun:Perl_safesysrealloc
|
|
}
|
|
|
|
{
|
|
perl_leak_3
|
|
Memcheck:Leak
|
|
...
|
|
fun:Perl_safesyscalloc
|
|
}
|
|
|
|
{
|
|
perl_leak_4
|
|
Memcheck:Leak
|
|
...
|
|
fun:Perl_yyparse
|
|
}
|
|
|
|
{
|
|
perl_leak_5
|
|
Memcheck:Leak
|
|
...
|
|
fun:Perl_re_compile
|
|
}
|
|
|
|
{
|
|
perl_leak_6
|
|
Memcheck:Leak
|
|
fun:malloc
|
|
fun:Perl_refcounted_he_new_pvn
|
|
}
|
|
|
|
{
|
|
perl_leak_7
|
|
Memcheck:Leak
|
|
...
|
|
fun:Perl_re_op_compile
|
|
}
|