On Tue, 5 Jan 2010 16:47:25 +0100 Oleg Nesterov <o...@redhat.com> wrote:
> On 01/05, Oleg Nesterov wrote: > > > > Anyway. I modified the debugging patch a bit: > > > > --- K/arch/s390/kernel/traps.c~ 2009-12-22 10:41:52.909174198 -0500 > > +++ K/arch/s390/kernel/traps.c 2010-01-05 09:49:19.541792379 -0500 > > @@ -384,6 +384,8 @@ void __kprobes do_single_step(struct pt_ > > } > > if (tracehook_consider_fatal_signal(current, SIGTRAP)) > > force_sig(SIGTRAP, current); > > + else > > + printk("XXX: %d %d\n", current->pid, > > test_thread_flag(TIF_SINGLE_STEP)); > > } > > > > static void default_trap_handler(struct pt_regs * regs, long > > interruption_code) > > ------------------------------------------------------------------------------- > > Ah, please ignore. I guess TIF_SINGLE_STEP was already cleared by the caller > in entry.S Yes, TIF_SINGLE_STEP is checked in entry.S and cleared before do_signal is called. That is the "ni" instruction at sysc_singlestep and sysc_sigpending. -- blue skies, Martin. "Reality continues to ruin my life." - Calvin.