OLD | NEW |
| 1 # This black list is a merge of blacklist.txt and vptr_blacklist.txt. |
| 2 |
| 3 ############################################################################# |
| 4 # UBSan security blacklist. |
| 5 |
| 6 ############################################################################# |
| 7 # YASM does some funny things that UBsan doesn't like. |
| 8 # https://crbug.com/489901 |
| 9 src:*/third_party/yasm/* |
| 10 |
| 11 ############################################################################# |
| 12 # V8 gives too many false positives. Ignore them for now. |
| 13 src:*/v8/* |
| 14 |
| 15 ############################################################################# |
| 16 # Ignore system libraries. |
| 17 src:*/usr/* |
| 18 |
| 19 ############################################################################# |
| 20 # V8 UBsan supressions, commented out for now since we are ignorning v8 |
| 21 # completely. |
| 22 # fun:*v8*internal*FastD2I* |
| 23 # fun:*v8*internal*ComputeIntegerHash* |
| 24 # fun:*v8*internal*ComputeLongHash* |
| 25 # fun:*v8*internal*ComputePointerHash* |
| 26 # src:*/v8/src/base/bits.cc |
| 27 # src:*/v8/src/base/functional.cc |
| 28 # Undefined behaviour (integer overflow) is expected but ignored in this |
| 29 # function. |
| 30 # fun:*JsonParser*ParseJsonNumber* |
| 31 |
| 32 # Runtime numeric functions. |
| 33 # src:*/v8/src/runtime/runtime-numbers.cc |
| 34 |
| 35 # Shifts of negative numbers |
| 36 # fun:*v8*internal*HPositionInfo*TagPosition* |
| 37 # fun:*v8*internal*Range*Shl* |
| 38 # fun:*v8*internal*RelocInfoWriter*WriteTaggedData* |
| 39 |
| 40 ############################################################################# |
| 41 # Undefined arithmetic that can be safely ignored. |
| 42 src:*/third_party/WebKit/Source/wtf/SaturatedArithmetic.h |
| 43 src:*/ppapi/shared_impl/id_assignment.h |
| 44 |
| 45 ############################################################################# |
| 46 # ICU supressions. Mostly hash functions where integer overflow is OK. |
| 47 fun:*hashEntry* |
| 48 fun:*LocaleCacheKey*hashCode* |
| 49 fun:*google*protobuf*hash* |
| 50 fun:*(hash|Hash)* |
| 51 |
| 52 ############################################################################# |
| 53 # Bounds blacklist. |
| 54 # Array at the end of struct pattern: |
| 55 # Maybe UBSan itself can be improved here? |
| 56 # e.g. |
| 57 # struct blah { |
| 58 # int a; |
| 59 # char foo[2]; // not actually 2 |
| 60 # } |
| 61 src:*/net/disk_cache/blockfile/backend_impl.cc |
| 62 src:*/net/disk_cache/blockfile/entry_impl.cc |
| 63 src:*/third_party/icu/source/common/rbbi.cpp |
| 64 src:*/third_party/icu/source/common/rbbitblb.cpp |
| 65 src:*/third_party/icu/source/common/ucmndata.c |
| 66 |
| 67 ############################################################################# |
| 68 # Delete in destructor on a this where this == nullptr |
| 69 fun:*re2*RegexpD* |
| 70 |
| 71 ############################################################################# |
| 72 # Harmless float division by zero. |
| 73 fun:*RendererFrameManager*CullUnlockedFrames* |
| 74 |
1 ############################################################################# | 75 ############################################################################# |
2 # UBSan vptr blacklist. | 76 # UBSan vptr blacklist. |
3 # Function and type based blacklisting use a mangled name, and it is especially | 77 # Function and type based blacklisting use a mangled name, and it is especially |
4 # tricky to represent C++ types. For now, any possible changes by name manglings | 78 # tricky to represent C++ types. For now, any possible changes by name manglings |
5 # are simply represented as wildcard expressions of regexp, and thus it might be | 79 # are simply represented as wildcard expressions of regexp, and thus it might be |
6 # over-blacklisted. | 80 # over-blacklisted. |
7 | 81 |
8 ############################################################################# | 82 ############################################################################# |
9 # Identical layouts. | 83 # Identical layouts. |
10 # If base and derived classes have identifical memory layouts (i.e., the same | 84 # If base and derived classes have identifical memory layouts (i.e., the same |
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
104 ############################################################################# | 178 ############################################################################# |
105 # UBsan is unable to handle static_cast<A*>(nullptr) and crashes on SIGSEGV. | 179 # UBsan is unable to handle static_cast<A*>(nullptr) and crashes on SIGSEGV. |
106 # | 180 # |
107 | 181 |
108 # static_cast<StartPageService*> in StartPageServiceFactory::GetForProfile. | 182 # static_cast<StartPageService*> in StartPageServiceFactory::GetForProfile. |
109 type:*StartPageService* | 183 type:*StartPageService* |
110 | 184 |
111 # Remove once function attribute level blacklisting is implemented. | 185 # Remove once function attribute level blacklisting is implemented. |
112 # See crbug.com/476063. | 186 # See crbug.com/476063. |
113 fun:*forbidGCDuringConstruction* | 187 fun:*forbidGCDuringConstruction* |
| 188 |
| 189 ############################################################################# |
| 190 # UBsan goes into an infinite recursion when __dynamic_cast instrumented with |
| 191 # "vptr". See crbug.com/609786. |
| 192 |
| 193 src:*/third_party/libc\+\+abi/trunk/src/private_typeinfo.cpp |
OLD | NEW |