* [PATCH] selftests/configfs: fix the build on 32-bit architectures
@ 2026-11-03 14:16 Sasha Levin
2026-11-03 17:18 ` Breno Leitao
0 siblings, 1 reply; 2+ messages in thread
From: Sasha Levin @ 2026-11-03 14:16 UTC (permalink / raw)
To: Breno Leitao; +Cc: Andreas Hindborg, Shuah Khan, linux-kselftest, linux-kernel
The fixture setup checks the result of mkdtemp() with ASSERT_NE(), which
hands the pointer to the harness. The harness casts both operands to
intmax_t to print them, and on 32-bit architectures gcc warns about the
cast from a pointer to an integer of a different size. The configfs
test builds with -Werror, so it fails to build there:
kselftest_harness.h:797:49: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
Compare the result against NULL inside ASSERT_TRUE(), so that the
harness only sees an int.
Fixes: a7fdcb2edd0f ("selftests/configfs: add tests for the userspace interface")
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
KernelCI's 32-bit arm kselftest builds fail on this. Built
configfs_test.c with gcc 16 -m32, with and without _TIME_BITS=64 (fails
before, builds after), clang 21 -m32, and both compilers for x86_64.
The harness cast warns for every pointer comparison on 32-bit, a few
thousand warnings in one KernelCI arm build, and configfs only breaks
because of its -Werror. Making the harness print pointers through
uintptr_t would be a separate change.
tools/testing/selftests/filesystems/configfs/configfs_test.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/testing/selftests/filesystems/configfs/configfs_test.c b/tools/testing/selftests/filesystems/configfs/configfs_test.c
index c6a1049e5852e..94ae8f7103092 100644
--- a/tools/testing/selftests/filesystems/configfs/configfs_test.c
+++ b/tools/testing/selftests/filesystems/configfs/configfs_test.c
@@ -122,7 +122,7 @@ FIXTURE_SETUP(configfs)
ASSERT_EQ(unshare(CLONE_NEWNS), 0);
ASSERT_EQ(mount(NULL, "/", NULL, MS_REC | MS_PRIVATE, NULL), 0);
- ASSERT_NE(mkdtemp(tmpl), NULL);
+ ASSERT_TRUE(mkdtemp(tmpl) != NULL);
strcpy(self->mnt, tmpl);
ASSERT_EQ(mount("configfs", self->mnt, "configfs", 0, NULL), 0);
--
2.53.0
^ permalink raw reply [flat|nested] 2+ messages in thread* Re: [PATCH] selftests/configfs: fix the build on 32-bit architectures
2026-11-03 14:16 [PATCH] selftests/configfs: fix the build on 32-bit architectures Sasha Levin
@ 2026-11-03 17:18 ` Breno Leitao
0 siblings, 0 replies; 2+ messages in thread
From: Breno Leitao @ 2026-11-03 17:18 UTC (permalink / raw)
To: Sasha Levin, chleroy
Cc: Andreas Hindborg, Shuah Khan, linux-kselftest, linux-kernel
On Tue, Nov 03, 2026 at 09:16:27AM -0500, Sasha Levin wrote:
> The fixture setup checks the result of mkdtemp() with ASSERT_NE(), which
> hands the pointer to the harness. The harness casts both operands to
> intmax_t to print them, and on 32-bit architectures gcc warns about the
> cast from a pointer to an integer of a different size. The configfs
> test builds with -Werror, so it fails to build there:
>
> kselftest_harness.h:797:49: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
>
> Compare the result against NULL inside ASSERT_TRUE(), so that the
> harness only sees an int.
>
> Fixes: a7fdcb2edd0f ("selftests/configfs: add tests for the userspace interface")
> Signed-off-by: Sasha Levin <sashal@kernel.org>
Thanks for the fix.
Reviewed-by: Breno Leitao <leitao@debian.org>
> ---
> KernelCI's 32-bit arm kselftest builds fail on this. Built
> configfs_test.c with gcc 16 -m32, with and without _TIME_BITS=64 (fails
> before, builds after), clang 21 -m32, and both compilers for x86_64.
>
> The harness cast warns for every pointer comparison on 32-bit, a few
> thousand warnings in one KernelCI arm build, and configfs only breaks
> because of its -Werror. Making the harness print pointers through
> uintptr_t would be a separate change.
Christophe posted a harness fix for this in January, but it was never
merged?
https://lore.kernel.org/all/948937bfe461cf0fb6ade2623e51f673f845fa51.1768298756.git.chleroy@kernel.org/
It still applies to linux-next, and with it configfs_test.c compiles on
32-bit without this patch.
Either way, I will merge your patch tomorrow if no other review pops up.
Thanks,
--breno
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-11-03 17:18 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-11-03 14:16 [PATCH] selftests/configfs: fix the build on 32-bit architectures Sasha Levin
2026-11-03 17:18 ` Breno Leitao
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®