All of lore.kernel.org
 help / color / mirror / Atom feed
* [alexshi:ptdesc1217 1/1] arch/xtensa/include/asm/pgalloc.h:58:7: error: assignment to 'struct page *' from incompatible pointer type 'pgtable_t' {aka 'struct ptdesc *'}
@ 2025-12-21 22:48 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2025-12-21 22:48 UTC (permalink / raw)
  To: alexs; +Cc: oe-kbuild-all

tree:   https://github.com/alexshi/linux.git ptdesc1217
head:   5a13c35972782c993b40bf3d92ada4db87f4ee5e
commit: 5a13c35972782c993b40bf3d92ada4db87f4ee5e [1/1] mm/pgtable: convert pgtable_t to ptdesc pointer
config: xtensa-randconfig-r072-20251221 (https://download.01.org/0day-ci/archive/20251222/202512220624.cxcWToU5-lkp@intel.com/config)
compiler: xtensa-linux-gcc (GCC) 8.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251222/202512220624.cxcWToU5-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/202512220624.cxcWToU5-lkp@intel.com/

All errors (new ones prefixed by >>):

   In file included from include/linux/pgalloc.h:6,
                    from mm/filemap.c:51:
   arch/xtensa/include/asm/pgalloc.h: In function 'pte_alloc_one':
>> arch/xtensa/include/asm/pgalloc.h:58:7: error: assignment to 'struct page *' from incompatible pointer type 'pgtable_t' {aka 'struct ptdesc *'} [-Werror=incompatible-pointer-types]
     page = __pte_alloc_one(mm, GFP_PGTABLE_USER);
          ^
>> arch/xtensa/include/asm/pgalloc.h:62:9: error: returning 'struct page *' from a function with incompatible return type 'pgtable_t' {aka 'struct ptdesc *'} [-Werror=incompatible-pointer-types]
     return page;
            ^~~~
   cc1: some warnings being treated as errors
--
   In file included from include/linux/pgalloc.h:6,
                    from mm/memory.c:79:
   arch/xtensa/include/asm/pgalloc.h: In function 'pte_alloc_one':
>> arch/xtensa/include/asm/pgalloc.h:58:7: error: assignment to 'struct page *' from incompatible pointer type 'pgtable_t' {aka 'struct ptdesc *'} [-Werror=incompatible-pointer-types]
     page = __pte_alloc_one(mm, GFP_PGTABLE_USER);
          ^
>> arch/xtensa/include/asm/pgalloc.h:62:9: error: returning 'struct page *' from a function with incompatible return type 'pgtable_t' {aka 'struct ptdesc *'} [-Werror=incompatible-pointer-types]
     return page;
            ^~~~
   In file included from include/linux/shm.h:6,
                    from include/linux/sched.h:23,
                    from include/linux/percpu.h:12,
                    from include/linux/kernel_stat.h:7,
                    from mm/memory.c:42:
   mm/memory.c: In function 'pmd_install':
   include/asm-generic/memory_model.h:19:53: error: invalid operands to binary - (have 'pgtable_t' {aka 'struct ptdesc *'} and 'struct page *')
    #define __page_to_pfn(page) ((unsigned long)((page) - mem_map) + \
                                                 ~~~~~~ ^
   arch/xtensa/include/asm/page.h:169:29: note: in definition of macro '__va'
     ((void *)((unsigned long) (x) - PHYS_OFFSET + PAGE_OFFSET))
                                ^
   include/asm-generic/memory_model.h:73:21: note: in expansion of macro '__page_to_pfn'
    #define page_to_pfn __page_to_pfn
                        ^~~~~~~~~~~~~
   arch/xtensa/include/asm/page.h:172:33: note: in expansion of macro 'page_to_pfn'
    #define page_to_virt(page) __va(page_to_pfn(page) << PAGE_SHIFT)
                                    ^~~~~~~~~~~
   arch/xtensa/include/asm/pgalloc.h:27:38: note: in expansion of macro 'page_to_virt'
     (pmd_val(*(pmdp)) = ((unsigned long)page_to_virt(page)))
                                         ^~~~~~~~~~~~
   mm/memory.c:445:3: note: in expansion of macro 'pmd_populate'
      pmd_populate(mm, pmd, *pte);
      ^~~~~~~~~~~~
   cc1: some warnings being treated as errors
--
   In file included from include/linux/pgalloc.h:6,
                    from mm/debug_vm_pgtable.c:33:
   arch/xtensa/include/asm/pgalloc.h: In function 'pte_alloc_one':
>> arch/xtensa/include/asm/pgalloc.h:58:7: error: assignment to 'struct page *' from incompatible pointer type 'pgtable_t' {aka 'struct ptdesc *'} [-Werror=incompatible-pointer-types]
     page = __pte_alloc_one(mm, GFP_PGTABLE_USER);
          ^
>> arch/xtensa/include/asm/pgalloc.h:62:9: error: returning 'struct page *' from a function with incompatible return type 'pgtable_t' {aka 'struct ptdesc *'} [-Werror=incompatible-pointer-types]
     return page;
            ^~~~
   In file included from include/linux/mm_types_task.h:14,
                    from include/linux/mm_types.h:5,
                    from include/linux/mmzone.h:22,
                    from include/linux/gfp.h:7,
                    from mm/debug_vm_pgtable.c:13:
   mm/debug_vm_pgtable.c: In function 'pmd_populate_tests':
   include/asm-generic/memory_model.h:19:53: error: invalid operands to binary - (have 'pgtable_t' {aka 'struct ptdesc *'} and 'struct page *')
    #define __page_to_pfn(page) ((unsigned long)((page) - mem_map) + \
                                                 ~~~~~~ ^
   arch/xtensa/include/asm/page.h:169:29: note: in definition of macro '__va'
     ((void *)((unsigned long) (x) - PHYS_OFFSET + PAGE_OFFSET))
                                ^
   include/asm-generic/memory_model.h:73:21: note: in expansion of macro '__page_to_pfn'
    #define page_to_pfn __page_to_pfn
                        ^~~~~~~~~~~~~
   arch/xtensa/include/asm/page.h:172:33: note: in expansion of macro 'page_to_pfn'
    #define page_to_virt(page) __va(page_to_pfn(page) << PAGE_SHIFT)
                                    ^~~~~~~~~~~
   arch/xtensa/include/asm/pgalloc.h:27:38: note: in expansion of macro 'page_to_virt'
     (pmd_val(*(pmdp)) = ((unsigned long)page_to_virt(page)))
                                         ^~~~~~~~~~~~
   mm/debug_vm_pgtable.c:655:2: note: in expansion of macro 'pmd_populate'
     pmd_populate(args->mm, args->pmdp, args->start_ptep);
     ^~~~~~~~~~~~
   cc1: some warnings being treated as errors


vim +58 arch/xtensa/include/asm/pgalloc.h

9a8fd558990215 include/asm-xtensa/pgalloc.h      Chris Zankel            2005-06-23  53  
4cf58924951ef8 arch/xtensa/include/asm/pgalloc.h Joel Fernandes (Google  2019-01-03  54) static inline pgtable_t pte_alloc_one(struct mm_struct *mm)
6656920b0b50be include/asm-xtensa/pgalloc.h      Chris Zankel            2007-08-22  55  {
2f569afd9ced9e include/asm-xtensa/pgalloc.h      Martin Schwidefsky      2008-02-08  56  	struct page *page;
2f569afd9ced9e include/asm-xtensa/pgalloc.h      Martin Schwidefsky      2008-02-08  57  
7278914ca1fdb5 arch/xtensa/include/asm/pgalloc.h Mike Rapoport           2020-08-06 @58  	page = __pte_alloc_one(mm, GFP_PGTABLE_USER);
7278914ca1fdb5 arch/xtensa/include/asm/pgalloc.h Mike Rapoport           2020-08-06  59  	if (!page)
8f43123d170ad9 arch/xtensa/include/asm/pgalloc.h Kiryl Shutsemau         2013-11-14  60  		return NULL;
7278914ca1fdb5 arch/xtensa/include/asm/pgalloc.h Mike Rapoport           2020-08-06  61  	ptes_clear(page_address(page));
2f569afd9ced9e include/asm-xtensa/pgalloc.h      Martin Schwidefsky      2008-02-08 @62  	return page;
9a8fd558990215 include/asm-xtensa/pgalloc.h      Chris Zankel            2005-06-23  63  }
9a8fd558990215 include/asm-xtensa/pgalloc.h      Chris Zankel            2005-06-23  64  

:::::: The code at line 58 was first introduced by commit
:::::: 7278914ca1fdb54ba101c8617fb86953b31348cd xtensa: switch to generic version of pte allocation

:::::: TO: Mike Rapoport <rppt@linux.ibm.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:[~2025-12-21 22:48 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-21 22:48 [alexshi:ptdesc1217 1/1] arch/xtensa/include/asm/pgalloc.h:58:7: error: assignment to 'struct page *' from incompatible pointer type 'pgtable_t' {aka 'struct ptdesc *'} 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.