Hi Donglin,

kernel test robot noticed the following build errors:

[auto build test ERROR on shuah-kselftest/next]
[also build test ERROR on shuah-kselftest/fixes linus/master v6.11-rc7]
[cannot apply to next-20240913]
[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-Support-recording-and-printing-the-function-return-address/20240913-204403
base:   
https://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest.git next
patch link:    
https://lore.kernel.org/r/20240913123456.600950-1-dolinux.peng%40gmail.com
patch subject: [PATCH v1] function_graph: Support recording and printing the 
function return address
config: x86_64-allyesconfig 
(https://download.01.org/0day-ci/archive/20240915/202409150605.hgumu8ea-...@intel.com/config)
compiler: clang version 18.1.8 (https://github.com/llvm/llvm-project 
3b5b5c1ec4a3095ab096dd780e84d7ab81f3d7ff)
reproduce (this is a W=1 build): 
(https://download.01.org/0day-ci/archive/20240915/202409150605.hgumu8ea-...@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/202409150605.hgumu8ea-...@intel.com/

All errors (new ones prefixed by >>):

   In file included from kernel/trace/trace.c:8677:
>> kernel/trace/trace_selftest.c:910:18: error: incompatible function pointer 
>> types initializing 'trace_func_graph_ent_t' (aka 'int (*)(struct 
>> ftrace_graph_ent *, struct fgraph_ops *, struct fgraph_extras *)') with an 
>> expression of type 'int (struct ftrace_graph_ent *, struct fgraph_ops *)' 
>> [-Wincompatible-function-pointer-types]
     910 |                         .entryfunc              = store_entry,
         |                                                   ^~~~~~~~~~~
   kernel/trace/trace_selftest.c:918:18: error: incompatible function pointer 
types initializing 'trace_func_graph_ent_t' (aka 'int (*)(struct 
ftrace_graph_ent *, struct fgraph_ops *, struct fgraph_extras *)') with an 
expression of type 'int (struct ftrace_graph_ent *, struct fgraph_ops *)' 
[-Wincompatible-function-pointer-types]
     918 |                         .entryfunc              = store_entry,
         |                                                   ^~~~~~~~~~~
   kernel/trace/trace_selftest.c:926:18: error: incompatible function pointer 
types initializing 'trace_func_graph_ent_t' (aka 'int (*)(struct 
ftrace_graph_ent *, struct fgraph_ops *, struct fgraph_extras *)') with an 
expression of type 'int (struct ftrace_graph_ent *, struct fgraph_ops *)' 
[-Wincompatible-function-pointer-types]
     926 |                         .entryfunc              = store_entry,
         |                                                   ^~~~~~~~~~~
   kernel/trace/trace_selftest.c:934:18: error: incompatible function pointer 
types initializing 'trace_func_graph_ent_t' (aka 'int (*)(struct 
ftrace_graph_ent *, struct fgraph_ops *, struct fgraph_extras *)') with an 
expression of type 'int (struct ftrace_graph_ent *, struct fgraph_ops *)' 
[-Wincompatible-function-pointer-types]
     934 |                         .entryfunc              = store_entry,
         |                                                   ^~~~~~~~~~~
>> kernel/trace/trace_selftest.c:1029:38: error: too few arguments to function 
>> call, expected 3, have 2
    1029 |         return trace_graph_entry(trace, gops);
         |                ~~~~~~~~~~~~~~~~~            ^
   kernel/trace/trace.h:689:5: note: 'trace_graph_entry' declared here
     689 | int trace_graph_entry(struct ftrace_graph_ent *trace, struct 
fgraph_ops *gops,
         |     ^                 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     690 |                       struct fgraph_extras *priv);
         |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~
   In file included from kernel/trace/trace.c:8677:
   kernel/trace/trace_selftest.c:1033:16: error: incompatible function pointer 
types initializing 'trace_func_graph_ent_t' (aka 'int (*)(struct 
ftrace_graph_ent *, struct fgraph_ops *, struct fgraph_extras *)') with an 
expression of type 'int (*)(struct ftrace_graph_ent *, struct fgraph_ops *)' 
[-Wincompatible-function-pointer-types]
    1033 |         .entryfunc              = &trace_graph_entry_watchdog,
         |                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   6 errors generated.


vim +910 kernel/trace/trace_selftest.c

dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   906) 
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   907) static struct 
fgraph_fixture store_bytes[4] __initdata = {
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   908)      [0] = {
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   909)              .gops = 
{
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03  @910)                      
.entryfunc              = store_entry,
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   911)                      
.retfunc                = store_return,
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   912)              },
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   913)              
.store_size = 1,
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   914)              
.store_type_name = "byte",
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   915)      },
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   916)      [1] = {
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   917)              .gops = 
{
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   918)                      
.entryfunc              = store_entry,
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   919)                      
.retfunc                = store_return,
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   920)              },
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   921)              
.store_size = 2,
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   922)              
.store_type_name = "short",
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   923)      },
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   924)      [2] = {
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   925)              .gops = 
{
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   926)                      
.entryfunc              = store_entry,
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   927)                      
.retfunc                = store_return,
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   928)              },
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   929)              
.store_size = 4,
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   930)              
.store_type_name = "word",
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   931)      },
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   932)      [3] = {
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   933)              .gops = 
{
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   934)                      
.entryfunc              = store_entry,
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   935)                      
.retfunc                = store_return,
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   936)              },
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   937)              
.store_size = 8,
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   938)              
.store_type_name = "long long",
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   939)      },
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   940) };
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   941) 
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   942) static __init int 
test_graph_storage_multi(void)
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   943) {
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   944)      struct 
fgraph_fixture *fixture;
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   945)      bool printed = 
false;
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   946)      int i, ret;
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   947) 
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   948)      
pr_cont("PASSED\n");
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   949)      
pr_info("Testing multiple fgraph storage on a function: ");
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   950) 
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   951)      for (i = 0; i < 
ARRAY_SIZE(store_bytes); i++) {
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   952)              fixture 
= &store_bytes[i];
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   953)              ret = 
init_fgraph_fixture(fixture);
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   954)              if (ret 
&& ret != -ENODEV) {
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   955)                      
pr_cont("*Could not set filter* ");
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   956)                      
printed = true;
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   957)                      
goto out;
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   958)              }
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   959) 
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   960)              ret = 
register_ftrace_graph(&fixture->gops);
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   961)              if 
(ret) {
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   962)                      
pr_warn("Failed to init store_bytes fgraph tracing\n");
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   963)                      
printed = true;
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   964)                      
goto out;
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   965)              }
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   966)      }
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   967) 
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   968)      
DYN_FTRACE_TEST_NAME();
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   969) out:
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   970)      while (--i >= 
0) {
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   971)              fixture 
= &store_bytes[i];
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   972)              
unregister_ftrace_graph(&fixture->gops);
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   973) 
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   974)              if 
(fixture->error_str && !printed) {
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   975)                      
pr_cont("*** %s ***", fixture->error_str);
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   976)                      
printed = true;
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   977)              }
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   978)      }
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   979)      return printed 
? -1 : 0;
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   980) }
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   981) 
47c3c70aa36971 Steven Rostedt (VMware    2024-06-03   982) /* Test the storage 
passed across function_graph entry and return */
47c3c70aa36971 Steven Rostedt (VMware    2024-06-03   983) static __init int 
test_graph_storage(void)
47c3c70aa36971 Steven Rostedt (VMware    2024-06-03   984) {
47c3c70aa36971 Steven Rostedt (VMware    2024-06-03   985)      int ret;
47c3c70aa36971 Steven Rostedt (VMware    2024-06-03   986) 
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   987)      ret = 
test_graph_storage_single(&store_bytes[0]);
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   988)      if (ret)
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   989)              return 
ret;
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   990)      ret = 
test_graph_storage_single(&store_bytes[1]);
47c3c70aa36971 Steven Rostedt (VMware    2024-06-03   991)      if (ret)
47c3c70aa36971 Steven Rostedt (VMware    2024-06-03   992)              return 
ret;
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   993)      ret = 
test_graph_storage_single(&store_bytes[2]);
47c3c70aa36971 Steven Rostedt (VMware    2024-06-03   994)      if (ret)
47c3c70aa36971 Steven Rostedt (VMware    2024-06-03   995)              return 
ret;
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   996)      ret = 
test_graph_storage_single(&store_bytes[3]);
47c3c70aa36971 Steven Rostedt (VMware    2024-06-03   997)      if (ret)
47c3c70aa36971 Steven Rostedt (VMware    2024-06-03   998)              return 
ret;
dd120af2d5f8f3 Masami Hiramatsu (Google  2024-06-03   999)      ret = 
test_graph_storage_multi();
47c3c70aa36971 Steven Rostedt (VMware    2024-06-03  1000)      if (ret)
47c3c70aa36971 Steven Rostedt (VMware    2024-06-03  1001)              return 
ret;
47c3c70aa36971 Steven Rostedt (VMware    2024-06-03  1002)      return 0;
47c3c70aa36971 Steven Rostedt (VMware    2024-06-03  1003) }
47c3c70aa36971 Steven Rostedt (VMware    2024-06-03  1004) #else
47c3c70aa36971 Steven Rostedt (VMware    2024-06-03  1005) static inline int 
test_graph_storage(void) { return 0; }
47c3c70aa36971 Steven Rostedt (VMware    2024-06-03  1006) #endif /* 
CONFIG_DYNAMIC_FTRACE */
47c3c70aa36971 Steven Rostedt (VMware    2024-06-03  1007) 
cf586b61f80229 Frederic Weisbecker       2009-03-22  1008  /* Maximum number of 
functions to trace before diagnosing a hang */
cf586b61f80229 Frederic Weisbecker       2009-03-22  1009  #define 
GRAPH_MAX_FUNC_TEST  100000000
cf586b61f80229 Frederic Weisbecker       2009-03-22  1010  
cf586b61f80229 Frederic Weisbecker       2009-03-22  1011  static unsigned int 
graph_hang_thresh;
cf586b61f80229 Frederic Weisbecker       2009-03-22  1012  
cf586b61f80229 Frederic Weisbecker       2009-03-22  1013  /* Wrap the real 
function entry probe to avoid possible hanging */
37238abe3cb47b Steven Rostedt (VMware    2024-06-03  1014) static int 
trace_graph_entry_watchdog(struct ftrace_graph_ent *trace,
37238abe3cb47b Steven Rostedt (VMware    2024-06-03  1015)                      
              struct fgraph_ops *gops)
cf586b61f80229 Frederic Weisbecker       2009-03-22  1016  {
cf586b61f80229 Frederic Weisbecker       2009-03-22  1017       /* This is 
harmlessly racy, we want to approximately detect a hang */
cf586b61f80229 Frederic Weisbecker       2009-03-22  1018       if 
(unlikely(++graph_hang_thresh > GRAPH_MAX_FUNC_TEST)) {
cf586b61f80229 Frederic Weisbecker       2009-03-22  1019               
ftrace_graph_stop();
cf586b61f80229 Frederic Weisbecker       2009-03-22  1020               
printk(KERN_WARNING "BUG: Function graph tracer hang!\n");
19f0423fd55c30 Huang Yiwei               2024-02-23  1021               if 
(ftrace_dump_on_oops_enabled()) {
7fe70b579c9e3d Steven Rostedt (Red Hat   2013-03-15  1022)                      
ftrace_dump(DUMP_ALL);
7fe70b579c9e3d Steven Rostedt (Red Hat   2013-03-15  1023)                      
/* ftrace_dump() disables tracing */
7fe70b579c9e3d Steven Rostedt (Red Hat   2013-03-15  1024)                      
tracing_on();
7fe70b579c9e3d Steven Rostedt (Red Hat   2013-03-15  1025)              }
cf586b61f80229 Frederic Weisbecker       2009-03-22  1026               return 
0;
cf586b61f80229 Frederic Weisbecker       2009-03-22  1027       }
cf586b61f80229 Frederic Weisbecker       2009-03-22  1028  
37238abe3cb47b Steven Rostedt (VMware    2024-06-03 @1029)      return 
trace_graph_entry(trace, gops);
cf586b61f80229 Frederic Weisbecker       2009-03-22  1030  }
cf586b61f80229 Frederic Weisbecker       2009-03-22  1031  

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

Reply via email to