Currently the vDSO selftests use the time-related types from libc. This works on glibc by chance today but will break with other libc implementations or on distributions which switch to 64-bit times everywhere.
The kernel's UAPI headers provide the proper types to use with the vDSO (and raw syscalls) but are not necessarily compatible with libc types. Introduce a new header which makes the UAPI headers compatible with the libc. Also contains some related cleanups. Signed-off-by: Thomas Weißschuh <[email protected]> --- Changes in v2: - Rebase on v7.13-rc1. - Use __kernel_old_time_t in vdso_time_t. - Add vdso_syscalls.h. - Add a test for the time() function. - Use __NR_* over SYS_* syscall constants. - Drop already applied patches. - Link to v1: https://lore.kernel.org/r/[email protected] --- Thomas Weißschuh (8): selftests: vDSO: Introduce vdso_types.h selftests: vDSO: Introduce vdso_syscalls.h selftests: vDSO: vdso_test_abi: Use types from vdso_types.h selftests: vDSO: vdso_test_abi: Use system call wrappers from vdso_syscalls.h selftests: vDSO: vdso_test_gettimeofday: Use types from vdso_types.h selftests: vDSO: vdso_test_correctness: Make ts_leq() and tv_leq() more generic selftests: vDSO: vdso_test_correctness: Use types from vdso_types.h selftests: vDSO: vdso_test_correctness: Use system call wrappers from vdso_syscalls.h tools/testing/selftests/vDSO/vdso_syscalls.h | 92 +++++++++++++++ tools/testing/selftests/vDSO/vdso_test_abi.c | 40 +++---- .../testing/selftests/vDSO/vdso_test_correctness.c | 126 +++++++-------------- .../selftests/vDSO/vdso_test_gettimeofday.c | 7 +- tools/testing/selftests/vDSO/vdso_types.h | 75 ++++++++++++ 5 files changed, 225 insertions(+), 115 deletions(-) --- base-commit: 058d40ae995fbcdd8342ef875c4e94df6b93a8b4 change-id: 20251110-vdso-test-types-68ce0c712b79 Best regards, -- Thomas Weißschuh <[email protected]>

