mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Davide Libenzi <davidel@xmailserver.org>
To: Fabiano Ramos <ramos_fabiano@yahoo.com.br>
Cc: Daniel Jacobowitz <dan@debian.org>,
	OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>,
	Andi Kleen <ak@muc.de>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: ptrace in 2.6.5
Date: Mon, 10 May 2004 23:14:32 -0700 (PDT)	[thread overview]
Message-ID: <Pine.LNX.4.58.0405102253480.1156@bigblue.dev.mdolabs.com> (raw)
In-Reply-To: <1084236054.1763.25.camel@slack.domain.invalid>

On Mon, 10 May 2004, Fabiano Ramos wrote:

> The question is: the int 0x80 can be seen as complex instructions that
> is only completed after the iret. This way, I do not see why a debug
> trap is not generated afer the int 0x80 and BEFORE the mov.
> 
> I reinvented the wheel and built a module that did the same thing as
> a singlestep ptrace, and a the trap WAS generated after the int 0x80
> completed, before the mov. 
> 
> So I think it has sth to do with the debug trap handler. 
> 
> I DO NOT BELIEVE THIS BEAVIOUR is right, since if it is not stopping
> after the int 0x80, ptrace is not TRULLY singlestepping.

If you look at the Intel manual 24319202 page 44 (TF bit), it clearly says 
that the trap is generated on the instruction that follows the IRET. In 
the same doc, at page 145, it also says that the return address seen by 
the trap handler is the one following the trapped instructuion (INT#1 is a 
trap). Ideally, I'm with you in expecting a full trace on all the 
instructions (out of INTs), but this doesn't seem to be what documented.
On the kernel side, this would be pretty much solved by issuing a ptrace 
op, with a modified EIP (+2) on return from a syscall (if in single-step 
mode).



- Davide


  reply	other threads:[~2004-05-11  6:14 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1UlcA-6lq-9@gated-at.bofh.it>
2004-05-10 18:49 ` Andi Kleen
2004-05-10 19:37   ` Davide Libenzi
2004-05-10 20:24   ` Fabiano Ramos
2004-05-10 21:49     ` OGAWA Hirofumi
2004-05-10 22:47       ` OGAWA Hirofumi
2004-05-10 22:58         ` Daniel Jacobowitz
2004-05-10 23:12           ` Davide Libenzi
2004-05-11  0:40           ` Fabiano Ramos
2004-05-11  6:14             ` Davide Libenzi [this message]
2004-05-11  6:27               ` Davide Libenzi
2004-05-11  6:41                 ` Davide Libenzi
2004-05-11 14:07                   ` Daniel Jacobowitz
2004-05-10 15:46 Fabiano Ramos
2004-05-10 16:10 ` Daniel Jacobowitz
2004-05-10 16:22   ` Fabiano Ramos

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Pine.LNX.4.58.0405102253480.1156@bigblue.dev.mdolabs.com \
    --to=davidel@xmailserver.org \
    --cc=ak@muc.de \
    --cc=dan@debian.org \
    --cc=hirofumi@mail.parknet.co.jp \
    --cc=linux-kernel@vger.kernel.org \
    --cc=ramos_fabiano@yahoo.com.br \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®