Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Record and Replay Framework
C++ C Python CMake Assembly Shell HTML

Work around probable kernel bug.

On kernel 4.1.6-200.fc22.x86_64 the PTRACE_GETREGS in Task::post_exec
after a 32->64 exec of the exec_stub clearly shows registers truncated
to 32 bits, as if the process was still 32-bit, although the memory map
is clearly 64-bit at this point. (We do not see this during recording,
fortunately.) Probably related, /proc/<pid>/maps at this point does not
show the stack area as "[stack]". This did not seem to happen on
earlier kernels.

The workaround is, if we can't find anything marked "[stack]",
treat the first anonymous map which is PROT_READ|PROT_WRITE but not
PROT_EXEC as the stack. This seems to work for exec_stub, where
the stack should be the only writeable mapping immediately after
exec.
latest commit 444086349d
@rocallahan rocallahan authored

README.md

Something went wrong with that request. Please try again.