--- /dev/null
+From 318f6b228ba88a394ef560efc1bfe028ad5ae6b6 Mon Sep 17 00:00:00 2001
+From: Jiri Slaby <jslaby@suse.cz>
+Date: Wed, 10 Feb 2010 20:55:16 +0100
+Subject: x86, ia32_aout: do not kill argument mapping
+
+From: Jiri Slaby <jslaby@suse.cz>
+
+commit 318f6b228ba88a394ef560efc1bfe028ad5ae6b6 upstream.
+
+Do not set current->mm->mmap to NULL in 32-bit emulation on 64-bit
+load_aout_binary after flush_old_exec as it would destroy already
+set brpm mapping with arguments.
+
+Introduced by b6a2fea39318e43fee84fa7b0b90d68bed92d2ba
+mm: variable length argument support
+where the argument mapping in bprm was added.
+
+[ hpa: this is a regression from 2.6.22... time to kill a.out? ]
+
+Signed-off-by: Jiri Slaby <jslaby@suse.cz>
+LKML-Reference: <1265831716-7668-1-git-send-email-jslaby@suse.cz>
+Cc: Ingo Molnar <mingo@elte.hu>
+Cc: Thomas Gleixner <tglx@linutronix.de>
+Cc: Ollie Wild <aaw@google.com>
+Cc: x86@kernel.org
+Signed-off-by: H. Peter Anvin <hpa@zytor.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ arch/x86/ia32/ia32_aout.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+--- a/arch/x86/ia32/ia32_aout.c
++++ b/arch/x86/ia32/ia32_aout.c
+@@ -324,7 +324,6 @@ static int load_aout_binary(struct linux
+ current->mm->free_area_cache = TASK_UNMAPPED_BASE;
+ current->mm->cached_hole_size = 0;
+
+- current->mm->mmap = NULL;
+ compute_creds(bprm);
+ current->flags &= ~PF_FORKNOEXEC;
+