https://bugs.kde.org/show_bug.cgi?id=514297

--- Comment #3 from [email protected] ---
Created attachment 188984
  --> https://bugs.kde.org/attachment.cgi?id=188984&action=edit
example program

With workaround commit 19a34d1d93 removed, and using the updated attached
program 1) using madvise() and 2) using mpotect() shows that

with madvise() :
-----------------------
==2273892== Process terminating with default action of signal 11 (SIGSEGV):
dumping core
==2273892==  Access not within mapped region at address 0x485C000
==2273892==    at 0x400741: main (gp.c:75)


with mprotect():
-----------------------
==2277069== Process terminating with default action of signal 11 (SIGSEGV):
dumping core
==2277069==  Bad permissions for mapped region at address 0x485C000
==2277069==    at 0x400741: main (gp.c:75)


This seems to happen because madvise(p, ps, MADV_GUARD_INSTALL) not only sets
"guard page" bit 58, but also unsets "page present" (bit 63).

In both cases valgrind crashes with SIGSEGV.  I understand that this is
unavoidable and correct.  But in case of madvise() based guard page, the
complaint shouldn't be about "Access not within mapped region" but instead
about "Attempt to access guard page".

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to