1. 17 7月, 2008 4 次提交
    • R
      x86 ptrace: unify syscall tracing · d4d67150
      Roland McGrath 提交于
      This unifies and cleans up the syscall tracing code on i386 and x86_64.
      
      Using a single function for entry and exit tracing on 32-bit made the
      do_syscall_trace() into some terrible spaghetti.  The logic is clear and
      simple using separate syscall_trace_enter() and syscall_trace_leave()
      functions as on 64-bit.
      
      The unification adds PTRACE_SYSEMU and PTRACE_SYSEMU_SINGLESTEP support
      on x86_64, for 32-bit ptrace() callers and for 64-bit ptrace() callers
      tracing either 32-bit or 64-bit tasks.  It behaves just like 32-bit.
      
      Changing syscall_trace_enter() to return the syscall number shortens
      all the assembly paths, while adding the SYSEMU feature in a simple way.
      Signed-off-by: NRoland McGrath <roland@redhat.com>
      d4d67150
    • R
      x86 ptrace: unify TIF_SINGLESTEP · 64f09733
      Roland McGrath 提交于
      This unifies the treatment of TIF_SINGLESTEP on i386 and x86_64.
      The bit is now excluded from _TIF_WORK_MASK on i386 as it has been
      on x86_64.  This means the do_notify_resume() path using it is never
      used, so TIF_SINGLESTEP is not cleared on returning to user mode.
      
      Both now leave TIF_SINGLESTEP set when returning to user, so that
      it's already set on an int $0x80 system call entry.  This removes
      the need for testing TF on the system_call path.  Doing it this way
      fixes the regression for PTRACE_SINGLESTEP into a sigreturn syscall,
      introduced by commit 1e2e99f0.
      
      The clear_TF_reenable case that sets TIF_SINGLESTEP can only happen
      on a non-exception kernel entry, i.e. sysenter/syscall instruction.
      That will always get to the syscall exit tracing path.
      Signed-off-by: NRoland McGrath <roland@redhat.com>
      64f09733
    • R
      x86 ptrace: block-step fix · 6718d0d6
      Roland McGrath 提交于
      The enable_single_step() logic bails out early if TF is already set.
      That skips some of the bookkeeping that keeps things straight.
      This makes PTRACE_SINGLEBLOCK break the behavior of a user task
      that was already setting TF itself in user mode.
      
      Fix the bookkeeping to notice the old TF setting as it should.
      
      Test case at: http://sources.redhat.com/cgi-bin/cvsweb.cgi/~checkout~/tests/ptrace-tests/tests/step-jump-cont-strict.c?cvsroot=systemtapSigned-off-by: NRoland McGrath <roland@redhat.com>
      6718d0d6
    • K
      powerpc/ep8248e: Fix compile problem if !CONFIG_FS_ENET · e3621ee6
      Kumar Gala 提交于
      If we don't enable FS_ENET we get build issues:
      
      arch/powerpc/platforms/built-in.o: In function `ep8248e_mdio_probe':
      arch/powerpc/platforms/82xx/ep8248e.c:129: undefined reference to `alloc_mdio_bitbang'
      arch/powerpc/platforms/82xx/ep8248e.c:143: undefined reference to `mdiobus_register'
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      e3621ee6
  2. 16 7月, 2008 36 次提交