Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

selftests/futex: don't pass a const char* to asprintf(3)

When building with clang, via:

make LLVM=1 -C tools/testing/selftests

...clang issues this warning:

futex_requeue_pi.c:403:17: warning: passing 'const char **' to parameter
of type 'char **' discards qualifiers in nested pointer types
[-Wincompatible-pointer-types-discards-qualifiers]

This warning fires because test_name is passed into asprintf(3), which
then changes it.

Fix this by simply removing the const qualifier. This is a local
automatic variable in a very short function, so there is not much need
to use the compiler to enforce const-ness at this scope.

[1] https://lore.kernel.org/all/20240329-selftests-libmk-llvm-rfc-v1-1-2f9ed7d1c49f@valentinobst.de/

Fixes: f17d8a87ecb5 ("selftests: fuxex: Report a unique test name per run of futex_requeue_pi")
Reviewed-by: Davidlohr Bueso <dave@stgolabs.net>
Signed-off-by: John Hubbard <jhubbard@nvidia.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>

authored by

John Hubbard and committed by
Shuah Khan
4bf15b1c 32c75ad4

+1 -1
+1 -1
tools/testing/selftests/futex/functional/futex_requeue_pi.c
··· 360 360 361 361 int main(int argc, char *argv[]) 362 362 { 363 - const char *test_name; 363 + char *test_name; 364 364 int c, ret; 365 365 366 366 while ((c = getopt(argc, argv, "bchlot:v:")) != -1) {