diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2012-11-18 12:50:10 -0500 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2012-12-19 18:07:39 -0500 |
commit | 1ca97bb541a1f5a735e697a8bba763cde3aab452 (patch) | |
tree | 548d835c0f13de780678922ba3b3ea4c841e8cd7 /arch/blackfin | |
parent | 5208ba24e7826519d310474dedaed2f84b0ab6a0 (diff) |
new helper: current_user_stack_pointer()
Cross-architecture equivalent of rdusp(); default is
user_stack_pointer(current_pt_regs()) - that works for almost all
platforms that have usp saved in pt_regs. The only exception from
that is ia64 - we want memory stack, not the backing store for
register one.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'arch/blackfin')
-rw-r--r-- | arch/blackfin/include/asm/ptrace.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/blackfin/include/asm/ptrace.h b/arch/blackfin/include/asm/ptrace.h index 10d8641180f2..c42002506a26 100644 --- a/arch/blackfin/include/asm/ptrace.h +++ b/arch/blackfin/include/asm/ptrace.h | |||
@@ -106,6 +106,7 @@ struct pt_regs { | |||
106 | #define arch_has_single_step() (1) | 106 | #define arch_has_single_step() (1) |
107 | /* common code demands this function */ | 107 | /* common code demands this function */ |
108 | #define ptrace_disable(child) user_disable_single_step(child) | 108 | #define ptrace_disable(child) user_disable_single_step(child) |
109 | #define current_user_stack_pointer() rdusp() | ||
109 | 110 | ||
110 | extern int is_user_addr_valid(struct task_struct *child, | 111 | extern int is_user_addr_valid(struct task_struct *child, |
111 | unsigned long start, unsigned long len); | 112 | unsigned long start, unsigned long len); |