• Roland McGrath's avatar
    x86 single_step: TIF_FORCED_TF · e1f28773
    Roland McGrath authored
    This changes the single-step support to use a new thread_info flag
    TIF_FORCED_TF instead of the PT_DTRACE flag in task_struct.ptrace.
    This keeps arch implementation uses out of this non-arch field.
    
    This changes the ptrace access to eflags to mask TF and maintain
    the TIF_FORCED_TF flag directly if userland sets TF, instead of
    relying on ptrace_signal_deliver.  The 64-bit and 32-bit kernels
    are harmonized on this same behavior.  The ptrace_signal_deliver
    approach works now, but this change makes the low-level register
    access code reliable when called from different contexts than a
    ptrace stop, which will be possible in the future.
    
    The 64-bit do_debug exception handler is also changed not to clear TF
    from user-mode registers.  This matches the 32-bit kernel's behavior.
    Signed-off-by: default avatarRoland McGrath <roland@redhat.com>
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    e1f28773
process_32.c 21.3 KB