task::finish_emulated_syscall

Robert O'Callahan robert at ocallahan.org
Sun Jan 25 22:19:00 PST 2015


On Fri, Jan 23, 2015 at 6:03 PM, Kyle Huey <me at kylehuey.com> wrote:

> Why is this necessary?
>

When we resume with a PTRACE_SYSEMU (or PTRACE_SYSEMU_SINGLESTEP) on x86,
and we reach a system call, we get a ptrace trap. We need to exit the
emulated system call before we set the registers from the trace. We do that
by single-stepping in finish_emulated_syscall, but as the comments there
describe, it's not trivial since on x86 singlestepping not only exits the
syscall but also executes the instruction after it.

Rob
-- 
oIo otoeololo oyooouo otohoaoto oaonoyooonoeo owohooo oioso oaonogoroyo
owoiotoho oao oboroootohoeoro oooro osoiosotoeoro owoiololo oboeo
osouobojoeocoto otooo ojouodogomoeonoto.o oAogoaoiono,o oaonoyooonoeo
owohooo
osoaoyoso otooo oao oboroootohoeoro oooro osoiosotoeoro,o o‘oRoaocoao,o’o
oioso
oaonosowoeoroaoboloeo otooo otohoeo ocooouoroto.o oAonodo oaonoyooonoeo
owohooo
osoaoyoso,o o‘oYooouo ofooooolo!o’o owoiololo oboeo oiono odoaonogoeoro
ooofo
otohoeo ofoioroeo ooofo ohoeololo.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/rr-dev/attachments/20150126/bd35bc9e/attachment.html>


More information about the rr-dev mailing list