Linux Kernel Selftest development
 help / color / mirror / Atom feed
From: "Arnd Bergmann" <arnd@arndb.de>
To: "Thomas Weißschuh" <thomas.weissschuh@linutronix.de>,
	"Andy Lutomirski" <luto@kernel.org>,
	"Thomas Gleixner" <tglx@linutronix.de>,
	"Vincenzo Frascino" <vincenzo.frascino@arm.com>,
	shuah <shuah@kernel.org>
Cc: linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org
Subject: Re: [PATCH v2 12/14] selftests: vDSO: vdso_test_correctness: Use system call wrappers from vdso_syscalls.h
Date: Fri, 14 Nov 2025 09:01:13 +0100	[thread overview]
Message-ID: <c3a23032-5e25-429b-b096-e9bc0a72d026@app.fastmail.com> (raw)
In-Reply-To: <20251113-vdso-test-types-v2-12-0427eff70d08@linutronix.de>

On Thu, Nov 13, 2025, at 16:30, Thomas Weißschuh wrote:

> 
>  static void test_one_clock_gettime(int clock, const char *name)
>  {
> +	struct __kernel_timespec start, end;
>  	struct __kernel_old_timespec vdso;
> -	struct timespec start, end;
>  	int vdso_ret, end_ret;
> 
>  	printf("[RUN]\tTesting clock_gettime for clock %s (%d)...\n", name, 

This looks confusing to me: I can see that the existing code is
wrong because it passes a (libc-defined) timespec into the
sys_clock_gettime() that expects __kernel_old_timespec.

It looks like you are changing a sometimes-wrong type into
a consistently wrong type, but then you also change the
sys_clock_gettime() definition to return __kernel_timespec
instead of __kernel_old_timespec, so it ends up working.

Why not always use __kernel_old_timespec for the local variables
and the sys_clock_gettime() calls here?

> @@ -305,7 +291,7 @@ static void test_one_clock_gettime64(int clock, const char *name)
> 
> 	printf("[RUN]\tTesting clock_gettime64 for clock %s (%d)...\n", name, clock);
> 
> -	if (sys_clock_gettime64(clock, &start) < 0) {
> +	if (sys_clock_gettime(clock, &start) < 0) {
> 		if (errno == EINVAL) {
>  			vdso_ret = VDSO_CALL(vdso_clock_gettime64, 2, clock, &vdso);
> 			if (vdso_ret == -EINVAL) {

This looks like the correct fix to me. We were already uses the same
types for syscall and vdso paths, and now the types match the interface.

     Arnd

  reply	other threads:[~2025-11-14  8:01 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-11-13 15:30 [PATCH v2 00/14] selftests: vDSO: Stop using libc types for vDSO calls Thomas Weißschuh
2025-11-13 15:30 ` [PATCH v2 01/14] Revert "selftests: vDSO: parse_vdso: Use UAPI headers instead of libc headers" Thomas Weißschuh
2025-11-13 15:30 ` [PATCH v2 02/14] selftests: vDSO: Introduce vdso_types.h Thomas Weißschuh
2025-11-13 15:30 ` [PATCH v2 03/14] selftests: vDSO: Introduce vdso_syscalls.h Thomas Weißschuh
2025-11-14  8:13   ` Arnd Bergmann
2025-11-14  8:48     ` Thomas Weißschuh
2025-11-14  9:16       ` Arnd Bergmann
2025-11-14 10:02         ` Thomas Weißschuh
2025-11-14 10:40           ` Arnd Bergmann
2025-11-18 14:22             ` Thomas Weißschuh
2025-11-18 21:40               ` Arnd Bergmann
2025-11-20 13:27                 ` Thomas Weißschuh
2025-11-13 15:30 ` [PATCH v2 04/14] selftests: vDSO: vdso_test_gettimeofday: Remove nolibc checks Thomas Weißschuh
2025-11-13 15:30 ` [PATCH v2 05/14] selftests: vDSO: vdso_test_gettimeofday: Use types from vdso_types.h Thomas Weißschuh
2025-11-13 15:30 ` [PATCH v2 06/14] selftests: vDSO: vdso_test_abi: " Thomas Weißschuh
2025-11-13 15:30 ` [PATCH v2 07/14] selftests: vDSO: vdso_test_abi: Validate return value of syscall(clock_getres) Thomas Weißschuh
2025-11-13 15:30 ` [PATCH v2 08/14] selftests: vDSO: vdso_test_abi: Use system call wrappers from vdso_syscalls.h Thomas Weißschuh
2025-11-13 15:30 ` [PATCH v2 09/14] selftests: vDSO: vdso_test_correctness: Drop SYS_getcpu fallbacks Thomas Weißschuh
2025-11-13 15:30 ` [PATCH v2 10/14] selftests: vDSO: vdso_test_correctness: Make ts_leq() and tv_leq() more generic Thomas Weißschuh
2025-11-13 15:30 ` [PATCH v2 11/14] selftests: vDSO: vdso_test_correctness: Use types from vdso_types.h Thomas Weißschuh
2025-11-13 15:30 ` [PATCH v2 12/14] selftests: vDSO: vdso_test_correctness: Use system call wrappers from vdso_syscalls.h Thomas Weißschuh
2025-11-14  8:01   ` Arnd Bergmann [this message]
2025-11-13 15:30 ` [PATCH v2 13/14] selftests: vDSO: vdso_test_correctness: Use facilities from parse_vdso.c Thomas Weißschuh
2025-11-13 15:30 ` [PATCH v2 14/14] selftests: vDSO: vdso_test_correctness: Add a test for time() Thomas Weißschuh

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=c3a23032-5e25-429b-b096-e9bc0a72d026@app.fastmail.com \
    --to=arnd@arndb.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=luto@kernel.org \
    --cc=shuah@kernel.org \
    --cc=tglx@linutronix.de \
    --cc=thomas.weissschuh@linutronix.de \
    --cc=vincenzo.frascino@arm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox