Subject: Re: linux-next: build failure after merge of the akpm-current tree

From: Stephen Rothwell <[email-masked]>
Date: Thu, 21 Oct 2021 18:08:05 +1100

Hi all,

On Thu, 21 Oct 2021 17:43:03 +1100 Stephen Rothwell <[email-masked]> wrote:
>
> After merging the akpm-current tree, today's linux-next build (powerpc
> ppc64_defconfig) failed like this:
> 
> In file included from include/linux/mmzone.h:22,
>                  from include/linux/gfp.h:6,
>                  from include/linux/xarray.h:14,
>                  from include/linux/radix-tree.h:19,
>                  from include/linux/fs.h:15,
>                  from include/linux/compat.h:17,
>                  from arch/powerpc/kernel/asm-offsets.c:12:
> include/linux/page-flags.h:806:29: error: macro "PAGEFLAG_FALSE" requires 2 arguments, but only 1 given
>   806 | PAGEFLAG_FALSE(HasHWPoisoned)
>       |                             ^
> include/linux/page-flags.h:411: note: macro "PAGEFLAG_FALSE" defined here
>   411 | #define PAGEFLAG_FALSE(uname, lname) TESTPAGEFLAG_FALSE(uname, lname) \
>       | 
> include/linux/page-flags.h:807:32: error: macro "TESTSCFLAG_FALSE" requires 2 arguments, but only 1 given
>   807 |  TESTSCFLAG_FALSE(HasHWPoisoned)
>       |                                ^
> include/linux/page-flags.h:414: note: macro "TESTSCFLAG_FALSE" defined here
>   414 | #define TESTSCFLAG_FALSE(uname, lname)     \
>       | 
> include/linux/page-flags.h:806:1: error: unknown type name 'PAGEFLAG_FALSE'
>   806 | PAGEFLAG_FALSE(HasHWPoisoned)
>       | ^~~~~~~~~~~~~~
> include/linux/page-flags.h:807:18: error: expected ';' before 'static'
>   807 |  TESTSCFLAG_FALSE(HasHWPoisoned)
>       |                  ^
>       |                  ;
> ......
>   815 | static inline bool is_page_hwpoison(struct page *page)
>       | ~~~~~~            
> 
> Caused by commit
> 
>   e95de3e8d811 ("mm: filemap: check if THP has hwpoisoned subpage for PMD page fault")
> 
> interacting with commit
> 
>   d389a4a81155 ("mm: Add folio flag manipulation functions")
> 
> from the folio tree.
> 
> I have applied the following merge fix patch for today.
> 
> From: Stephen Rothwell <[email-masked]>
> Date: Thu, 21 Oct 2021 17:32:36 +1100
> Subject: [PATCH] fix up for "mm: Add folio flag manipulation functions"
> 
> Signed-off-by: Stephen Rothwell <[email-masked]>
> ---
>  include/linux/page-flags.h | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h
> index 867b4bb3c336..80b33404ad1f 100644
> --- a/include/linux/page-flags.h
> +++ b/include/linux/page-flags.h
> @@ -803,8 +803,8 @@ PAGEFLAG_FALSE(DoubleMap, double_map)
>  PAGEFLAG(HasHWPoisoned, has_hwpoisoned, PF_SECOND)
>  	TESTSCFLAG(HasHWPoisoned, has_hwpoisoned, PF_SECOND)
>  #else
> -PAGEFLAG_FALSE(HasHWPoisoned)
> -	TESTSCFLAG_FALSE(HasHWPoisoned)
> +PAGEFLAG_FALSE(HasHWPoisoned, hashwpoisoned)
> +	TESTSCFLAG_FALSE(HasHWPoisoned, hashwpoisoned)
>  #endif
>  
>  /*
> -- 
> 2.33.0

So, I then discovered patch

mm-filemap-check-if-thp-has-hwpoisoned-subpage-for-pmd-page-fault-vs-folios.patch

which conflicted with my merge resolution.  I will use that tomorrow instead.

-- 
Cheers,
Stephen Rothwell