lkml.org 
[lkml]   [2009]   [Dec]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subjectx86: do_debug && PTRACE_SINGLESTEP broken by 08d68323d1f0c34452e614263b212ca556dae47f
    Hi.

    do_debug() is obviously wrong wrt PTRACE_SINGLESTEP/TIF_SINGLESTEP, no?

    Afaics this was broken by

    hw-breakpoints: modifying generic debug exception to use thread-specific debug registers
    commit 08d68323d1f0c34452e614263b212ca556dae47f

    To verify, the "patch" below fixes the stepping for me, not sure what
    is the proper fix...

    Oleg.

    --- arch/x86/kernel/traps.c~ 2009-12-18 00:20:49.000000000 +0100
    +++ arch/x86/kernel/traps.c 2009-12-18 01:44:05.000000000 +0100
    @@ -575,7 +575,7 @@ dotraplinkage void __kprobes do_debug(st
    regs->flags &= ~X86_EFLAGS_TF;
    }
    si_code = get_si_code(tsk->thread.debugreg6);
    - if (tsk->thread.debugreg6 & (DR_STEP | DR_TRAP_BITS))
    +// if (tsk->thread.debugreg6 & (DR_STEP | DR_TRAP_BITS))
    send_sigtrap(tsk, regs, error_code, si_code);
    preempt_conditional_cli(regs);



    \
     
     \ /
      Last update: 2009-12-18 02:05    [W:0.028 / U:0.848 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site