Re: [PATCH] selftests/configfs: fix the build on 32-bit architectures

From: Breno Leitao

Date: Tue Nov 03 2026 - 13:18:30 EST


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@xxxxxxxxxx>

Thanks for the fix.

Reviewed-by: Breno Leitao <leitao@xxxxxxxxxx>

> ---
> 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@xxxxxxxxxx/

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