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 <mtodorova...@gmail.com>
Cc: "David S. Miller" <da...@davemloft.net>
Cc: Eric Dumazet <eduma...@google.com>
Cc: Jakub Kicinski <k...@kernel.org>
Cc: Paolo Abeni <pab...@redhat.com>
Cc: Shuah Khan <sh...@kernel.org>
Cc: Kuniyuki Iwashima <kun...@amazon.com>
Cc: net...@vger.kernel.org
Cc: linux-kselftest@vger.kernel.org
Suggested-by: Simon Horman <ho...@kernel.org>
Signed-off-by: Mirsad Todorovac <mtodorova...@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(-)

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;
-- 
2.43.0


Reply via email to