[PATCH] selftests/pidfd: print time_t as long long

From: Sasha Levin

Date: Tue Nov 03 2026 - 11:35:14 EST


On 32-bit architectures with a 64-bit time_t, such as armhf in Debian
13, printing the time_t values with %lu warns:

pidfd_test.c:523:50: warning: format '%lu' expects argument of type 'long unsigned int', but argument 2 has type 'time_t' {aka 'long long int'} [-Wformat=]

Cast them to long long and print them with %lld.

Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>
---
Found with a 32-bit build of the selftests with a 64-bit time_t (gcc 16
and clang 21 with -m32 -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64);
KernelCI's 32-bit arm builds show the same warnings. The changed files
build without format warnings there now, and the x86_64 builds don't
change. The other selftests get the same kind of fix in separate
patches.

tools/testing/selftests/pidfd/pidfd_test.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/tools/testing/selftests/pidfd/pidfd_test.c b/tools/testing/selftests/pidfd/pidfd_test.c
index 932cbd8caa770..a53e72cb256ce 100644
--- a/tools/testing/selftests/pidfd/pidfd_test.c
+++ b/tools/testing/selftests/pidfd/pidfd_test.c
@@ -520,7 +520,7 @@ static void test_pidfd_poll_exec(int use_waitpid)

time_t prog_time = time(NULL) - prog_start;

- ksft_print_msg("Time waited for child: %lu\n", prog_time);
+ ksft_print_msg("Time waited for child: %lld\n", (long long)prog_time);

close(pidfd);

@@ -599,7 +599,8 @@ static void test_pidfd_poll_leader_exit(int use_waitpid)

time_t since_child_exit = time(NULL) - *child_exit_secs;

- ksft_print_msg("Time since child exit: %lu\n", since_child_exit);
+ ksft_print_msg("Time since child exit: %lld\n",
+ (long long)since_child_exit);

close(pidfd);

--
2.53.0