Re: [arc:for-next 29/33] arch/arc/include/asm/page.h:52:30: error: 'struct page' has no member named 'pte'; did you mean 'ptl'?

From: Vineet Gupta
Date: Thu Aug 26 2021 - 21:09:30 EST


On 8/26/21 1:35 AM, kernel test robot wrote:
tree: https://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc.git for-next
head: c80ef1151c91db05e9ed03d7b61ada7af63ce59a
commit: 4058fa6bf4da7f46a57cb33fe8f6b688052b3eb9 [29/33] ARC: mm: switch pgtable_t back to struct page *
config: arc-allyesconfig (attached as .config)
compiler: arceb-elf-gcc (GCC) 11.2.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
# https://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc.git/commit/?id=4058fa6bf4da7f46a57cb33fe8f6b688052b3eb9
git remote add arc https://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc.git
git fetch --no-tags arc for-next
git checkout 4058fa6bf4da7f46a57cb33fe8f6b688052b3eb9
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arc SHELL=/bin/bash

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

arch/arc/mm/tlb.c:392:6: warning: no previous prototype for 'create_tlb' [-Wmissing-prototypes]
392 | void create_tlb(struct vm_area_struct *vma, unsigned long vaddr, pte_t *ptep)
| ^~~~~~~~~~
In file included from include/linux/mm_types_task.h:16,
from include/linux/mm_types.h:5,
from include/linux/buildid.h:5,
from include/linux/module.h:14,
from arch/arc/mm/tlb.c:9:
arch/arc/mm/tlb.c: In function 'pgtable_trans_huge_withdraw':
arch/arc/include/asm/page.h:52:30: error: 'struct page' has no member named 'pte'; did you mean 'ptl'?
52 | #define pte_val(x) ((x).pte)
| ^~~
arch/arc/mm/tlb.c:568:9: note: in expansion of macro 'pte_val'
568 | pte_val(pgtable[0]) = 0;
| ^~~~~~~
arch/arc/include/asm/page.h:52:30: error: 'struct page' has no member named 'pte'; did you mean 'ptl'?
52 | #define pte_val(x) ((x).pte)
| ^~~
arch/arc/mm/tlb.c:569:9: note: in expansion of macro 'pte_val'
569 | pte_val(pgtable[1]) = 0;
| ^~~~~~~
arch/arc/mm/tlb.c: At top level:
arch/arc/mm/tlb.c:756:6: warning: no previous prototype for 'do_tlb_overlap_fault' [-Wmissing-prototypes]
756 | void do_tlb_overlap_fault(unsigned long cause, unsigned long address,
| ^~~~~~~~~~~~~~~~~~~~


Thx for the report. I've fixed this up by removing the now not-needed __HAVE_ARCH_PGTABLE_DEPOSIT and __HAVE_ARCH_PGTABLE_WITHDRAW from ARC code.

-Vineet