linux-kselftest.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [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).