Re: s390 && user_enable_single_step() (Was: odd utrace testing results on s390x)

Martin Schwidefsky
2010-01-05T15:51:00Z

On Tue, 5 Jan 2010 16:47:25 +0100
Oleg Nesterov <oleg@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.