lkml.org 
[lkml]   [2008]   [Mar]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [PATCH] x86: fix typo(?) in step.c
Date
> Roland - i guess this means block-stepping (a new ptrace feature in .25) 
> is not particularly well-tested. Do you have any standalone testcases
> that could be run?

I'm pretty sure that noone really uses it yet. The test I used when I
originally wrote the feature is in the ptrace-tests suite. (See
http://sourceware.org/systemtap/wiki/utrace/tests about that suite.)
I haven't particularly tested it since then, if it got broken later.

http://sources.redhat.com/cgi-bin/cvsweb.cgi/tests/ptrace-tests/tests/block-step.c?cvsroot=systemtap

Be sure to compile with current kernel-headers, or hand-tweak to define
PTRACE_SINGLEBLOCK. Use -std=gnu99 -D_GNU_SOURCE.

The bogon came in commit eee3af4a2c83a97fff107ddc445d9df6fded9ce4,
the introduction of the ptrace BTS stuff. Sorry I did not scour and
cite every problem in that patch, since I had NAK'd the entire thing
as needing more careful review and incremental introduction after 2.6.25.

As I said then, one of my concerns was with the low-level tweaks not yet
sufficiently baked, independent from my reservations about the ptrace
feature. Your #if'ing out of the user ABI additions for 2.6.25 does
nothing to remove the unknown new risks from all the tweaks with fingers in
the low-level arch stuff. This is the sort of thing I was concerned about.
(And this one is easy.)

The block-step test only tested that PTRACE_SINGLEBLOCK worked right.
I just souped it up to also test that PTRACE_SINGLESTEP still works
immediately afterwards. This still does not show any problem from this
bug. The case that would be broken by it is rather more arcane. I
haven't worked out the test case that fails with the bogon.


Thanks,
Roland


\
 
 \ /
  Last update: 2008-03-06 08:55    [W:0.073 / U:0.084 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site