Updated micscif/miscif_api.c for new get_user_pages() function.
authorAaron Taylor <ataylor@subgeniuskitty.com>
Sun, 2 May 2021 04:30:41 +0000 (21:30 -0700)
committerAaron Taylor <ataylor@subgeniuskitty.com>
Sun, 2 May 2021 04:30:41 +0000 (21:30 -0700)
At some point the function prototype changed from this:

    long get_user_pages(struct task_struct *tsk, struct mm_struct *mm,
                unsigned long start, unsigned long nr_pages,
                int write, int force, struct page **pages,
                struct vm_area_struct **vmas);

into this:

    long get_user_pages(unsigned long start, unsigned long nr_pages,
                    unsigned int gup_flags, struct page **pages,
                    struct vm_area_struct **vmas);

With the individual 'write' and 'force' flags transforming into gup_flags per
this patch:

    https://patchwork.kernel.org/project/linux-arm-kernel/patch/20161013002020.3062-7-lstoakes@gmail.com/

micscif/micscif_api.c

index e13e59d..d86cb05 100644 (file)
@@ -1982,12 +1982,9 @@ retry:
                }
 
                pinned_pages->nr_pages = get_user_pages(
                }
 
                pinned_pages->nr_pages = get_user_pages(
-                               current,
-                               mm,
                                (uint64_t)addr,
                                nr_pages,
                                (uint64_t)addr,
                                nr_pages,
-                               !!(prot & SCIF_PROT_WRITE),
-                               0,
+                               prot & SCIF_PROT_WRITE ? FOLL_WRITE : 0,
                                pinned_pages->pages,
                                pinned_pages->vma);
                up_write(&mm->mmap_sem);
                                pinned_pages->pages,
                                pinned_pages->vma);
                up_write(&mm->mmap_sem);