mm/mmap.c: fix arithmetic overflow in __vm_enough_memory()
[deliverable/linux.git] / mm / nommu.c
index 28bd8c4dff6feb3b0194118781a4d1267d42bded..4d1b8a19986770ad56f5ad58dc9d0250745851da 100644 (file)
@@ -214,6 +214,39 @@ long get_user_pages(struct task_struct *tsk, struct mm_struct *mm,
 }
 EXPORT_SYMBOL(get_user_pages);
 
+long get_user_pages_locked(struct task_struct *tsk, struct mm_struct *mm,
+                          unsigned long start, unsigned long nr_pages,
+                          int write, int force, struct page **pages,
+                          int *locked)
+{
+       return get_user_pages(tsk, mm, start, nr_pages, write, force,
+                             pages, NULL);
+}
+EXPORT_SYMBOL(get_user_pages_locked);
+
+long __get_user_pages_unlocked(struct task_struct *tsk, struct mm_struct *mm,
+                              unsigned long start, unsigned long nr_pages,
+                              int write, int force, struct page **pages,
+                              unsigned int gup_flags)
+{
+       long ret;
+       down_read(&mm->mmap_sem);
+       ret = get_user_pages(tsk, mm, start, nr_pages, write, force,
+                            pages, NULL);
+       up_read(&mm->mmap_sem);
+       return ret;
+}
+EXPORT_SYMBOL(__get_user_pages_unlocked);
+
+long get_user_pages_unlocked(struct task_struct *tsk, struct mm_struct *mm,
+                            unsigned long start, unsigned long nr_pages,
+                            int write, int force, struct page **pages)
+{
+       return __get_user_pages_unlocked(tsk, mm, start, nr_pages, write,
+                                        force, pages, 0);
+}
+EXPORT_SYMBOL(get_user_pages_unlocked);
+
 /**
  * follow_pfn - look up PFN at a user virtual address
  * @vma: memory mapping
@@ -1984,14 +2017,6 @@ void filemap_map_pages(struct vm_area_struct *vma, struct vm_fault *vmf)
 }
 EXPORT_SYMBOL(filemap_map_pages);
 
-int generic_file_remap_pages(struct vm_area_struct *vma, unsigned long addr,
-                            unsigned long size, pgoff_t pgoff)
-{
-       BUG();
-       return 0;
-}
-EXPORT_SYMBOL(generic_file_remap_pages);
-
 static int __access_remote_vm(struct task_struct *tsk, struct mm_struct *mm,
                unsigned long addr, void *buf, int len, int write)
 {
This page took 0.037169 seconds and 5 git commands to generate.