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 | ¶ms->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
