lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <202505142049.8vYH34nZ-lkp@intel.com>
Date: Wed, 14 May 2025 20:46:11 +0800
From: kernel test robot <lkp@...el.com>
To: Byungchul Park <byungchul@...com>, linux-kernel@...r.kernel.org
Cc: llvm@...ts.linux.dev, oe-kbuild-all@...ts.linux.dev,
	kernel_team@...ynix.com, torvalds@...ux-foundation.org,
	damien.lemoal@...nsource.wdc.com, linux-ide@...r.kernel.org,
	adilger.kernel@...ger.ca, linux-ext4@...r.kernel.org,
	mingo@...hat.com, peterz@...radead.org, will@...nel.org,
	tglx@...utronix.de, rostedt@...dmis.org, joel@...lfernandes.org,
	sashal@...nel.org, daniel.vetter@...ll.ch, duyuyang@...il.com,
	johannes.berg@...el.com, tj@...nel.org, tytso@....edu,
	willy@...radead.org, david@...morbit.com, amir73il@...il.com,
	gregkh@...uxfoundation.org, kernel-team@....com, linux-mm@...ck.org,
	akpm@...ux-foundation.org, mhocko@...nel.org, minchan@...nel.org,
	hannes@...xchg.org, vdavydov.dev@...il.com
Subject: Re: [PATCH v15 33/43] dept: assign unique dept_key to each distinct
 dma fence caller

Hi Byungchul,

kernel test robot noticed the following build errors:

[auto build test ERROR on 82f2b0b97b36ee3fcddf0f0780a9a0825d52fec3]

url:    https://github.com/intel-lab-lkp/linux/commits/Byungchul-Park/llist-move-llist_-head-node-definition-to-types-h/20250513-181346
base:   82f2b0b97b36ee3fcddf0f0780a9a0825d52fec3
patch link:    https://lore.kernel.org/r/20250513100730.12664-34-byungchul%40sk.com
patch subject: [PATCH v15 33/43] dept: assign unique dept_key to each distinct dma fence caller
config: arm64-allmodconfig (https://download.01.org/0day-ci/archive/20250514/202505142049.8vYH34nZ-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/20250514/202505142049.8vYH34nZ-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@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202505142049.8vYH34nZ-lkp@intel.com/

All errors (new ones prefixed by >>):

>> drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c:1372:3: error: cannot jump from this indirect goto statement to one of its possible targets
    1372 |                 drm_exec_retry_on_contention(&exec);
         |                 ^
   include/drm/drm_exec.h:123:4: note: expanded from macro 'drm_exec_retry_on_contention'
     123 |                         goto *__drm_exec_retry_ptr;             \
         |                         ^
   drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c:1399:2: note: possible target of indirect goto statement
    1399 |         dma_fence_wait(fence, false);
         |         ^
   include/linux/dma-fence.h:679:2: note: expanded from macro 'dma_fence_wait'
     679 |         sdt_might_sleep_start_timeout(NULL, MAX_SCHEDULE_TIMEOUT);      \
         |         ^
   include/linux/dept_sdt.h:45:45: note: expanded from macro 'sdt_might_sleep_start_timeout'
      45 |                 dept_stage_wait(__m, __m ? NULL : &__key, _THIS_IP_, __func__, t);\
         |                                                           ^
   include/linux/instruction_pointer.h:10:41: note: expanded from macro '_THIS_IP_'
      10 | #define _THIS_IP_  ({ __label__ __here; __here: (unsigned long)&&__here; })
         |                                         ^
   drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c:1399:2: note: jump enters a statement expression
   include/linux/dma-fence.h:679:2: note: expanded from macro 'dma_fence_wait'
     679 |         sdt_might_sleep_start_timeout(NULL, MAX_SCHEDULE_TIMEOUT);      \
         |         ^
   include/linux/dept_sdt.h:45:45: note: expanded from macro 'sdt_might_sleep_start_timeout'
      45 |                 dept_stage_wait(__m, __m ? NULL : &__key, _THIS_IP_, __func__, t);\
         |                                                           ^
   include/linux/instruction_pointer.h:10:20: note: expanded from macro '_THIS_IP_'
      10 | #define _THIS_IP_  ({ __label__ __here; __here: (unsigned long)&&__here; })
         |                    ^
   drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c:1399:2: note: jump enters a statement expression
   include/linux/dma-fence.h:675:38: note: expanded from macro 'dma_fence_wait'
     675 | #define dma_fence_wait(f, intr)                                         \
         |                                                                         ^
   1 error generated.
--
>> drivers/gpu/drm/xe/xe_svm.c:807:3: error: cannot jump from this indirect goto statement to one of its possible targets
     807 |                 drm_exec_retry_on_contention(&exec);
         |                 ^
   include/drm/drm_exec.h:123:4: note: expanded from macro 'drm_exec_retry_on_contention'
     123 |                         goto *__drm_exec_retry_ptr;             \
         |                         ^
   drivers/gpu/drm/xe/xe_svm.c:831:2: note: possible target of indirect goto statement
     831 |         dma_fence_wait(fence, false);
         |         ^
   include/linux/dma-fence.h:679:2: note: expanded from macro 'dma_fence_wait'
     679 |         sdt_might_sleep_start_timeout(NULL, MAX_SCHEDULE_TIMEOUT);      \
         |         ^
   include/linux/dept_sdt.h:45:45: note: expanded from macro 'sdt_might_sleep_start_timeout'
      45 |                 dept_stage_wait(__m, __m ? NULL : &__key, _THIS_IP_, __func__, t);\
         |                                                           ^
   include/linux/instruction_pointer.h:10:41: note: expanded from macro '_THIS_IP_'
      10 | #define _THIS_IP_  ({ __label__ __here; __here: (unsigned long)&&__here; })
         |                                         ^
   drivers/gpu/drm/xe/xe_svm.c:831:2: note: jump enters a statement expression
   include/linux/dma-fence.h:679:2: note: expanded from macro 'dma_fence_wait'
     679 |         sdt_might_sleep_start_timeout(NULL, MAX_SCHEDULE_TIMEOUT);      \
         |         ^
   include/linux/dept_sdt.h:45:45: note: expanded from macro 'sdt_might_sleep_start_timeout'
      45 |                 dept_stage_wait(__m, __m ? NULL : &__key, _THIS_IP_, __func__, t);\
         |                                                           ^
   include/linux/instruction_pointer.h:10:20: note: expanded from macro '_THIS_IP_'
      10 | #define _THIS_IP_  ({ __label__ __here; __here: (unsigned long)&&__here; })
         |                    ^
   drivers/gpu/drm/xe/xe_svm.c:831:2: note: jump enters a statement expression
   include/linux/dma-fence.h:675:38: note: expanded from macro 'dma_fence_wait'
     675 | #define dma_fence_wait(f, intr)                                         \
         |                                                                         ^
   1 error generated.
--
>> drivers/gpu/drm/xe/xe_gt_pagefault.c:164:3: error: cannot jump from this indirect goto statement to one of its possible targets
     164 |                 drm_exec_retry_on_contention(&exec);
         |                 ^
   include/drm/drm_exec.h:123:4: note: expanded from macro 'drm_exec_retry_on_contention'
     123 |                         goto *__drm_exec_retry_ptr;             \
         |                         ^
   drivers/gpu/drm/xe/xe_gt_pagefault.c:181:2: note: possible target of indirect goto statement
     181 |         dma_fence_wait(fence, false);
         |         ^
   include/linux/dma-fence.h:679:2: note: expanded from macro 'dma_fence_wait'
     679 |         sdt_might_sleep_start_timeout(NULL, MAX_SCHEDULE_TIMEOUT);      \
         |         ^
   include/linux/dept_sdt.h:45:45: note: expanded from macro 'sdt_might_sleep_start_timeout'
      45 |                 dept_stage_wait(__m, __m ? NULL : &__key, _THIS_IP_, __func__, t);\
         |                                                           ^
   include/linux/instruction_pointer.h:10:41: note: expanded from macro '_THIS_IP_'
      10 | #define _THIS_IP_  ({ __label__ __here; __here: (unsigned long)&&__here; })
         |                                         ^
   drivers/gpu/drm/xe/xe_gt_pagefault.c:181:2: note: jump enters a statement expression
   include/linux/dma-fence.h:679:2: note: expanded from macro 'dma_fence_wait'
     679 |         sdt_might_sleep_start_timeout(NULL, MAX_SCHEDULE_TIMEOUT);      \
         |         ^
   include/linux/dept_sdt.h:45:45: note: expanded from macro 'sdt_might_sleep_start_timeout'
      45 |                 dept_stage_wait(__m, __m ? NULL : &__key, _THIS_IP_, __func__, t);\
         |                                                           ^
   include/linux/instruction_pointer.h:10:20: note: expanded from macro '_THIS_IP_'
      10 | #define _THIS_IP_  ({ __label__ __here; __here: (unsigned long)&&__here; })
         |                    ^
   drivers/gpu/drm/xe/xe_gt_pagefault.c:181:2: note: jump enters a statement expression
   include/linux/dma-fence.h:675:38: note: expanded from macro 'dma_fence_wait'
     675 | #define dma_fence_wait(f, intr)                                         \
         |                                                                         ^
   1 error generated.


vim +1372 drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c

f1d93c9c2722a2 Jack Xiao       2020-03-27  1357  
737dad0b5d609f Jack Xiao       2020-09-09  1358  int amdgpu_mes_ctx_unmap_meta_data(struct amdgpu_device *adev,
737dad0b5d609f Jack Xiao       2020-09-09  1359  				   struct amdgpu_mes_ctx_data *ctx_data)
737dad0b5d609f Jack Xiao       2020-09-09  1360  {
737dad0b5d609f Jack Xiao       2020-09-09  1361  	struct amdgpu_bo_va *bo_va = ctx_data->meta_data_va;
737dad0b5d609f Jack Xiao       2020-09-09  1362  	struct amdgpu_bo *bo = ctx_data->meta_data_obj;
737dad0b5d609f Jack Xiao       2020-09-09  1363  	struct amdgpu_vm *vm = bo_va->base.vm;
2acc73f81f2500 Christian König 2022-08-16  1364  	struct dma_fence *fence;
2acc73f81f2500 Christian König 2022-08-16  1365  	struct drm_exec exec;
2acc73f81f2500 Christian König 2022-08-16  1366  	long r;
2acc73f81f2500 Christian König 2022-08-16  1367  
05d249352f1ae9 Rob Clark       2023-11-20  1368  	drm_exec_init(&exec, 0, 0);
2acc73f81f2500 Christian König 2022-08-16  1369  	drm_exec_until_all_locked(&exec) {
2acc73f81f2500 Christian König 2022-08-16  1370  		r = drm_exec_lock_obj(&exec,
2acc73f81f2500 Christian König 2022-08-16  1371  				      &ctx_data->meta_data_obj->tbo.base);
2acc73f81f2500 Christian König 2022-08-16 @1372  		drm_exec_retry_on_contention(&exec);
2acc73f81f2500 Christian König 2022-08-16  1373  		if (unlikely(r))
2acc73f81f2500 Christian König 2022-08-16  1374  			goto out_unlock;
737dad0b5d609f Jack Xiao       2020-09-09  1375  
2acc73f81f2500 Christian König 2022-08-16  1376  		r = amdgpu_vm_lock_pd(vm, &exec, 0);
2acc73f81f2500 Christian König 2022-08-16  1377  		drm_exec_retry_on_contention(&exec);
2acc73f81f2500 Christian König 2022-08-16  1378  		if (unlikely(r))
2acc73f81f2500 Christian König 2022-08-16  1379  			goto out_unlock;
737dad0b5d609f Jack Xiao       2020-09-09  1380  	}
737dad0b5d609f Jack Xiao       2020-09-09  1381  
737dad0b5d609f Jack Xiao       2020-09-09  1382  	amdgpu_vm_bo_del(adev, bo_va);
737dad0b5d609f Jack Xiao       2020-09-09  1383  	if (!amdgpu_vm_ready(vm))
737dad0b5d609f Jack Xiao       2020-09-09  1384  		goto out_unlock;
737dad0b5d609f Jack Xiao       2020-09-09  1385  
2acc73f81f2500 Christian König 2022-08-16  1386  	r = dma_resv_get_singleton(bo->tbo.base.resv, DMA_RESV_USAGE_BOOKKEEP,
2acc73f81f2500 Christian König 2022-08-16  1387  				   &fence);
737dad0b5d609f Jack Xiao       2020-09-09  1388  	if (r)
737dad0b5d609f Jack Xiao       2020-09-09  1389  		goto out_unlock;
737dad0b5d609f Jack Xiao       2020-09-09  1390  	if (fence) {
737dad0b5d609f Jack Xiao       2020-09-09  1391  		amdgpu_bo_fence(bo, fence, true);
737dad0b5d609f Jack Xiao       2020-09-09  1392  		fence = NULL;
737dad0b5d609f Jack Xiao       2020-09-09  1393  	}
737dad0b5d609f Jack Xiao       2020-09-09  1394  
737dad0b5d609f Jack Xiao       2020-09-09  1395  	r = amdgpu_vm_clear_freed(adev, vm, &fence);
737dad0b5d609f Jack Xiao       2020-09-09  1396  	if (r || !fence)
737dad0b5d609f Jack Xiao       2020-09-09  1397  		goto out_unlock;
737dad0b5d609f Jack Xiao       2020-09-09  1398  
737dad0b5d609f Jack Xiao       2020-09-09  1399  	dma_fence_wait(fence, false);
737dad0b5d609f Jack Xiao       2020-09-09  1400  	amdgpu_bo_fence(bo, fence, true);
737dad0b5d609f Jack Xiao       2020-09-09  1401  	dma_fence_put(fence);
737dad0b5d609f Jack Xiao       2020-09-09  1402  
737dad0b5d609f Jack Xiao       2020-09-09  1403  out_unlock:
737dad0b5d609f Jack Xiao       2020-09-09  1404  	if (unlikely(r < 0))
737dad0b5d609f Jack Xiao       2020-09-09  1405  		dev_err(adev->dev, "failed to clear page tables (%ld)\n", r);
2acc73f81f2500 Christian König 2022-08-16  1406  	drm_exec_fini(&exec);
737dad0b5d609f Jack Xiao       2020-09-09  1407  
737dad0b5d609f Jack Xiao       2020-09-09  1408  	return r;
737dad0b5d609f Jack Xiao       2020-09-09  1409  }
737dad0b5d609f Jack Xiao       2020-09-09  1410  

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ