[PATCH 0/2] Was: [RFC v2 00/19] utrace for 3.0 kernel

Oleg Nesterov oleg at redhat.com
Fri Jul 1 20:18:53 UTC 2011


On 07/01, Oleg Nesterov wrote:
>
> Another attempt. This version tries to decouple utrace and ptrace.
> This way it is much simpler to follow the upstream changes, afaics.
>
> TODO:
>
> 	- The single-stepping updates in ptrace_resume() can race
> 	  with utrace_reset()->user_disable_single_step().
>
> 	  This was fixed by 20/20, but I noticed that this patch
> 	  is buggy right before sending.

1/2 replaces 19/19 I sent yesterday, 2/2 fixes the race above.

The whole series is available in the following git branch

  git://git.kernel.org/pub/scm/linux/kernel/git/oleg/misc.git utrace

Oleg Nesterov (19):
      utrace: remove jobctl bits
      ptrace: take ->siglock around s/TRACED/RUNNING/
      introduce wake_up_quiescent()
      introduce ptrace_signal_wake_up()
      wait_task_inactive: treat task->state and match_state as bitmasks
      introduce TASK_UTRACED state
      utrace: use TASK_UTRACED instead of TASK_TRACED
      tracehooks: kill tracehook_finish_jctl(), add tracehook_finish_stop()
      teach wake_up_quiescent() to do "selective" wake_up
      ptrace_stop: do not assume the task is running after wake_up_quiescent()
      get_signal_to_deliver: restructure utrace/ptrace signal reporting
      introduce ptrace_set_syscall_trace()
      introduce PT_SYSCALL_TRACE flag
      utrace: don't clear TIF_SYSCALL_TRACE if it is needed by ptrace
      introduce task_utrace_lock/task_utrace_unlock
      teach ptrace_set_syscall_trace() to play well with utrace
      introduce PT_SINGLE_STEP and PT_SINGLE_BLOCK
      utrace: finish_resume_report: don't do user_xxx_step() if ptrace_wants_step()
      ptrace: shift user_*_step() from ptrace_resume() to ptrace_stop()

Roland McGrath (1):
      utrace core

 Documentation/DocBook/Makefile    |    2 +-
 Documentation/DocBook/utrace.tmpl |  589 +++++++++
 arch/x86/kernel/ptrace.c          |    1 +
 fs/proc/array.c                   |   14 +-
 include/linux/ptrace.h            |    6 +
 include/linux/sched.h             |   25 +-
 include/linux/signal.h            |    2 +
 include/linux/tracehook.h         |  100 ++-
 include/linux/utrace.h            |  701 +++++++++++
 init/Kconfig                      |    9 +
 kernel/Makefile                   |    1 +
 kernel/fork.c                     |    3 +
 kernel/ptrace.c                   |   53 +-
 kernel/sched.c                    |    2 +-
 kernel/signal.c                   |   79 +-
 kernel/utrace.c                   | 2460 +++++++++++++++++++++++++++++++++++++
 16 files changed, 3995 insertions(+), 52 deletions(-)
 create mode 100644 Documentation/DocBook/utrace.tmpl
 create mode 100644 include/linux/utrace.h
 create mode 100644 kernel/utrace.c



More information about the kernel mailing list