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