git.openpandora.org
/
pandora-kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branches 'core-ipi-for-linus', 'core-locking-for-linus', 'tracing-fixes-for...
[pandora-kernel.git]
/
arch
/
x86
/
ia32
/
ia32_aout.c
diff --git
a/arch/x86/ia32/ia32_aout.c
b/arch/x86/ia32/ia32_aout.c
index
2a4d073
..
9046e4a
100644
(file)
--- a/
arch/x86/ia32/ia32_aout.c
+++ b/
arch/x86/ia32/ia32_aout.c
@@
-297,7
+297,7
@@
static int load_aout_binary(struct linux_binprm *bprm, struct pt_regs *regs)
* size limits imposed on them by creating programs with large
* arrays in the data or bss.
*/
* size limits imposed on them by creating programs with large
* arrays in the data or bss.
*/
- rlim =
current->signal->rlim[RLIMIT_DATA].rlim_cur
;
+ rlim =
rlimit(RLIMIT_DATA)
;
if (rlim >= RLIM_INFINITY)
rlim = ~0;
if (ex.a_data + ex.a_bss > rlim)
if (rlim >= RLIM_INFINITY)
rlim = ~0;
if (ex.a_data + ex.a_bss > rlim)
@@
-308,14
+308,15
@@
static int load_aout_binary(struct linux_binprm *bprm, struct pt_regs *regs)
if (retval)
return retval;
if (retval)
return retval;
- regs->cs = __USER32_CS;
- regs->r8 = regs->r9 = regs->r10 = regs->r11 = regs->r12 =
- regs->r13 = regs->r14 = regs->r15 = 0;
-
/* OK, This is the point of no return */
set_personality(PER_LINUX);
set_thread_flag(TIF_IA32);
/* OK, This is the point of no return */
set_personality(PER_LINUX);
set_thread_flag(TIF_IA32);
- clear_thread_flag(TIF_ABI_PENDING);
+
+ setup_new_exec(bprm);
+
+ regs->cs = __USER32_CS;
+ regs->r8 = regs->r9 = regs->r10 = regs->r11 = regs->r12 =
+ regs->r13 = regs->r14 = regs->r15 = 0;
current->mm->end_code = ex.a_text +
(current->mm->start_code = N_TXTADDR(ex));
current->mm->end_code = ex.a_text +
(current->mm->start_code = N_TXTADDR(ex));