diff mbox series

[v2,1/1] selftests: net: af_unix: convert param to const char* in __recvpair() to fix warning

Message ID 20240813162004.2464421-3-mtodorovac69@gmail.com
State New
Headers show
Series [v2,1/1] selftests: net: af_unix: convert param to const char* in __recvpair() to fix warning | expand

Commit Message

Mirsad Todorovac Aug. 13, 2024, 4:20 p.m. UTC
GCC 13.2.0 reported warning about (void *) being used as a param where (char *)
is expected:

In file included from msg_oob.c:14:
msg_oob.c: In function ‘__recvpair’:
../../kselftest_harness.h:106:40: warning: format ‘%s’ expects argument of type ‘char *’, \
						but argument 6 has type ‘const void *’ [-Wformat=]
  106 |                 fprintf(TH_LOG_STREAM, "# %s:%d:%s:" fmt "\n", \
      |                                        ^~~~~~~~~~~~~
../../kselftest_harness.h:101:17: note: in expansion of macro ‘__TH_LOG’
  101 |                 __TH_LOG(fmt, ##__VA_ARGS__); \
      |                 ^~~~~~~~
msg_oob.c:235:17: note: in expansion of macro ‘TH_LOG’
  235 |                 TH_LOG("Expected:%s", expected_errno ? strerror(expected_errno) : expected_buf);
      |                 ^~~~~~
../../kselftest_harness.h:106:40: warning: format ‘%s’ expects argument of type ‘char *’, \
						but argument 6 has type ‘const void *’ [-Wformat=]
  106 |                 fprintf(TH_LOG_STREAM, "# %s:%d:%s:" fmt "\n", \
      |                                        ^~~~~~~~~~~~~
../../kselftest_harness.h:101:17: note: in expansion of macro ‘__TH_LOG’
  101 |                 __TH_LOG(fmt, ##__VA_ARGS__); \
      |                 ^~~~~~~~
msg_oob.c:259:25: note: in expansion of macro ‘TH_LOG’
  259 |                 TH_LOG("Expected:%s", expected_errno ? strerror(expected_errno) : expected_buf);
      |                 ^~~~~~

As Simon suggested, all calls to __recvpair() have char * as expected_buf param, so
it is safe to change param type from (const void *) to (const char *), which silences
the warning.

Fixes: d098d77232c37 ("selftest: af_unix: Add msg_oob.c.")
Reported-by: Mirsad Todorovac <mtodorovac69@gmail.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Eric Dumazet <edumazet@google.com>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Paolo Abeni <pabeni@redhat.com>
Cc: Shuah Khan <shuah@kernel.org>
Cc: Kuniyuki Iwashima <kuniyu@amazon.com>
Cc: netdev@vger.kernel.org
Cc: linux-kselftest@vger.kernel.org
Suggested-by: Simon Horman <horms@kernel.org>
Signed-off-by: Mirsad Todorovac <mtodorovac69@gmail.com>
---
v1 -> v2:
 fixed a typo.
 change funct param type rather than making two casts, as Simon suggested.
 changed Subject: line to reflect the modification.
 minor formatting changes.

v1:
 initial version to fix the compiler warning.

 tools/testing/selftests/net/af_unix/msg_oob.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Kuniyuki Iwashima Aug. 13, 2024, 7:22 p.m. UTC | #1
From: Mirsad Todorovac <mtodorovac69@gmail.com>
Date: Tue, 13 Aug 2024 18:20:06 +0200
> GCC 13.2.0 reported warning about (void *) being used as a param where (char *)
> is expected:
[...]
> As Simon suggested, all calls to __recvpair() have char * as expected_buf param, so
> it is safe to change param type from (const void *) to (const char *), which silences
> the warning.
> 
> Fixes: d098d77232c37 ("selftest: af_unix: Add msg_oob.c.")
> Reported-by: Mirsad Todorovac <mtodorovac69@gmail.com>

Usually Reported-by is not needed if it's same with SOB.

and the same feedback to v1.

Abhinav posted a fix earlier.

https://lore.kernel.org/netdev/20240812191122.1092806-1-jain.abhinav177@gmail.com/

Thanks
diff mbox series

Patch

diff --git a/tools/testing/selftests/net/af_unix/msg_oob.c b/tools/testing/selftests/net/af_unix/msg_oob.c
index 16d0c172eaeb..535eb2c3d7d1 100644
--- a/tools/testing/selftests/net/af_unix/msg_oob.c
+++ b/tools/testing/selftests/net/af_unix/msg_oob.c
@@ -209,7 +209,7 @@  static void __sendpair(struct __test_metadata *_metadata,
 
 static void __recvpair(struct __test_metadata *_metadata,
 		       FIXTURE_DATA(msg_oob) *self,
-		       const void *expected_buf, int expected_len,
+		       const char *expected_buf, int expected_len,
 		       int buf_len, int flags)
 {
 	int i, ret[2], recv_errno[2], expected_errno = 0;