X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=fs%2Fbinfmt_aout.c;h=0cfa5a655aa634afe0ec2a8242adaa04444ed6a4;hb=43bc926fffd92024b46cafaf7350d669ba9ca884;hp=5bef1b5bb1933324ef484c9a26817da3011abd37;hpb=8e8ece46a861c84343256819eaec77e608ff9217;p=linux-2.6.git diff --git a/fs/binfmt_aout.c b/fs/binfmt_aout.c index 5bef1b5bb..0cfa5a655 100644 --- a/fs/binfmt_aout.c +++ b/fs/binfmt_aout.c @@ -34,8 +34,6 @@ static int load_aout_binary(struct linux_binprm *, struct pt_regs * regs); static int load_aout_library(struct file*); static int aout_core_dump(long signr, struct pt_regs * regs, struct file *file); -extern void dump_thread(struct pt_regs *, struct user *); - static struct linux_binfmt aout_format = { .module = THIS_MODULE, .load_binary = load_aout_binary, @@ -149,14 +147,14 @@ static int aout_core_dump(long signr, struct pt_regs * regs, struct file *file) /* make sure we actually have a data and stack area to dump */ set_fs(USER_DS); #ifdef __sparc__ - if (verify_area(VERIFY_READ, (void __user *)START_DATA(dump), dump.u_dsize)) + if (!access_ok(VERIFY_READ, (void __user *)START_DATA(dump), dump.u_dsize)) dump.u_dsize = 0; - if (verify_area(VERIFY_READ, (void __user *)START_STACK(dump), dump.u_ssize)) + if (!access_ok(VERIFY_READ, (void __user *)START_STACK(dump), dump.u_ssize)) dump.u_ssize = 0; #else - if (verify_area(VERIFY_READ, (void __user *)START_DATA(dump), dump.u_dsize << PAGE_SHIFT)) + if (!access_ok(VERIFY_READ, (void __user *)START_DATA(dump), dump.u_dsize << PAGE_SHIFT)) dump.u_dsize = 0; - if (verify_area(VERIFY_READ, (void __user *)START_STACK(dump), dump.u_ssize << PAGE_SHIFT)) + if (!access_ok(VERIFY_READ, (void __user *)START_STACK(dump), dump.u_ssize << PAGE_SHIFT)) dump.u_ssize = 0; #endif @@ -317,8 +315,8 @@ static int load_aout_binary(struct linux_binprm * bprm, struct pt_regs * regs) current->mm->brk = ex.a_bss + (current->mm->start_brk = N_BSSADDR(ex)); current->mm->free_area_cache = current->mm->mmap_base; + current->mm->cached_hole_size = 0; - vx_rsspages_sub(current->mm, current->mm->rss); current->mm->mmap = NULL; compute_creds(bprm); current->flags &= ~PF_FORKNOEXEC;