From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S264890AbUELCRM (ORCPT ); Tue, 11 May 2004 22:17:12 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S264930AbUELCRM (ORCPT ); Tue, 11 May 2004 22:17:12 -0400 Received: from smtp018.mail.yahoo.com ([216.136.174.115]:57720 "HELO smtp018.mail.yahoo.com") by vger.kernel.org with SMTP id S264890AbUELCRB (ORCPT ); Tue, 11 May 2004 22:17:01 -0400 Subject: Re: [patch] really-ptrace-single-step From: Fabiano Ramos To: Davide Libenzi Cc: Andrew Morton , Linux Kernel Mailing List In-Reply-To: References: <1084296680.2912.8.camel@slack.domain.invalid> <20040511171740.6aa32cd1.akpm@osdl.org> <1084323876.1838.14.camel@slack.domain.invalid> Content-Type: text/plain Message-Id: <1084328384.1753.7.camel@slack.domain.invalid> Mime-Version: 1.0 X-Mailer: Ximian Evolution 1.4.5 Date: Tue, 11 May 2004 23:19:45 -0300 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 2004-05-11 at 22:06, Davide Libenzi wrote: > On Tue, 11 May 2004, Fabiano Ramos wrote: > > > Sorry for that. > > By the way the email was sent in response to the first > > patch, not for the second version. > > The second version works for me. Pls give it a spin. > > > - Davide Seems to be working just fine on 2.6.5 and 2.6.6. Tracing the following code (tracer appended) would produce: 8050cd6: b8 c7 00 00 00 mov $0xc7,%eax 8050cdb: cd 80 int $0x80 8050cdd: 3d 00 f0 ff ff cmp $0xfffff000,%eax 8050ce2: 76 f0 jbe 8050cd4 <__getuid+0x14> EIP = 0x08050cd6 EIP = 0x08050cdb EIP = 0x08050cdd EIP = 0x08050ce2 --------- TRACER ----------- #include #include #include #include #include #include #include #include #include #include #include #include extern char **environ; int main(int argc, char **argv) { struct user_regs_struct regs; int wait_val; /* child's return value */ int pid; /* child's process id */ long long totalinstr=0; /* # of intr executed */ unsigned char opcode; /* syscall opcode goes in one byte */ int i; /* printing options */ printf("\n\nPTRACE: Will execute \""); for (i=1; i