* [PATCH] selftests: proc: mark vsyscall strings maybe-unused
@ 2025-08-20 17:56 Bala-Vignesh-Reddy
2025-08-20 21:39 ` Andrew Morton
0 siblings, 1 reply; 3+ messages in thread
From: Bala-Vignesh-Reddy @ 2025-08-20 17:56 UTC (permalink / raw)
To: shuah
Cc: surenb, akpm, skhan, linux-kernel, linux-fsdevel, linux-kselftest,
Bala-Vignesh-Reddy
The str_vsyscall_* constants in proc-pid-vm.c triggers
-Wunused-const-variable warnings with gcc-13.32 and clang 18.1.
Define and apply __maybe_unused locally to suppress the warnings.
No functional change
Fixes compiler warning:
warning: ‘str_vsyscall_*’ defined but not used[-Wunused-const-variable]
Signed-off-by: Bala-Vignesh-Reddy <reddybalavignesh9979@gmail.com>
---
tools/testing/selftests/proc/proc-pid-vm.c | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/tools/testing/selftests/proc/proc-pid-vm.c b/tools/testing/selftests/proc/proc-pid-vm.c
index d04685771952..978cbcb3eb11 100644
--- a/tools/testing/selftests/proc/proc-pid-vm.c
+++ b/tools/testing/selftests/proc/proc-pid-vm.c
@@ -47,6 +47,10 @@
#include <sys/resource.h>
#include <linux/fs.h>
+#ifndef __maybe_unused
+#define __maybe_unused __attribute__((__unused__))
+#endif
+
#include "../kselftest.h"
static inline long sys_execveat(int dirfd, const char *pathname, char **argv, char **envp, int flags)
@@ -218,12 +222,12 @@ static int make_exe(const uint8_t *payload, size_t len)
* 2: vsyscall VMA is r-xp vsyscall=emulate
*/
static volatile int g_vsyscall;
-static const char *str_vsyscall;
+static const char *str_vsyscall __maybe_unused;
-static const char str_vsyscall_0[] = "";
-static const char str_vsyscall_1[] =
+static const char str_vsyscall_0[] __maybe_unused = "";
+static const char str_vsyscall_1[] __maybe_unused =
"ffffffffff600000-ffffffffff601000 --xp 00000000 00:00 0 [vsyscall]\n";
-static const char str_vsyscall_2[] =
+static const char str_vsyscall_2[] __maybe_unused =
"ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]\n";
#ifdef __x86_64__
--
2.43.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] selftests: proc: mark vsyscall strings maybe-unused
2025-08-20 17:56 [PATCH] selftests: proc: mark vsyscall strings maybe-unused Bala-Vignesh-Reddy
@ 2025-08-20 21:39 ` Andrew Morton
2025-08-21 10:31 ` Bala-Vignesh-Reddy
0 siblings, 1 reply; 3+ messages in thread
From: Andrew Morton @ 2025-08-20 21:39 UTC (permalink / raw)
To: Bala-Vignesh-Reddy
Cc: shuah, surenb, skhan, linux-kernel, linux-fsdevel,
linux-kselftest, Mike Rapoport
On Wed, 20 Aug 2025 23:26:10 +0530 Bala-Vignesh-Reddy <reddybalavignesh9979@gmail.com> wrote:
> The str_vsyscall_* constants in proc-pid-vm.c triggers
> -Wunused-const-variable warnings with gcc-13.32 and clang 18.1.
OT but lol. My head is spinning at the term "const-variable". I
understand what they mean, but it's oxymoronic.
> Define and apply __maybe_unused locally to suppress the warnings.
> No functional change
>
> Fixes compiler warning:
> warning: ‘str_vsyscall_*’ defined but not used[-Wunused-const-variable]
>
> ...
>
> --- a/tools/testing/selftests/proc/proc-pid-vm.c
> +++ b/tools/testing/selftests/proc/proc-pid-vm.c
> @@ -47,6 +47,10 @@
> #include <sys/resource.h>
> #include <linux/fs.h>
>
> +#ifndef __maybe_unused
> +#define __maybe_unused __attribute__((__unused__))
> +#endif
This would be approximately the seventh definition of __maybe_unused
under tools/testing/selftests. And there's another in
tools/testing/memblock, which, as if admitting that its directory is in
the wrong place, had to go and include ../selftests/kselftest.h.
So it would be pleasing if some kind soul were to define __maybe_unused
in a common place, which looks to be
tools/testing/selftests/kselftest.h. Then go zap all those private
definitions.
This could be done either before or after your patch.
> #include "../kselftest.h"
And we have 350 occurrences of "../kselftest.h". Shouldn't the build
system be providing -Itools/testing/selftests?
Anyway, patch looks OK - I'll add it to mm.git, thanks.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] selftests: proc: mark vsyscall strings maybe-unused
2025-08-20 21:39 ` Andrew Morton
@ 2025-08-21 10:31 ` Bala-Vignesh-Reddy
0 siblings, 0 replies; 3+ messages in thread
From: Bala-Vignesh-Reddy @ 2025-08-21 10:31 UTC (permalink / raw)
To: akpm
Cc: linux-fsdevel, linux-kernel, linux-kselftest,
reddybalavignesh9979, rppt, shuah, skhan, surenb
Hi Andrew,
Thanks for your feedback, I didn't notice that __maybe_unused is
defined repeatedly in selftests directory.
Following your suggestions, I've submitted a cleanup patch that centralise
the __maybe_unused definition in tools/testing/selftests/kselftest.h and
removed the redundant copies across the selftests subdirectories.
I've tested it with gcc and clang, and it builds cleanly.
Patch Link:
https://lore.kernel.org/lkml/20250821101159.2238-1-reddybalavignesh9979@gmail.com/
Will also look into build system, to tackle including kselftest.h everywhere
Thanks,
Bala Vignesh
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2025-08-21 10:31 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-20 17:56 [PATCH] selftests: proc: mark vsyscall strings maybe-unused Bala-Vignesh-Reddy
2025-08-20 21:39 ` Andrew Morton
2025-08-21 10:31 ` Bala-Vignesh-Reddy
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).