[IA64] find thread for user rbs address
authorbibo,mao <bibo.mao@intel.com>
Tue, 30 Jan 2007 03:02:19 +0000 (11:02 +0800)
committerTony Luck <tony.luck@intel.com>
Mon, 5 Feb 2007 22:04:21 +0000 (14:04 -0800)
commit87f76d3aafe5b5e0a1d6d857088a0263b35afa6b
tree80a547e0c0a0cfe2eb1764b7a2b6410cbe5463f8
parentae0af3e3462fdada42deba30479aba70c6cf8b72
[IA64] find thread for user rbs address

I encountered one problem when running ptrace test case the situation
is this: traced process's syscall parameter needs to be accessed, but
for sys_clone system call with clone_flag (CLONE_VFORK | CLONE_VM |
SIGCHLD) parameter.  This syscall's parameter accessing result is wrong.

The reason is that vforked child process mm point is the same, but
tgid is different. Without this patch find_thread_for_addr will return
vforked process if vforked process is also stopped, but not the thread
which calls vfork syscall.

Signed-off-by: Tony Luck <tony.luck@intel.com>
arch/ia64/kernel/ptrace.c