* [alexshi:mmunstable 31/41] arch/s390/include/asm/pgalloc.h:140:27: error: initialization of 'struct ptdesc *' from incompatible pointer type 'pte_t *'
@ 2024-07-24 15:42 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2024-07-24 15:42 UTC (permalink / raw)
To: alexs; +Cc: oe-kbuild-all
tree: https://github.com/alexshi/linux.git mmunstable
head: 45de53e1a6ceb1ede64b54126f9ee514f50c4e4c
commit: a0b75c1c1fda3892f1c8e0946254a4cb1226e10a [31/41] mm/pgtable: fully use ptdesc in pte_alloc_one series functions
config: s390-allyesconfig (https://download.01.org/0day-ci/archive/20240724/202407242312.7e6oLU4e-lkp@intel.com/config)
compiler: s390-linux-gcc (GCC) 14.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240724/202407242312.7e6oLU4e-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202407242312.7e6oLU4e-lkp@intel.com/
All errors (new ones prefixed by >>):
In file included from arch/s390/include/asm/mmu_context.h:11,
from arch/s390/include/asm/elf.h:173,
from include/linux/elf.h:6,
from include/linux/module.h:19,
from include/linux/device/driver.h:21,
from include/linux/device.h:32,
from include/linux/blk_types.h:11,
from include/linux/writeback.h:13,
from include/linux/memcontrol.h:23,
from include/linux/swap.h:9,
from include/linux/mm_inline.h:8,
from mm/memory.c:45:
mm/memory.c: In function '__pte_alloc':
>> arch/s390/include/asm/pgalloc.h:140:27: error: initialization of 'struct ptdesc *' from incompatible pointer type 'pte_t *' [-Wincompatible-pointer-types]
140 | #define pte_alloc_one(mm) ((pte_t *)page_table_alloc(mm))
| ^
mm/memory.c:448:33: note: in expansion of macro 'pte_alloc_one'
448 | struct ptdesc *ptdesc = pte_alloc_one(mm);
| ^~~~~~~~~~~~~
In file included from include/linux/mmzone.h:22,
from include/linux/gfp.h:7,
from include/linux/mm.h:7,
from mm/memory.c:44:
mm/memory.c: In function '__do_fault':
include/linux/mm_types.h:502:51: error: '_Generic' selector of type 'pte_t *' is not compatible with any association
502 | #define ptdesc_page(pt) (_Generic((pt), \
| ^
mm/memory.c:4650:37: note: in expansion of macro 'ptdesc_page'
4650 | vmf->prealloc_pte = ptdesc_page(pte_alloc_one(vma->vm_mm));
| ^~~~~~~~~~~
mm/memory.c: In function 'do_set_pmd':
include/linux/mm_types.h:502:51: error: '_Generic' selector of type 'pte_t *' is not compatible with any association
502 | #define ptdesc_page(pt) (_Generic((pt), \
| ^
mm/memory.c:4728:37: note: in expansion of macro 'ptdesc_page'
4728 | vmf->prealloc_pte = ptdesc_page(pte_alloc_one(vma->vm_mm));
| ^~~~~~~~~~~
mm/memory.c: In function 'do_fault_around':
include/linux/mm_types.h:502:51: error: '_Generic' selector of type 'pte_t *' is not compatible with any association
502 | #define ptdesc_page(pt) (_Generic((pt), \
| ^
mm/memory.c:5013:37: note: in expansion of macro 'ptdesc_page'
5013 | vmf->prealloc_pte = ptdesc_page(pte_alloc_one(vmf->vma->vm_mm));
| ^~~~~~~~~~~
--
mm/huge_memory.c: In function '__do_huge_pmd_anonymous_page':
>> mm/huge_memory.c:959:16: error: assignment to 'struct ptdesc *' from incompatible pointer type 'pte_t *' [-Wincompatible-pointer-types]
959 | ptdesc = pte_alloc_one(vma->vm_mm);
| ^
In file included from include/linux/mmzone.h:22,
from include/linux/gfp.h:7,
from include/linux/mm.h:7,
from mm/huge_memory.c:8:
include/linux/mm_types.h:504:41: error: passing argument 3 of 'pgtable_trans_huge_deposit' from incompatible pointer type [-Wincompatible-pointer-types]
502 | #define ptdesc_page(pt) (_Generic((pt), \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
503 | const struct ptdesc *: (const struct page *)(pt), \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
504 | struct ptdesc *: (struct page *)(pt)))
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
| |
| struct page *
mm/huge_memory.c:997:66: note: in expansion of macro 'ptdesc_page'
997 | pgtable_trans_huge_deposit(vma->vm_mm, vmf->pmd, ptdesc_page(ptdesc));
| ^~~~~~~~~~~
In file included from include/linux/pgtable.h:6,
from include/linux/mm.h:30:
arch/s390/include/asm/pgtable.h:1717:43: note: expected 'pgtable_t' {aka 'pte_t *'} but argument is of type 'struct page *'
1717 | pgtable_t pgtable);
| ~~~~~~~~~~^~~~~~~
mm/huge_memory.c: In function 'do_huge_pmd_anonymous_page':
mm/huge_memory.c:1091:24: error: assignment to 'struct ptdesc *' from incompatible pointer type 'pte_t *' [-Wincompatible-pointer-types]
1091 | ptdesc = pte_alloc_one(vma->vm_mm);
| ^
include/linux/mm_types.h:504:41: error: passing argument 1 of 'set_huge_zero_folio' from incompatible pointer type [-Wincompatible-pointer-types]
502 | #define ptdesc_page(pt) (_Generic((pt), \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
503 | const struct ptdesc *: (const struct page *)(pt), \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
504 | struct ptdesc *: (struct page *)(pt)))
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
| |
| struct page *
mm/huge_memory.c:1113:53: note: in expansion of macro 'ptdesc_page'
1113 | set_huge_zero_folio(ptdesc_page(ptdesc), vma->vm_mm, vma,
| ^~~~~~~~~~~
mm/huge_memory.c:1055:43: note: expected 'pgtable_t' {aka 'pte_t *'} but argument is of type 'struct page *'
1055 | static void set_huge_zero_folio(pgtable_t pgtable, struct mm_struct *mm,
| ~~~~~~~~~~^~~~~~~
mm/huge_memory.c: In function 'insert_pfn_pmd':
include/linux/mm_types.h:504:41: error: passing argument 3 of 'pgtable_trans_huge_deposit' from incompatible pointer type [-Wincompatible-pointer-types]
502 | #define ptdesc_page(pt) (_Generic((pt), \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
503 | const struct ptdesc *: (const struct page *)(pt), \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
504 | struct ptdesc *: (struct page *)(pt)))
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
| |
| struct page *
mm/huge_memory.c:1167:53: note: in expansion of macro 'ptdesc_page'
1167 | pgtable_trans_huge_deposit(mm, pmd, ptdesc_page(ptdesc));
| ^~~~~~~~~~~
arch/s390/include/asm/pgtable.h:1717:43: note: expected 'pgtable_t' {aka 'pte_t *'} but argument is of type 'struct page *'
1717 | pgtable_t pgtable);
| ~~~~~~~~~~^~~~~~~
mm/huge_memory.c: In function 'vmf_insert_pfn_pmd':
mm/huge_memory.c:1213:24: error: assignment to 'struct ptdesc *' from incompatible pointer type 'pte_t *' [-Wincompatible-pointer-types]
1213 | ptdesc = pte_alloc_one(vma->vm_mm);
| ^
mm/huge_memory.c: In function 'copy_huge_pmd':
mm/huge_memory.c:1376:16: error: assignment to 'struct ptdesc *' from incompatible pointer type 'pte_t *' [-Wincompatible-pointer-types]
1376 | ptdesc = pte_alloc_one(dst_mm);
| ^
include/linux/mm_types.h:504:41: error: passing argument 3 of 'pgtable_trans_huge_deposit' from incompatible pointer type [-Wincompatible-pointer-types]
502 | #define ptdesc_page(pt) (_Generic((pt), \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
503 | const struct ptdesc *: (const struct page *)(pt), \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
504 | struct ptdesc *: (struct page *)(pt)))
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
| |
| struct page *
mm/huge_memory.c:1449:53: note: in expansion of macro 'ptdesc_page'
1449 | pgtable_trans_huge_deposit(dst_mm, dst_pmd, ptdesc_page(ptdesc));
| ^~~~~~~~~~~
arch/s390/include/asm/pgtable.h:1717:43: note: expected 'pgtable_t' {aka 'pte_t *'} but argument is of type 'struct page *'
1717 | pgtable_t pgtable);
| ~~~~~~~~~~^~~~~~~
vim +140 arch/s390/include/asm/pgalloc.h
b2fa47e6bf5148a arch/s390/include/asm/pgalloc.h Martin Schwidefsky 2011-05-23 135
^1da177e4c3f415 include/asm-s390/pgalloc.h Linus Torvalds 2005-04-16 136 /*
^1da177e4c3f415 include/asm-s390/pgalloc.h Linus Torvalds 2005-04-16 137 * page table entry allocation/free routines.
^1da177e4c3f415 include/asm-s390/pgalloc.h Linus Torvalds 2005-04-16 138 */
4cf58924951ef80 arch/s390/include/asm/pgalloc.h Joel Fernandes (Google 2019-01-03 139) #define pte_alloc_one_kernel(mm) ((pte_t *)page_table_alloc(mm))
4cf58924951ef80 arch/s390/include/asm/pgalloc.h Joel Fernandes (Google 2019-01-03 @140) #define pte_alloc_one(mm) ((pte_t *)page_table_alloc(mm))
146e4b3c8b92071 include/asm-s390/pgalloc.h Martin Schwidefsky 2008-02-09 141
:::::: The code at line 140 was first introduced by commit
:::::: 4cf58924951ef80eec636b863e7a53973c44261a mm: treewide: remove unused address argument from pte_alloc functions
:::::: TO: Joel Fernandes (Google) <joel@joelfernandes.org>
:::::: CC: Linus Torvalds <torvalds@linux-foundation.org>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2024-07-24 15:42 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-24 15:42 [alexshi:mmunstable 31/41] arch/s390/include/asm/pgalloc.h:140:27: error: initialization of 'struct ptdesc *' from incompatible pointer type 'pte_t *' kernel test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.