Closed Bug 2034816 Opened 6 months ago Closed 6 months ago

Using ImmPtr instead of ImmGCPtr in a few places

Categories

(Core :: JavaScript Engine: JIT, defect, P2)

defect

Tracking

()

RESOLVED FIXED
152 Branch
Tracking Status
firefox-esr115 --- wontfix
firefox-esr140 --- wontfix
firefox150 --- wontfix
firefox151 --- wontfix
firefox152 --- fixed

People

(Reporter: jandem, Assigned: jandem)

References

(Blocks 2 open bugs)

Details

(Keywords: sec-low, Whiteboard: [adv-main152+r])

Attachments

(1 external file)

I had Claude do a MIR instruction audit and one of its findings was that CodeGenerator::visitModuleMetadata and CodeGenerator::visitNewArrayObject use ImmPtr instead of ImmGCPtr. (I had it look for similar cases elsewhere but it didn't find others.)

I think these are safe in practice (and why Mythos didn't report it): we have a shape and a ModuleObject, both are tenured so can't move on nursery GC, they are kept alive through other references, and compacting GC force-discards JIT code before relocating arenas. This is brittle though and it's a very safe and simple fix.

Type: task → defect
Attached file (secure) —
Severity: -- → S3
Priority: -- → P2
Group: javascript-core-security → core-security-release
Status: ASSIGNED → RESOLVED
Closed: 6 months ago
Resolution: --- → FIXED
Target Milestone: --- → 152 Branch
QA Whiteboard: [sec] [qa-triage-done-c153/b152]
Whiteboard: [adv-main152+r]
Group: core-security-release
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: