Anton Kirilov | e5e76f4 | 2016-05-03 16:15:36 +0100 | [diff] [blame] | 1 | # 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 | } |