On 2013/09/06 17:48:46, Cris Neckar wrote:
On 2013/09/05 09:22:12, Michael Starzinger wrote:
> Looking OK from my end. I'll leave the final decision up to Cris.
Yes, the reason we used PAGE_GUARD is so that we would get an actionable
exception in crash reports. This allows us to filter crashes for
STATUS_GUARD_PAGE_VIOLATION and know with some degree of certainty that a
given
crash will have security relevance. Changing this to PAGE_NOACCESS would
mean
we
will simply get a standard ACCESS_VIOLATION and will not have the
additional
context that we are writing off the end (or before the beginning of a
guarded
segment).
That being said are their cases that you found where we are handling this
exception and it is not causing a crash? If so then I agree this is bad
and we
need to fix it. Otherwise I would ask that we keep these pages with the
current
protection so that we retain the additional context in crash reports.
Make sense?
No, from what I know we don't handle this exception. My point is that we
should
not misuse the PAGE_GUARD mechanism here. If someone embedder (or even
Chrome)
uses PAGE_GUARD in the way it was designed to, he'll have a hard time
figuring
out what's going on when the exception handler is entered due to an
(accidential
exploit/bug) in V8. I discovered this issue during general code review, but
if
we run into such an issue in 1-2 years noone will think of this and we'll
have
to trace that down for several days (it's totally non-obvious). Especially
since
this issue is Windows-only then, because all other platforms use PROT_NONE
here.
So I vote to change this to PAGE_NOACCESS or even better, just uncommit the
guard pages. They are easy to spot already.
https://codereview.chromium.org/23458022/
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.