gecko-dev/js
Jon Coppeard 74f4da63ac Bug 1791975 - Don't sweep realms that were allocated during incremental GC r=jandem
When marking a BaseShape we mark its global, and we read the pointer to that
global from the realm. If a realm doesn't have a live global we can sweep the
realm but there may still be pointers to it in base shapes and these are left
dangling.

This happens when we hit OOM while creating a global during an incremental GC.
The BaseShape survives because it was allocated after the start of the GC. The
global itself is never successfully created and so the realm doesn't have a
live global and is swept. In this case, we trigger UAF when we try to compact
the heap and trace the base shape.

The patch adds an extra case for keeping a realm alive if it was created during
an incremental GC. This matches the way that GC things are not collected if
they are allocated after the start of a GC.

Differential Revision: https://phabricator.services.mozilla.com/D158022
2022-10-17 17:09:07 +00:00
..
examples Bug 1746090 - Generalize traversing through a function's CFG with BFS_upwards(). r=jonco 2022-01-22 01:34:42 +00:00
loader Bug 1712762 - Check if module load requests have already been cancelled in ModuleLoaderBase::CancelDynamicImport r=yulia 2022-10-12 16:26:20 +00:00
public Bug 1790630 - Add telemetry for zones r=sfink 2022-10-13 09:22:38 +00:00
src Bug 1791975 - Don't sweep realms that were allocated during incremental GC r=jandem 2022-10-17 17:09:07 +00:00
xpconnect Bug 1795164: Replace Cu.generateXPCWrappedJS with Cu.getDebugName. r=mccr8 2022-10-14 22:49:20 +00:00
app.mozbuild
ffi.configure
moz.build
moz.configure Bug 1792981 - [loong64] Enable JIT compiler of loong64 port by default. r=jandem 2022-10-10 13:22:35 +00:00
sub.configure Bug 1752072 - Remove check for RANLIB. r=firefox-build-system-reviewers,mhentges 2022-02-03 00:06:30 +00:00