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 <[email protected]>
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,
| ^~~~~~~~~~~~~~~~~~~~
vim +52 arch/arc/include/asm/page.h
be43b096ed787b Vineet Gupta 2020-09-30 51
be43b096ed787b Vineet Gupta 2020-09-30 @52 #define pte_val(x) ((x).pte)
be43b096ed787b Vineet Gupta 2020-09-30 53 #define __pte(x) ((pte_t) { (x) })
be43b096ed787b Vineet Gupta 2020-09-30 54
:::::: The code at line 52 was first introduced by commit
:::::: be43b096ed787bad9e1a74f79486159c6cd6e648 ARC: mm: non-functional code movement/cleanup
:::::: TO: Vineet Gupta <[email protected]>
:::::: CC: Vineet Gupta <[email protected]>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]
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 <[email protected]>
>
> 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