Skip to content

Commit e9dbc07

Browse files
Samuel GroßV8 LUCI CQ
authored andcommitted
[sandbox] Temporarily mark ArrayBufferExtensions as non-managed
There is currently an issue where detaching an ArrayBuffer's extension can interfere with table compaction and the zapping mechanism of managed external resources. This CL temporarily disables the managed external resource mechanism for ArrayBufferExtensions until the best approach for fixing the issue has been determined. Bug: chromium:333493383 Change-Id: Ic5b97e4a427032979bfb9d50abd0984172e5f76b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5464461 Commit-Queue: Samuel Groß <[email protected]> Reviewed-by: Michael Lippautz <[email protected]> Cr-Commit-Position: refs/heads/main@{#93425}
1 parent 9b4377f commit e9dbc07

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

include/v8-internal.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -518,8 +518,8 @@ constexpr uint64_t kAllExternalPointerTypeTags[] = {
518518
/* External resources whose lifetime is tied to */ \
519519
/* their entry in the external pointer table but */ \
520520
/* which are not referenced via a Managed */ \
521-
V(kArrayBufferExtensionTag, TAG(57)) \
522-
V(kLastManagedResourceTag, TAG(57))
521+
V(kLastManagedResourceTag, TAG(56)) \
522+
V(kArrayBufferExtensionTag, TAG(57))
523523

524524
// All external pointer tags.
525525
#define ALL_EXTERNAL_POINTER_TAGS(V) \

src/sandbox/external-pointer-table-inl.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -302,7 +302,9 @@ void ExternalPointerTable::Space::NotifyExternalPointerFieldInvalidated(
302302
}
303303

304304
void ExternalPointerTable::ManagedResource::ZapExternalPointerTableEntry() {
305-
owning_table_->Zap(ept_entry_);
305+
if (owning_table_) {
306+
owning_table_->Zap(ept_entry_);
307+
}
306308
ept_entry_ = kNullExternalPointerHandle;
307309
}
308310

0 commit comments

Comments
 (0)