Hi Vincent,

kernel test robot noticed the following build errors:

[auto build test ERROR on 29142dc92c37d3259a33aef15b03e6ee25b0d188]

url:    
https://github.com/intel-lab-lkp/linux/commits/Vincent-Donnefort/ring-buffer-Zero-ring-buffer-sub-buffers/20240129-223025
base:   29142dc92c37d3259a33aef15b03e6ee25b0d188
patch link:    
https://lore.kernel.org/r/20240129142802.2145305-4-vdonnefort%40google.com
patch subject: [PATCH v13 3/6] tracing: Add snapshot refcount
config: arc-randconfig-002-20240130 
(https://download.01.org/0day-ci/archive/20240130/202401301740.qzzlpcyv-...@intel.com/config)
compiler: arceb-elf-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): 
(https://download.01.org/0day-ci/archive/20240130/202401301740.qzzlpcyv-...@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 <l...@intel.com>
| Closes: 
https://lore.kernel.org/oe-kbuild-all/202401301740.qzzlpcyv-...@intel.com/

All errors (new ones prefixed by >>):

   kernel/trace/trace.c: In function 'tracing_set_tracer':
   kernel/trace/trace.c:6644:17: error: implicit declaration of function 
'tracing_disarm_snapshot_locked'; did you mean 'tracing_disarm_snapshot'? 
[-Werror=implicit-function-declaration]
    6644 |                 tracing_disarm_snapshot_locked(tr);
         |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         |                 tracing_disarm_snapshot
>> kernel/trace/trace.c:6648:23: error: implicit declaration of function 
>> 'tracing_arm_snapshot_locked'; did you mean 'tracing_arm_snapshot'? 
>> [-Werror=implicit-function-declaration]
    6648 |                 ret = tracing_arm_snapshot_locked(tr);
         |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~
         |                       tracing_arm_snapshot
   cc1: some warnings being treated as errors


vim +6648 kernel/trace/trace.c

  6560  
  6561  int tracing_set_tracer(struct trace_array *tr, const char *buf)
  6562  {
  6563          struct tracer *t;
  6564  #ifdef CONFIG_TRACER_MAX_TRACE
  6565          bool had_max_tr;
  6566  #endif
  6567          int ret = 0;
  6568  
  6569          mutex_lock(&trace_types_lock);
  6570  
  6571          if (!tr->ring_buffer_expanded) {
  6572                  ret = __tracing_resize_ring_buffer(tr, trace_buf_size,
  6573                                                  RING_BUFFER_ALL_CPUS);
  6574                  if (ret < 0)
  6575                          goto out;
  6576                  ret = 0;
  6577          }
  6578  
  6579          for (t = trace_types; t; t = t->next) {
  6580                  if (strcmp(t->name, buf) == 0)
  6581                          break;
  6582          }
  6583          if (!t) {
  6584                  ret = -EINVAL;
  6585                  goto out;
  6586          }
  6587          if (t == tr->current_trace)
  6588                  goto out;
  6589  
  6590  #ifdef CONFIG_TRACER_SNAPSHOT
  6591          if (t->use_max_tr) {
  6592                  local_irq_disable();
  6593                  arch_spin_lock(&tr->max_lock);
  6594                  if (tr->cond_snapshot)
  6595                          ret = -EBUSY;
  6596                  arch_spin_unlock(&tr->max_lock);
  6597                  local_irq_enable();
  6598                  if (ret)
  6599                          goto out;
  6600          }
  6601  #endif
  6602          /* Some tracers won't work on kernel command line */
  6603          if (system_state < SYSTEM_RUNNING && t->noboot) {
  6604                  pr_warn("Tracer '%s' is not allowed on command line, 
ignored\n",
  6605                          t->name);
  6606                  goto out;
  6607          }
  6608  
  6609          /* Some tracers are only allowed for the top level buffer */
  6610          if (!trace_ok_for_array(t, tr)) {
  6611                  ret = -EINVAL;
  6612                  goto out;
  6613          }
  6614  
  6615          /* If trace pipe files are being read, we can't change the 
tracer */
  6616          if (tr->trace_ref) {
  6617                  ret = -EBUSY;
  6618                  goto out;
  6619          }
  6620  
  6621          trace_branch_disable();
  6622  
  6623          tr->current_trace->enabled--;
  6624  
  6625          if (tr->current_trace->reset)
  6626                  tr->current_trace->reset(tr);
  6627  
  6628  #ifdef CONFIG_TRACER_MAX_TRACE
  6629          had_max_tr = tr->current_trace->use_max_tr;
  6630  
  6631          /* Current trace needs to be nop_trace before synchronize_rcu */
  6632          tr->current_trace = &nop_trace;
  6633  
  6634          if (had_max_tr && !t->use_max_tr) {
  6635                  /*
  6636                   * We need to make sure that the update_max_tr sees that
  6637                   * current_trace changed to nop_trace to keep it from
  6638                   * swapping the buffers after we resize it.
  6639                   * The update_max_tr is called from interrupts disabled
  6640                   * so a synchronized_sched() is sufficient.
  6641                   */
  6642                  synchronize_rcu();
  6643                  free_snapshot(tr);
  6644                  tracing_disarm_snapshot_locked(tr);
  6645          }
  6646  
  6647          if (t->use_max_tr) {
> 6648                  ret = tracing_arm_snapshot_locked(tr);
  6649                  if (ret)
  6650                          goto out;
  6651          }
  6652  #else
  6653          tr->current_trace = &nop_trace;
  6654  #endif
  6655  
  6656          if (t->init) {
  6657                  ret = tracer_init(t, tr);
  6658                  if (ret) {
  6659  #ifdef CONFIG_TRACER_MAX_TRACE
  6660                          if (t->use_max_tr)
  6661                                  tracing_disarm_snapshot_locked(tr);
  6662  #endif
  6663                          goto out;
  6664                  }
  6665          }
  6666  
  6667          tr->current_trace = t;
  6668          tr->current_trace->enabled++;
  6669          trace_branch_enable(tr);
  6670   out:
  6671          mutex_unlock(&trace_types_lock);
  6672  
  6673          return ret;
  6674  }
  6675  

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

Reply via email to