kernel/trace/trace_syscalls.c | 4 ++++ 1 file changed, 4 insertions(+)
From: Steven Rostedt <rostedt@goodmis.org>
Some architectures (riscv-32) do not define __NR_utimensat and
_NR_mq_timedsend, and fails to build when they are used.
Hide them in "ifdef"s.
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202511031239.ZigDcWzY-lkp@intel.com/
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
---
kernel/trace/trace_syscalls.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/kernel/trace/trace_syscalls.c b/kernel/trace/trace_syscalls.c
index e07c5a3cc7ab..e96d0063cbcf 100644
--- a/kernel/trace/trace_syscalls.c
+++ b/kernel/trace/trace_syscalls.c
@@ -1072,7 +1072,9 @@ static void check_faultable_syscall(struct trace_event_call *call, int nr)
switch (nr) {
/* user arg 1 with size arg at 2 */
case __NR_write:
+#ifdef __NR_mq_timedsend
case __NR_mq_timedsend:
+#endif
case __NR_pwrite64:
sys_data->user_mask = BIT(1);
sys_data->user_arg_size = 2;
@@ -1186,7 +1188,9 @@ static void check_faultable_syscall(struct trace_event_call *call, int nr)
case __NR_syslog:
case __NR_statx:
case __NR_unlinkat:
+#ifdef __NR_utimensat
case __NR_utimensat:
+#endif
sys_data->user_mask = BIT(1);
break;
/* user arg at position 2 */
--
2.51.0
On Tue, 4 Nov 2025 20:53:10 -0500
Steven Rostedt <rostedt@goodmis.org> wrote:
> From: Steven Rostedt <rostedt@goodmis.org>
>
> Some architectures (riscv-32) do not define __NR_utimensat and
> _NR_mq_timedsend, and fails to build when they are used.
>
> Hide them in "ifdef"s.
(I wonder we can expect that other __NR_* also defined on every
architecture?)
Anyway, this looks good to me.
Acked-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Thanks,
>
> Reported-by: kernel test robot <lkp@intel.com>
> Closes: https://lore.kernel.org/oe-kbuild-all/202511031239.ZigDcWzY-lkp@intel.com/
> Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
> ---
> kernel/trace/trace_syscalls.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/kernel/trace/trace_syscalls.c b/kernel/trace/trace_syscalls.c
> index e07c5a3cc7ab..e96d0063cbcf 100644
> --- a/kernel/trace/trace_syscalls.c
> +++ b/kernel/trace/trace_syscalls.c
> @@ -1072,7 +1072,9 @@ static void check_faultable_syscall(struct trace_event_call *call, int nr)
> switch (nr) {
> /* user arg 1 with size arg at 2 */
> case __NR_write:
> +#ifdef __NR_mq_timedsend
> case __NR_mq_timedsend:
> +#endif
> case __NR_pwrite64:
> sys_data->user_mask = BIT(1);
> sys_data->user_arg_size = 2;
> @@ -1186,7 +1188,9 @@ static void check_faultable_syscall(struct trace_event_call *call, int nr)
> case __NR_syslog:
> case __NR_statx:
> case __NR_unlinkat:
> +#ifdef __NR_utimensat
> case __NR_utimensat:
> +#endif
> sys_data->user_mask = BIT(1);
> break;
> /* user arg at position 2 */
> --
> 2.51.0
>
--
Masami Hiramatsu (Google) <mhiramat@kernel.org>
On Fri, 7 Nov 2025 02:01:04 +0900 Masami Hiramatsu (Google) <mhiramat@kernel.org> wrote: > On Tue, 4 Nov 2025 20:53:10 -0500 > Steven Rostedt <rostedt@goodmis.org> wrote: > > > From: Steven Rostedt <rostedt@goodmis.org> > > > > Some architectures (riscv-32) do not define __NR_utimensat and > > _NR_mq_timedsend, and fails to build when they are used. > > > > Hide them in "ifdef"s. > > (I wonder we can expect that other __NR_* also defined on every > architecture?) > Anyway, this looks good to me. I built every arch when I did the first update. It just happened that my scripts to build riscv-32 was actually building riscv-64 :-p So it's now all tested. > > Acked-by: Masami Hiramatsu (Google) <mhiramat@kernel.org> > Thanks! -- Steve
© 2016 - 2025 Red Hat, Inc.