Kill ancient crap in s390 compat mmap
authorAl Viro <viro@zeniv.linux.org.uk>
Mon, 30 Nov 2009 21:52:36 +0000 (16:52 -0500)
committerAl Viro <viro@zeniv.linux.org.uk>
Fri, 11 Dec 2009 11:34:09 +0000 (06:34 -0500)
We've had TASK_SIZE set to 1<<31 for 31bit tasks since May 2004.
Before that old32_mmap() had to deal with do_mmap_pgoff() giving
it an address out of range.  It had tried to do that by checking
return value and doing do_munmap() (at wrong address, BTW).

IOW, that code had been dead for 5.5 years (and bogus - for 8).
Kill.

Acked-by: Hugh Dickins <hugh.dickins@tiscali.co.uk>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
arch/s390/kernel/compat_linux.c

index 25c31d681402f1c43e140232dd8c7cbfa6166a0f..11556aa6bf17a2b29e8aeeacee21021d54eec913 100644 (file)
@@ -642,11 +642,6 @@ static inline long do_mmap2(
 
        down_write(&current->mm->mmap_sem);
        error = do_mmap_pgoff(file, addr, len, prot, flags, pgoff);
-       if (!IS_ERR((void *) error) && error + len >= 0x80000000ULL) {
-               /* Result is out of bounds.  */
-               do_munmap(current->mm, addr, len);
-               error = -ENOMEM;
-       }
        up_write(&current->mm->mmap_sem);
 
        if (file)