Messages in this thread Patch in this message | | | From | Srikar Dronamraju <> | Date | Mon, 12 Mar 2012 14:56:06 +0530 | Subject | [PATCH v2 5/7] x86/trivial: Fix 'old_rsp' undefined build failure when including asm/compat.h |
| |
From: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
Including asm/compat.h in arch/x86/kernel/signal.c and compiling on a i386 machine results in old_rsp undefined build errors.
old_rsp is defined under CONFIG_X86_64. Hence add a i386 specific arch_compat_alloc_user_space that doesnt depend on old_rsp. Will be further cleaned up when is_ia32_compat_task is introduced.
This is pure cleanup, no functional change intended.
Signed-off-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com> --- arch/x86/include/asm/compat.h | 10 ++++++++++ 1 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/arch/x86/include/asm/compat.h b/arch/x86/include/asm/compat.h index 355edc0..ba9e9dc 100644 --- a/arch/x86/include/asm/compat.h +++ b/arch/x86/include/asm/compat.h @@ -221,6 +221,7 @@ static inline compat_uptr_t ptr_to_compat(void __user *uptr) return (u32)(unsigned long)uptr; } +#ifdef CONFIG_x86_64 static inline void __user *arch_compat_alloc_user_space(long len) { compat_uptr_t sp; @@ -234,6 +235,15 @@ static inline void __user *arch_compat_alloc_user_space(long len) return (void __user *)round_down(sp - len, 16); } +#else + +static inline void __user *arch_compat_alloc_user_space(long len) +{ + struct pt_regs *regs = task_pt_regs(current); + return (void __user *)regs->sp - len; +} + +#endif static inline bool is_ia32_task(void) {
| |