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: parisc-allmodconfig 
(https://download.01.org/0day-ci/archive/20240914/202409142157.epufj6zw-...@intel.com/config)
compiler: hppa-linux-gcc (GCC) 14.1.0
reproduce (this is a W=1 build): 
(https://download.01.org/0day-ci/archive/20240914/202409142157.epufj6zw-...@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/202409142157.epufj6zw-...@intel.com/

All error/warnings (new ones prefixed by >>):

   In file included from kernel/trace/trace.c:8677:
>> kernel/trace/trace_selftest.c:910:51: error: initialization of 'int 
>> (*)(struct ftrace_graph_ent *, struct fgraph_ops *, struct fgraph_extras *)' 
>> from incompatible pointer type 'int (*)(struct ftrace_graph_ent *, struct 
>> fgraph_ops *)' [-Wincompatible-pointer-types]
     910 |                         .entryfunc              = store_entry,
         |                                                   ^~~~~~~~~~~
   kernel/trace/trace_selftest.c:910:51: note: (near initialization for 
'store_bytes[0].gops.entryfunc')
   kernel/trace/trace_selftest.c:918:51: error: initialization of 'int 
(*)(struct ftrace_graph_ent *, struct fgraph_ops *, struct fgraph_extras *)' 
from incompatible pointer type 'int (*)(struct ftrace_graph_ent *, struct 
fgraph_ops *)' [-Wincompatible-pointer-types]
     918 |                         .entryfunc              = store_entry,
         |                                                   ^~~~~~~~~~~
   kernel/trace/trace_selftest.c:918:51: note: (near initialization for 
'store_bytes[1].gops.entryfunc')
   kernel/trace/trace_selftest.c:926:51: error: initialization of 'int 
(*)(struct ftrace_graph_ent *, struct fgraph_ops *, struct fgraph_extras *)' 
from incompatible pointer type 'int (*)(struct ftrace_graph_ent *, struct 
fgraph_ops *)' [-Wincompatible-pointer-types]
     926 |                         .entryfunc              = store_entry,
         |                                                   ^~~~~~~~~~~
   kernel/trace/trace_selftest.c:926:51: note: (near initialization for 
'store_bytes[2].gops.entryfunc')
   kernel/trace/trace_selftest.c:934:51: error: initialization of 'int 
(*)(struct ftrace_graph_ent *, struct fgraph_ops *, struct fgraph_extras *)' 
from incompatible pointer type 'int (*)(struct ftrace_graph_ent *, struct 
fgraph_ops *)' [-Wincompatible-pointer-types]
     934 |                         .entryfunc              = store_entry,
         |                                                   ^~~~~~~~~~~
   kernel/trace/trace_selftest.c:934:51: note: (near initialization for 
'store_bytes[3].gops.entryfunc')
   kernel/trace/trace_selftest.c: In function 'trace_graph_entry_watchdog':
>> kernel/trace/trace_selftest.c:1029:16: error: too few arguments to function 
>> 'trace_graph_entry'
    1029 |         return trace_graph_entry(trace, gops);
         |                ^~~~~~~~~~~~~~~~~
   In file included from kernel/trace/trace.c:54:
   kernel/trace/trace.h:689:5: note: declared here
     689 | int trace_graph_entry(struct ftrace_graph_ent *trace, struct 
fgraph_ops *gops,
         |     ^~~~~~~~~~~~~~~~~
   kernel/trace/trace_selftest.c: At top level:
   kernel/trace/trace_selftest.c:1033:35: error: initialization of 'int 
(*)(struct ftrace_graph_ent *, struct fgraph_ops *, struct fgraph_extras *)' 
from incompatible pointer type 'int (*)(struct ftrace_graph_ent *, struct 
fgraph_ops *)' [-Wincompatible-pointer-types]
    1033 |         .entryfunc              = &trace_graph_entry_watchdog,
         |                                   ^
   kernel/trace/trace_selftest.c:1033:35: note: (near initialization for 
'fgraph_ops.entryfunc')
   kernel/trace/trace_selftest.c: In function 'trace_graph_entry_watchdog':
>> kernel/trace/trace_selftest.c:1030:1: warning: control reaches end of 
>> non-void function [-Wreturn-type]
    1030 | }
         | ^


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  
688f7089d8851b Steven Rostedt (VMware    2018-11-15  1032) static struct 
fgraph_ops fgraph_ops __initdata  = {
688f7089d8851b Steven Rostedt (VMware    2018-11-15 @1033)      .entryfunc      
        = &trace_graph_entry_watchdog,
688f7089d8851b Steven Rostedt (VMware    2018-11-15  1034)      .retfunc        
        = &trace_graph_return,
688f7089d8851b Steven Rostedt (VMware    2018-11-15  1035) };
688f7089d8851b Steven Rostedt (VMware    2018-11-15  1036) 

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

Reply via email to