[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20250910104944.3e420e96@canb.auug.org.au>
Date: Wed, 10 Sep 2025 10:49:44 +1000
From: Stephen Rothwell <sfr@...b.auug.org.au>
To: Christian Brauner <brauner@...nel.org>
Cc: Simon Schuster <schuster.simon@...mens-energy.com>, Linux Kernel Mailing
List <linux-kernel@...r.kernel.org>, Linux Next Mailing List
<linux-next@...r.kernel.org>
Subject: Re: linux-next: build failure after merge of the vfs-brauner tree
Hi all,
On Mon, 8 Sep 2025 12:02:29 +1000 Stephen Rothwell <sfr@...b.auug.org.au> wrote:
>
> On Thu, 4 Sep 2025 11:33:34 +1000 Stephen Rothwell <sfr@...b.auug.org.au> wrote:
> >
> > After merging the vfs-brauner tree, today's linux-next build (x86_64
> > allmodconfig) failed like this:
> >
> > In file included from include/rv/ltl_monitor.h:11,
> > from kernel/trace/rv/monitors/sleep/sleep.c:23:
> > include/rv/ltl_monitor.h: In function 'ltl_monitor_init':
> > 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)
> > 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 kernel/trace/rv/monitors/sleep/sleep.c:3:
> > 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)) \
> > | ~~~~~~~^~~~~~~~~~~~~~~
> > 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)) \
> > | ^~~~~~~~~~~~~~~~~~~~~~
> > include/linux/tracepoint.h:481:9: note: in expansion of macro '__DECLARE_TRACE'
> > 481 | __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args), \
> > | ^~~~~~~~~~~~~~~
> > include/linux/tracepoint.h:619:9: note: in expansion of macro 'DECLARE_TRACE_EVENT'
> > 619 | DECLARE_TRACE_EVENT(name, PARAMS(proto), PARAMS(args))
> > | ^~~~~~~~~~~~~~~~~~~
> > include/trace/events/task.h:9:1: note: in expansion of macro 'TRACE_EVENT'
> > 9 | TRACE_EVENT(task_newtask,
> > | ^~~~~~~~~~~
> > In file included from include/asm-generic/bug.h:7,
> > from arch/x86/include/asm/bug.h:103,
> > from arch/x86/include/asm/alternative.h:9,
> > from arch/x86/include/asm/barrier.h:5,
> > from include/asm-generic/bitops/generic-non-atomic.h:7,
> > from include/linux/bitops.h:28,
> > from include/linux/kernel.h:23,
> > from include/linux/interrupt.h:6,
> > from include/linux/trace_recursion.h:5,
> > from include/linux/ftrace.h:10,
> > from kernel/trace/rv/monitors/sleep/sleep.c:2:
> > 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)
> > include/linux/once_lite.h:28:41: note: in definition of macro 'DO_ONCE_LITE_IF'
> > 28 | bool __ret_do_once = !!(condition); \
> > | ^~~~~~~~~
> > include/rv/instrumentation.h:19:17: note: in expansion of macro 'WARN_ONCE'
> > 19 | WARN_ONCE(register_trace_##tp(rv_handler, NULL), \
> > | ^~~~~~~~~
> > 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);
> > | ^~~~~~~~~~~~~~~~~~~~~
> > 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) \
> > | ~~~~~~~^~~~~~~~~~~~~~~~~~
> > 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)) \
> > | ^~~~~~~~~~~~~~~~~~~~~~
> > include/linux/tracepoint.h:481:9: note: in expansion of macro '__DECLARE_TRACE'
> > 481 | __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args), \
> > | ^~~~~~~~~~~~~~~
> > include/linux/tracepoint.h:619:9: note: in expansion of macro 'DECLARE_TRACE_EVENT'
> > 619 | DECLARE_TRACE_EVENT(name, PARAMS(proto), PARAMS(args))
> > | ^~~~~~~~~~~~~~~~~~~
> > include/trace/events/task.h:9:1: note: in expansion of macro 'TRACE_EVENT'
> > 9 | TRACE_EVENT(task_newtask,
> > | ^~~~~~~~~~~
> > include/rv/ltl_monitor.h: In function 'ltl_monitor_destroy':
> > 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)
> > include/rv/instrumentation.h:28:39: note: in definition of macro 'rv_detach_trace_probe'
> > 28 | unregister_trace_##tp(rv_handler, NULL); \
> > | ^~~~~~~~~~
> > 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) \
> > | ~~~~~~~^~~~~~~~~~~~~~~~~~
> > 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)) \
> > | ^~~~~~~~~~~~~~~~~~~~~~
> > include/linux/tracepoint.h:481:9: note: in expansion of macro '__DECLARE_TRACE'
> > 481 | __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args), \
> > | ^~~~~~~~~~~~~~~
> > include/linux/tracepoint.h:619:9: note: in expansion of macro 'DECLARE_TRACE_EVENT'
> > 619 | DECLARE_TRACE_EVENT(name, PARAMS(proto), PARAMS(args))
> > | ^~~~~~~~~~~~~~~~~~~
> > include/trace/events/task.h:9:1: note: in expansion of macro 'TRACE_EVENT'
> > 9 | TRACE_EVENT(task_newtask,
> > | ^~~~~~~~~~~
> > In file included from include/rv/ltl_monitor.h:11,
> > from kernel/trace/rv/monitors/pagefault/pagefault.c:19:
> > include/rv/ltl_monitor.h: In function 'ltl_monitor_init':
> > 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)
> > 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 kernel/trace/rv/monitors/pagefault/pagefault.c:9:
> > 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)) \
> > | ~~~~~~~^~~~~~~~~~~~~~~
> > 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)) \
> > | ^~~~~~~~~~~~~~~~~~~~~~
> > include/linux/tracepoint.h:481:9: note: in expansion of macro '__DECLARE_TRACE'
> > 481 | __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args), \
> > | ^~~~~~~~~~~~~~~
> > include/linux/tracepoint.h:619:9: note: in expansion of macro 'DECLARE_TRACE_EVENT'
> > 619 | DECLARE_TRACE_EVENT(name, PARAMS(proto), PARAMS(args))
> > | ^~~~~~~~~~~~~~~~~~~
> > include/trace/events/task.h:9:1: note: in expansion of macro 'TRACE_EVENT'
> > 9 | TRACE_EVENT(task_newtask,
> > | ^~~~~~~~~~~
> > In file included from include/asm-generic/bug.h:7,
> > from arch/x86/include/asm/bug.h:103,
> > from arch/x86/include/asm/alternative.h:9,
> > from arch/x86/include/asm/barrier.h:5,
> > from include/asm-generic/bitops/generic-non-atomic.h:7,
> > from include/linux/bitops.h:28,
> > from include/linux/kernel.h:23,
> > from include/linux/interrupt.h:6,
> > from include/linux/trace_recursion.h:5,
> > from include/linux/ftrace.h:10,
> > from kernel/trace/rv/monitors/pagefault/pagefault.c:2:
> > 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)
> > include/linux/once_lite.h:28:41: note: in definition of macro 'DO_ONCE_LITE_IF'
> > 28 | bool __ret_do_once = !!(condition); \
> > | ^~~~~~~~~
> > include/rv/instrumentation.h:19:17: note: in expansion of macro 'WARN_ONCE'
> > 19 | WARN_ONCE(register_trace_##tp(rv_handler, NULL), \
> > | ^~~~~~~~~
> > 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);
> > | ^~~~~~~~~~~~~~~~~~~~~
> > 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) \
> > | ~~~~~~~^~~~~~~~~~~~~~~~~~
> > 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)) \
> > | ^~~~~~~~~~~~~~~~~~~~~~
> > include/linux/tracepoint.h:481:9: note: in expansion of macro '__DECLARE_TRACE'
> > 481 | __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args), \
> > | ^~~~~~~~~~~~~~~
> > include/linux/tracepoint.h:619:9: note: in expansion of macro 'DECLARE_TRACE_EVENT'
> > 619 | DECLARE_TRACE_EVENT(name, PARAMS(proto), PARAMS(args))
> > | ^~~~~~~~~~~~~~~~~~~
> > include/trace/events/task.h:9:1: note: in expansion of macro 'TRACE_EVENT'
> > 9 | TRACE_EVENT(task_newtask,
> > | ^~~~~~~~~~~
> > include/rv/ltl_monitor.h: In function 'ltl_monitor_destroy':
> > 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)
> > include/rv/instrumentation.h:28:39: note: in definition of macro 'rv_detach_trace_probe'
> > 28 | unregister_trace_##tp(rv_handler, NULL); \
> > | ^~~~~~~~~~
> > 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) \
> > | ~~~~~~~^~~~~~~~~~~~~~~~~~
> > 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)) \
> > | ^~~~~~~~~~~~~~~~~~~~~~
> > include/linux/tracepoint.h:481:9: note: in expansion of macro '__DECLARE_TRACE'
> > 481 | __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args), \
> > | ^~~~~~~~~~~~~~~
> > include/linux/tracepoint.h:619:9: note: in expansion of macro 'DECLARE_TRACE_EVENT'
> > 619 | DECLARE_TRACE_EVENT(name, PARAMS(proto), PARAMS(args))
> > | ^~~~~~~~~~~~~~~~~~~
> > include/trace/events/task.h:9:1: note: in expansion of macro 'TRACE_EVENT'
> > 9 | TRACE_EVENT(task_newtask,
> > | ^~~~~~~~~~~
> >
> > Presumably caused by commit
> >
> > edd3cb05c00a ("copy_process: pass clone_flags as u64 across calltree")
> >
> > I have used the vfs-brauner tree from next-20250829 for today.
>
> I am still seeing this failure.
From today, I have instead just reverted these three commits:
c6ac444ff20c ("nios2: implement architecture-specific portion of sys_clone3")
bbc46b23af5b ("arch: copy_thread: pass clone_flags as u64")
edd3cb05c00a ("copy_process: pass clone_flags as u64 across calltree")
--
Cheers,
Stephen Rothwell
Content of type "application/pgp-signature" skipped
Powered by blists - more mailing lists