1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232
|
# This is a real problem in the Solaris libc. It is caused by a read past the
# FILE structure. It's an intentional hack to differentiate between two file
# structures, FILE and xFILE.
{
Solaris:sprintf
Memcheck:Cond
fun:getxfdat
fun:_set_memstream
fun:sprintf
}
# The same problem as above.
{
Solaris:snprintf
Memcheck:Cond
fun:getxfdat
fun:_set_memstream
fun:snprintf
}
# The same problem as above.
{
Solaris:snprintf
Memcheck:Cond
fun:getxfdat
fun:_realbufend
fun:_ndoprnt
fun:snprintf
}
# The same problem as above.
{
Solaris:vsnprintf
Memcheck:Cond
fun:getxfdat
fun:_set_memstream
fun:vsnprintf
}
# The same problem as above.
{
Solaris:vsnprintf
Memcheck:Cond
fun:getxfdat
fun:_realbufend
fun:_ndoprnt
fun:vsnprintf
}
#----------------------------------------------------------------------------#
# Solaris libc doesn't deallocate I/O buffers on program exit.
{
Solaris:file_buffer_malloc
Memcheck:Leak
fun:malloc
fun:_findbuf
obj:/lib/libc.so.1
obj:/lib/libc.so.1
}
#----------------------------------------------------------------------------#
# Solaris libc doesn't deallocate netconfig list pointed to by netpp.
# This includes other allocated structures and strings contained there.
{
Solaris:setnetconfig-fgetnetconfig
Memcheck:Leak
match-leak-kinds: reachable
fun:calloc
fun:fgetnetconfig
fun:getnetlist
fun:setnetconfig
}
# The same problem as above.
{
Solaris:setnetconfig-fgetnetconfig-getlookups-strdup
Memcheck:Leak
match-leak-kinds: reachable
fun:malloc
fun:strdup
fun:getlookups
fun:fgetnetconfig
fun:getnetlist
fun:setnetconfig
}
# The same problem as above.
{
Solaris:setnetconfig-fgetnetconfig-getlookups-malloc
Memcheck:Leak
match-leak-kinds: reachable
fun:malloc
fun:getlookups
fun:fgetnetconfig
fun:getnetlist
fun:setnetconfig
}
# The same problem as above.
{
Solaris:setnetconfig-fgetnetconfig-gettoken
Memcheck:Leak
match-leak-kinds: reachable
fun:malloc
fun:strdup
fun:gettoken
fun:fgetnetconfig
fun:getnetlist
fun:setnetconfig
}
# The same problem as above.
{
Solaris:setnetconfig-getnetlist
Memcheck:Leak
match-leak-kinds: reachable
fun:malloc
fun:getnetlist
fun:setnetconfig
}
#----------------------------------------------------------------------------#
# Solaris libc doesn't deallocate static strings netid_tcp_main
# and netid_tcp_udp allocated in __rpc_getconfip.
{
Solaris:__rpc_getconfip-netid_tcp+udp_main
Memcheck:Leak
match-leak-kinds: reachable
fun:malloc
fun:strdup
fun:__rpc_getconfip
}
#----------------------------------------------------------------------------#
# Solaris libc doesn't deallocate global variable global_gt.
{
Solaris:dgettext
Memcheck:Leak
match-leak-kinds: reachable
fun:calloc
fun:dgettext
}
#----------------------------------------------------------------------------#
# Solaris libc reinitializes mutex udp->ld_lock in the child's post-fork
# handler.
{
Solaris:postfork_child_mutex_reinit
drd:MutexErr
fun:mutex_init
fun:postfork1_child
fun:forkx
}
#----------------------------------------------------------------------------#
# Solaris libc implements pthread barrier with a mutex and a condition
# variable. In pthread_barrier_wait(), the last thread returning with
# SERIAL_THREAD first unlocks the mutex and then broadcasts the condition
# variable. This is ok here because that mutex does not have any priorities
# associated, therefore no unpredicatble scheduling behaviour can occurr.
{
Solaris:pthread_barrier_wait
Helgrind:Misc
fun:pthread_cond_broadcast_WRK
fun:cond_broadcast
fun:pthread_barrier_wait
}
#----------------------------------------------------------------------------#
# The getattrinfo testcase causes issues on all platforms, and we assume
# that they are due to private libc locking mechanisms.
{
Solaris:_nsc_getdoorbuf
drd:ConflictingAccess
fun:tsdalloc
fun:_nsc_getdoorbuf
}
{
Solaris:nss_dbop_search
drd:ConflictingAccess
fun:nss_dbop_search
}
{
Solaris:thr_create_once
drd:ConflictingAccess
fun:thr_keycreate_once
}
{
Solaris:_nsc_getdoorbsize
drd:ConflictingAccess
fun:_nsc_getdoorbsize
}
{
Solaris:_nsc_proc_is_cache
drd:ConflictingAccess
fun:_nsc_proc_is_cache
}
{
Solaris:__rpc_getconfip
drd:ConflictingAccess
fun:__rpc_getconfip
}
{
Solaris:_nsc_proc_is_cache
Helgrind:Race
fun:_nsc_proc_is_cache
}
{
Solaris:thr_create_once
Helgrind:Race
fun:thr_keycreate_once
}
{
Solaris:_nsc_proc_is_cache
Helgrind:Race
fun:_nsc_proc_is_cache
}
{
Solaris:nss_dbop_search
Helgrind:Race
fun:nss_dbop_search
}
|