diff options
author | Al Viro <viro@ftp.linux.org.uk> | 2006-01-12 04:05:38 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-12 12:08:51 -0500 |
commit | bb049232fa8fe08c90b182f378eed5017da5235c (patch) | |
tree | b8a71968d4acedf35081986584c6f24c21c68b65 /include/asm-x86_64 | |
parent | e4f17c436f8e4241995c2531372be8dd7ea6ff75 (diff) |
[PATCH] amd64: task_pt_regs()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/asm-x86_64')
-rw-r--r-- | include/asm-x86_64/compat.h | 2 | ||||
-rw-r--r-- | include/asm-x86_64/processor.h | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/include/asm-x86_64/compat.h b/include/asm-x86_64/compat.h index 3863a7da372b..b37ab8218ef0 100644 --- a/include/asm-x86_64/compat.h +++ b/include/asm-x86_64/compat.h | |||
@@ -198,7 +198,7 @@ static inline compat_uptr_t ptr_to_compat(void __user *uptr) | |||
198 | 198 | ||
199 | static __inline__ void __user *compat_alloc_user_space(long len) | 199 | static __inline__ void __user *compat_alloc_user_space(long len) |
200 | { | 200 | { |
201 | struct pt_regs *regs = (void *)current->thread.rsp0 - sizeof(struct pt_regs); | 201 | struct pt_regs *regs = task_pt_regs(current); |
202 | return (void __user *)regs->rsp - len; | 202 | return (void __user *)regs->rsp - len; |
203 | } | 203 | } |
204 | 204 | ||
diff --git a/include/asm-x86_64/processor.h b/include/asm-x86_64/processor.h index 394dd729752d..87a282b1043a 100644 --- a/include/asm-x86_64/processor.h +++ b/include/asm-x86_64/processor.h | |||
@@ -321,8 +321,8 @@ extern long kernel_thread(int (*fn)(void *), void * arg, unsigned long flags); | |||
321 | #define thread_saved_pc(t) (*(unsigned long *)((t)->thread.rsp - 8)) | 321 | #define thread_saved_pc(t) (*(unsigned long *)((t)->thread.rsp - 8)) |
322 | 322 | ||
323 | extern unsigned long get_wchan(struct task_struct *p); | 323 | extern unsigned long get_wchan(struct task_struct *p); |
324 | #define KSTK_EIP(tsk) \ | 324 | #define task_pt_regs(tsk) ((struct pt_regs *)(tsk)->thread.rsp0 - 1) |
325 | (((struct pt_regs *)(tsk->thread.rsp0 - sizeof(struct pt_regs)))->rip) | 325 | #define KSTK_EIP(tsk) (task_pt_regs(tsk)->rip) |
326 | #define KSTK_ESP(tsk) -1 /* sorry. doesn't work for syscall. */ | 326 | #define KSTK_ESP(tsk) -1 /* sorry. doesn't work for syscall. */ |
327 | 327 | ||
328 | 328 | ||