Subject: linux-next: build failure after merge of the vfs tree

From: Mark Brown <[email-masked]>
Date: Mon, 29 Sep 2025 12:01:15 +0100

Hi all,

After merging the vfs tree, today's linux-next build (x86 allmodconfig)
failed like this:

In file included from /tmp/next/build/include/rv/ltl_monitor.h:11,
                 from /tmp/next/build/kernel/trace/rv/monitors/pagefault/pagefault.c:19:
/tmp/next/build/include/rv/ltl_monitor.h: In function 'ltl_monitor_init':
/tmp/next/build/include/rv/ltl_monitor.h:75:51: error: passing argument 1 of 'check_trace_callback_type_task_newtask' from incompatible pointer type [-Wincompatible-pointer-types]
   75 |         rv_attach_trace_probe(name, task_newtask, handle_task_newtask);
      |                                                   ^~~~~~~~~~~~~~~~~~~
      |                                                   |
      |                                                   void (*)(void *, struct task_struct *, long unsigned int)
/tmp/next/build/include/rv/instrumentation.h:18:48: note: in definition of macro 'rv_attach_trace_probe'
   18 |                 check_trace_callback_type_##tp(rv_handler);                             \
      |                                                ^~~~~~~~~~
In file included from /tmp/next/build/kernel/trace/rv/monitors/pagefault/pagefault.c:9:
/tmp/next/build/include/linux/tracepoint.h:260:49: note: expected 'void (*)(void *, struct task_struct *, u64)' {aka 'void (*)(void *, struct task_struct *, long long unsigned int)'} but argument is of type 'void (*)(void *, struct task_struct *, long unsigned int)'
  260 |         check_trace_callback_type_##name(void (*cb)(data_proto))        \
      |                                          ~~~~~~~^~~~~~~~~~~~~~~
/tmp/next/build/include/linux/tracepoint.h:270:9: note: in expansion of macro '__DECLARE_TRACE_COMMON'
  270 |         __DECLARE_TRACE_COMMON(name, PARAMS(proto), PARAMS(args), PARAMS(data_proto)) \
      |         ^~~~~~~~~~~~~~~~~~~~~~
/tmp/next/build/include/linux/tracepoint.h:481:9: note: in expansion of macro '__DECLARE_TRACE'
  481 |         __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),              \
      |         ^~~~~~~~~~~~~~~
/tmp/next/build/include/linux/tracepoint.h:619:9: note: in expansion of macro 'DECLARE_TRACE_EVENT'
  619 |         DECLARE_TRACE_EVENT(name, PARAMS(proto), PARAMS(args))
      |         ^~~~~~~~~~~~~~~~~~~
/tmp/next/build/include/trace/events/task.h:9:1: note: in expansion of macro 'TRACE_EVENT'
    9 | TRACE_EVENT(task_newtask,
      | ^~~~~~~~~~~
In file included from /tmp/next/build/include/asm-generic/bug.h:7,
                 from /tmp/next/build/arch/x86/include/asm/bug.h:103,
                 from /tmp/next/build/arch/x86/include/asm/alternative.h:9,
                 from /tmp/next/build/arch/x86/include/asm/barrier.h:5,
                 from /tmp/next/build/include/asm-generic/bitops/generic-non-atomic.h:7,
                 from /tmp/next/build/include/linux/bitops.h:28,
                 from /tmp/next/build/include/linux/kernel.h:23,
                 from /tmp/next/build/include/linux/interrupt.h:6,
                 from /tmp/next/build/include/linux/trace_recursion.h:5,
                 from /tmp/next/build/include/linux/ftrace.h:10,
                 from /tmp/next/build/kernel/trace/rv/monitors/pagefault/pagefault.c:2:
/tmp/next/build/include/rv/ltl_monitor.h:75:51: error: passing argument 1 of 'register_trace_task_newtask' from incompatible pointer type [-Wincompatible-pointer-types]
   75 |         rv_attach_trace_probe(name, task_newtask, handle_task_newtask);
      |                                                   ^~~~~~~~~~~~~~~~~~~
      |                                                   |
      |                                                   void (*)(void *, struct task_struct *, long unsigned int)
/tmp/next/build/include/linux/once_lite.h:28:41: note: in definition of macro 'DO_ONCE_LITE_IF'
   28 |                 bool __ret_do_once = !!(condition);                     \
      |                                         ^~~~~~~~~
/tmp/next/build/include/rv/instrumentation.h:19:17: note: in expansion of macro 'WARN_ONCE'
   19 |                 WARN_ONCE(register_trace_##tp(rv_handler, NULL),                        \
      |                 ^~~~~~~~~
/tmp/next/build/include/rv/ltl_monitor.h:75:9: note: in expansion of macro 'rv_attach_trace_probe'
   75 |         rv_attach_trace_probe(name, task_newtask, handle_task_newtask);
      |         ^~~~~~~~~~~~~~~~~~~~~
/tmp/next/build/include/linux/tracepoint.h:241:38: note: expected 'void (*)(void *, struct task_struct *, u64)' {aka 'void (*)(void *, struct task_struct *, long long unsigned int)'} but argument is of type 'void (*)(void *, struct task_struct *, long unsigned int)'
  241 |         register_trace_##name(void (*probe)(data_proto), void *data)    \
      |                               ~~~~~~~^~~~~~~~~~~~~~~~~~
/tmp/next/build/include/linux/tracepoint.h:270:9: note: in expansion of macro '__DECLARE_TRACE_COMMON'
  270 |         __DECLARE_TRACE_COMMON(name, PARAMS(proto), PARAMS(args), PARAMS(data_proto)) \
      |         ^~~~~~~~~~~~~~~~~~~~~~
/tmp/next/build/include/linux/tracepoint.h:481:9: note: in expansion of macro '__DECLARE_TRACE'
  481 |         __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),              \
      |         ^~~~~~~~~~~~~~~
/tmp/next/build/include/linux/tracepoint.h:619:9: note: in expansion of macro 'DECLARE_TRACE_EVENT'
  619 |         DECLARE_TRACE_EVENT(name, PARAMS(proto), PARAMS(args))
      |         ^~~~~~~~~~~~~~~~~~~
/tmp/next/build/include/trace/events/task.h:9:1: note: in expansion of macro 'TRACE_EVENT'
    9 | TRACE_EVENT(task_newtask,
      | ^~~~~~~~~~~
/tmp/next/build/include/rv/ltl_monitor.h: In function 'ltl_monitor_destroy':
/tmp/next/build/include/rv/ltl_monitor.h:92:51: error: passing argument 1 of 'unregister_trace_task_newtask' from incompatible pointer type [-Wincompatible-pointer-types]
   92 |         rv_detach_trace_probe(name, task_newtask, handle_task_newtask);
      |                                                   ^~~~~~~~~~~~~~~~~~~
      |                                                   |
      |                                                   void (*)(void *, struct task_struct *, long unsigned int)
/tmp/next/build/include/rv/instrumentation.h:28:39: note: in definition of macro 'rv_detach_trace_probe'
   28 |                 unregister_trace_##tp(rv_handler, NULL);                                \
      |                                       ^~~~~~~~~~
/tmp/next/build/include/linux/tracepoint.h:254:40: note: expected 'void (*)(void *, struct task_struct *, u64)' {aka 'void (*)(void *, struct task_struct *, long long unsigned int)'} but argument is of type 'void (*)(void *, struct task_struct *, long unsigned int)'
  254 |         unregister_trace_##name(void (*probe)(data_proto), void *data)  \
      |                                 ~~~~~~~^~~~~~~~~~~~~~~~~~
/tmp/next/build/include/linux/tracepoint.h:270:9: note: in expansion of macro '__DECLARE_TRACE_COMMON'
  270 |         __DECLARE_TRACE_COMMON(name, PARAMS(proto), PARAMS(args), PARAMS(data_proto)) \
      |         ^~~~~~~~~~~~~~~~~~~~~~
/tmp/next/build/include/linux/tracepoint.h:481:9: note: in expansion of macro '__DECLARE_TRACE'
  481 |         __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),              \
      |         ^~~~~~~~~~~~~~~
/tmp/next/build/include/linux/tracepoint.h:619:9: note: in expansion of macro 'DECLARE_TRACE_EVENT'
  619 |         DECLARE_TRACE_EVENT(name, PARAMS(proto), PARAMS(args))
      |         ^~~~~~~~~~~~~~~~~~~
/tmp/next/build/include/trace/events/task.h:9:1: note: in expansion of macro 'TRACE_EVENT'
    9 | TRACE_EVENT(task_newtask,
      | ^~~~~~~~~~~
make[6]: *** [/tmp/next/build/scripts/Makefile.build:287: kernel/trace/rv/monitors/pagefault/pagefault.o] Error 1
make[6]: *** Waiting for unfinished jobs....
In file included from /tmp/next/build/include/rv/ltl_monitor.h:11,
                 from /tmp/next/build/kernel/trace/rv/monitors/sleep/sleep.c:23:
/tmp/next/build/include/rv/ltl_monitor.h: In function 'ltl_monitor_init':
/tmp/next/build/include/rv/ltl_monitor.h:75:51: error: passing argument 1 of 'check_trace_callback_type_task_newtask' from incompatible pointer type [-Wincompatible-pointer-types]
   75 |         rv_attach_trace_probe(name, task_newtask, handle_task_newtask);
      |                                                   ^~~~~~~~~~~~~~~~~~~
      |                                                   |
      |                                                   void (*)(void *, struct task_struct *, long unsigned int)
/tmp/next/build/include/rv/instrumentation.h:18:48: note: in definition of macro 'rv_attach_trace_probe'
   18 |                 check_trace_callback_type_##tp(rv_handler);                             \
      |                                                ^~~~~~~~~~
In file included from /tmp/next/build/kernel/trace/rv/monitors/sleep/sleep.c:3:
/tmp/next/build/include/linux/tracepoint.h:260:49: note: expected 'void (*)(void *, struct task_struct *, u64)' {aka 'void (*)(void *, struct task_struct *, long long unsigned int)'} but argument is of type 'void (*)(void *, struct task_struct *, long unsigned int)'
  260 |         check_trace_callback_type_##name(void (*cb)(data_proto))        \
      |                                          ~~~~~~~^~~~~~~~~~~~~~~
/tmp/next/build/include/linux/tracepoint.h:270:9: note: in expansion of macro '__DECLARE_TRACE_COMMON'
  270 |         __DECLARE_TRACE_COMMON(name, PARAMS(proto), PARAMS(args), PARAMS(data_proto)) \
      |         ^~~~~~~~~~~~~~~~~~~~~~
/tmp/next/build/include/linux/tracepoint.h:481:9: note: in expansion of macro '__DECLARE_TRACE'
  481 |         __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),              \
      |         ^~~~~~~~~~~~~~~
/tmp/next/build/include/linux/tracepoint.h:619:9: note: in expansion of macro 'DECLARE_TRACE_EVENT'
  619 |         DECLARE_TRACE_EVENT(name, PARAMS(proto), PARAMS(args))
      |         ^~~~~~~~~~~~~~~~~~~
/tmp/next/build/include/trace/events/task.h:9:1: note: in expansion of macro 'TRACE_EVENT'
    9 | TRACE_EVENT(task_newtask,
      | ^~~~~~~~~~~
In file included from /tmp/next/build/include/asm-generic/bug.h:7,
                 from /tmp/next/build/arch/x86/include/asm/bug.h:103,
                 from /tmp/next/build/arch/x86/include/asm/alternative.h:9,
                 from /tmp/next/build/arch/x86/include/asm/barrier.h:5,
                 from /tmp/next/build/include/asm-generic/bitops/generic-non-atomic.h:7,
                 from /tmp/next/build/include/linux/bitops.h:28,
                 from /tmp/next/build/include/linux/kernel.h:23,
                 from /tmp/next/build/include/linux/interrupt.h:6,
                 from /tmp/next/build/include/linux/trace_recursion.h:5,
                 from /tmp/next/build/include/linux/ftrace.h:10,
                 from /tmp/next/build/kernel/trace/rv/monitors/sleep/sleep.c:2:
/tmp/next/build/include/rv/ltl_monitor.h:75:51: error: passing argument 1 of 'register_trace_task_newtask' from incompatible pointer type [-Wincompatible-pointer-types]
   75 |         rv_attach_trace_probe(name, task_newtask, handle_task_newtask);
      |                                                   ^~~~~~~~~~~~~~~~~~~
      |                                                   |
      |                                                   void (*)(void *, struct task_struct *, long unsigned int)
/tmp/next/build/include/linux/once_lite.h:28:41: note: in definition of macro 'DO_ONCE_LITE_IF'
   28 |                 bool __ret_do_once = !!(condition);                     \
      |                                         ^~~~~~~~~
/tmp/next/build/include/rv/instrumentation.h:19:17: note: in expansion of macro 'WARN_ONCE'
   19 |                 WARN_ONCE(register_trace_##tp(rv_handler, NULL),                        \
      |                 ^~~~~~~~~
/tmp/next/build/include/rv/ltl_monitor.h:75:9: note: in expansion of macro 'rv_attach_trace_probe'
   75 |         rv_attach_trace_probe(name, task_newtask, handle_task_newtask);
      |         ^~~~~~~~~~~~~~~~~~~~~
/tmp/next/build/include/linux/tracepoint.h:241:38: note: expected 'void (*)(void *, struct task_struct *, u64)' {aka 'void (*)(void *, struct task_struct *, long long unsigned int)'} but argument is of type 'void (*)(void *, struct task_struct *, long unsigned int)'
  241 |         register_trace_##name(void (*probe)(data_proto), void *data)    \
      |                               ~~~~~~~^~~~~~~~~~~~~~~~~~
/tmp/next/build/include/linux/tracepoint.h:270:9: note: in expansion of macro '__DECLARE_TRACE_COMMON'
  270 |         __DECLARE_TRACE_COMMON(name, PARAMS(proto), PARAMS(args), PARAMS(data_proto)) \
      |         ^~~~~~~~~~~~~~~~~~~~~~
/tmp/next/build/include/linux/tracepoint.h:481:9: note: in expansion of macro '__DECLARE_TRACE'
  481 |         __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),              \
      |         ^~~~~~~~~~~~~~~
/tmp/next/build/include/linux/tracepoint.h:619:9: note: in expansion of macro 'DECLARE_TRACE_EVENT'
  619 |         DECLARE_TRACE_EVENT(name, PARAMS(proto), PARAMS(args))
      |         ^~~~~~~~~~~~~~~~~~~
/tmp/next/build/include/trace/events/task.h:9:1: note: in expansion of macro 'TRACE_EVENT'
    9 | TRACE_EVENT(task_newtask,
      | ^~~~~~~~~~~
/tmp/next/build/include/rv/ltl_monitor.h: In function 'ltl_monitor_destroy':
/tmp/next/build/include/rv/ltl_monitor.h:92:51: error: passing argument 1 of 'unregister_trace_task_newtask' from incompatible pointer type [-Wincompatible-pointer-types]
   92 |         rv_detach_trace_probe(name, task_newtask, handle_task_newtask);
      |                                                   ^~~~~~~~~~~~~~~~~~~
      |                                                   |
      |                                                   void (*)(void *, struct task_struct *, long unsigned int)
/tmp/next/build/include/rv/instrumentation.h:28:39: note: in definition of macro 'rv_detach_trace_probe'
   28 |                 unregister_trace_##tp(rv_handler, NULL);                                \
      |                                       ^~~~~~~~~~
/tmp/next/build/include/linux/tracepoint.h:254:40: note: expected 'void (*)(void *, struct task_struct *, u64)' {aka 'void (*)(void *, struct task_struct *, long long unsigned int)'} but argument is of type 'void (*)(void *, struct task_struct *, long unsigned int)'
  254 |         unregister_trace_##name(void (*probe)(data_proto), void *data)  \
      |                                 ~~~~~~~^~~~~~~~~~~~~~~~~~
/tmp/next/build/include/linux/tracepoint.h:270:9: note: in expansion of macro '__DECLARE_TRACE_COMMON'
  270 |         __DECLARE_TRACE_COMMON(name, PARAMS(proto), PARAMS(args), PARAMS(data_proto)) \
      |         ^~~~~~~~~~~~~~~~~~~~~~
/tmp/next/build/include/linux/tracepoint.h:481:9: note: in expansion of macro '__DECLARE_TRACE'
  481 |         __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),              \
      |         ^~~~~~~~~~~~~~~
/tmp/next/build/include/linux/tracepoint.h:619:9: note: in expansion of macro 'DECLARE_TRACE_EVENT'
  619 |         DECLARE_TRACE_EVENT(name, PARAMS(proto), PARAMS(args))
      |         ^~~~~~~~~~~~~~~~~~~
/tmp/next/build/include/trace/events/task.h:9:1: note: in expansion of macro 'TRACE_EVENT'
    9 | TRACE_EVENT(task_newtask,
      | ^~~~~~~~~~~
make[6]: *** [/tmp/next/build/scripts/Makefile.build:287: kernel/trace/rv/monitors/sleep/sleep.o] Error 1
make[5]: *** [/tmp/next/build/scripts/Makefile.build:556: kernel/trace/rv] Error 2
make[5]: *** Waiting for unfinished jobs....
make[4]: *** [/tmp/next/build/scripts/Makefile.build:556: kernel/trace] Error 2
make[4]: *** Waiting for unfinished jobs....
make[3]: *** [/tmp/next/build/scripts/Makefile.build:556: kernel] Error 2
make[3]: *** Waiting for unfinished jobs....
make[2]: *** [/tmp/next/build/Makefile:2011: .] Error 2
make[1]: *** [/tmp/next/build/Makefile:248: __sub-make] Error 2
make: *** [Makefile:248: __sub-make] Error 2
Command exited with non-zero status 2
17036.15user 1313.54system 1:54.95elapsed 15962%CPU (0avgtext+0avgdata 1394068maxresident)k
0inputs+0outputs (5021major+224011004minor)pagefaults 0swaps

I couldn't figure out exactly which commit was causing this in a timely
fashion (and suspect it may be an interaction with another tree), I've
used the VFS tree from 20250926 instead.