mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-04-01 12:04:08 +00:00
ia64: kill thread_matches(), unexport ptrace_check_attach()
The ia64 function "thread_matches()" has no users since commit
e868a55c2a
("[IA64] remove find_thread_for_addr()"). Remove it.
This allows us to make ptrace_check_attach() static to kernel/ptrace.c,
which is good since we'll need to change the semantics of it and fix up
all the callers.
Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
5da1f88b8b
commit
edea0d03ee
3 changed files with 1 additions and 29 deletions
|
@ -672,33 +672,6 @@ ptrace_attach_sync_user_rbs (struct task_struct *child)
|
||||||
read_unlock(&tasklist_lock);
|
read_unlock(&tasklist_lock);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int
|
|
||||||
thread_matches (struct task_struct *thread, unsigned long addr)
|
|
||||||
{
|
|
||||||
unsigned long thread_rbs_end;
|
|
||||||
struct pt_regs *thread_regs;
|
|
||||||
|
|
||||||
if (ptrace_check_attach(thread, 0) < 0)
|
|
||||||
/*
|
|
||||||
* If the thread is not in an attachable state, we'll
|
|
||||||
* ignore it. The net effect is that if ADDR happens
|
|
||||||
* to overlap with the portion of the thread's
|
|
||||||
* register backing store that is currently residing
|
|
||||||
* on the thread's kernel stack, then ptrace() may end
|
|
||||||
* up accessing a stale value. But if the thread
|
|
||||||
* isn't stopped, that's a problem anyhow, so we're
|
|
||||||
* doing as well as we can...
|
|
||||||
*/
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
thread_regs = task_pt_regs(thread);
|
|
||||||
thread_rbs_end = ia64_get_user_rbs_end(thread, thread_regs, NULL);
|
|
||||||
if (!on_kernel_rbs(addr, thread_regs->ar_bspstore, thread_rbs_end))
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
return 1; /* looks like we've got a winner */
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Write f32-f127 back to task->thread.fph if it has been modified.
|
* Write f32-f127 back to task->thread.fph if it has been modified.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -45,7 +45,6 @@ extern long arch_ptrace(struct task_struct *child, long request,
|
||||||
extern int ptrace_readdata(struct task_struct *tsk, unsigned long src, char __user *dst, int len);
|
extern int ptrace_readdata(struct task_struct *tsk, unsigned long src, char __user *dst, int len);
|
||||||
extern int ptrace_writedata(struct task_struct *tsk, char __user *src, unsigned long dst, int len);
|
extern int ptrace_writedata(struct task_struct *tsk, char __user *src, unsigned long dst, int len);
|
||||||
extern void ptrace_disable(struct task_struct *);
|
extern void ptrace_disable(struct task_struct *);
|
||||||
extern int ptrace_check_attach(struct task_struct *task, bool ignore_state);
|
|
||||||
extern int ptrace_request(struct task_struct *child, long request,
|
extern int ptrace_request(struct task_struct *child, long request,
|
||||||
unsigned long addr, unsigned long data);
|
unsigned long addr, unsigned long data);
|
||||||
extern void ptrace_notify(int exit_code);
|
extern void ptrace_notify(int exit_code);
|
||||||
|
|
|
@ -139,7 +139,7 @@ void __ptrace_unlink(struct task_struct *child)
|
||||||
* RETURNS:
|
* RETURNS:
|
||||||
* 0 on success, -ESRCH if %child is not ready.
|
* 0 on success, -ESRCH if %child is not ready.
|
||||||
*/
|
*/
|
||||||
int ptrace_check_attach(struct task_struct *child, bool ignore_state)
|
static int ptrace_check_attach(struct task_struct *child, bool ignore_state)
|
||||||
{
|
{
|
||||||
int ret = -ESRCH;
|
int ret = -ESRCH;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue