Open Bug 1886563 Opened 9 months ago Updated 9 months ago

[meta] Make the location of immediate constants uncertain

Categories

(Core :: JavaScript Engine: JIT, task, P3)

task

Tracking

()

People

(Reporter: nbp, Unassigned)

References

(Blocks 1 open bug)

Details

(Keywords: meta)

Immediate constants are unavoidable, and moving all of them in a data-section might also be undesirable for performance and security reasons.

Also, register allocations and instruction opcodes might be a source of entropy that we would have to mitigate and that cannot easily be moved out of the code-section.

Thus we should add a MacroAssembler wrapping mechanism capable of relocating a section of code during the link-phase of the compilation.
The intent if to have a fixed-size assembly code generation where the linker will alternate between locations where the code might be relocated. The non-allocated location should be forged to cause a catastrophic failure of the program.

Thus, even if the generated content is known, the location would be uncertain, making JIT Spraying unreliable without reading the executable content.

You need to log in before you can comment on or make changes to this bug.