On Wed, 10 Jun 2020 00:12:12 +0800 kernel test robot <lkp(a)intel.com> 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(a)intel.com>
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?
--- 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.
_