You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
78 lines
2.7 KiB
78 lines
2.7 KiB
#############################################################################
|
|
# UBSan blacklist.
|
|
|
|
#############################################################################
|
|
# YASM does some funny things that UBsan doesn't like.
|
|
# https://crbug.com/489901
|
|
src:*/third_party/yasm/*
|
|
|
|
#############################################################################
|
|
# V8 gives too many false positives. Ignore them for now.
|
|
src:*/v8/*
|
|
|
|
#############################################################################
|
|
# Ignore system libraries.
|
|
src:*/usr/*
|
|
|
|
#############################################################################
|
|
# V8 UBsan supressions, commented out for now since we are ignorning v8
|
|
# completely.
|
|
# fun:*v8*internal*FastD2I*
|
|
# fun:*v8*internal*ComputeIntegerHash*
|
|
# fun:*v8*internal*ComputeLongHash*
|
|
# fun:*v8*internal*ComputePointerHash*
|
|
# src:*/v8/src/base/bits.cc
|
|
# src:*/v8/src/base/functional.cc
|
|
# Undefined behaviour (integer overflow) is expected but ignored in this
|
|
# function.
|
|
# fun:*JsonParser*ParseJsonNumber*
|
|
|
|
# Runtime numeric functions.
|
|
# src:*/v8/src/runtime/runtime-numbers.cc
|
|
|
|
# Shifts of negative numbers
|
|
# fun:*v8*internal*HPositionInfo*TagPosition*
|
|
# fun:*v8*internal*Range*Shl*
|
|
# fun:*v8*internal*RelocInfoWriter*WriteTaggedData*
|
|
|
|
#############################################################################
|
|
# Undefined arithmetic that can be safely ignored.
|
|
src:*/base/numerics/saturated_arithmetic.h
|
|
src:*/ppapi/shared_impl/id_assignment.h
|
|
|
|
#############################################################################
|
|
# ICU supressions. Mostly hash functions where integer overflow is OK.
|
|
fun:*hashEntry*
|
|
fun:*LocaleCacheKey*hashCode*
|
|
fun:*google*protobuf*hash*
|
|
fun:*(hash|Hash)*
|
|
|
|
#############################################################################
|
|
# Bounds blacklist.
|
|
# Array at the end of struct pattern:
|
|
# Maybe UBSan itself can be improved here?
|
|
# e.g.
|
|
# struct blah {
|
|
# int a;
|
|
# char foo[2]; // not actually 2
|
|
# }
|
|
src:*/net/disk_cache/blockfile/backend_impl.cc
|
|
src:*/net/disk_cache/blockfile/entry_impl.cc
|
|
src:*/third_party/icu/source/common/rbbi.cpp
|
|
src:*/third_party/icu/source/common/rbbitblb.cpp
|
|
src:*/third_party/icu/source/common/ucmndata.c
|
|
|
|
#############################################################################
|
|
# Delete in destructor on a this where this == nullptr
|
|
fun:*re2*RegexpD*
|
|
|
|
#############################################################################
|
|
# Harmless float division by zero.
|
|
fun:*RendererFrameManager*CullUnlockedFrames*
|
|
|
|
#############################################################################
|
|
# libc++ __tree and map are not UBSAN clean
|
|
# https://llvm.org/bugs/show_bug.cgi?id=19302
|
|
src:*/third_party/libc\+\+/trunk/include/__tree
|
|
src:*/third_party/libc\+\+/trunk/include/map
|