mainline build failure with arm64 defconfig and allmodconfig

From: Sudip Mukherjee
Date: Fri May 27 2022 - 05:40:00 EST


Hi All,

The latest mainline kernel branch fails to build for arm64 defconfig
and allmodconfig with the error:

arch/arm64/mm/hugetlbpage.c: In function 'huge_ptep_clear_flush':
arch/arm64/mm/hugetlbpage.c:515:16: error: implicit declaration of function 'get_clear_flush'; did you mean 'ptep_clear_flush'? [-Werror=implicit-function-declaration]
515 | return get_clear_flush(vma->vm_mm, addr, ptep, pgsize, ncontig);
| ^~~~~~~~~~~~~~~
| ptep_clear_flush
arch/arm64/mm/hugetlbpage.c:515:16: error: incompatible types when returning type 'int' but 'pte_t' was expected
515 | return get_clear_flush(vma->vm_mm, addr, ptep, pgsize, ncontig);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/arm64/mm/hugetlbpage.c:516:1: error: control reaches end of non-void function [-Werror=return-type]

git bisect could not find the offending commit.

But looking at the changes, I think its caused by:
fb396bb459c1 ("arm64/hugetlb: Drop TLB flush from get_clear_flush()")
which renamed get_clear_flush() to get_clear_contig().


--
Regards
Sudip