1############################################################################# 2# UBSan blacklist. 3 4############################################################################# 5# YASM does some funny things that UBsan doesn't like. 6# https://crbug.com/489901 7src:*/third_party/yasm/* 8 9############################################################################# 10# V8 gives too many false positives. Ignore them for now. 11src:*/v8/* 12 13############################################################################# 14# Ignore system libraries. 15src:*/usr/* 16 17############################################################################# 18# V8 UBsan supressions, commented out for now since we are ignorning v8 19# completely. 20# fun:*v8*internal*FastD2I* 21# fun:*v8*internal*ComputeIntegerHash* 22# fun:*v8*internal*ComputeLongHash* 23# fun:*v8*internal*ComputePointerHash* 24# src:*/v8/src/base/bits.cc 25# src:*/v8/src/base/functional.cc 26# Undefined behaviour (integer overflow) is expected but ignored in this 27# function. 28# fun:*JsonParser*ParseJsonNumber* 29 30# Runtime numeric functions. 31# src:*/v8/src/runtime/runtime-numbers.cc 32 33# Shifts of negative numbers 34# fun:*v8*internal*HPositionInfo*TagPosition* 35# fun:*v8*internal*Range*Shl* 36# fun:*v8*internal*RelocInfoWriter*WriteTaggedData* 37 38############################################################################# 39# Undefined arithmetic that can be safely ignored. 40src:*/base/numerics/saturated_arithmetic.h 41src:*/ppapi/shared_impl/id_assignment.h 42 43############################################################################# 44# ICU supressions. Mostly hash functions where integer overflow is OK. 45fun:*hashEntry* 46fun:*LocaleCacheKey*hashCode* 47fun:*google*protobuf*hash* 48fun:*(hash|Hash)* 49 50############################################################################# 51# Bounds blacklist. 52# Array at the end of struct pattern: 53# Maybe UBSan itself can be improved here? 54# e.g. 55# struct blah { 56# int a; 57# char foo[2]; // not actually 2 58# } 59src:*/net/disk_cache/blockfile/backend_impl.cc 60src:*/net/disk_cache/blockfile/entry_impl.cc 61src:*/third_party/icu/source/common/rbbi.cpp 62src:*/third_party/icu/source/common/rbbitblb.cpp 63src:*/third_party/icu/source/common/ucmndata.c 64 65############################################################################# 66# Delete in destructor on a this where this == nullptr 67fun:*re2*RegexpD* 68 69############################################################################# 70# Harmless float division by zero. 71fun:*RendererFrameManager*CullUnlockedFrames* 72 73############################################################################# 74# libc++ __tree and map are not UBSAN clean 75# https://llvm.org/bugs/show_bug.cgi?id=19302 76src:*/third_party/libc\+\+/trunk/include/__tree 77src:*/third_party/libc\+\+/trunk/include/map 78