#
#  Copyright (c) 2011 Opera Software Australia Pty. Ltd.  All rights
#  reserved.
#
#  Redistribution and use in source and binary forms, with or without
#  modification, are permitted provided that the following conditions
#  are met:
#
#  1. Redistributions of source code must retain the above copyright
#     notice, this list of conditions and the following disclaimer.
#
#  2. Redistributions in binary form must reproduce the above copyright
#     notice, this list of conditions and the following disclaimer in
#     the documentation and/or other materials provided with the
#     distribution.
#
#  3. The name "Opera Software Australia" must not be used to
#     endorse or promote products derived from this software without
#     prior written permission. For permission or any legal
#     details, please contact
#       Opera Software Australia Pty. Ltd.
#       Level 50, 120 Collins St
#       Melbourne 3000
#       Victoria
#       Australia
#
#  4. Redistributions of any form whatsoever must retain the following
#     acknowledgment:
#     "This product includes software developed by Opera Software
#     Australia Pty. Ltd."
#
#  OPERA SOFTWARE AUSTRALIA DISCLAIMS ALL WARRANTIES WITH REGARD TO
#  THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
#  AND FITNESS, IN NO EVENT SHALL OPERA SOFTWARE AUSTRALIA BE LIABLE
#  FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
#  WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
#  AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
#  OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#
{
    getpwnam_leak
    Memcheck:Leak
    fun:malloc
    ...
    fun:getpwnam
    ...
}
{
    getgrouplist_leak
    Memcheck:Leak
    fun:malloc
    ...
    fun:getgrouplist
    ...
}
{
    getpwuid_leak
    Memcheck:Leak
    fun:malloc
    ...
    fun:getpwuid
    ...
}
{
    getgrgid_leak
    Memcheck:Leak
    fun:malloc
    ...
    fun:getgrgid
    ...
}
{
    # mupdate detaches all its threads, so they're cleaned up at exit.
    # but valgrind notices beforehand and reports their resources as leaked.
    mupdate_detached_threads_leak
    Memcheck:Leak
    match-leak-kinds: possible
    ...
    fun:pthread_create@@GLIBC_2.2.5
    fun:service_init
    fun:main
}
{
   # should only be necessary for valgrind versions < 3.17.0
   # https://valgrind.org/docs/manual/dist.news.html:
   #
   #    422623 epoll_ctl warns for uninitialized padding on non-amd64 64bit arches
   #
   # https://bugs.kde.org/show_bug.cgi?id=422623
   aarch64-linux-gnu-libnss-epoll_ctl
   Memcheck:Param
   epoll_ctl(event)
   fun:epoll_ctl
   obj:/usr/lib/aarch64-linux-gnu/libnss_systemd.so.2
   ...
}

{
  dl_open_worker-leak
  Memcheck:Leak
  match-leak-kinds: possible
  ...
  fun:dl_open_worker_begin
  ...
}

