Hi Philipp,

kernel test robot noticed the following build errors:

[auto build test ERROR on 1ecab8b0bad393750c60cc3819ce9c256595463c]

url:    
https://github.com/intel-lab-lkp/linux/commits/Philipp-Stanner/asm-generic-bitops-Add-set_bit_release/20261021-115512
base:   1ecab8b0bad393750c60cc3819ce9c256595463c
patch link:    
https://lore.kernel.org/r/20261021095512.1345191-4-phasta%40kernel.org
patch subject: [PATCH 2/2] dma-buf/dma-fence: Order setting of the signaled-bit 
properly
config: m68k-allyesconfig 
(https://download.01.org/0day-ci/archive/20261026/[email protected]/config)
compiler: m68k-linux-gcc (GCC) 16.2.0
reproduce (this is a W=1 build): 
(https://download.01.org/0day-ci/archive/20261026/[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 errors (new ones prefixed by >>):

   drivers/dma-buf/dma-fence.c: In function 'dma_fence_signal_timestamp_locked':
>> drivers/dma-buf/dma-fence.c:393:9: error: implicit declaration of function 
>> 'set_bit_release'; did you mean 'seq_release'? 
>> [-Wimplicit-function-declaration]
     393 |         set_bit_release(DMA_FENCE_FLAG_SIGNALED_BIT, &fence->flags);
         |         ^~~~~~~~~~~~~~~
         |         seq_release


vim +393 drivers/dma-buf/dma-fence.c

   337  
   338  /**
   339   * dma_fence_signal_timestamp_locked - signal completion of a fence
   340   * @fence: the fence to signal
   341   * @timestamp: fence signal timestamp in kernel's CLOCK_MONOTONIC time 
domain
   342   *
   343   * Signal completion for software callbacks on a fence, this will 
unblock
   344   * dma_fence_wait() calls and run all the callbacks added with
   345   * dma_fence_add_callback(). Can be called multiple times, but since a 
fence
   346   * can only go from the unsignaled to the signaled state and not back, 
it will
   347   * only be effective the first time. Set the timestamp provided as the 
fence
   348   * signal timestamp.
   349   *
   350   * Unlike dma_fence_signal_timestamp(), this function must be called 
with
   351   * &dma_fence.lock held.
   352   */
   353  void dma_fence_signal_timestamp_locked(struct dma_fence *fence,
   354                                        ktime_t timestamp)
   355  {
   356          const struct dma_fence_ops *ops;
   357          struct dma_fence_cb *cur, *tmp;
   358          struct list_head cb_list;
   359  
   360          dma_fence_assert_held(fence);
   361  
   362          if (unlikely(dma_fence_test_signaled_flag(fence)))
   363                  return;
   364  
   365          trace_dma_fence_signaled(fence);
   366  
   367          /*
   368           * When neither a release nor a wait operation is specified set 
the ops
   369           * pointer to NULL to allow the fence structure to become 
independent
   370           * from who originally issued it.
   371           */
   372          ops = rcu_dereference_protected(fence->ops, true);
   373          if (!ops->release && !ops->wait)
   374                  RCU_INIT_POINTER(fence->ops, NULL);
   375  
   376          /* Stash the cb_list before replacing it with the timestamp */
   377          list_replace(&fence->cb_list, &cb_list);
   378  
   379          fence->timestamp = timestamp;
   380          set_bit(DMA_FENCE_FLAG_TIMESTAMP_BIT, &fence->flags);
   381  
   382          list_for_each_entry_safe(cur, tmp, &cb_list, node) {
   383                  INIT_LIST_HEAD(&cur->node);
   384                  cur->func(fence, cur);
   385          }
   386  
   387          /*
   388           * This orders the signaled-state with the test_bit_acquire() in
   389           * dma_fence_test_signaled_flag(). This ensures that functions 
like
   390           * dma_fence_is_signaled() can only ever return true once 
signaling is
   391           * completed (i.e., after the callbacks above ran).
   392           */
 > 393          set_bit_release(DMA_FENCE_FLAG_SIGNALED_BIT, &fence->flags);
   394  }
   395  EXPORT_SYMBOL(dma_fence_signal_timestamp_locked);
   396  

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

Reply via email to