ignores.txt 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247
  1. # This file defines which warnings should be ignored while running clang's
  2. # control flow integrity sanitizer, as run by the cfi_flags build target.
  3. [cfi-unrelated-cast|cfi-derived-cast]
  4. # e.g. RolloverProtectedTickClock
  5. fun:*MutableInstance*
  6. # WTF allocators. See https://crbug.com/713293.
  7. fun:*Allocate*Backing*
  8. # WTF::ThreadSpecific
  9. fun:*ThreadSpecific*
  10. # LLVM's allocator
  11. src:*llvm/Support/Allocator.h
  12. # Deliberate bad cast to derived class to hide functions.
  13. type:*BlockIUnknownMethods*
  14. type:*BlockRefType*
  15. type:*SkAutoTUnref*
  16. type:*SkBlockComRef*
  17. type:*RemoveIUnknown*
  18. src:*atlcomcli.h
  19. # src/base/win/event_trace_provider_unittest.cc
  20. type:*EtwTraceProvider*
  21. # b/64003142
  22. fun:*internal_default_instance*
  23. # CAtlArray<T> casts to uninitialized T*.
  24. src:*atlcoll.h
  25. # https://github.com/grpc/grpc/issues/19375
  26. src:*third_party/grpc/src/src/core/lib/gprpp/inlined_vector.h
  27. # https://crbug.com/994752
  28. src:*third_party/spirv-cross/spirv-cross/spirv_cross_containers.hpp
  29. # Vulkan memory allocator
  30. src:*third_party/vulkan_memory_allocator/include/vk_mem_alloc.h
  31. #############################################################################
  32. # Base class's constructor accesses a derived class.
  33. fun:*DoublyLinkedListNode*
  34. # RenderFrameObserverTracker<T>::RenderFrameObserverTracker()
  35. fun:*content*RenderFrameObserverTracker*RenderFrame*
  36. # RenderViewObserverTracker<T>::RenderViewObserverTracker()
  37. fun:*content*RenderViewObserverTracker*RenderView*
  38. fun:*RefCountedGarbageCollected*makeKeepAlive*
  39. fun:*ThreadSafeRefCountedGarbageCollected*makeKeepAlive*
  40. #############################################################################
  41. # Base class's destructor accesses a derived class.
  42. fun:*DatabaseContext*contextDestroyed*
  43. # FIXME: Cannot handle template function LifecycleObserver<>::setContext,
  44. # so exclude source file for now.
  45. src:*lifecycle_observer.h*
  46. #############################################################################
  47. # Methods disabled due to perf considerations.
  48. [cfi-vcall]
  49. # Skia
  50. # https://crbug.com/638056#c1
  51. fun:*SkCanvas*onDrawRect*
  52. # https://crbug.com/638064
  53. fun:*SkCanvas*drawPicture*
  54. # https://crbug.com/638060
  55. fun:*SkCanvas*onDrawPicture*
  56. # https://crbug.com/638064#c2
  57. fun:*SkBaseDevice*accessPixels*
  58. # https://crbug.com/638056
  59. fun:*call_hline_blitter*
  60. fun:*do_scanline*
  61. fun:*antifilldot8*
  62. # Unclear what could be done here
  63. fun:*SkCanvas*drawRect*
  64. fun:*SkPictureGpuAnalyzer*analyzePicture*
  65. fun:*SkScalerContext*MakeRec*
  66. # CC
  67. # https://crbug.com/638056
  68. fun:*LayerTreeHost*NotifySwapPromiseMonitorsOfSetNeedsCommit*
  69. # WebKit
  70. # The entries below have not been categorized
  71. # cc::DisplayItemList::Inputs::~Inputs
  72. fun:*cc*DisplayItemList*Inputs*
  73. fun:*PaintInvalidationState*computePaintInvalidationRectInBacking*
  74. fun:*AdjustAndMarkTrait*mark*
  75. fun:*TraceTrait*trace*
  76. fun:*ChromeClientImpl*scheduleAnimation*
  77. fun:*hasAspectRatio*
  78. fun:*nextBreakablePosition*
  79. fun:*supportsCachedOffsets*
  80. fun:*traceImpl*
  81. #############################################################################
  82. # Cross-DSO vcalls
  83. [cfi-vcall|cfi-unrelated-cast|cfi-derived-cast]
  84. # These classes are used to communicate between chrome.exe and
  85. # chrome_child.dll (see src/sandbox/win/src/sandbox.h,
  86. # src/chrome/app/chrome_main.cc).
  87. type:sandbox::BrokerServices
  88. type:sandbox::TargetPolicy
  89. type:sandbox::TargetServices
  90. #############################################################################
  91. # Disabled indirect calls
  92. [cfi-icall]
  93. ######### Cross-DSO icalls using dynamically resolved symbols crbug.com/771365
  94. # ANGLE
  95. src:*third_party/angle/src/common/vulkan/vulkan_icd.cpp
  96. src:*third_party/angle/src/libANGLE/*
  97. src:*third_party/angle/src/libEGL/*
  98. src:*third_party/angle/src/third_party/libXNVCtrl/NVCtrl.c
  99. # third_party/angle/src/gpu_info_util/SystemInfo_libpci.cpp
  100. fun:*GetPCIDevicesWithLibPCI*
  101. # third_party/angle/src/common/event_tracer.cpp
  102. fun:*GetTraceCategoryEnabledFlag*
  103. fun:*AddTraceEvent*
  104. # Dawn, calls to OpenGL and Vulkan function pointers from shared library.
  105. src:*third_party/dawn/src/dawn/native/*
  106. # PPAPI
  107. src:*ppapi/*
  108. src:*content/renderer/pepper*
  109. fun:*PpapiThread*
  110. fun:*BrokerProcessDispatcher*
  111. # Ignore base::{Once, Repeating}Callback due to https://crbug.com/845855
  112. fun:*FunctorTraits*
  113. # Calls to auto-generated stubs by generate_stubs.py
  114. src:*audio/pulse/pulse_stubs.cc
  115. src:*media/gpu/vaapi/va_stubs.cc
  116. # Calls to auto-generated stubs by generate_library_loader.py
  117. src:*content/browser/speech/tts_linux.cc
  118. src:*device/udev_linux/udev0_loader.cc
  119. src:*device/udev_linux/udev1_loader.cc
  120. # Calls to auto-generated stubs by ui/gl/generate_bindings.py
  121. src:*ui/gl/gl_bindings_autogen_*
  122. # Calls to vulkan function pointers from shared library.
  123. src:*third_party/vulkan_memory_allocator/include/vk_mem_alloc.h
  124. src:*third_party/angle/third_party/vulkan-loader/src/loader*
  125. src:*third_party/vulkan-deps/vulkan-loader/src/loader*
  126. src:*third_party/vulkan-deps/vulkan-validation-layers/src/layers/*
  127. src:*third_party/angle/src/common/vulkan/vulkan_icd.cpp
  128. src:*components/os_crypt/*
  129. src:*content/browser/accessibility/browser_accessibility_auralinux.cc
  130. src:*ui/accessibility/platform/ax_platform_node_auralinux.cc
  131. src:*ui/accessibility/platform/ax_platform_atk_hyperlink.cc
  132. src:*ui/accessibility/platform/ax_platform_node_auralinux_unittest.cc
  133. src:*chrome/browser/ui/zoom/chrome_zoom_level_prefs.cc
  134. src:*third_party/webrtc/modules/desktop_capture/linux/x_server_pixel_buffer.cc
  135. src:*third_party/webrtc/modules/desktop_capture/linux/x11/x_server_pixel_buffer.cc
  136. src:*media/cdm/*
  137. src:*third_party/swiftshader/*
  138. src:*base/native_library_unittest.cc
  139. src:*ui/gtk/app_indicator_icon.cc
  140. src:*ui/gtk/unity_service.cc
  141. src:*components/cronet/native/*
  142. src:*third_party/breakpad/breakpad/src/client/linux/handler/exception_handler_unittest.cc
  143. # chrome/browser/ui/views/frame/dbus_appmenu.cc
  144. fun:*dbus_appmenu*
  145. # third_party/skia/include/gpu/gl/GrGLFunctions.h
  146. fun:*GrGLFunction*
  147. # Call to libcurl.so from the symupload utility
  148. src:*third_party/breakpad/breakpad/src/common/linux/http_upload.cc
  149. # Indirect call to Xlib.
  150. fun:*XImageDeleter*
  151. src:*mojo/public/c/system/thunks.cc
  152. # Call to vulkan function pointers from shared library.
  153. src:*/third_party/skia/src/gpu/vk/*
  154. src:*/third_party/skia/src/gpu/ganesh/vk/*
  155. src:*/third_party/skia/third_party/vulkanmemoryallocator/*
  156. # The follow entries are speculatively disabled. They're included in the
  157. # chromium build and include calls to dynamically resolved symbols; however,
  158. # they do not trigger cfi-icall failures in unit tests or normal chrome usage.
  159. # They're disabled to avoid failing in uncommon code paths. Be careful removing.
  160. src:*net/http/http_auth_gssapi_posix.cc
  161. src:*third_party/breakpad/breakpad/src/common/linux/libcurl_wrapper.cc
  162. src:*third_party/crashpad/crashpad/snapshot/crashpad_info_client_options_test.cc
  163. src:*third_party/skia/src/ports/SkFontHost_FreeType.cpp
  164. ######### Function pointers cast to incorrect type signatures
  165. # libicu is currently compiled such that in libicu the 'UChar' type is a
  166. # defined as a char16_t internally, but for the rest of chromium it's an
  167. # unsigned short, causing mismatched type signatures for icalls to/from icu
  168. # https://crbug.com/732026
  169. src:*third_party/icu/source/common/*
  170. src:*third_party/blink/renderer/platform/wtf/*
  171. # v8/src/intl.cc
  172. fun:*LocaleConvertCase*
  173. # PropertyCallbackArguments::Call methods cast function pointers
  174. src:*v8/src/api-arguments-inl.h
  175. src:*v8/src/api/api-arguments-inl.h
  176. # v8 callback that casts argument template parameters
  177. fun:*PendingPhantomCallback*Invoke*
  178. # weak_callback_ is cast from original type.
  179. fun:*GlobalHandles*PostGarbageCollectionProcessing*
  180. fun:*InvokeAccessorGetterCallback*
  181. ######### Uncategorized
  182. src:*native_client/*