On Tue, Jun 09, 2020 at 03:26:06PM -0700, Andrew Morton wrote: > On Wed, 10 Jun 2020 00:12:12 +0800 kernel test robot <lkp@xxxxxxxxx> wrote: > > > tree: https://github.com/hnaz/linux-mm master > > head: a017b085735719105714da692a82a6eeb8830718 > > commit: f48b9eb10f8c3f378ea4552fee58db3dea980e62 [60/194] mm: consolidate pte_index() and pte_offset_*() definitions > > config: sparc-defconfig (attached as .config) > > compiler: sparc-linux-gcc (GCC) 9.3.0 > > reproduce (this is a W=1 build): > > wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross > > chmod +x ~/bin/make.cross > > git checkout f48b9eb10f8c3f378ea4552fee58db3dea980e62 > > # save the attached .config to linux build tree > > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=sparc > > > > If you fix the issue, kindly add following tag as appropriate > > Reported-by: kernel test robot <lkp@xxxxxxxxx> > > > > All error/warnings (new ones prefixed by >>, old ones prefixed by <<): > > > > In file included from include/linux/mm.h:31, > > from include/linux/memblock.h:13, > > from arch/sparc/mm/srmmu.c:14: > > >> include/linux/pgtable.h:74:27: error: redefinition of 'pte_offset_kernel' > > 74 | #define pte_offset_kernel pte_offset_kernel > > | ^~~~~~~~~~~~~~~~~ > > >> arch/sparc/mm/srmmu.c:144:8: note: in expansion of macro 'pte_offset_kernel' > > 144 | pte_t *pte_offset_kernel(pmd_t *dir, unsigned long address) > > | ^~~~~~~~~~~~~~~~~ > > include/linux/pgtable.h:70:22: note: previous definition of 'pte_offset_kernel' was here > > 70 | static inline pte_t *pte_offset_kernel(pmd_t *pmd, unsigned long address) > > | ^~~~~~~~~~~~~~~~~ > > arch/sparc/mm/srmmu.c: In function 'poke_hypersparc': > > arch/sparc/mm/srmmu.c:1093:25: error: variable 'clear' set but not used [-Werror=unused-but-set-variable] > > 1093 | volatile unsigned long clear; > > Well dang. The function was supposed to have been removed but > obviously this was lost during all the merging messes. > > Mike, can you please confirm that this is still good? Yep, it is. > --- a/arch/sparc/mm/srmmu.c~a > +++ a/arch/sparc/mm/srmmu.c > @@ -140,16 +140,6 @@ void pmd_set(pmd_t *pmdp, pte_t *ptep) > set_pte((pte_t *)&pmd_val(*pmdp), __pte(SRMMU_ET_PTD | ptp)); > } > > -/* Find an entry in the third-level page table.. */ > -pte_t *pte_offset_kernel(pmd_t *dir, unsigned long address) > -{ > - void *pte; > - > - pte = __nocache_va((pmd_val(*dir) & SRMMU_PTD_PMASK) << 4); > - return (pte_t *) pte + > - ((address >> PAGE_SHIFT) & (PTRS_PER_PTE - 1)); > -} > - > /* > * size: bytes to allocate in the nocache area. > * align: bytes, number to align at. > _ > -- Sincerely yours, Mike.