* [alexshi:mmunstable 24/24] arch/powerpc/mm/book3s64/radix_pgtable.c:1416:25: error: incompatible pointer types assigning to 'struct ptdesc *' from 'pgtable_t' (aka 'pte_t *')
@ 2024-07-19 18:49 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2024-07-19 18:49 UTC (permalink / raw)
To: Alex Shi (Tencent); +Cc: llvm, oe-kbuild-all
tree: https://github.com/alexshi/linux.git mmunstable
head: 6ae12b6c0eff928170eee036443a5cf8a9337cf2
commit: 097194bcb4751e69a198ff50da9fa73f9c6e9e9f [24/24] mm/pgtable: convert ptdesc.pmd_huge_pte to ptdesc pointer
config: powerpc-allyesconfig (https://download.01.org/0day-ci/archive/20240720/202407200229.lbA1cLAn-lkp@intel.com/config)
compiler: clang version 19.0.0git (https://github.com/llvm/llvm-project ad154281230d83ee551e12d5be48bb956ef47ed3)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240720/202407200229.lbA1cLAn-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/202407200229.lbA1cLAn-lkp@intel.com/
All errors (new ones prefixed by >>):
In file included from arch/powerpc/mm/book3s64/radix_pgtable.c:10:
In file included from include/linux/io.h:14:
In file included from arch/powerpc/include/asm/io.h:24:
In file included from include/linux/mm.h:2221:
include/linux/vmstat.h:500:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
500 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
501 | item];
| ~~~~
include/linux/vmstat.h:507:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
507 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
508 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
include/linux/vmstat.h:514:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion]
514 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
| ~~~~~~~~~~~ ^ ~~~
include/linux/vmstat.h:519:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
519 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
520 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
include/linux/vmstat.h:528:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
528 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
529 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
>> arch/powerpc/mm/book3s64/radix_pgtable.c:1416:25: error: incompatible pointer types assigning to 'struct ptdesc *' from 'pgtable_t' (aka 'pte_t *') [-Werror,-Wincompatible-pointer-types]
1416 | pmd_huge_pte(mm, pmdp) = pgtable;
| ^ ~~~~~~~
>> arch/powerpc/mm/book3s64/radix_pgtable.c:1428:10: error: incompatible pointer types assigning to 'pgtable_t' (aka 'pte_t *') from 'struct ptdesc *' [-Werror,-Wincompatible-pointer-types]
1428 | pgtable = pmd_huge_pte(mm, pmdp);
| ^ ~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/mm/book3s64/radix_pgtable.c:1433:26: error: incompatible pointer types assigning to 'struct ptdesc *' from 'pgtable_t' (aka 'pte_t *') [-Werror,-Wincompatible-pointer-types]
1433 | pmd_huge_pte(mm, pmdp) = (pgtable_t) lh->next;
| ^ ~~~~~~~~~~~~~~~~~~~~
5 warnings and 3 errors generated.
vim +1416 arch/powerpc/mm/book3s64/radix_pgtable.c
bde3eb6222e496 arch/powerpc/mm/pgtable-radix.c Aneesh Kumar K.V 2016-04-29 1397
bde3eb6222e496 arch/powerpc/mm/pgtable-radix.c Aneesh Kumar K.V 2016-04-29 1398 /*
bde3eb6222e496 arch/powerpc/mm/pgtable-radix.c Aneesh Kumar K.V 2016-04-29 1399 * For us pgtable_t is pte_t *. Inorder to save the deposisted
bde3eb6222e496 arch/powerpc/mm/pgtable-radix.c Aneesh Kumar K.V 2016-04-29 1400 * page table, we consider the allocated page table as a list
bde3eb6222e496 arch/powerpc/mm/pgtable-radix.c Aneesh Kumar K.V 2016-04-29 1401 * head. On withdraw we need to make sure we zero out the used
bde3eb6222e496 arch/powerpc/mm/pgtable-radix.c Aneesh Kumar K.V 2016-04-29 1402 * list_head memory area.
bde3eb6222e496 arch/powerpc/mm/pgtable-radix.c Aneesh Kumar K.V 2016-04-29 1403 */
bde3eb6222e496 arch/powerpc/mm/pgtable-radix.c Aneesh Kumar K.V 2016-04-29 1404 void radix__pgtable_trans_huge_deposit(struct mm_struct *mm, pmd_t *pmdp,
bde3eb6222e496 arch/powerpc/mm/pgtable-radix.c Aneesh Kumar K.V 2016-04-29 1405 pgtable_t pgtable)
bde3eb6222e496 arch/powerpc/mm/pgtable-radix.c Aneesh Kumar K.V 2016-04-29 1406 {
bde3eb6222e496 arch/powerpc/mm/pgtable-radix.c Aneesh Kumar K.V 2016-04-29 1407 struct list_head *lh = (struct list_head *) pgtable;
bde3eb6222e496 arch/powerpc/mm/pgtable-radix.c Aneesh Kumar K.V 2016-04-29 1408
bde3eb6222e496 arch/powerpc/mm/pgtable-radix.c Aneesh Kumar K.V 2016-04-29 1409 assert_spin_locked(pmd_lockptr(mm, pmdp));
bde3eb6222e496 arch/powerpc/mm/pgtable-radix.c Aneesh Kumar K.V 2016-04-29 1410
bde3eb6222e496 arch/powerpc/mm/pgtable-radix.c Aneesh Kumar K.V 2016-04-29 1411 /* FIFO */
bde3eb6222e496 arch/powerpc/mm/pgtable-radix.c Aneesh Kumar K.V 2016-04-29 1412 if (!pmd_huge_pte(mm, pmdp))
bde3eb6222e496 arch/powerpc/mm/pgtable-radix.c Aneesh Kumar K.V 2016-04-29 1413 INIT_LIST_HEAD(lh);
bde3eb6222e496 arch/powerpc/mm/pgtable-radix.c Aneesh Kumar K.V 2016-04-29 1414 else
bde3eb6222e496 arch/powerpc/mm/pgtable-radix.c Aneesh Kumar K.V 2016-04-29 1415 list_add(lh, (struct list_head *) pmd_huge_pte(mm, pmdp));
bde3eb6222e496 arch/powerpc/mm/pgtable-radix.c Aneesh Kumar K.V 2016-04-29 @1416 pmd_huge_pte(mm, pmdp) = pgtable;
bde3eb6222e496 arch/powerpc/mm/pgtable-radix.c Aneesh Kumar K.V 2016-04-29 1417 }
bde3eb6222e496 arch/powerpc/mm/pgtable-radix.c Aneesh Kumar K.V 2016-04-29 1418
bde3eb6222e496 arch/powerpc/mm/pgtable-radix.c Aneesh Kumar K.V 2016-04-29 1419 pgtable_t radix__pgtable_trans_huge_withdraw(struct mm_struct *mm, pmd_t *pmdp)
bde3eb6222e496 arch/powerpc/mm/pgtable-radix.c Aneesh Kumar K.V 2016-04-29 1420 {
bde3eb6222e496 arch/powerpc/mm/pgtable-radix.c Aneesh Kumar K.V 2016-04-29 1421 pte_t *ptep;
bde3eb6222e496 arch/powerpc/mm/pgtable-radix.c Aneesh Kumar K.V 2016-04-29 1422 pgtable_t pgtable;
bde3eb6222e496 arch/powerpc/mm/pgtable-radix.c Aneesh Kumar K.V 2016-04-29 1423 struct list_head *lh;
bde3eb6222e496 arch/powerpc/mm/pgtable-radix.c Aneesh Kumar K.V 2016-04-29 1424
bde3eb6222e496 arch/powerpc/mm/pgtable-radix.c Aneesh Kumar K.V 2016-04-29 1425 assert_spin_locked(pmd_lockptr(mm, pmdp));
bde3eb6222e496 arch/powerpc/mm/pgtable-radix.c Aneesh Kumar K.V 2016-04-29 1426
bde3eb6222e496 arch/powerpc/mm/pgtable-radix.c Aneesh Kumar K.V 2016-04-29 1427 /* FIFO */
bde3eb6222e496 arch/powerpc/mm/pgtable-radix.c Aneesh Kumar K.V 2016-04-29 @1428 pgtable = pmd_huge_pte(mm, pmdp);
bde3eb6222e496 arch/powerpc/mm/pgtable-radix.c Aneesh Kumar K.V 2016-04-29 1429 lh = (struct list_head *) pgtable;
bde3eb6222e496 arch/powerpc/mm/pgtable-radix.c Aneesh Kumar K.V 2016-04-29 1430 if (list_empty(lh))
bde3eb6222e496 arch/powerpc/mm/pgtable-radix.c Aneesh Kumar K.V 2016-04-29 1431 pmd_huge_pte(mm, pmdp) = NULL;
bde3eb6222e496 arch/powerpc/mm/pgtable-radix.c Aneesh Kumar K.V 2016-04-29 1432 else {
bde3eb6222e496 arch/powerpc/mm/pgtable-radix.c Aneesh Kumar K.V 2016-04-29 1433 pmd_huge_pte(mm, pmdp) = (pgtable_t) lh->next;
bde3eb6222e496 arch/powerpc/mm/pgtable-radix.c Aneesh Kumar K.V 2016-04-29 1434 list_del(lh);
bde3eb6222e496 arch/powerpc/mm/pgtable-radix.c Aneesh Kumar K.V 2016-04-29 1435 }
bde3eb6222e496 arch/powerpc/mm/pgtable-radix.c Aneesh Kumar K.V 2016-04-29 1436 ptep = (pte_t *) pgtable;
bde3eb6222e496 arch/powerpc/mm/pgtable-radix.c Aneesh Kumar K.V 2016-04-29 1437 *ptep = __pte(0);
bde3eb6222e496 arch/powerpc/mm/pgtable-radix.c Aneesh Kumar K.V 2016-04-29 1438 ptep++;
bde3eb6222e496 arch/powerpc/mm/pgtable-radix.c Aneesh Kumar K.V 2016-04-29 1439 *ptep = __pte(0);
bde3eb6222e496 arch/powerpc/mm/pgtable-radix.c Aneesh Kumar K.V 2016-04-29 1440 return pgtable;
bde3eb6222e496 arch/powerpc/mm/pgtable-radix.c Aneesh Kumar K.V 2016-04-29 1441 }
bde3eb6222e496 arch/powerpc/mm/pgtable-radix.c Aneesh Kumar K.V 2016-04-29 1442
:::::: The code at line 1416 was first introduced by commit
:::::: bde3eb6222e49673d2ee9dfdc6ab6e7b6ff69e91 powerpc/mm/radix: Add radix THP callbacks
:::::: TO: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
:::::: CC: Michael Ellerman <mpe@ellerman.id.au>
--
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-19 18:50 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-19 18:49 [alexshi:mmunstable 24/24] arch/powerpc/mm/book3s64/radix_pgtable.c:1416:25: error: incompatible pointer types assigning to 'struct ptdesc *' from 'pgtable_t' (aka 'pte_t *') kernel test robot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox