summaryrefslogtreecommitdiff
path: root/tools/include/nolibc/sys/timerfd.h
diff options
context:
space:
mode:
authorThomas Weißschuh <linux@weissschuh.net>2025-12-20 14:55:58 +0100
committerThomas Weißschuh <linux@weissschuh.net>2026-01-06 12:08:08 +0100
commitf3ed932644a671038b31f7f536a066eeef6803b0 (patch)
tree72deb4ab6d3d2d178f238a3da1a591bba3341e10 /tools/include/nolibc/sys/timerfd.h
parent37219aa5b12326cd60f4586779c687f3394e80f5 (diff)
selftests/nolibc: add static assertions around time types handling
The nolibc system call wrappers expect the libc types to be compatible to the kernel types. Make sure these expectations hold at compile-time. Signed-off-by: Thomas Weißschuh <linux@weissschuh.net> Acked-by: Willy Tarreau <w@1wt.eu> Reviewed-by: Arnd Bergmann <arnd@arndb.de> Link: https://patch.msgid.link/20251220-nolibc-uapi-types-v3-14-c662992f75d7@weissschuh.net
Diffstat (limited to 'tools/include/nolibc/sys/timerfd.h')
-rw-r--r--tools/include/nolibc/sys/timerfd.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/tools/include/nolibc/sys/timerfd.h b/tools/include/nolibc/sys/timerfd.h
index 616fcfb416a9..29fd92bd47d2 100644
--- a/tools/include/nolibc/sys/timerfd.h
+++ b/tools/include/nolibc/sys/timerfd.h
@@ -33,8 +33,10 @@ static __attribute__((unused))
int sys_timerfd_gettime(int fd, struct itimerspec *curr_value)
{
#if defined(__NR_timerfd_gettime64)
+ __nolibc_assert_time64_type(curr_value->it_value.tv_sec);
return my_syscall2(__NR_timerfd_gettime64, fd, curr_value);
#else
+ __nolibc_assert_native_time64();
return my_syscall2(__NR_timerfd_gettime, fd, curr_value);
#endif
}
@@ -51,8 +53,10 @@ int sys_timerfd_settime(int fd, int flags,
const struct itimerspec *new_value, struct itimerspec *old_value)
{
#if defined(__NR_timerfd_settime64)
+ __nolibc_assert_time64_type(new_value->it_value.tv_sec);
return my_syscall4(__NR_timerfd_settime64, fd, flags, new_value, old_value);
#else
+ __nolibc_assert_native_time64();
return my_syscall4(__NR_timerfd_settime, fd, flags, new_value, old_value);
#endif
}