* [alexshi:mmunstable 34/43] mm/huge_memory.c:1829:16: error: assignment to 'struct ptdesc *' from incompatible pointer type 'pgtable_t' {aka 'pte_t *'}
@ 2024-07-21 8:04 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2024-07-21 8:04 UTC (permalink / raw)
To: Alex Shi (Tencent); +Cc: oe-kbuild-all
tree: https://github.com/alexshi/linux.git mmunstable
head: 6c298a18633e397b8be4d6f48fc8cd1f860dd896
commit: 8b464a88364f8c7a51ee0baf4a79c6a22f1ae9ef [34/43] mm/pgtable: return ptdesc pointer in pgtable_trans_huge_withdraw
config: powerpc64-randconfig-001-20240721 (https://download.01.org/0day-ci/archive/20240721/202407211526.uoGLAJfs-lkp@intel.com/config)
compiler: powerpc64-linux-gcc (GCC) 14.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240721/202407211526.uoGLAJfs-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/202407211526.uoGLAJfs-lkp@intel.com/
All errors (new ones prefixed by >>):
| struct ptdesc *
arch/powerpc/include/asm/pgalloc.h:43:61: note: expected 'pgtable_t' {aka 'pte_t *'} but argument is of type 'struct ptdesc *'
43 | static inline void pte_free(struct mm_struct *mm, pgtable_t ptepage)
| ~~~~~~~~~~^~~~~~~
mm/huge_memory.c:1106:54: error: passing argument 2 of 'pte_free' from incompatible pointer type [-Wincompatible-pointer-types]
1106 | pte_free(vma->vm_mm, ptdesc);
| ^~~~~~
| |
| struct ptdesc *
arch/powerpc/include/asm/pgalloc.h:43:61: note: expected 'pgtable_t' {aka 'pte_t *'} but argument is of type 'struct ptdesc *'
43 | static inline void pte_free(struct mm_struct *mm, pgtable_t ptepage)
| ~~~~~~~~~~^~~~~~~
mm/huge_memory.c:1109:54: error: passing argument 2 of 'pte_free' from incompatible pointer type [-Wincompatible-pointer-types]
1109 | pte_free(vma->vm_mm, ptdesc);
| ^~~~~~
| |
| struct ptdesc *
arch/powerpc/include/asm/pgalloc.h:43:61: note: expected 'pgtable_t' {aka 'pte_t *'} but argument is of type 'struct ptdesc *'
43 | static inline void pte_free(struct mm_struct *mm, pgtable_t ptepage)
| ~~~~~~~~~~^~~~~~~
mm/huge_memory.c:1120:46: error: passing argument 2 of 'pte_free' from incompatible pointer type [-Wincompatible-pointer-types]
1120 | pte_free(vma->vm_mm, ptdesc);
| ^~~~~~
| |
| struct ptdesc *
arch/powerpc/include/asm/pgalloc.h:43:61: note: expected 'pgtable_t' {aka 'pte_t *'} but argument is of type 'struct ptdesc *'
43 | static inline void pte_free(struct mm_struct *mm, pgtable_t ptepage)
| ~~~~~~~~~~^~~~~~~
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/powerpc/include/asm/book3s/64/pgtable.h:1368:70: note: expected 'pgtable_t' {aka 'pte_t *'} but argument is of type 'struct page *'
1368 | pmd_t *pmdp, pgtable_t pgtable)
| ~~~~~~~~~~^~~~~~~
mm/huge_memory.c:1178:30: error: passing argument 2 of 'pte_free' from incompatible pointer type [-Wincompatible-pointer-types]
1178 | pte_free(mm, ptdesc);
| ^~~~~~
| |
| struct ptdesc *
arch/powerpc/include/asm/pgalloc.h:43:61: note: expected 'pgtable_t' {aka 'pte_t *'} but argument is of type 'struct ptdesc *'
43 | static inline void pte_free(struct mm_struct *mm, pgtable_t ptepage)
| ~~~~~~~~~~^~~~~~~
mm/huge_memory.c: In function 'copy_huge_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:1404:61: note: in expansion of macro 'ptdesc_page'
1404 | pgtable_trans_huge_deposit(dst_mm, dst_pmd, ptdesc_page(ptdesc));
| ^~~~~~~~~~~
arch/powerpc/include/asm/book3s/64/pgtable.h:1368:70: note: expected 'pgtable_t' {aka 'pte_t *'} but argument is of type 'struct page *'
1368 | pmd_t *pmdp, pgtable_t pgtable)
| ~~~~~~~~~~^~~~~~~
mm/huge_memory.c:1414:34: error: passing argument 2 of 'pte_free' from incompatible pointer type [-Wincompatible-pointer-types]
1414 | pte_free(dst_mm, ptdesc);
| ^~~~~~
| |
| struct ptdesc *
arch/powerpc/include/asm/pgalloc.h:43:61: note: expected 'pgtable_t' {aka 'pte_t *'} but argument is of type 'struct ptdesc *'
43 | static inline void pte_free(struct mm_struct *mm, pgtable_t ptepage)
| ~~~~~~~~~~^~~~~~~
mm/huge_memory.c:1440:34: error: passing argument 2 of 'pte_free' from incompatible pointer type [-Wincompatible-pointer-types]
1440 | pte_free(dst_mm, ptdesc);
| ^~~~~~
| |
| struct ptdesc *
arch/powerpc/include/asm/pgalloc.h:43:61: note: expected 'pgtable_t' {aka 'pte_t *'} but argument is of type 'struct ptdesc *'
43 | static inline void pte_free(struct mm_struct *mm, pgtable_t ptepage)
| ~~~~~~~~~~^~~~~~~
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/powerpc/include/asm/book3s/64/pgtable.h:1368:70: note: expected 'pgtable_t' {aka 'pte_t *'} but argument is of type 'struct page *'
1368 | pmd_t *pmdp, pgtable_t pgtable)
| ~~~~~~~~~~^~~~~~~
mm/huge_memory.c: In function 'zap_deposited_table':
>> mm/huge_memory.c:1829:16: error: assignment to 'struct ptdesc *' from incompatible pointer type 'pgtable_t' {aka 'pte_t *'} [-Wincompatible-pointer-types]
1829 | ptdesc = pgtable_trans_huge_withdraw(mm, pmd);
| ^
mm/huge_memory.c:1830:22: error: passing argument 2 of 'pte_free' from incompatible pointer type [-Wincompatible-pointer-types]
1830 | pte_free(mm, ptdesc);
| ^~~~~~
| |
| struct ptdesc *
arch/powerpc/include/asm/pgalloc.h:43:61: note: expected 'pgtable_t' {aka 'pte_t *'} but argument is of type 'struct ptdesc *'
43 | static inline void pte_free(struct mm_struct *mm, pgtable_t ptepage)
| ~~~~~~~~~~^~~~~~~
mm/huge_memory.c: In function 'move_huge_pmd':
mm/huge_memory.c:1960:32: error: assignment to 'struct ptdesc *' from incompatible pointer type 'pgtable_t' {aka 'pte_t *'} [-Wincompatible-pointer-types]
1960 | ptdesc = pgtable_trans_huge_withdraw(mm, old_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:1961:65: note: in expansion of macro 'ptdesc_page'
1961 | pgtable_trans_huge_deposit(mm, new_pmd, ptdesc_page(ptdesc));
| ^~~~~~~~~~~
arch/powerpc/include/asm/book3s/64/pgtable.h:1368:70: note: expected 'pgtable_t' {aka 'pte_t *'} but argument is of type 'struct page *'
1368 | pmd_t *pmdp, pgtable_t pgtable)
| ~~~~~~~~~~^~~~~~~
mm/huge_memory.c: In function 'move_pages_huge_pmd':
mm/huge_memory.c:2235:20: error: assignment to 'struct ptdesc *' from incompatible pointer type 'pgtable_t' {aka 'pte_t *'} [-Wincompatible-pointer-types]
2235 | src_ptdesc = pgtable_trans_huge_withdraw(mm, src_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:2236:49: note: in expansion of macro 'ptdesc_page'
2236 | pgtable_trans_huge_deposit(mm, dst_pmd, ptdesc_page(src_ptdesc));
| ^~~~~~~~~~~
arch/powerpc/include/asm/book3s/64/pgtable.h:1368:70: note: expected 'pgtable_t' {aka 'pte_t *'} but argument is of type 'struct page *'
1368 | pmd_t *pmdp, pgtable_t pgtable)
| ~~~~~~~~~~^~~~~~~
mm/huge_memory.c: In function '__split_huge_zero_page_pmd':
mm/huge_memory.c:2364:16: error: assignment to 'struct ptdesc *' from incompatible pointer type 'pgtable_t' {aka 'pte_t *'} [-Wincompatible-pointer-types]
2364 | ptdesc = pgtable_trans_huge_withdraw(mm, pmd);
| ^
include/linux/mm_types.h:504:41: error: passing argument 3 of 'pmd_populate' 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:2365:33: note: in expansion of macro 'ptdesc_page'
2365 | pmd_populate(mm, &_pmd, ptdesc_page(ptdesc));
| ^~~~~~~~~~~
In file included from arch/powerpc/include/asm/book3s/pgalloc.h:10,
from arch/powerpc/include/asm/pgalloc.h:72:
arch/powerpc/include/asm/book3s/64/pgalloc.h:165:43: note: expected 'pgtable_t' {aka 'pte_t *'} but argument is of type 'struct page *'
165 | pgtable_t pte_page)
| ~~~~~~~~~~^~~~~~~~
include/linux/mm_types.h:504:41: error: passing argument 3 of 'pmd_populate' 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:2382:31: note: in expansion of macro 'ptdesc_page'
2382 | pmd_populate(mm, pmd, ptdesc_page(ptdesc));
| ^~~~~~~~~~~
arch/powerpc/include/asm/book3s/64/pgalloc.h:165:43: note: expected 'pgtable_t' {aka 'pte_t *'} but argument is of type 'struct page *'
165 | pgtable_t pte_page)
| ~~~~~~~~~~^~~~~~~~
mm/huge_memory.c: In function '__split_huge_pmd_locked':
mm/huge_memory.c:2536:16: error: assignment to 'struct ptdesc *' from incompatible pointer type 'pgtable_t' {aka 'pte_t *'} [-Wincompatible-pointer-types]
2536 | ptdesc = pgtable_trans_huge_withdraw(mm, pmd);
| ^
include/linux/mm_types.h:504:41: error: passing argument 3 of 'pmd_populate' 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:2537:33: note: in expansion of macro 'ptdesc_page'
2537 | pmd_populate(mm, &_pmd, ptdesc_page(ptdesc));
| ^~~~~~~~~~~
vim +1829 mm/huge_memory.c
1824
1825 static inline void zap_deposited_table(struct mm_struct *mm, pmd_t *pmd)
1826 {
1827 struct ptdesc *ptdesc;
1828
> 1829 ptdesc = pgtable_trans_huge_withdraw(mm, pmd);
1830 pte_free(mm, ptdesc);
1831 mm_dec_nr_ptes(mm);
1832 }
1833
--
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-21 8:05 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-21 8:04 [alexshi:mmunstable 34/43] mm/huge_memory.c:1829:16: error: assignment to 'struct ptdesc *' from incompatible pointer type 'pgtable_t' {aka '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.