Re: [PATCH v5 13/13] mm: Remove device private pages from the physical address space

kernel test robot
2026-02-01T13:04:08Z

Hi Jordan,

kernel test robot noticed the following build warnings:

[auto build test WARNING on 344db0fba38920be64a429c64a8ca0531572896c]

url: https://github.com/intel-lab-lkp/linux/commits/Jordan-Niethe/mm-migrate_device-Introduce-migrate_pfn_from_page-helper/20260130-191416
base: 344db0fba38920be64a429c64a8ca0531572896c
patch link: https://lore.kernel.org/r/20260130111050.53670-14-jniethe%40nvidia.com
patch subject: [PATCH v5 13/13] mm: Remove device private pages from the physical address space
config: loongarch-allmodconfig (https://download.01.org/0day-ci/archive/20260201/202602012037.jpAjBFBa-lkp@intel.com/config)
compiler: clang version 19.1.7 (https://github.com/llvm/llvm-project cd708029e0b2869e80abe31ddb175f7c35361f90)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260201/202602012037.jpAjBFBa-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/202602012037.jpAjBFBa-lkp@intel.com/

All warnings (new ones prefixed by >>):

>> drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_migrate.c:1071:7: warning: variable 'ret' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
1071 | if (IS_ERR(r))
| ^~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_migrate.c:1075:6: note: uninitialized use occurs here
1075 | if (ret) {
| ^~~
drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_migrate.c:1071:3: note: remove the 'if' if its condition is always true
1071 | if (IS_ERR(r))
| ^~~~~~~~~~~~~~
1072 | ret = PTR_ERR(r);
drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_migrate.c:1035:9: note: initialize the variable 'ret' to silence this warning
1035 | int ret;
| ^
| = 0
1 warning generated.

vim +1071 drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_migrate.c

1028
1029 int kgd2kfd_init_zone_device(struct amdgpu_device *adev)
1030 {
1031 struct amdgpu_kfd_dev *kfddev = &adev->kfd;
1032 struct dev_pagemap *pgmap;
1033 unsigned long size;
1034 void *r;
1035 int ret;
1036
1037 /* Page migration works on gfx9 or newer */
1038 if (amdgpu_ip_version(adev, GC_HWIP, 0) < IP_VERSION(9, 0, 1))
1039 return -EINVAL;
1040
1041 if (adev->apu_prefer_gtt)
1042 return 0;
1043
1044 pgmap = &kfddev->pgmap;
1045 memset(pgmap, 0, sizeof(*pgmap));
1046
1047 /* TODO: register all vram to HMM for now.
1048 * should remove reserved size
1049 */
1050 size = ALIGN(adev->gmc.real_vram_size, 2ULL << 20);
1051 if (adev->gmc.xgmi.connected_to_cpu) {
1052 pgmap->range.start = adev->gmc.aper_base;
1053 pgmap->range.end = adev->gmc.aper_base + adev->gmc.aper_size - 1;
1054 pgmap->type = MEMORY_DEVICE_COHERENT;
1055 } else {
1056 pgmap->nr_pages = size / PAGE_SIZE;
1057 pgmap->type = MEMORY_DEVICE_PRIVATE;
1058 }
1059
1060 pgmap->nr_range = 1;
1061 pgmap->ops = &svm_migrate_pgmap_ops;
1062 pgmap->owner = SVM_ADEV_PGMAP_OWNER(adev);
1063 pgmap->flags = 0;
1064 /* Device manager releases device-specific resources, memory region and
1065 * pgmap when driver disconnects from device.
1066 */
1067 if (pgmap->type == MEMORY_DEVICE_PRIVATE) {
1068 ret = devm_memremap_device_private_pagemap(adev->dev, pgmap);
1069 } else {
1070 r = devm_memremap_pages(adev->dev, pgmap);
> 1071 if (IS_ERR(r))

--
0-DAY CI Kernel Test Service