public inbox for llvm@lists.linux.dev
 help / color / mirror / Atom feed
* [alexshi:mmunstable 24/24] arch/s390/mm/pgtable.c:577:25: error: incompatible pointer types assigning to 'struct ptdesc *' from 'pgtable_t' (aka 'pte_t *')
@ 2024-07-17 14:00 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2024-07-17 14:00 UTC (permalink / raw)
  To: Alex Shi (Tencent); +Cc: llvm, oe-kbuild-all

tree:   https://github.com/alexshi/linux.git mmunstable
head:   a158e7e787b56bc7f1b4bb582a0e8ec65cacec4b
commit: a158e7e787b56bc7f1b4bb582a0e8ec65cacec4b [24/24] mm/pgtable: convert ptdesc.pmd_huge_pte to ptdesc
config: s390-allmodconfig (https://download.01.org/0day-ci/archive/20240717/202407172118.aEQxv67s-lkp@intel.com/config)
compiler: clang version 19.0.0git (https://github.com/llvm/llvm-project a0c6b8aef853eedaa0980f07c0a502a5a8a9740e)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240717/202407172118.aEQxv67s-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/202407172118.aEQxv67s-lkp@intel.com/

All errors (new ones prefixed by >>):

   In file included from arch/s390/mm/pgtable.c:11:
   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/s390/mm/pgtable.c:577:25: error: incompatible pointer types assigning to 'struct ptdesc *' from 'pgtable_t' (aka 'pte_t *') [-Werror,-Wincompatible-pointer-types]
     577 |         pmd_huge_pte(mm, pmdp) = pgtable;
         |                                ^ ~~~~~~~
>> arch/s390/mm/pgtable.c:589:10: error: incompatible pointer types assigning to 'pgtable_t' (aka 'pte_t *') from 'struct ptdesc *' [-Werror,-Wincompatible-pointer-types]
     589 |         pgtable = pmd_huge_pte(mm, pmdp);
         |                 ^ ~~~~~~~~~~~~~~~~~~~~~~
   arch/s390/mm/pgtable.c:594:26: error: incompatible pointer types assigning to 'struct ptdesc *' from 'pgtable_t' (aka 'pte_t *') [-Werror,-Wincompatible-pointer-types]
     594 |                 pmd_huge_pte(mm, pmdp) = (pgtable_t) lh->next;
         |                                        ^ ~~~~~~~~~~~~~~~~~~~~
   5 warnings and 3 errors generated.


vim +577 arch/s390/mm/pgtable.c

d08de8e2d86744f Gerald Schaefer    2016-07-04  563  
75077afbec1ac89 Gerald Schaefer    2012-10-08  564  #ifdef CONFIG_TRANSPARENT_HUGEPAGE
6b0b50b0617fad5 Aneesh Kumar K.V   2013-06-05  565  void pgtable_trans_huge_deposit(struct mm_struct *mm, pmd_t *pmdp,
6b0b50b0617fad5 Aneesh Kumar K.V   2013-06-05  566  				pgtable_t pgtable)
9501d09fa3c4ca1 Gerald Schaefer    2012-10-08  567  {
9501d09fa3c4ca1 Gerald Schaefer    2012-10-08  568  	struct list_head *lh = (struct list_head *) pgtable;
9501d09fa3c4ca1 Gerald Schaefer    2012-10-08  569  
ec66ad66a0de878 Martin Schwidefsky 2014-02-12  570  	assert_spin_locked(pmd_lockptr(mm, pmdp));
9501d09fa3c4ca1 Gerald Schaefer    2012-10-08  571  
9501d09fa3c4ca1 Gerald Schaefer    2012-10-08  572  	/* FIFO */
c389a250ab4cfa4 Kirill A. Shutemov 2013-11-14  573  	if (!pmd_huge_pte(mm, pmdp))
9501d09fa3c4ca1 Gerald Schaefer    2012-10-08  574  		INIT_LIST_HEAD(lh);
9501d09fa3c4ca1 Gerald Schaefer    2012-10-08  575  	else
c389a250ab4cfa4 Kirill A. Shutemov 2013-11-14  576  		list_add(lh, (struct list_head *) pmd_huge_pte(mm, pmdp));
c389a250ab4cfa4 Kirill A. Shutemov 2013-11-14 @577  	pmd_huge_pte(mm, pmdp) = pgtable;
9501d09fa3c4ca1 Gerald Schaefer    2012-10-08  578  }
9501d09fa3c4ca1 Gerald Schaefer    2012-10-08  579  
6b0b50b0617fad5 Aneesh Kumar K.V   2013-06-05  580  pgtable_t pgtable_trans_huge_withdraw(struct mm_struct *mm, pmd_t *pmdp)
9501d09fa3c4ca1 Gerald Schaefer    2012-10-08  581  {
9501d09fa3c4ca1 Gerald Schaefer    2012-10-08  582  	struct list_head *lh;
9501d09fa3c4ca1 Gerald Schaefer    2012-10-08  583  	pgtable_t pgtable;
9501d09fa3c4ca1 Gerald Schaefer    2012-10-08  584  	pte_t *ptep;
9501d09fa3c4ca1 Gerald Schaefer    2012-10-08  585  
ec66ad66a0de878 Martin Schwidefsky 2014-02-12  586  	assert_spin_locked(pmd_lockptr(mm, pmdp));
9501d09fa3c4ca1 Gerald Schaefer    2012-10-08  587  
9501d09fa3c4ca1 Gerald Schaefer    2012-10-08  588  	/* FIFO */
c389a250ab4cfa4 Kirill A. Shutemov 2013-11-14 @589  	pgtable = pmd_huge_pte(mm, pmdp);
9501d09fa3c4ca1 Gerald Schaefer    2012-10-08  590  	lh = (struct list_head *) pgtable;
9501d09fa3c4ca1 Gerald Schaefer    2012-10-08  591  	if (list_empty(lh))
c389a250ab4cfa4 Kirill A. Shutemov 2013-11-14  592  		pmd_huge_pte(mm, pmdp) = NULL;
9501d09fa3c4ca1 Gerald Schaefer    2012-10-08  593  	else {
c389a250ab4cfa4 Kirill A. Shutemov 2013-11-14  594  		pmd_huge_pte(mm, pmdp) = (pgtable_t) lh->next;
9501d09fa3c4ca1 Gerald Schaefer    2012-10-08  595  		list_del(lh);
9501d09fa3c4ca1 Gerald Schaefer    2012-10-08  596  	}
9501d09fa3c4ca1 Gerald Schaefer    2012-10-08  597  	ptep = (pte_t *) pgtable;
b8e3b37900a57f9 Heiko Carstens     2022-02-21  598  	set_pte(ptep, __pte(_PAGE_INVALID));
9501d09fa3c4ca1 Gerald Schaefer    2012-10-08  599  	ptep++;
b8e3b37900a57f9 Heiko Carstens     2022-02-21  600  	set_pte(ptep, __pte(_PAGE_INVALID));
9501d09fa3c4ca1 Gerald Schaefer    2012-10-08  601  	return pgtable;
9501d09fa3c4ca1 Gerald Schaefer    2012-10-08  602  }
75077afbec1ac89 Gerald Schaefer    2012-10-08  603  #endif /* CONFIG_TRANSPARENT_HUGEPAGE */
1e133ab296f3ff8 Martin Schwidefsky 2016-03-08  604  

:::::: The code at line 577 was first introduced by commit
:::::: c389a250ab4cfa4a3775d9f2c45271618af6d5b2 mm, thp: do not access mm->pmd_huge_pte directly

:::::: TO: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
:::::: 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-17 14:01 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-17 14:00 [alexshi:mmunstable 24/24] arch/s390/mm/pgtable.c:577: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