lkml.org 
[lkml]   [2008]   [Mar]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH] x86_64 ia32 ptrace vs -ENOSYS sysenter/syscall
    Date
    The previous "x86_64 ia32 ptrace vs -ENOSYS" fix only covered
    the int $0x80 system call entries. This does the same fix
    for the sysenter and syscall instruction paths.

    Signed-off-by: Roland McGrath <roland@redhat.com>
    ---
    arch/x86/ia32/ia32entry.S | 8 ++++++--
    1 files changed, 6 insertions(+), 2 deletions(-)

    diff --git a/arch/x86/ia32/ia32entry.S b/arch/x86/ia32/ia32entry.S
    index eafb0b9..b5e329d 100644
    --- a/arch/x86/ia32/ia32entry.S
    +++ b/arch/x86/ia32/ia32entry.S
    @@ -162,12 +162,14 @@ sysenter_tracesys:
    SAVE_REST
    CLEAR_RREGS
    movq %r9,R9(%rsp)
    - movq $-ENOSYS,RAX(%rsp) /* really needed? */
    + movq $-ENOSYS,RAX(%rsp)/* ptrace can change this for a bad syscall */
    movq %rsp,%rdi /* &pt_regs -> arg1 */
    call syscall_trace_enter
    LOAD_ARGS32 ARGOFFSET /* reload args from stack in case ptrace changed it */
    RESTORE_REST
    xchgl %ebp,%r9d
    + cmpl $(IA32_NR_syscalls-1),%eax
    + ja int_ret_from_sys_call /* sysenter_tracesys has set RAX(%rsp) */
    jmp sysenter_do_call
    CFI_ENDPROC
    ENDPROC(ia32_sysenter_target)
    @@ -261,13 +263,15 @@ cstar_tracesys:
    SAVE_REST
    CLEAR_RREGS
    movq %r9,R9(%rsp)
    - movq $-ENOSYS,RAX(%rsp) /* really needed? */
    + movq $-ENOSYS,RAX(%rsp) /* ptrace can change this for a bad syscall */
    movq %rsp,%rdi /* &pt_regs -> arg1 */
    call syscall_trace_enter
    LOAD_ARGS32 ARGOFFSET /* reload args from stack in case ptrace changed it */
    RESTORE_REST
    xchgl %ebp,%r9d
    movl RSP-ARGOFFSET(%rsp), %r8d
    + cmpl $(IA32_NR_syscalls-1),%eax
    + ja int_ret_from_sys_call /* cstar_tracesys has set RAX(%rsp) */
    jmp cstar_do_call
    END(ia32_cstar_target)


    \
     
     \ /
      Last update: 2008-03-19 22:43    [W:0.023 / U:33.248 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site