lkml.org 
[lkml]   [2010]   [Jan]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: s390 && user_enable_single_step() (Was: odd utrace testing results on s390x)
    On Wed,  6 Jan 2010 13:13:29 -0800 (PST)
    Roland McGrath <roland@redhat.com> wrote:

    > > However, with or without CONFIG_UTRACE, 6580807da14c423f0d0a708108e6df6ebc8bc83d
    > > is needed on s390 too, otherwise the child gets unnecessary traps.
    >
    > This confuses me. user_disable_single_step on non-current doesn't do
    > anything not already done by the memset in copy_thread. Ooh, except
    > perhaps it does not clear PSW_MASK_PER. Maybe that matters. That's
    > the only thing I can think of. Maybe Martin can make sense of it.

    The additional traps should not happen anymore with this patch:
    --
    Subject: [PATCH] clear TIF_SINGLE_STEP for new process.

    From: Martin Schwidefsky <schwidefsky@de.ibm.com>

    Clear the TIF_SINGLE_STEP bit in copy_thread. If the new process is
    not auto-attached by the tracer it is wrong to delivere SIGTRAP to
    the new process.

    Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
    ---

    arch/s390/kernel/process.c | 1 +
    1 file changed, 1 insertion(+)

    diff -urpN linux-2.6/arch/s390/kernel/process.c linux-2.6-patched/arch/s390/kernel/process.c
    --- linux-2.6/arch/s390/kernel/process.c 2009-12-03 04:51:21.000000000 +0100
    +++ linux-2.6-patched/arch/s390/kernel/process.c 2010-01-07 09:25:53.000000000 +0100
    @@ -217,6 +217,7 @@ int copy_thread(unsigned long clone_flag
    p->thread.mm_segment = get_fs();
    /* Don't copy debug registers */
    memset(&p->thread.per_info, 0, sizeof(p->thread.per_info));
    + clear_tsk_thread_flag(p, TIF_SINGLE_STEP);
    /* Initialize per thread user and system timer values */
    ti = task_thread_info(p);
    ti->user_timer = 0;
    --
    blue skies,
    Martin.
    "Reality continues to ruin my life." - Calvin.



    \
     
     \ /
      Last update: 2010-01-07 10:21    [W:4.144 / U:0.356 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site