blob: fbc99b12ce98549d49dd78c30da28162d59f7bfd [file] [log] [blame]
Anton Kirilove5e76f42016-05-03 16:15:36 +01001# Valgrind does not recognize the ashmen ioctl() calls on ARM64, so it assumes that a size
2# parameter is a pointer.
3{
4 ashmem ioctl
5 Memcheck:Param
6 ioctl(generic)
7 ...
8 fun:ioctl
9 fun:ashmem_create_region
10}
11
12# It seems that on ARM64 Valgrind considers the canary value used by the Clang stack protector to
13# be an uninitialized value.
14{
15 jemalloc chunk_alloc_cache
16 Memcheck:Cond
17 fun:je_chunk_alloc_cache
18}
19
20# The VectorImpl class does not hold a pointer to the allocated SharedBuffer structure, but to the
21# beginning of the data, which is effectively an interior pointer. Valgrind has limitations when
22# dealing with interior pointers.
23{
24 VectorImpl
25 Memcheck:Leak
26 match-leak-kinds:possible
27 fun:malloc
28 # The wildcards make this rule work both for 32-bit and 64-bit environments.
29 fun:_ZN7android12SharedBuffer5allocE?
30 fun:_ZN7android10VectorImpl5_growE??
31}
Andreas Gamped0c29d12016-06-10 18:43:46 -070032
33# Clang/LLVM uses memcpy for *x = *y, even though x == y (which is undefined behavior). Ignore.
34# b/29279679, https://llvm.org/bugs/show_bug.cgi?id=11763
35{
36 MemCpySelfAssign
37 Memcheck:Overlap
38 fun:memcpy
39 fun:je_tsd_set
40 fun:je_tsd_fetch
41 fun:je_malloc_tsd_boot0
42}
Andreas Gampe24b00492016-06-14 14:36:09 -070043
44# Setenv is known-leaking when overwriting mappings. This is triggered by re-initializing
45# ANDROID_DATA. Ignore all setenv leaks.
46{
47 SetenvAndroidDataReinit
48 Memcheck:Leak
49 match-leak-kinds: definite
50 fun:malloc
51 fun:setenv
52}
Andreas Gampe2f2fd062016-09-02 19:43:59 -070053
54{
55 b/31275764
56 Memcheck:Leak
57 match-leak-kinds: definite
58 fun:malloc
59 ...
60 fun:_ZN3art7Runtime17InitNativeMethodsEv
61}