linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* Build failure in -next with get_user_pages_remote() API change
@ 2020-07-10 11:32 Mark Brown
  2020-07-10 12:24 ` Peter Xu
  0 siblings, 1 reply; 6+ messages in thread
From: Mark Brown @ 2020-07-10 11:32 UTC (permalink / raw)
  To: Peter Xu, John Hubbard, Andrew Morton
  Cc: Catalin Marinas, linux-next, Will Deacon, linux-arm-kernel, Steven Price


[-- Attachment #1.1: Type: text/plain, Size: 720 bytes --]

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.

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

[-- Attachment #2: Type: text/plain, Size: 176 bytes --]

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Build failure in -next with get_user_pages_remote() API change
  2020-07-10 11:32 Build failure in -next with get_user_pages_remote() API change Mark Brown
@ 2020-07-10 12:24 ` Peter Xu
  2020-07-10 13:38   ` Peter Xu
  2020-07-10 15:23   ` Catalin Marinas
  0 siblings, 2 replies; 6+ messages in thread
From: Peter Xu @ 2020-07-10 12:24 UTC (permalink / raw)
  To: Mark Brown
  Cc: John Hubbard, Steven Price, linux-next, Catalin Marinas,
	Andrew Morton, Will Deacon, linux-arm-kernel

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.

Thanks,

-- 
Peter Xu


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: Build failure in -next with get_user_pages_remote() API change
  2020-07-10 12:24 ` Peter Xu
@ 2020-07-10 13:38   ` Peter Xu
  2020-07-10 15:23   ` Catalin Marinas
  1 sibling, 0 replies; 6+ messages in thread
From: Peter Xu @ 2020-07-10 13:38 UTC (permalink / raw)
  To: Mark Brown, Andrew Morton
  Cc: John Hubbard, Steven Price, linux-next, Catalin Marinas,
	Andrew Morton, Will Deacon, linux-arm-kernel

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.

Andrew, IIUC this can still have its chance to be squashed into existing
commit, or please let me know if there's anything I can do (resend the affected
last patch, or send a fixup patch, ...).  Thanks!

-- 
Peter Xu


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Build failure in -next with get_user_pages_remote() API change
  2020-07-10 12:24 ` Peter Xu
  2020-07-10 13:38   ` Peter Xu
@ 2020-07-10 15:23   ` Catalin Marinas
  2020-07-10 22:28     ` Andrew Morton
  1 sibling, 1 reply; 6+ messages in thread
From: Catalin Marinas @ 2020-07-10 15:23 UTC (permalink / raw)
  To: Peter Xu
  Cc: John Hubbard, Steven Price, Mark Brown, linux-next,
	Andrew Morton, Will Deacon, linux-arm-kernel

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

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Build failure in -next with get_user_pages_remote() API change
  2020-07-10 15:23   ` Catalin Marinas
@ 2020-07-10 22:28     ` Andrew Morton
  2020-07-23 18:10       ` Catalin Marinas
  0 siblings, 1 reply; 6+ messages in thread
From: Andrew Morton @ 2020-07-10 22:28 UTC (permalink / raw)
  To: Catalin Marinas
  Cc: John Hubbard, Mark Brown, Peter Xu, Steven Price, linux-next,
	Will Deacon, linux-arm-kernel

On Fri, 10 Jul 2020 16:23:58 +0100 Catalin Marinas <catalin.marinas@arm.com> wrote:

> > --- 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).

Is OK.  I restaged this patch series to come after linux-next's
material and added Peter's fixup.  I'll merge this series into Linus
after the ARM tree has merged so everything will land nicely.

Happens often ;)

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Build failure in -next with get_user_pages_remote() API change
  2020-07-10 22:28     ` Andrew Morton
@ 2020-07-23 18:10       ` Catalin Marinas
  0 siblings, 0 replies; 6+ messages in thread
From: Catalin Marinas @ 2020-07-23 18:10 UTC (permalink / raw)
  To: Andrew Morton
  Cc: John Hubbard, Mark Brown, Peter Xu, Steven Price, linux-next,
	Will Deacon, linux-arm-kernel

On Fri, Jul 10, 2020 at 03:28:58PM -0700, Andrew Morton wrote:
> On Fri, 10 Jul 2020 16:23:58 +0100 Catalin Marinas <catalin.marinas@arm.com> wrote:
> > > --- 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).
> 
> Is OK.  I restaged this patch series to come after linux-next's
> material and added Peter's fixup.  I'll merge this series into Linus
> after the ARM tree has merged so everything will land nicely.

Just a heads-up that I'll drop the arm64 MTE series from -next,
postponing the merging until 5.10 (there is an ongoing discussion on the
prctl() aspect and I don't want to be forced to change the user ABI
after upstreaming). You'll get another conflict for Peter's hunk above.

Thanks.

-- 
Catalin

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2020-07-23 18:12 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-10 11:32 Build failure in -next with get_user_pages_remote() API change Mark Brown
2020-07-10 12:24 ` Peter Xu
2020-07-10 13:38   ` Peter Xu
2020-07-10 15:23   ` Catalin Marinas
2020-07-10 22:28     ` Andrew Morton
2020-07-23 18:10       ` Catalin Marinas

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).