[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20250804194518.97620-2-palmer@dabbelt.com>
Date: Mon, 4 Aug 2025 12:45:19 -0700
From: Palmer Dabbelt <palmer@...belt.com>
To: rostedt@...dmis.org, namcao@...utronix.de
Cc: mhiramat@...nel.org, mathieu.desnoyers@...icios.com,
Palmer Dabbelt <palmer@...belt.com>, gmonaco@...hat.com, linux-trace-kernel@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: [PATCH] rv: Support systems with time64-only syscalls
From: Palmer Dabbelt <palmer@...belt.com>
Some systems (like 32-bit RISC-V) only have the 64-bit time_t versions
of syscalls. So handle the 32-bit time_t version of those being
undefined.
Fixes: f74f8bb246cf ("rv: Add rtapp_sleep monitor")
Signed-off-by: Palmer Dabbelt <palmer@...belt.com>
---
This seems a little ugly, as it'll blow up when neither is defined. Some
#if/#error type stuff seemed uglier, though, and that's the best I could come
up with. I figure anyone without either flavor of futex call is probably deep
enough in the weeds to just figure what blows up here...
---
kernel/trace/rv/monitors/sleep/sleep.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/kernel/trace/rv/monitors/sleep/sleep.c b/kernel/trace/rv/monitors/sleep/sleep.c
index eea447b06907..c1347da69e9d 100644
--- a/kernel/trace/rv/monitors/sleep/sleep.c
+++ b/kernel/trace/rv/monitors/sleep/sleep.c
@@ -127,7 +127,9 @@ static void handle_sys_enter(void *data, struct pt_regs *regs, long id)
mon = ltl_get_monitor(current);
switch (id) {
+#ifdef __NR_clock_nanosleep
case __NR_clock_nanosleep:
+#endif
#ifdef __NR_clock_nanosleep_time64
case __NR_clock_nanosleep_time64:
#endif
@@ -138,7 +140,9 @@ static void handle_sys_enter(void *data, struct pt_regs *regs, long id)
ltl_atom_update(current, LTL_CLOCK_NANOSLEEP, true);
break;
+#ifdef __NR_futex
case __NR_futex:
+#endif
#ifdef __NR_futex_time64
case __NR_futex_time64:
#endif
--
2.50.1
Powered by blists - more mailing lists