Re: [PATCH 3/3] mm: Make vm_insert_pfn_prot static
From: Souptick Joarder
Date: Thu Jul 26 2018 - 07:35:57 EST
On Tue, Jul 3, 2018 at 6:09 PM, Matthew Wilcox <willy@xxxxxxxxxxxxx> wrote:
> Now this is no longer used outside mm/memory.c, make it static.
>
> Signed-off-by: Matthew Wilcox <willy@xxxxxxxxxxxxx>
> ---
Any comment on this patch ?
> include/linux/mm.h | 2 --
> mm/memory.c | 50 +++++++++++++++++++++++-----------------------
> 2 files changed, 25 insertions(+), 27 deletions(-)
>
> diff --git a/include/linux/mm.h b/include/linux/mm.h
> index 3cb763a38642..703a9962103e 100644
> --- a/include/linux/mm.h
> +++ b/include/linux/mm.h
> @@ -2439,8 +2439,6 @@ int remap_pfn_range(struct vm_area_struct *, unsigned long addr,
> int vm_insert_page(struct vm_area_struct *, unsigned long addr, struct page *);
> int vm_insert_pfn(struct vm_area_struct *vma, unsigned long addr,
> unsigned long pfn);
> -int vm_insert_pfn_prot(struct vm_area_struct *vma, unsigned long addr,
> - unsigned long pfn, pgprot_t pgprot);
> vm_fault_t vmf_insert_pfn_prot(struct vm_area_struct *vma, unsigned long addr,
> unsigned long pfn, pgprot_t pgprot);
> int vm_insert_mixed(struct vm_area_struct *vma, unsigned long addr,
> diff --git a/mm/memory.c b/mm/memory.c
> index caecb4d995ac..73c5682310c7 100644
> --- a/mm/memory.c
> +++ b/mm/memory.c
> @@ -1828,31 +1828,7 @@ static int insert_pfn(struct vm_area_struct *vma, unsigned long addr,
> return retval;
> }
>
> -/**
> - * vm_insert_pfn - insert single pfn into user vma
> - * @vma: user vma to map to
> - * @addr: target user address of this page
> - * @pfn: source kernel pfn
> - *
> - * Similar to vm_insert_page, this allows drivers to insert individual pages
> - * they've allocated into a user vma. Same comments apply.
> - *
> - * This function should only be called from a vm_ops->fault handler, and
> - * in that case the handler should return NULL.
> - *
> - * vma cannot be a COW mapping.
> - *
> - * As this is called only for pages that do not currently exist, we
> - * do not need to flush old virtual caches or the TLB.
> - */
> -int vm_insert_pfn(struct vm_area_struct *vma, unsigned long addr,
> - unsigned long pfn)
> -{
> - return vm_insert_pfn_prot(vma, addr, pfn, vma->vm_page_prot);
> -}
> -EXPORT_SYMBOL(vm_insert_pfn);
> -
> -int vm_insert_pfn_prot(struct vm_area_struct *vma, unsigned long addr,
> +static int vm_insert_pfn_prot(struct vm_area_struct *vma, unsigned long addr,
> unsigned long pfn, pgprot_t pgprot)
> {
> int ret;
> @@ -1879,6 +1855,30 @@ int vm_insert_pfn_prot(struct vm_area_struct *vma, unsigned long addr,
> return ret;
> }
>
> +/**
> + * vm_insert_pfn - insert single pfn into user vma
> + * @vma: user vma to map to
> + * @addr: target user address of this page
> + * @pfn: source kernel pfn
> + *
> + * Similar to vm_insert_page, this allows drivers to insert individual pages
> + * they've allocated into a user vma. Same comments apply.
> + *
> + * This function should only be called from a vm_ops->fault handler, and
> + * in that case the handler should return NULL.
> + *
> + * vma cannot be a COW mapping.
> + *
> + * As this is called only for pages that do not currently exist, we
> + * do not need to flush old virtual caches or the TLB.
> + */
> +int vm_insert_pfn(struct vm_area_struct *vma, unsigned long addr,
> + unsigned long pfn)
> +{
> + return vm_insert_pfn_prot(vma, addr, pfn, vma->vm_page_prot);
> +}
> +EXPORT_SYMBOL(vm_insert_pfn);
> +
> /**
> * vmf_insert_pfn_prot - insert single pfn into user vma with specified pgprot
> * @vma: user vma to map to
> --
> 2.18.0
>