tree:
https://git.kernel.org/pub/scm/linux/kernel/git/rppt/linux.git pg_table/v0.0
head: fd150c5a9ef6e3e43818825c69a46de2b427dedf
commit: a28a3e30c8e9b58a6da1d5e6a4803c5580e93ce5 [11/18] mm: enable pte allocations for
pg_table
config: nds32-defconfig (attached as .config)
compiler: nds32le-linux-gcc (GCC) 9.2.0
reproduce:
wget
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O
~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout a28a3e30c8e9b58a6da1d5e6a4803c5580e93ce5
# save the attached .config to linux build tree
GCC_VERSION=9.2.0 make.cross ARCH=nds32
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
In file included from include/asm-generic/tlb.h:16,
from arch/nds32/include/asm/tlb.h:7,
from arch/nds32/mm/init.c:18:
arch/nds32/include/asm/pgalloc.h: In function 'pte_alloc_one':
> arch/nds32/include/asm/pgalloc.h:30:24: error: passing argument 1
of '__pte_alloc_one' from incompatible pointer type
[-Werror=incompatible-pointer-types]
30 | pte = __pte_alloc_one(mm,
GFP_PGTABLE_USER);
| ^~
| |
| struct mm_struct *
In file included from arch/nds32/include/asm/pgalloc.h:13,
from include/asm-generic/tlb.h:16,
from arch/nds32/include/asm/tlb.h:7,
from arch/nds32/mm/init.c:18:
include/asm-generic/pgalloc.h:59:58: note: expected 'struct pg_table *' but
argument is of type 'struct mm_struct *'
59 | static inline pgtable_t __pte_alloc_one(struct pg_table *pgt, gfp_t gfp)
| ~~~~~~~~~~~~~~~~~^~~
cc1: some warnings being treated as errors
--
In file included from arch/nds32/mm/mm-nds32.c:5:
arch/nds32/include/asm/pgalloc.h: In function 'pte_alloc_one':
> arch/nds32/include/asm/pgalloc.h:30:24: error: passing argument 1
of '__pte_alloc_one' from incompatible pointer type
[-Werror=incompatible-pointer-types]
30 | pte = __pte_alloc_one(mm,
GFP_PGTABLE_USER);
| ^~
| |
| struct mm_struct *
In file included from arch/nds32/include/asm/pgalloc.h:13,
from arch/nds32/mm/mm-nds32.c:5:
include/asm-generic/pgalloc.h:59:58: note: expected 'struct pg_table *' but
argument is of type 'struct mm_struct *'
59 | static inline pgtable_t __pte_alloc_one(struct pg_table *pgt, gfp_t gfp)
| ~~~~~~~~~~~~~~~~~^~~
arch/nds32/mm/mm-nds32.c: In function 'pgd_free':
> arch/nds32/mm/mm-nds32.c:62:17: error: passing argument 1 of
'mm_dec_nr_ptes' from incompatible pointer type
[-Werror=incompatible-pointer-types]
62 | mm_dec_nr_ptes(mm);
| ^~
| |
| struct mm_struct *
In file included from include/linux/kallsyms.h:12,
from include/linux/ftrace.h:11,
from include/linux/init_task.h:9,
from arch/nds32/mm/mm-nds32.c:4:
include/linux/mm.h:1829:52: note: expected 'struct pg_table *' but argument is
of type 'struct mm_struct *'
1829 | static inline void mm_dec_nr_ptes(struct pg_table *pgt)
| ~~~~~~~~~~~~~~~~~^~~
cc1: some warnings being treated as errors
--
In file included from mm/memory.c:77:
arch/nds32/include/asm/pgalloc.h: In function 'pte_alloc_one':
> arch/nds32/include/asm/pgalloc.h:30:24: error: passing argument 1
of '__pte_alloc_one' from incompatible pointer type
[-Werror=incompatible-pointer-types]
30 | pte = __pte_alloc_one(mm,
GFP_PGTABLE_USER);
| ^~
| |
| struct mm_struct *
In file included from arch/nds32/include/asm/pgalloc.h:13,
from mm/memory.c:77:
include/asm-generic/pgalloc.h:59:58: note: expected 'struct pg_table *' but
argument is of type 'struct mm_struct *'
59 | static inline pgtable_t __pte_alloc_one(struct pg_table *pgt, gfp_t gfp)
| ~~~~~~~~~~~~~~~~~^~~
mm/memory.c: In function '__pte_alloc':
> mm/memory.c:408:32: error: passing argument 1 of
'pte_alloc_one' from incompatible pointer type
[-Werror=incompatible-pointer-types]
408 | pgtable_t new =
pte_alloc_one(pgt);
| ^~~
| |
| struct pg_table *
In file included from mm/memory.c:77:
arch/nds32/include/asm/pgalloc.h:26:57: note: expected 'struct mm_struct *' but
argument is of type 'struct pg_table *'
26 | static inline pgtable_t pte_alloc_one(struct mm_struct *mm)
| ~~~~~~~~~~~~~~~~~~^~
> mm/memory.c:430:3: error: implicit declaration of function
'_pmd_populate'; did you mean 'pmd_populate'?
[-Werror=implicit-function-declaration]
430 | _pmd_populate(pgt, pmd, new);
| ^~~~~~~~~~~~~
| pmd_populate
In file included from arch/nds32/include/asm/pgtable.h:8,
from include/linux/mm.h:99,
from mm/memory.c:43:
mm/memory.c: In function 'copy_pmd_range':
mm/memory.c:854:22: error: passing argument 1 of '__pmd_alloc' from
incompatible pointer type [-Werror=incompatible-pointer-types]
854 | dst_pmd = pmd_alloc(dst_mm, dst_pud, addr);
| ^~~~~~
| |
| struct mm_struct *
include/asm-generic/4level-fixup.h:16:46: note: in definition of macro
'pmd_alloc'
16 | ((unlikely(pgd_none(*(pud))) && __pmd_alloc(mm, pud, address))? \
| ^~
In file included from mm/memory.c:43:
include/linux/mm.h:1786:48: note: expected 'struct pg_table *' but argument is
of type 'struct mm_struct *'
1786 | static inline int __pmd_alloc(struct pg_table *pgt, pud_t *pud,
| ~~~~~~~~~~~~~~~~~^~~
In file included from arch/nds32/include/asm/pgtable.h:8,
from include/linux/mm.h:99,
from mm/memory.c:43:
mm/memory.c: In function '__get_locked_pte':
mm/memory.c:1407:18: error: passing argument 1 of '__pmd_alloc' from
incompatible pointer type [-Werror=incompatible-pointer-types]
1407 | pmd = pmd_alloc(mm, pud, addr);
| ^~
| |
| struct mm_struct *
include/asm-generic/4level-fixup.h:16:46: note: in definition of macro
'pmd_alloc'
16 | ((unlikely(pgd_none(*(pud))) && __pmd_alloc(mm, pud, address))? \
| ^~
In file included from mm/memory.c:43:
include/linux/mm.h:1786:48: note: expected 'struct pg_table *' but argument is
of type 'struct mm_struct *'
1786 | static inline int __pmd_alloc(struct pg_table *pgt, pud_t *pud,
| ~~~~~~~~~~~~~~~~~^~~
In file included from arch/nds32/include/asm/pgtable.h:8,
from include/linux/mm.h:99,
from mm/memory.c:43:
mm/memory.c: In function 'remap_pmd_range':
mm/memory.c:1826:18: error: passing argument 1 of '__pmd_alloc' from
incompatible pointer type [-Werror=incompatible-pointer-types]
1826 | pmd = pmd_alloc(mm, pud, addr);
| ^~
| |
| struct mm_struct *
include/asm-generic/4level-fixup.h:16:46: note: in definition of macro
'pmd_alloc'
16 | ((unlikely(pgd_none(*(pud))) && __pmd_alloc(mm, pud, address))? \
| ^~
In file included from mm/memory.c:43:
include/linux/mm.h:1786:48: note: expected 'struct pg_table *' but argument is
of type 'struct mm_struct *'
1786 | static inline int __pmd_alloc(struct pg_table *pgt, pud_t *pud,
| ~~~~~~~~~~~~~~~~~^~~
In file included from arch/nds32/include/asm/pgtable.h:8,
from include/linux/mm.h:99,
from mm/memory.c:43:
mm/memory.c: In function 'apply_to_pmd_range':
mm/memory.c:2045:18: error: passing argument 1 of '__pmd_alloc' from
incompatible pointer type [-Werror=incompatible-pointer-types]
2045 | pmd = pmd_alloc(mm, pud, addr);
| ^~
| |
| struct mm_struct *
include/asm-generic/4level-fixup.h:16:46: note: in definition of macro
'pmd_alloc'
16 | ((unlikely(pgd_none(*(pud))) && __pmd_alloc(mm, pud, address))? \
| ^~
In file included from mm/memory.c:43:
include/linux/mm.h:1786:48: note: expected 'struct pg_table *' but argument is
of type 'struct mm_struct *'
1786 | static inline int __pmd_alloc(struct pg_table *pgt, pud_t *pud,
| ~~~~~~~~~~~~~~~~~^~~
mm/memory.c: In function '__do_fault':
mm/memory.c:3086:37: error: passing argument 1 of 'pte_alloc_one' from
incompatible pointer type [-Werror=incompatible-pointer-types]
3086 | vmf->prealloc_pte = pte_alloc_one(&vmf->vma->vm_mm->pgt);
| ^~~~~~~~~~~~~~~~~~~~~
| |
| struct pg_table *
In file included from mm/memory.c:77:
arch/nds32/include/asm/pgalloc.h:26:57: note: expected 'struct mm_struct *' but
argument is of type 'struct pg_table *'
26 | static inline pgtable_t pte_alloc_one(struct mm_struct *mm)
| ~~~~~~~~~~~~~~~~~~^~
mm/memory.c: In function 'do_fault_around':
mm/memory.c:3444:37: error: passing argument 1 of 'pte_alloc_one' from
incompatible pointer type [-Werror=incompatible-pointer-types]
3444 | vmf->prealloc_pte = pte_alloc_one(&vmf->vma->vm_mm->pgt);
| ^~~~~~~~~~~~~~~~~~~~~
| |
| struct pg_table *
In file included from mm/memory.c:77:
arch/nds32/include/asm/pgalloc.h:26:57: note: expected 'struct mm_struct *' but
argument is of type 'struct pg_table *'
26 | static inline pgtable_t pte_alloc_one(struct mm_struct *mm)
| ~~~~~~~~~~~~~~~~~~^~
In file included from arch/nds32/include/asm/pgtable.h:8,
from include/linux/mm.h:99,
from mm/memory.c:43:
mm/memory.c: In function '__handle_mm_fault':
mm/memory.c:3940:22: error: passing argument 1 of '__pmd_alloc' from
incompatible pointer type [-Werror=incompatible-pointer-types]
3940 | vmf.pmd = pmd_alloc(mm, vmf.pud, address);
| ^~
| |
| struct mm_struct *
include/asm-generic/4level-fixup.h:16:46: note: in definition of macro
'pmd_alloc'
16 | ((unlikely(pgd_none(*(pud))) && __pmd_alloc(mm, pud, address))? \
| ^~
In file included from mm/memory.c:43:
vim +/__pte_alloc_one +30 arch/nds32/include/asm/pgalloc.h
2e1aecb970b766 Greentime Hu 2017-10-24 25
4cf58924951ef8 Joel Fernandes (Google 2019-01-03 26) static inline pgtable_t
pte_alloc_one(struct mm_struct *mm)
2e1aecb970b766 Greentime Hu 2017-10-24 27 {
2e1aecb970b766 Greentime Hu 2017-10-24 28 pgtable_t pte;
2e1aecb970b766 Greentime Hu 2017-10-24 29
f52a8e1a67cde6 Mike Rapoport 2019-07-11 @30 pte = __pte_alloc_one(mm,
GFP_PGTABLE_USER);
2e1aecb970b766 Greentime Hu 2017-10-24 31 if (pte)
2e1aecb970b766 Greentime Hu 2017-10-24 32 cpu_dcache_wb_page((unsigned
long)page_address(pte));
2e1aecb970b766 Greentime Hu 2017-10-24 33
2e1aecb970b766 Greentime Hu 2017-10-24 34 return pte;
2e1aecb970b766 Greentime Hu 2017-10-24 35 }
2e1aecb970b766 Greentime Hu 2017-10-24 36
:::::: The code at line 30 was first introduced by commit
:::::: f52a8e1a67cde67c33d5c2eabd6494dcab956677 nds32: switch to generic version of pte
allocation
:::::: TO: Mike Rapoport <rppt(a)linux.ibm.com>
:::::: CC: Linus Torvalds <torvalds(a)linux-foundation.org>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation