Hi Thomas,

kernel test robot noticed the following build errors:

[auto build test ERROR on drm-xe/drm-xe-next]
[also build test ERROR on drm/drm-next drm-i915/for-linux-next drm-tip/drm-tip 
next-20260120]
[cannot apply to drm-misc/drm-misc-next daeinki-drm-exynos/exynos-drm-next 
drm-i915/for-linux-next-fixes linus/master v6.19-rc6]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    
https://github.com/intel-lab-lkp/linux/commits/Thomas-Hellstr-m/drm-drm-xe-Fix-xe-userptr-in-the-absence-of-CONFIG_DEVICE_PRIVATE/20260120-223858
base:   https://gitlab.freedesktop.org/drm/xe/kernel.git drm-xe-next
patch link:    
https://lore.kernel.org/r/20260120143459.9485-3-thomas.hellstrom%40linux.intel.com
patch subject: [PATCH v2 2/2] drm/xe: Select CONFIG_DEVICE_PRIVATE when 
DRM_XE_GPUSVM is selected
config: parisc-allmodconfig 
(https://download.01.org/0day-ci/archive/20260121/[email protected]/config)
compiler: hppa-linux-gcc (GCC) 15.2.0
reproduce (this is a W=1 build): 
(https://download.01.org/0day-ci/archive/20260121/[email protected]/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 <[email protected]>
| Closes: 
https://lore.kernel.org/oe-kbuild-all/[email protected]/

All error/warnings (new ones prefixed by >>):

   fs/dax.c: In function 'copy_cow_page_dax':
>> fs/dax.c:1018:9: error: implicit declaration of function 'copy_user_page'; 
>> did you mean 'copy_to_user_page'? [-Wimplicit-function-declaration]
    1018 |         copy_user_page(vto, kaddr, vmf->address, vmf->cow_page);
         |         ^~~~~~~~~~~~~~
         |         copy_to_user_page
--
   mm/memremap.c: In function 'memremap_compat_align':
>> mm/memremap.c:36:16: error: 'SUBSECTION_SIZE' undeclared (first use in this 
>> function); did you mean 'SECTOR_SIZE'?
      36 |         return SUBSECTION_SIZE;
         |                ^~~~~~~~~~~~~~~
         |                SECTOR_SIZE
   mm/memremap.c:36:16: note: each undeclared identifier is reported only once 
for each function it appears in
   mm/memremap.c: In function 'pageunmap_range':
>> mm/memremap.c:96:9: error: implicit declaration of function 
>> 'remove_pfn_range_from_zone'; did you mean 'remap_pfn_range_complete'? 
>> [-Wimplicit-function-declaration]
      96 |         remove_pfn_range_from_zone(page_zone(first_page), 
PHYS_PFN(range->start),
         |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
         |         remap_pfn_range_complete
>> mm/memremap.c:99:17: error: implicit declaration of function 
>> '__remove_pages'; did you mean 'move_pages'? 
>> [-Wimplicit-function-declaration]
      99 |                 __remove_pages(PHYS_PFN(range->start),
         |                 ^~~~~~~~~~~~~~
         |                 move_pages
>> mm/memremap.c:102:17: error: implicit declaration of function 
>> 'arch_remove_memory'; did you mean 'remove_memory'? 
>> [-Wimplicit-function-declaration]
     102 |                 arch_remove_memory(range->start, range_len(range),
         |                 ^~~~~~~~~~~~~~~~~~
         |                 remove_memory
   mm/memremap.c: At top level:
>> mm/memremap.c:144:60: warning: 'struct mhp_params' declared inside parameter 
>> list will not be visible outside of this definition or declaration
     144 | static int pagemap_range(struct dev_pagemap *pgmap, struct 
mhp_params *params,
         |                                                            ^~~~~~~~~~
   mm/memremap.c: In function 'pagemap_range':
>> mm/memremap.c:189:37: error: invalid use of undefined type 'struct 
>> mhp_params'
     189 |                              &params->pgprot);
         |                                     ^~
>> mm/memremap.c:193:14: error: implicit declaration of function 
>> 'mhp_range_allowed' [-Wimplicit-function-declaration]
     193 |         if (!mhp_range_allowed(range->start, range_len(range), 
!is_private)) {
         |              ^~~~~~~~~~~~~~~~~
>> mm/memremap.c:212:25: error: implicit declaration of function 'add_pages'; 
>> did you mean 'dir_pages'? [-Wimplicit-function-declaration]
     212 |                 error = add_pages(nid, PHYS_PFN(range->start),
         |                         ^~~~~~~~~
         |                         dir_pages
>> mm/memremap.c:221:25: error: implicit declaration of function 
>> 'arch_add_memory' [-Wimplicit-function-declaration]
     221 |                 error = arch_add_memory(nid, range->start, 
range_len(range),
         |                         ^~~~~~~~~~~~~~~
>> mm/memremap.c:229:17: error: implicit declaration of function 
>> 'move_pfn_range_to_zone' [-Wimplicit-function-declaration]
     229 |                 move_pfn_range_to_zone(zone, PHYS_PFN(range->start),
         |                 ^~~~~~~~~~~~~~~~~~~~~~
   mm/memremap.c:230:67: error: invalid use of undefined type 'struct 
mhp_params'
     230 |                                 PHYS_PFN(range_len(range)), 
params->altmap,
         |                                                                   ^~
   mm/memremap.c: In function 'memremap_pages':
>> mm/memremap.c:268:16: error: variable 'params' has initializer but 
>> incomplete type
     268 |         struct mhp_params params = {
         |                ^~~~~~~~~~
>> mm/memremap.c:269:18: error: 'struct mhp_params' has no member named 'altmap'
     269 |                 .altmap = pgmap_altmap(pgmap),
         |                  ^~~~~~
>> mm/memremap.c:269:27: warning: excess elements in struct initializer
     269 |                 .altmap = pgmap_altmap(pgmap),
         |                           ^~~~~~~~~~~~
   mm/memremap.c:269:27: note: (near initialization for 'params')
>> mm/memremap.c:270:18: error: 'struct mhp_params' has no member named 'pgmap'
     270 |                 .pgmap = pgmap,
         |                  ^~~~~
   mm/memremap.c:270:26: warning: excess elements in struct initializer
     270 |                 .pgmap = pgmap,
         |                          ^~~~~
   mm/memremap.c:270:26: note: (near initialization for 'params')
>> mm/memremap.c:271:18: error: 'struct mhp_params' has no member named 'pgprot'
     271 |                 .pgprot = PAGE_KERNEL,
         |                  ^~~~~~
   In file included from include/linux/shm.h:6,
                    from include/linux/sched.h:23,
                    from include/linux/ratelimit.h:6,
                    from include/linux/dev_printk.h:16,
                    from include/linux/device.h:15,
                    from mm/memremap.c:3:
>> arch/parisc/include/asm/page.h:54:25: warning: excess elements in struct 
>> initializer
      54 | #define __pgprot(x)     ((pgprot_t) { (x) } )
         |                         ^
   arch/parisc/include/asm/pgtable.h:241:25: note: in expansion of macro 
'__pgprot'
     241 | #define PAGE_KERNEL     __pgprot(_PAGE_KERNEL)
         |                         ^~~~~~~~
   mm/memremap.c:271:27: note: in expansion of macro 'PAGE_KERNEL'
     271 |                 .pgprot = PAGE_KERNEL,
         |                           ^~~~~~~~~~~
   arch/parisc/include/asm/page.h:54:25: note: (near initialization for 
'params')
      54 | #define __pgprot(x)     ((pgprot_t) { (x) } )
         |                         ^
   arch/parisc/include/asm/pgtable.h:241:25: note: in expansion of macro 
'__pgprot'
     241 | #define PAGE_KERNEL     __pgprot(_PAGE_KERNEL)
         |                         ^~~~~~~~
   mm/memremap.c:271:27: note: in expansion of macro 'PAGE_KERNEL'
     271 |                 .pgprot = PAGE_KERNEL,
         |                           ^~~~~~~~~~~
>> mm/memremap.c:268:27: error: storage size of 'params' isn't known
     268 |         struct mhp_params params = {
         |                           ^~~~~~
>> mm/memremap.c:268:27: warning: unused variable 'params' [-Wunused-variable]

Kconfig warnings: (for reference only)
   WARNING: unmet direct dependencies detected for ZONE_DEVICE
   Depends on [n]: MEMORY_HOTPLUG [=n] && MEMORY_HOTREMOVE [=n] && 
SPARSEMEM_VMEMMAP [=n]
   Selected by [m]:
   - DRM_XE_GPUSVM [=y] && HAS_IOMEM [=y] && DRM [=m] && DRM_XE [=m] && !UML


vim +1018 fs/dax.c

429f8de70d9872 Christoph Hellwig 2021-11-29  1002  
429f8de70d9872 Christoph Hellwig 2021-11-29  1003  static int 
copy_cow_page_dax(struct vm_fault *vmf, const struct iomap_iter *iter)
429f8de70d9872 Christoph Hellwig 2021-11-29  1004  {
60696eb26a37ab Christoph Hellwig 2021-11-29  1005       pgoff_t pgoff = 
dax_iomap_pgoff(&iter->iomap, iter->pos);
cccbce67158290 Dan Williams      2017-01-27  1006       void *vto, *kaddr;
cccbce67158290 Dan Williams      2017-01-27  1007       long rc;
cccbce67158290 Dan Williams      2017-01-27  1008       int id;
cccbce67158290 Dan Williams      2017-01-27  1009  
cccbce67158290 Dan Williams      2017-01-27  1010       id = dax_read_lock();
e511c4a3d2a1f6 Jane Chu          2022-05-13  1011       rc = 
dax_direct_access(iter->iomap.dax_dev, pgoff, 1, DAX_ACCESS,
e511c4a3d2a1f6 Jane Chu          2022-05-13  1012                               
&kaddr, NULL);
cccbce67158290 Dan Williams      2017-01-27  1013       if (rc < 0) {
cccbce67158290 Dan Williams      2017-01-27  1014               
dax_read_unlock(id);
cccbce67158290 Dan Williams      2017-01-27  1015               return rc;
cccbce67158290 Dan Williams      2017-01-27  1016       }
429f8de70d9872 Christoph Hellwig 2021-11-29  1017       vto = 
kmap_atomic(vmf->cow_page);
429f8de70d9872 Christoph Hellwig 2021-11-29 @1018       copy_user_page(vto, 
kaddr, vmf->address, vmf->cow_page);
f7ca90b160307d Matthew Wilcox    2015-02-16  1019       kunmap_atomic(vto);
cccbce67158290 Dan Williams      2017-01-27  1020       dax_read_unlock(id);
f7ca90b160307d Matthew Wilcox    2015-02-16  1021       return 0;
f7ca90b160307d Matthew Wilcox    2015-02-16  1022  }
f7ca90b160307d Matthew Wilcox    2015-02-16  1023  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

Reply via email to