Re: linux-next: build failure after merge of the mm-hotfixes tree

Stephen Rothwell
2024-07-02T23:22:42Z

[-- Attachment #1: Type: text/plain, Size: 3411 bytes --]

Hi Andrew,

On Wed, 3 Jul 2024 08:44:40 +1000 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
> On Mon, 1 Jul 2024 11:15:17 -0700 Yang Shi <yang@os.amperecomputing.com> wrote:
> >
> > On 6/30/24 6:01 PM, Stephen Rothwell wrote:
> > >
> > > On Mon, 1 Jul 2024 10:16:41 +1000 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
> > >> After merging the mm-hotfixes tree, today's linux-next build (powerpc
> > >> ppc64_defconfig) failed like this:
> > >>
> > >> mm/gup.c: In function 'gup_hugepte':
> > >> mm/gup.c:474:25: error: implicit declaration of function 'try_grab_folio_fast'; did you mean 'try_grab_folio'? [-Werror=implicit-function-declaration]
> > >> 474 | folio = try_grab_folio_fast(page, refs, flags);
> > >> | ^~~~~~~~~~~~~~~~~~~
> > >> | try_grab_folio
> > >> mm/gup.c:474:23: warning: assignment to 'struct folio *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
> > >> 474 | folio = try_grab_folio_fast(page, refs, flags);
> > >> | ^
> > >> mm/gup.c: At top level:
> > >> mm/gup.c:2747:22: error: conflicting types for 'try_grab_folio_fast'; have 'struct folio *(struct page *, int, unsigned int)'
> > >> 2747 | static struct folio *try_grab_folio_fast(struct page *page, int refs,
> > >> | ^~~~~~~~~~~~~~~~~~~
> > >> mm/gup.c:474:25: note: previous implicit declaration of 'try_grab_folio_fast' with type 'int()'
> > >> 474 | folio = try_grab_folio_fast(page, refs, flags);
> > >> | ^~~~~~~~~~~~~~~~~~~
> > >> cc1: some warnings being treated as errors
> > >>
> > >> Caused by commit
> > >>
> > >> 5f408bfe0d13 ("mm: gup: stop abusing try_grab_folio")
> > >>
> > >> I have reverted that commit for today.
> > > And I also had to revert commit
> > >
> > > 52cca85b0ebf ("mm-gup-introduce-memfd_pin_folios-for-pinning-memfd-folios-fix")
> > >
> > > from the mm-unstable branch of the mm tree.
> >
> > The patch attached in this mail should fix the compile error.
> >
> > https://lore.kernel.org/linux-mm/CAHbLzkowMSso-4Nufc9hcMehQsK9PNz3OSu-+eniU-2Mm-xjhA@mail.gmail.com/
>
> It looks like that patch has been applied to the mm tree instead of the
> mm-hotfixes tree - as a fix for commit
>
> 50ceb37037f3 ("mm: gup: stop abusing try_grab_folio")

So for today, I have applied the following patch to the mm-hotfixes
tree merge and stopped reverting
mm-gup-introduce-memfd_pin_folios-for-pinning-memfd-folios-fix.

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Wed, 3 Jul 2024 08:52:20 +1000
Subject: [PATCH] fixup for "mm: gup: stop abusing try_grab_folio"

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
mm/gup.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/mm/gup.c b/mm/gup.c
index 12c7b41712f7..5f58c95b3ab9 100644
--- a/mm/gup.c
+++ b/mm/gup.c
@@ -437,6 +437,9 @@ static unsigned long hugepte_addr_end(unsigned long addr, unsigned long end,
return (__boundary - 1 < end - 1) ? __boundary : end;
}

+static struct folio *try_grab_folio_fast(struct page *page, int refs,
+ unsigned int flags);
+
/*
* Returns 1 if succeeded, 0 if failed, -EMLINK if unshare needed.
*
--
2.45.2

--
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]