Build failure in -next with get_user_pages_remote() API change
Catalin Marinas
catalin.marinas at arm.com
Fri Jul 10 11:23:58 EDT 2020
On Fri, Jul 10, 2020 at 08:24:57AM -0400, Peter Xu wrote:
> On Fri, Jul 10, 2020 at 12:32:01PM +0100, Mark Brown wrote:
> > Today's -next fails to build in various arm64 configs with:
> >
> > arch/arm64/kernel/mte.c:225:23: error: too many arguments to function call, expected 7, have 8
> > &page, &vma, NULL);
> > ^~~~
> > ./include/linux/stddef.h:8:14: note: expanded from macro 'NULL'
> > #define NULL ((void *)0)
> > ^~~~~~~~~~~
> > ./include/linux/mm.h:1705:6: note: 'get_user_pages_remote' declared here
> > long get_user_pages_remote(struct mm_struct *mm,
> > ^
> > 1 error generated.
> >
> > caused by b7363b0ab88d66d3c (mm/gup: remove task_struct pointer for all
> > gup code) which updated the signature of get_user_pages_remote() without
> > updating the caller in mte.c.
>
> We should need to squash into "mm/gup: remove task_struct pointer for all gup
> code" with:
>
> diff --git a/arch/arm64/kernel/mte.c b/arch/arm64/kernel/mte.c
> index 934639ab225d..11e558b02a05 100644
> --- a/arch/arm64/kernel/mte.c
> +++ b/arch/arm64/kernel/mte.c
> @@ -221,7 +221,7 @@ static int __access_remote_tags(struct task_struct *tsk, struct mm_struct *mm,
> void *maddr;
> struct page *page = NULL;
>
> - ret = get_user_pages_remote(tsk, mm, addr, 1, gup_flags,
> + ret = get_user_pages_remote(mm, addr, 1, gup_flags,
> &page, &vma, NULL);
> if (ret <= 0)
> break;
>
> Seems to be a new caller merged recently, so it got left behind during the
> rebases... Sorry for not noticing that.
The mte code is only in -next but since it's based on 5.8-rc3, we can't
change it without breaking it.
Is there a stable branch somewhere with the gup patches? If not, I can
provisionally drop the affected MTE patches from -next and push them
upstream closer to the -rc1 (it's the ptrace support from MTE).
--
Catalin
More information about the linux-arm-kernel
mailing list