]> err.no Git - linux-2.6/commitdiff
[IA64] add missing syscall trace clear
authorAkiyama, Nobuyuki <akiyama.nobuyuk@jp.fujitsu.com>
Thu, 22 Feb 2007 13:50:38 +0000 (22:50 +0900)
committerTony Luck <tony.luck@intel.com>
Thu, 8 Mar 2007 18:27:24 +0000 (10:27 -0800)
The ptrace misses clearing the syscall trace flag.
The increased syscall overhead is retained after the trace is finished.
This case happens when strace is terminated by force.

Signed-off-by: Akiyama, Nobuyuki <akiyama.nobuyuk@jp.fujitsu.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
arch/ia64/kernel/ptrace.c

index 3f8918782e0c992721a1758c1f83e2446f5261fe..00f80324694829f5eef2e647299a8227213689f1 100644 (file)
@@ -1573,6 +1573,7 @@ sys_ptrace (long request, pid_t pid, unsigned long addr, unsigned long data)
 
              case PTRACE_DETACH:
                /* detach a process that was attached. */
+               clear_tsk_thread_flag(child, TIF_SYSCALL_TRACE);
                ret = ptrace_detach(child, data);
                goto out_tsk;