convert to use vm_fault_t type as return type for
fault handler.
kbuild reported warning during testing of
*mm-create-the-new-vm_fault_t-type.patch* available in below link -
https://patchwork.kernel.org/patch/10752741/
[auto build test WARNING on linus/master]
[also build test WARNING on v5.0-rc1 next-20190109]
[if your patch is applied to the wrong git tree, please drop us a note
to help improve the system]
kernel/memremap.c:46:34: warning: incorrect type in return expression
(different base types)
kernel/memremap.c:46:34: expected restricted vm_fault_t
kernel/memremap.c:46:34: got int
This patch has fixed the warnings and also hmm_devmem_fault() is
converted to return vm_fault_t to avoid further warnings.
Signed-off-by: Souptick Joarder <[email protected]>
---
include/linux/hmm.h | 4 ++--
mm/hmm.c | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/include/linux/hmm.h b/include/linux/hmm.h
index 66f9ebb..ad50b7b 100644
--- a/include/linux/hmm.h
+++ b/include/linux/hmm.h
@@ -468,7 +468,7 @@ struct hmm_devmem_ops {
* Note that mmap semaphore is held in read mode at least when this
* callback occurs, hence the vma is valid upon callback entry.
*/
- int (*fault)(struct hmm_devmem *devmem,
+ vm_fault_t (*fault)(struct hmm_devmem *devmem,
struct vm_area_struct *vma,
unsigned long addr,
const struct page *page,
@@ -511,7 +511,7 @@ struct hmm_devmem_ops {
* chunk, as an optimization. It must, however, prioritize the faulting address
* over all the others.
*/
-typedef int (*dev_page_fault_t)(struct vm_area_struct *vma,
+typedef vm_fault_t (*dev_page_fault_t)(struct vm_area_struct *vma,
unsigned long addr,
const struct page *page,
unsigned int flags,
diff --git a/mm/hmm.c b/mm/hmm.c
index a04e4b8..fe1cd87 100644
--- a/mm/hmm.c
+++ b/mm/hmm.c
@@ -990,7 +990,7 @@ static void hmm_devmem_ref_kill(struct percpu_ref *ref)
percpu_ref_kill(ref);
}
-static int hmm_devmem_fault(struct vm_area_struct *vma,
+static vm_fault_t hmm_devmem_fault(struct vm_area_struct *vma,
unsigned long addr,
const struct page *page,
unsigned int flags,
--
1.9.1
On Thu, Jan 10, 2019 at 08:29:00PM +0530, Souptick Joarder wrote:
> convert to use vm_fault_t type as return type for
> fault handler.
>
> kbuild reported warning during testing of
> *mm-create-the-new-vm_fault_t-type.patch* available in below link -
> https://patchwork.kernel.org/patch/10752741/
>
> [auto build test WARNING on linus/master]
> [also build test WARNING on v5.0-rc1 next-20190109]
> [if your patch is applied to the wrong git tree, please drop us a note
> to help improve the system]
>
> kernel/memremap.c:46:34: warning: incorrect type in return expression
> (different base types)
> kernel/memremap.c:46:34: expected restricted vm_fault_t
> kernel/memremap.c:46:34: got int
>
> This patch has fixed the warnings and also hmm_devmem_fault() is
> converted to return vm_fault_t to avoid further warnings.
>
> Signed-off-by: Souptick Joarder <[email protected]>
Reviewed-by: J?r?me Glisse <[email protected]>
> ---
> include/linux/hmm.h | 4 ++--
> mm/hmm.c | 2 +-
> 2 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/include/linux/hmm.h b/include/linux/hmm.h
> index 66f9ebb..ad50b7b 100644
> --- a/include/linux/hmm.h
> +++ b/include/linux/hmm.h
> @@ -468,7 +468,7 @@ struct hmm_devmem_ops {
> * Note that mmap semaphore is held in read mode at least when this
> * callback occurs, hence the vma is valid upon callback entry.
> */
> - int (*fault)(struct hmm_devmem *devmem,
> + vm_fault_t (*fault)(struct hmm_devmem *devmem,
> struct vm_area_struct *vma,
> unsigned long addr,
> const struct page *page,
> @@ -511,7 +511,7 @@ struct hmm_devmem_ops {
> * chunk, as an optimization. It must, however, prioritize the faulting address
> * over all the others.
> */
> -typedef int (*dev_page_fault_t)(struct vm_area_struct *vma,
> +typedef vm_fault_t (*dev_page_fault_t)(struct vm_area_struct *vma,
> unsigned long addr,
> const struct page *page,
> unsigned int flags,
> diff --git a/mm/hmm.c b/mm/hmm.c
> index a04e4b8..fe1cd87 100644
> --- a/mm/hmm.c
> +++ b/mm/hmm.c
> @@ -990,7 +990,7 @@ static void hmm_devmem_ref_kill(struct percpu_ref *ref)
> percpu_ref_kill(ref);
> }
>
> -static int hmm_devmem_fault(struct vm_area_struct *vma,
> +static vm_fault_t hmm_devmem_fault(struct vm_area_struct *vma,
> unsigned long addr,
> const struct page *page,
> unsigned int flags,
> --
> 1.9.1
>