Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 346deb2b1c821e5216eeec79689a15f1317dd278
https://github.com/WebKit/WebKit/commit/346deb2b1c821e5216eeec79689a15f1317dd278
Author: David Kilzer <[email protected]>
Date: 2026-05-10 (Sun, 10 May 2026)
Changed paths:
M Source/ThirdParty/ANGLE/src/common/PoolAlloc.h
Log Message:
-----------
REGRESSION (312740@main): [ASan/TSan] `angle::PoolAllocator` has inconsistent
layout across translation units, crashing GPU process on WebGL shader compile
<https://bugs.webkit.org/show_bug.cgi?id=314526>
<rdar://176749270>
Unreviewed build fix.
Add `#include "common/platform.h"` to `PoolAlloc.h` so the
`ANGLE_WITH_ASAN` / `ANGLE_WITH_TSAN` check at the top of the
header sees those macros (defined via `__has_feature()` in
`platform.h`), fixing an ODR violation where `PoolAlloc.cpp` laid
out `angle::PoolAllocator` with the full 88-byte non-sanitizer
member set while `Compiler.cpp` laid it out with the 24-byte
sanitizer-only member set. This caused the default constructor to
write 88 bytes into the caller's 24-byte stack slot and trip
AddressSanitizer's stack-buffer-overflow check on every WebGL
shader compile.
Covered by existing tests in LayoutTests/fast/canvas/webgl/.
* Source/ThirdParty/ANGLE/src/common/PoolAlloc.h:
Canonical link: https://commits.webkit.org/312987@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications