1 | # The first call to gnutls_rng in a new thread causes a "possible |
---|
2 | # loss" setting up thread-local storage (TLS). According to search |
---|
3 | # results that seems to be a common issue with glibc. |
---|
4 | { |
---|
5 | gnutls_rng_init |
---|
6 | Memcheck:Leak |
---|
7 | match-leak-kinds: possible |
---|
8 | fun:malloc |
---|
9 | ... |
---|
10 | fun:__tls_get_addr |
---|
11 | ... |
---|
12 | fun:gnutls_rnd |
---|
13 | fun:gnutls_ocsp_req_randomize_nonce |
---|
14 | ... |
---|
15 | fun:mgs_async_ocsp_update |
---|
16 | fun:* |
---|
17 | fun:start_thread |
---|
18 | fun:clone |
---|
19 | } |
---|
20 | |
---|
21 | # Whatever mod_watchdog does setting up its threads, it involves |
---|
22 | # thread-local storage, too. |
---|
23 | { |
---|
24 | watchdog_child_thread_init |
---|
25 | Memcheck:Leak |
---|
26 | match-leak-kinds: possible |
---|
27 | fun:calloc |
---|
28 | fun:allocate_dtv |
---|
29 | fun:_dl_allocate_tls |
---|
30 | fun:allocate_stack |
---|
31 | fun:pthread_create@* |
---|
32 | obj:/usr/sbin/apache2 |
---|
33 | ... |
---|
34 | fun:ap_run_child_init |
---|
35 | obj:/usr/lib/apache2/modules/mod_mpm_*.so |
---|
36 | ... |
---|
37 | obj:/usr/lib/apache2/modules/mod_mpm_*.so |
---|
38 | fun:ap_run_mpm |
---|
39 | ... |
---|
40 | } |
---|
41 | |
---|
42 | # mod_http2 needs thread-local storage, too. |
---|
43 | { |
---|
44 | http2_child_thread_init |
---|
45 | Memcheck:Leak |
---|
46 | match-leak-kinds: possible |
---|
47 | fun:calloc |
---|
48 | fun:allocate_dtv |
---|
49 | fun:_dl_allocate_tls |
---|
50 | fun:allocate_stack |
---|
51 | fun:pthread_create@* |
---|
52 | obj:/usr/lib/apache2/modules/mod_http2.so |
---|
53 | ... |
---|
54 | obj:/usr/lib/apache2/modules/mod_http2.so |
---|
55 | fun:ap_run_child_init |
---|
56 | obj:/usr/lib/apache2/modules/mod_mpm_*.so |
---|
57 | ... |
---|
58 | } |
---|
59 | |
---|
60 | # There's a bunch of reports of leaks from getaddrinfo, but outside |
---|
61 | # the scope of mod_gnutls to fix. |
---|
62 | { |
---|
63 | apr_getaddrinfo_leak |
---|
64 | Memcheck:Leak |
---|
65 | match-leak-kinds: definite |
---|
66 | fun:malloc |
---|
67 | ... |
---|
68 | fun:getaddrinfo |
---|
69 | obj:/usr/lib/*/libapr-1.so.* |
---|
70 | ... |
---|
71 | } |
---|
72 | |
---|
73 | # For some reason there's a leak from dlopen called by |
---|
74 | # p11_kit_module_load in the child processes. |
---|
75 | { |
---|
76 | p11_kit_module_load |
---|
77 | Memcheck:Leak |
---|
78 | match-leak-kinds: definite |
---|
79 | fun:malloc |
---|
80 | ... |
---|
81 | fun:dlopen@* |
---|
82 | obj:/usr/lib/*/libp11-kit.so.* |
---|
83 | fun:p11_kit_module_load |
---|
84 | } |
---|