Re: [PATCH 5/5] mm/treewide: Drop pXd_large()

From: Peter Xu
Date: Thu Feb 29 2024 - 02:56:44 EST


On Thu, Feb 29, 2024 at 01:17:36PM +0800, kernel test robot wrote:
> >> arch/x86/include/asm/pgtable.h:1099:19: error: redefinition of 'pud_leaf'
> 1099 | static inline int pud_leaf(pud_t pud)
> | ^
> include/asm-generic/pgtable-nopmd.h:34:19: note: previous definition is here
> 34 | static inline int pud_leaf(pud_t pud) { return 0; }
> | ^

This is CONFIG_PGTABLE_LEVELS=2. IIUC patch 5 didn't do anything wrong,
but when renaming pud_large() it caused this confliction, while in the past
it was a silent confliction between the old pud_leaf() macro and pud_leaf()
defintion, the macro could have silently overwrote the function.

IIUC such pud_leaf() is not needed as we have a global fallback. I'll add
a pre-requisite patch to remove such pXd_leaf() definitions.

--
Peter Xu