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

From: Stephen Rothwell <[email-masked]>
Date: Mon, 27 Nov 2023 14:48:52 +1100

Hi all,

Just cc'ing the PowerPC guys to see if my fix is sensible.

On Mon, 27 Nov 2023 13:28:09 +1100 Stephen Rothwell <[email-masked]> wrote:
>
> After merging the mm tree, today's linux-next build (powerpc64
> allnoconfig) failed like this:
> 
> arch/powerpc/mm/book3s64/pgtable.c:557:5: error: no previous prototype for 'pmd_move_must_withdraw' [-Werror=missing-prototypes]
>   557 | int pmd_move_must_withdraw(struct spinlock *new_pmd_ptl,
>       |     ^~~~~~~~~~~~~~~~~~~~~~
> cc1: all warnings being treated as errors
> 
> Caused by commit
> 
>   c6345dfa6e3e ("Makefile.extrawarn: turn on missing-prototypes globally")
> 
> I have added the following patch for today (which could be applied to
> the mm or powerpc trees):
> 
> From 194805b44c11b4c0aa28bdcdc0bb0d82acef394c Mon Sep 17 00:00:00 2001
> From: Stephen Rothwell <[email-masked]>
> Date: Mon, 27 Nov 2023 13:08:57 +1100
> Subject: [PATCH] powerpc: pmd_move_must_withdraw() is only needed for
>  CONFIG_TRANSPARENT_HUGEPAGE
> 
> Signed-off-by: Stephen Rothwell <[email-masked]>
> ---
>  arch/powerpc/mm/book3s64/pgtable.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/arch/powerpc/mm/book3s64/pgtable.c b/arch/powerpc/mm/book3s64/pgtable.c
> index be229290a6a7..3438ab72c346 100644
> --- a/arch/powerpc/mm/book3s64/pgtable.c
> +++ b/arch/powerpc/mm/book3s64/pgtable.c
> @@ -542,6 +542,7 @@ void ptep_modify_prot_commit(struct vm_area_struct *vma, unsigned long addr,
>  	set_pte_at(vma->vm_mm, addr, ptep, pte);
>  }
>  
> +#ifdef CONFIG_TRANSPARENT_HUGEPAGE
>  /*
>   * For hash translation mode, we use the deposited table to store hash slot
>   * information and they are stored at PTRS_PER_PMD offset from related pmd
> @@ -563,6 +564,7 @@ int pmd_move_must_withdraw(struct spinlock *new_pmd_ptl,
>  
>  	return true;
>  }
> +#endif
>  
>  /*
>   * Does the CPU support tlbie?
> -- 
> 2.40.1

-- 
Cheers,
Stephen Rothwell