x86 ptrace: block-step fix
authorRoland McGrath <roland@redhat.com>
Wed, 9 Jul 2008 08:07:02 +0000 (01:07 -0700)
committerRoland McGrath <roland@redhat.com>
Wed, 16 Jul 2008 19:15:16 +0000 (12:15 -0700)
commit6718d0d6da2749d3bff522e6057e97e6aa85e4d1
treea069a92fd5011eb32bc461f3a23f0fc32d72f8ec
parenta3cf859321486f69506326146ab3e2fd15c05c3f
x86 ptrace: block-step fix

The enable_single_step() logic bails out early if TF is already set.
That skips some of the bookkeeping that keeps things straight.
This makes PTRACE_SINGLEBLOCK break the behavior of a user task
that was already setting TF itself in user mode.

Fix the bookkeeping to notice the old TF setting as it should.

Test case at: http://sources.redhat.com/cgi-bin/cvsweb.cgi/~checkout~/tests/ptrace-tests/tests/step-jump-cont-strict.c?cvsroot=systemtap

Signed-off-by: Roland McGrath <roland@redhat.com>
arch/x86/kernel/step.c