[tip:x86/urgent] x86, compat: Correct broken TASK_SIZE for ia32 a.out binaries

From: tip-bot for Al Viro
Date: Sun May 06 2012 - 13:23:56 EST


Commit-ID: 2be8e9ec677d6dfd4268b80e1ccd7d21777b86e3
Gitweb: http://git.kernel.org/tip/2be8e9ec677d6dfd4268b80e1ccd7d21777b86e3
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
AuthorDate: Sun, 6 May 2012 17:20:00 +0100
Committer: H. Peter Anvin <hpa@xxxxxxxxx>
CommitDate: Sun, 6 May 2012 09:53:15 -0700

x86, compat: Correct broken TASK_SIZE for ia32 a.out binaries

Setting TIF_IA32 in load_aout_binary() used to be enough; these days
TASK_SIZE is controlled by TIF_ADDR32 and that one doesn't get set
there. Switch to use of set_personality_ia32()...

Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Link: http://lkml.kernel.org/r/20120506162000.GT6871@xxxxxxxxxxxxxxxxxx
Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxx>
---
arch/x86/ia32/ia32_aout.c | 3 +--
1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/arch/x86/ia32/ia32_aout.c b/arch/x86/ia32/ia32_aout.c
index d511d95..4c979cf 100644
--- a/arch/x86/ia32/ia32_aout.c
+++ b/arch/x86/ia32/ia32_aout.c
@@ -296,8 +296,7 @@ static int load_aout_binary(struct linux_binprm *bprm, struct pt_regs *regs)

/* OK, This is the point of no return */
set_personality(PER_LINUX);
- set_thread_flag(TIF_IA32);
- current->mm->context.ia32_compat = 1;
+ set_personality_ia32(false);

setup_new_exec(bprm);

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/