If I understand correctly, we are not going to have CONFIG_UTRACE_PTRACE,
CONFIG_UTRACE should use utrace-ptrace unconditionally.

Remove CONFIG_UTRACE_PTRACE. I do not know where is the right place for
CONFIG_UTRACE option and what the help text should say, I assume you can
fix this patch or make the necessary changes on top.

---

 init/Kconfig    |   20 +-------------------
 kernel/utrace.c |    2 --
 2 files changed, 1 insertion(+), 21 deletions(-)

--- UTRACE-PTRACE/init/Kconfig~139_KILL_CONFIG_UTRACE_PTRACE    2009-11-13 
18:00:06.000000000 +0100
+++ UTRACE-PTRACE/init/Kconfig  2009-11-22 17:05:10.000000000 +0100
@@ -1205,7 +1205,7 @@ config STOP_MACHINE
        help
          Need stop_machine() primitive.
 
-menuconfig UTRACE
+config UTRACE
        bool "Infrastructure for tracing and debugging user processes"
        depends on EXPERIMENTAL
        depends on HAVE_ARCH_TRACEHOOK
@@ -1214,24 +1214,6 @@ menuconfig UTRACE
          kernel interface exported to kernel modules, to track events in
          user threads, extract and change user thread state.
 
-config UTRACE_PTRACE
-       bool "utrace-based ptrace (EXPERIMENTAL)"
-       default y if UTRACE
-       depends on UTRACE
-       help
-         This changes the implementation of ptrace() to cooperate with the
-         utrace facility.  Without this option, using any utrace facility
-         on a task that anything also uses ptrace() on (i.e.  usual
-         debuggers, strace, etc) fails with -EBUSY; likewise, if utrace is
-         in use on a task, the ptrace() system call on that task will fail
-         with EBUSY.  With this option, the ptrace() implementation is
-         changed to work via utrace facilities and the two cooperate well.
-
-         It's recommended to enable this if you are experimenting with
-         new modules that use utrace.  But, disabling it makes sure that
-         using traditional ptrace() on tasks not touched by utrace will
-         not use any experimental new code that might be unreliable.
-
 source "block/Kconfig"
 
 config PREEMPT_NOTIFIERS
--- UTRACE-PTRACE/kernel/utrace.c~139_KILL_CONFIG_UTRACE_PTRACE 2009-11-21 
15:12:27.000000000 +0100
+++ UTRACE-PTRACE/kernel/utrace.c       2009-11-21 22:41:01.000000000 +0100
@@ -897,7 +897,6 @@ relock:
        spin_unlock_irq(&task->sighand->siglock);
        spin_unlock(&utrace->lock);
 
-#ifdef CONFIG_UTRACE_PTRACE
        /*
         * If ptrace is among the reasons for this stop, do its
         * notification now.  This could not just be done in
@@ -906,7 +905,6 @@ relock:
         * synchronization with ptrace_do_wait() work right.
         */
        ptrace_notify_stop(task);
-#endif
 
        schedule();
 

Reply via email to