Hi Donglin,

kernel test robot noticed the following build warnings:

[auto build test WARNING on v6.18-rc5]
[also build test WARNING on linus/master]
[cannot apply to trace/for-next next-20251113]
[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/Donglin-Peng/function_graph-Enable-funcgraph-args-and-funcgraph-retaddr-to-work-simultaneously/20251113-153332
base:   v6.18-rc5
patch link:    
https://lore.kernel.org/r/20251113072938.333657-1-dolinux.peng%40gmail.com
patch subject: [PATCH v5] function_graph: Enable funcgraph-args and 
funcgraph-retaddr to work simultaneously
config: x86_64-kexec 
(https://download.01.org/0day-ci/archive/20251114/[email protected]/config)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 
87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
reproduce (this is a W=1 build): 
(https://download.01.org/0day-ci/archive/20251114/[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 warnings (new ones prefixed by >>):

>> kernel/trace/trace_functions_graph.c:169:20: warning: variable 'retaddr' is 
>> uninitialized when used here [-Wuninitialized]
     169 |                 entry->args[0] = retaddr;
         |                                  ^~~~~~~
   kernel/trace/trace_functions_graph.c:143:23: note: initialize the variable 
'retaddr' to silence this warning
     143 |         unsigned long retaddr;
         |                              ^
         |                               = 0
   1 warning generated.


vim +/retaddr +169 kernel/trace/trace_functions_graph.c

   132  
   133  static void
   134  print_graph_duration(struct trace_array *tr, unsigned long long 
duration,
   135                       struct trace_seq *s, u32 flags);
   136  
   137  static int __graph_entry(struct trace_array *tr, struct 
ftrace_graph_ent *trace,
   138                           unsigned int trace_ctx, struct ftrace_regs 
*fregs)
   139  {
   140          struct ring_buffer_event *event;
   141          struct trace_buffer *buffer = tr->array_buffer.buffer;
   142          struct ftrace_graph_ent_entry *entry;
   143          unsigned long retaddr;
   144          int size = sizeof(*entry);
   145          int type = TRACE_GRAPH_ENT;
   146          int nr_args = 0, args_offs = 0;
   147  
   148          if (IS_ENABLED(CONFIG_FUNCTION_GRAPH_RETADDR) &&
   149                  tracer_flags_is_set(TRACE_GRAPH_PRINT_RETADDR)) {
   150                  retaddr = ftrace_graph_top_ret_addr(current);
   151                  type = TRACE_GRAPH_RETADDR_ENT;
   152                  nr_args += 1;
   153          }
   154  
   155          /* If fregs is defined, add FTRACE_REGS_MAX_ARGS long size 
words */
   156          if (!!fregs)
   157                  nr_args += FTRACE_REGS_MAX_ARGS;
   158  
   159          size += nr_args * sizeof(long);
   160          event = trace_buffer_lock_reserve(buffer, type, size, 
trace_ctx);
   161          if (!event)
   162                  return 0;
   163  
   164          entry = ring_buffer_event_data(event);
   165          entry->graph_ent = *trace;
   166  
   167          /* Store the retaddr in args[0] */
   168          if (type == TRACE_GRAPH_RETADDR_ENT) {
 > 169                  entry->args[0] = retaddr;
   170                  args_offs += 1;
   171          }
   172  

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

Reply via email to