lkml.org 
[lkml]   [2010]   [Feb]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 1/2] Blackfin: initial tracehook support
    On 02/11, Mike Frysinger wrote:
    >
    > On Thu, Feb 11, 2010 at 22:24, Roland McGrath wrote:
    >
    > > On some machines, single-step into a syscall instruction is no different
    > > from other user instructions, so the normal SIGTRAP will come afterwards
    > > anyway.
    > >
    > > On other machines, entering the kernel for the syscall instruction defeats
    > > the normal user-mode effects of single-step being enabled.  In that event,
    > > you want to call tracehook_report_syscall_exit() if single-step is enabled.
    > > You must pass a nonzero second argument if your arch code is not going to
    > > generate the normal SIGTRAP associated with having single-stepped into the
    > > syscall instruction.
    >
    > so tracehook_report_syscall_exit() checking TIF_SINGLESTEP only makes
    > sense when the arch doesnt support hardware single stepping in user
    > mode ? the Blackfin processor does support hardware single stepping
    > (and we utilize it in Linux).

    I'd like to know the answer too ;)

    But, even if x86 supports hardware single stepping, it does check
    TIF_SINGLESTEP and pass it to tracehook_report_syscall_exit(step).

    Consider PTRACE_SINGLESTEP which follows the syscall-entry stop.
    The tracee gets the trap before return to user-mode. Otherwise,
    if we just return with X86_EFLAGS_TF, it gets the trap after the
    next instruction after syscall insn. But I don't know whether
    blackfin should follow this logic.

    > also, in reading the kerneldocs for tracehook_report_syscall_exit(),
    > it says "an attempted system call". should system calls greater than
    > NR_syscall (-ENOSYS) also get traced ?

    I'd say yes, but let's wait for Roland's reply.

    Oleg.

    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2010-02-12 16:27    [W:8.081 / U:0.024 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site