[PATCH v2 0/8] selftests: vDSO: Stop using libc types for vDSO calls

Thomas Weißschuh posted 8 patches 3 weeks, 2 days ago
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(-)
[PATCH v2 0/8] selftests: vDSO: Stop using libc types for vDSO calls
Posted by Thomas Weißschuh 3 weeks, 2 days ago
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 <thomas.weissschuh@linutronix.de>
---
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/20251111-vdso-test-types-v1-0-03b31f88c659@linutronix.de

---
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 <thomas.weissschuh@linutronix.de>