Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq
[platform/adaptation/renesas_rcar/renesas_kernel.git] / arch / sparc64 / kernel / sys_sparc32.c
index 1aa4288..97b77fb 100644 (file)
@@ -359,7 +359,8 @@ int cp_compat_stat(struct kstat *stat, struct compat_stat __user *statbuf)
        return err;
 }
 
-int cp_compat_stat64(struct kstat *stat, struct compat_stat64 __user *statbuf)
+static int cp_compat_stat64(struct kstat *stat,
+                           struct compat_stat64 __user *statbuf)
 {
        int err;
 
@@ -867,44 +868,15 @@ asmlinkage unsigned long sys32_mremap(unsigned long addr,
        unsigned long old_len, unsigned long new_len,
        unsigned long flags, u32 __new_addr)
 {
-       struct vm_area_struct *vma;
        unsigned long ret = -EINVAL;
        unsigned long new_addr = __new_addr;
 
-       if (old_len > STACK_TOP32 || new_len > STACK_TOP32)
+       if (unlikely(sparc_mmap_check(addr, old_len)))
                goto out;
-       if (addr > STACK_TOP32 - old_len)
+       if (unlikely(sparc_mmap_check(new_addr, new_len)))
                goto out;
        down_write(&current->mm->mmap_sem);
-       if (flags & MREMAP_FIXED) {
-               if (new_addr > STACK_TOP32 - new_len)
-                       goto out_sem;
-       } else if (addr > STACK_TOP32 - new_len) {
-               unsigned long map_flags = 0;
-               struct file *file = NULL;
-
-               ret = -ENOMEM;
-               if (!(flags & MREMAP_MAYMOVE))
-                       goto out_sem;
-
-               vma = find_vma(current->mm, addr);
-               if (vma) {
-                       if (vma->vm_flags & VM_SHARED)
-                               map_flags |= MAP_SHARED;
-                       file = vma->vm_file;
-               }
-
-               /* MREMAP_FIXED checked above. */
-               new_addr = get_unmapped_area(file, addr, new_len,
-                                   vma ? vma->vm_pgoff : 0,
-                                   map_flags);
-               ret = new_addr;
-               if (new_addr & ~PAGE_MASK)
-                       goto out_sem;
-               flags |= MREMAP_FIXED;
-       }
        ret = do_mremap(addr, old_len, new_len, flags, new_addr);
-out_sem:
        up_write(&current->mm->mmap_sem);
 out:
        return ret;