All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Steven Rostedt <rostedt@goodmis.org>,
	linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org
Cc: oe-kbuild-all@lists.linux.dev,
	Masami Hiramatsu <mhiramat@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Mathieu Desnoyers <mathieu.desnoyers@efficios.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linux Memory Management List <linux-mm@kvack.org>
Subject: Re: [PATCH 3/5] tracing: Have tracer option be instance specific
Date: Thu, 6 Nov 2025 22:38:04 +0800	[thread overview]
Message-ID: <202511062223.ocoUvCBI-lkp@intel.com> (raw)
In-Reply-To: <20251105161935.545400234@kernel.org>

Hi Steven,

kernel test robot noticed the following build errors:

[auto build test ERROR on trace/for-next]
[cannot apply to linus/master v6.18-rc4 next-20251106]
[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/Steven-Rostedt/tracing-Remove-dummy-options-and-flags/20251106-010511
base:   https://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace for-next
patch link:    https://lore.kernel.org/r/20251105161935.545400234%40kernel.org
patch subject: [PATCH 3/5] tracing: Have tracer option be instance specific
config: i386-buildonly-randconfig-003-20251106 (https://download.01.org/0day-ci/archive/20251106/202511062223.ocoUvCBI-lkp@intel.com/config)
compiler: gcc-14 (Debian 14.2.0-19) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251106/202511062223.ocoUvCBI-lkp@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 <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202511062223.ocoUvCBI-lkp@intel.com/

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

   kernel/trace/trace.c: In function 'run_tracer_selftest':
>> kernel/trace/trace.c:2174:30: error: 'type' redeclared as different kind of symbol
    2174 |         struct trace_tracer *type = tracers->trace;
         |                              ^~~~
   kernel/trace/trace.c:2171:47: note: previous definition of 'type' with type 'struct tracer *'
    2171 | static int run_tracer_selftest(struct tracer *type)
         |                                ~~~~~~~~~~~~~~~^~~~
>> kernel/trace/trace.c:2174:37: error: 'tracers' undeclared (first use in this function)
    2174 |         struct trace_tracer *type = tracers->trace;
         |                                     ^~~~~~~
   kernel/trace/trace.c:2174:37: note: each undeclared identifier is reported only once for each function it appears in
>> kernel/trace/trace.c:2180:18: error: invalid use of undefined type 'struct trace_tracer'
    2180 |         if (!type->selftest || tracing_selftest_disabled)
         |                  ^~
>> kernel/trace/trace.c:2189:38: error: passing argument 1 of 'save_selftest' from incompatible pointer type [-Wincompatible-pointer-types]
    2189 |                 return save_selftest(type);
         |                                      ^~~~
         |                                      |
         |                                      struct trace_tracer *
   kernel/trace/trace.c:2158:41: note: expected 'struct tracer *' but argument is of type 'struct trace_tracer *'
    2158 | static int save_selftest(struct tracer *type)
         |                          ~~~~~~~~~~~~~~~^~~~
   In file included from include/asm-generic/bug.h:22,
                    from arch/x86/include/asm/bug.h:108,
                    from include/linux/bug.h:5,
                    from include/linux/mmdebug.h:5,
                    from include/linux/mm.h:6,
                    from include/linux/ring_buffer.h:5,
                    from kernel/trace/trace.c:15:
   kernel/trace/trace.c:2193:29: error: invalid use of undefined type 'struct trace_tracer'
    2193 |                         type->name);
         |                             ^~
   include/linux/printk.h:484:33: note: in definition of macro 'printk_index_wrap'
     484 |                 _p_func(_fmt, ##__VA_ARGS__);                           \
         |                                 ^~~~~~~~~~~
   include/linux/printk.h:565:9: note: in expansion of macro 'printk'
     565 |         printk(KERN_WARNING pr_fmt(fmt), ##__VA_ARGS__)
         |         ^~~~~~
   kernel/trace/trace.c:2192:17: note: in expansion of macro 'pr_warn'
    2192 |                 pr_warn("Selftest for tracer %s skipped due to tracing disabled\n",
         |                 ^~~~~~~
>> kernel/trace/trace.c:2206:27: error: assignment to 'struct tracer *' from incompatible pointer type 'struct trace_tracer *' [-Wincompatible-pointer-types]
    2206 |         tr->current_trace = type;
         |                           ^
   kernel/trace/trace.c:2207:39: error: invalid use of undefined type 'struct trace_tracer'
    2207 |         tr->current_trace_flags = type->flags ? : type->default_flags;
         |                                       ^~
   kernel/trace/trace.c:2207:55: error: invalid use of undefined type 'struct trace_tracer'
    2207 |         tr->current_trace_flags = type->flags ? : type->default_flags;
         |                                                       ^~
   kernel/trace/trace.c:2210:17: error: invalid use of undefined type 'struct trace_tracer'
    2210 |         if (type->use_max_tr) {
         |                 ^~
   kernel/trace/trace.c:2220:44: error: invalid use of undefined type 'struct trace_tracer'
    2220 |         pr_info("Testing tracer %s: ", type->name);
         |                                            ^~
   include/linux/printk.h:484:33: note: in definition of macro 'printk_index_wrap'
     484 |                 _p_func(_fmt, ##__VA_ARGS__);                           \
         |                                 ^~~~~~~~~~~
   include/linux/printk.h:585:9: note: in expansion of macro 'printk'
     585 |         printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__)
         |         ^~~~~~
   kernel/trace/trace.c:2220:9: note: in expansion of macro 'pr_info'
    2220 |         pr_info("Testing tracer %s: ", type->name);
         |         ^~~~~~~
   kernel/trace/trace.c:2221:19: error: invalid use of undefined type 'struct trace_tracer'
    2221 |         ret = type->selftest(type, tr);
         |                   ^~
   kernel/trace/trace.c:2235:17: error: invalid use of undefined type 'struct trace_tracer'
    2235 |         if (type->use_max_tr) {
         |                 ^~
>> kernel/trace/trace.c:2176:30: warning: unused variable 'flags' [-Wunused-variable]
    2176 |         struct tracer_flags *flags;
         |                              ^~~~~
   kernel/trace/trace.c: In function 'tracing_trace_options_show':
   kernel/trace/trace.c:5172:24: warning: variable 'trace' set but not used [-Wunused-but-set-variable]
    5172 |         struct tracer *trace;
         |                        ^~~~~


vim +/type +2174 kernel/trace/trace.c

  2170	
> 2171	static int run_tracer_selftest(struct tracer *type)
  2172	{
  2173		struct trace_array *tr = &global_trace;
> 2174		struct trace_tracer *type = tracers->trace;
  2175		struct tracer_flags *saved_flags = tr->current_trace_flags;
> 2176		struct tracer_flags *flags;
  2177		struct tracer *saved_tracer = tr->current_trace;
  2178		int ret;
  2179	
> 2180		if (!type->selftest || tracing_selftest_disabled)
  2181			return 0;
  2182	
  2183		/*
  2184		 * If a tracer registers early in boot up (before scheduling is
  2185		 * initialized and such), then do not run its selftests yet.
  2186		 * Instead, run it a little later in the boot process.
  2187		 */
  2188		if (!selftests_can_run)
> 2189			return save_selftest(type);
  2190	
  2191		if (!tracing_is_on()) {
> 2192			pr_warn("Selftest for tracer %s skipped due to tracing disabled\n",
  2193				type->name);
  2194			return 0;
  2195		}
  2196	
  2197		/*
  2198		 * Run a selftest on this tracer.
  2199		 * Here we reset the trace buffer, and set the current
  2200		 * tracer to be this tracer. The tracer can then run some
  2201		 * internal tracing to verify that everything is in order.
  2202		 * If we fail, we do not register this tracer.
  2203		 */
  2204		tracing_reset_online_cpus(&tr->array_buffer);
  2205	
> 2206		tr->current_trace = type;
  2207		tr->current_trace_flags = type->flags ? : type->default_flags;
  2208	
  2209	#ifdef CONFIG_TRACER_MAX_TRACE
  2210		if (type->use_max_tr) {
  2211			/* If we expanded the buffers, make sure the max is expanded too */
  2212			if (tr->ring_buffer_expanded)
  2213				ring_buffer_resize(tr->max_buffer.buffer, trace_buf_size,
  2214						   RING_BUFFER_ALL_CPUS);
  2215			tr->allocated_snapshot = true;
  2216		}
  2217	#endif
  2218	
  2219		/* the test is responsible for initializing and enabling */
> 2220		pr_info("Testing tracer %s: ", type->name);
  2221		ret = type->selftest(type, tr);
  2222		/* the test is responsible for resetting too */
  2223		tr->current_trace = saved_tracer;
  2224		tr->current_trace_flags = saved_flags;
  2225		if (ret) {
  2226			printk(KERN_CONT "FAILED!\n");
  2227			/* Add the warning after printing 'FAILED' */
  2228			WARN_ON(1);
  2229			return -1;
  2230		}
  2231		/* Only reset on passing, to avoid touching corrupted buffers */
  2232		tracing_reset_online_cpus(&tr->array_buffer);
  2233	

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


  reply	other threads:[~2025-11-06 14:38 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-11-05 16:19 [PATCH 0/5] tracing: Fix tracer options per instance Steven Rostedt
2025-11-05 16:19 ` [PATCH 1/5] tracing: Remove dummy options and flags Steven Rostedt
2025-11-05 16:19 ` [PATCH 2/5] tracing: Have add_tracer_options() error pass up to callers Steven Rostedt
2025-11-05 16:19 ` [PATCH 3/5] tracing: Have tracer option be instance specific Steven Rostedt
2025-11-06 14:38   ` kernel test robot [this message]
2025-11-06 17:19     ` Steven Rostedt
2025-11-06 15:29   ` kernel test robot
2025-11-07  7:18   ` kernel test robot
2026-01-05 15:23     ` Dan Carpenter
2026-01-09 15:23     ` Steven Rostedt
2026-01-09 21:40       ` Dan Carpenter
2025-11-05 16:19 ` [PATCH 4/5] tracing: Have function tracer define options per instance Steven Rostedt
2025-11-05 16:19 ` [PATCH 5/5] tracing: Have function graph " Steven Rostedt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202511062223.ocoUvCBI-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=akpm@linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-trace-kernel@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mathieu.desnoyers@efficios.com \
    --cc=mhiramat@kernel.org \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=rostedt@goodmis.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.