Closed Bug 1460997 Opened 5 years ago Closed 4 years ago

Out-of-process interceptor using incorrect protection flags for trampoline memory

Categories

(Core :: General, enhancement, P1)

Unspecified
Windows
enhancement

Tracking

()

RESOLVED FIXED
mozilla62
Tracking Status
firefox62 --- fixed

People

(Reporter: bugzilla, Assigned: bugzilla)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

The out-of-process interceptor's trampolines create a section of shared memory. The local view only needs to be r/w because we only modify the trampolines, we don't execute them.

On Windows 7, VirtualProtect sometimes fails when we request r/w/x. We don't actually need our local view to be executable. When we request r/w, everything works.

I have a hypothesis as to why the failure only happened "sometimes," but it's clear from my testing that this fix is effective.
Attachment #8975174 - Flags: review?(davidp99) → review+
https://hg.mozilla.org/integration/mozilla-inbound/rev/3b78d37d61ae46ae3fc35305b27655b80fa06155
Bug 1460997: Out-of-process interceptors should use r/w instead of r/w/x when changing protection attributes prior to writing a trampoline; r=handyman
https://hg.mozilla.org/mozilla-central/rev/3b78d37d61ae
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla62
You need to log in before you can comment on or make changes to this bug.