skia2/include/private
John Stiles 817dd601f8 Reland "Disable Control-Flow Integrity in SkTArray when casting buffer to T*."
This reverts commit ef7c45a0fa.

Reason for revert: avoiding perf regression

Original change's description:
> Revert "Disable Control-Flow Integrity in SkTArray when casting buffer to T*."
>
> This reverts commit 0b1384de5a.
>
> Reason for revert: visible impact on performance: http://screen/4N7DNCQNSgtzzBo http://go/crb/1330618
>
> Original change's description:
> > Disable Control-Flow Integrity in SkTArray when casting buffer to T*.
> >
> > We disable Control-Flow Integrity sanitization (go/cfi) when updating
> > the item-array buffer. CFI flags this code as dangerous because we are
> > casting `buffer` to a T* while the buffer's contents might still be
> > uninitialized memory. When T has a vtable, this is especially risky
> > because we could hypothetically access a virtual method on fItemArray
> > and jump to an unpredictable location in memory. Of course, SkTArray
> > won't actually use fItemArray in this way, and we don't want to
> > construct a T before the user requests one. There's no real risk here,
> > so disable CFI when doing these casts.
> >
> > Change-Id: I5708053339f4a600b12c841fcd38880f9932f7d6
> > Bug: skia:13339
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/542643
> > Commit-Queue: Ben Wagner <bungeman@google.com>
> > Auto-Submit: John Stiles <johnstiles@google.com>
> > Reviewed-by: Ben Wagner <bungeman@google.com>
>
> Bug: skia:13339
> Change-Id: I9f39100fc4a03359fa7712b0a8d8cbe3bc7de625
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/545365
> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
> Auto-Submit: John Stiles <johnstiles@google.com>

Bug: skia:13339
Change-Id: I7629cb9045e0c7a804785f8c0ad569610e1c67e1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/545366
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2022-05-31 20:50:05 +00:00
..
chromium [bazel] Add in hierarchical filegroup Bazel rules. 2022-05-31 14:14:54 +00:00
gpu [bazel] Get GPU examples working 2022-05-31 14:14:54 +00:00
BUILD.bazel [bazel] Get GPU examples working 2022-05-31 14:14:54 +00:00
OWNERS Reland "Add OWNERS to include (and include/private) to enforce API review" 2021-09-27 18:20:19 +00:00
SingleOwner.h [graphite] Add basic stubs for ResourceCache. 2022-02-04 19:25:11 +00:00
SkBitmaskEnum.h Fix modifier key handling in OS X to allow command-keys to work. 2020-07-01 16:07:03 +00:00
SkChecksum.h Add std::string/string_view support to SkGoodHash. 2022-03-03 18:09:00 +00:00
SkColorData.h Convert color data to skvx::float4 from Sk4f 2022-05-19 19:45:23 +00:00
SkDeque.h Replace 'typedef xxxxx INHERITED' with 'using INHERITED = xxxx;'. 2020-09-03 03:41:26 +00:00
SkEncodedInfo.h [includes] Prepare for moving SkColorSpace to forward declare 2022-03-31 19:50:10 +00:00
SkFixed.h move SkTPin to include/private 2020-10-16 19:45:11 +00:00
SkFloatBits.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkFloatingPoint.h Remove old sk_float_rsqrt_portable code 2022-03-23 13:14:09 +00:00
SkHalf.h Convert color data to skvx::float4 from Sk4f 2022-05-19 19:45:23 +00:00
SkIDChangeListener.h Remove bug-prone SkIDChangeListener singleThreaded arg 2021-02-26 17:05:53 +00:00
SkImageInfoPriv.h Reland "Add kR8_unorm_SkColorType" 2022-02-10 18:00:19 +00:00
SkMacros.h Make SkScalerContext enums scoped. 2022-03-08 16:24:47 +00:00
SkMalloc.h [fuzz] Standardize, document, and backport fuzzing defines. 2020-09-14 13:36:10 +00:00
SkMutex.h Assert in ~SkMutex that the mutex is unowned. 2022-02-14 15:23:12 +00:00
SkNoncopyable.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkOnce.h experimental support for go/fibers 2019-10-28 16:48:55 +00:00
SkOpts_spi.h Enable ClangTidy check llvm-namespace-comment. 2020-08-06 19:07:52 +00:00
SkPathRef.h Reland "[includes] Remove include link between SkPathRef.h and SkRRect.h" 2022-03-07 15:15:05 +00:00
SkSafe32.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkSafe_math.h Guard against buggy ucrt\math.h. 2016-11-28 15:40:23 +00:00
SkSemaphore.h Reland "Cache hb_face." 2020-05-19 17:42:14 +00:00
SkShadowFlags.h Add ShadowFlag to use only blurs for concave shapes. 2022-04-27 18:02:26 +00:00
SkSLDefines.h Add ExpressionArray::clone. 2022-01-24 14:25:46 +00:00
SkSLIRNode.h Switched SkSL positions from int to Position 2022-03-14 17:06:17 +00:00
SkSLLayout.h Remove no-op versions of skstd::to_string. 2022-02-03 22:33:41 +00:00
SkSLModifiers.h Switched SkSL positions from int to Position 2022-03-14 17:06:17 +00:00
SkSLProgramElement.h Switched SkSL positions from int to Position 2022-03-14 17:06:17 +00:00
SkSLProgramKind.h Rename SkCustomMesh to SkMesh 2022-05-09 13:36:21 +00:00
SkSLSampleUsage.h Use varyings to implement MatrixEffects applied to DeviceCoord FPs. 2021-08-02 19:39:13 +00:00
SkSLStatement.h Remove InlineMarker IR node. 2022-04-29 17:40:58 +00:00
SkSLString.h [includes] Enforce IWYU on sksl code 2022-03-21 12:43:02 +00:00
SkSLSymbol.h Switched SkSL positions from int to Position 2022-03-14 17:06:17 +00:00
SkSpinlock.h Add thread safety annotations. 2019-05-10 13:40:38 +00:00
SkStringView.h Remove skstd::string_view entirely. 2022-02-01 21:16:41 +00:00
SkTArray.h Reland "Disable Control-Flow Integrity in SkTArray when casting buffer to T*." 2022-05-31 20:50:05 +00:00
SkTDArray.h Add explicit int -> size_t casts to SkTDArray.h 2020-12-28 17:23:49 +00:00
SkTemplates.h Remove static from template functions in headers. 2022-02-08 20:17:04 +00:00
SkTFitsIn.h Add support for MSVC run-time checks (and control flow guard) 2019-02-04 20:55:24 +00:00
SkTHash.h Use SkTHashMap for the MetalCodeGenerator. 2022-03-04 19:01:18 +00:00
SkThreadAnnotations.h Update Google3 thread annotations. 2022-02-09 15:47:22 +00:00
SkThreadID.h Mark SkGetThreadID SK_SPI in debug. 2020-07-07 21:50:55 +00:00
SkTLogic.h Remove skstd::size and skstd::data. 2022-02-03 20:47:16 +00:00
SkTo.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkTPin.h switch SkTPin impl to pin NaN to lo 2020-10-16 21:08:51 +00:00
SkUniquePaintParamsID.h [graphite] Move ShaderCodeDictionary, SkPaintParamsKey, and UniquePaintParamsID to include/private 2022-01-13 14:22:11 +00:00
SkVx.h Update Sk4px to use skvx instead of SkNx 2022-05-23 17:41:53 +00:00
SkWeakRefCnt.h Replace 'typedef xxxxx INHERITED' with 'using INHERITED = xxxx;'. 2020-09-03 03:41:26 +00:00