[PATCH] selftest: net: prevent use of uninitialized variable

Alessandro Zanni posted 1 patch 3 months, 2 weeks ago
There is a newer version of this series
tools/testing/selftests/net/netlink-dumps.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] selftest: net: prevent use of uninitialized variable
Posted by Alessandro Zanni 3 months, 2 weeks ago
Fix to avoid the usage of the `ret` variable uninitialized in the
following macro expansions.

It solves the following warning:

In file included from netlink-dumps.c:21:
netlink-dumps.c: In function ‘dump_extack’:
../kselftest_harness.h:788:35: warning: ‘ret’ may be used uninitialized [-Wmaybe-uninitialized]
  788 |                         intmax_t  __exp_print = (intmax_t)__exp; \
      |                                   ^~~~~~~~~~~
../kselftest_harness.h:631:9: note: in expansion of macro ‘__EXPECT’
  631 |         __EXPECT(expected, #expected, seen, #seen, ==, 0)
      |         ^~~~~~~~
netlink-dumps.c:169:9: note: in expansion of macro ‘EXPECT_EQ’
  169 |         EXPECT_EQ(ret, FOUND_EXTACK);
      |         ^~~~~~~~~

The issue can be reproduced, building the tests, with the command:
make -C tools/testing/selftests TARGETS=net

Signed-off-by: Alessandro Zanni <alessandro.zanni87@gmail.com>
---
 tools/testing/selftests/net/netlink-dumps.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/testing/selftests/net/netlink-dumps.c b/tools/testing/selftests/net/netlink-dumps.c
index 7618ebe528a4..8ebb8b1b9c5c 100644
--- a/tools/testing/selftests/net/netlink-dumps.c
+++ b/tools/testing/selftests/net/netlink-dumps.c
@@ -112,7 +112,7 @@ static const struct {
 TEST(dump_extack)
 {
 	int netlink_sock;
-	int i, cnt, ret;
+	int i, cnt, ret = 0;
 	char buf[8192];
 	int one = 1;
 	ssize_t n;
-- 
2.43.0

Re: [PATCH] selftest: net: prevent use of uninitialized variable
Posted by Simon Horman 3 months, 2 weeks ago
On Tue, Oct 21, 2025 at 06:54:33PM +0200, Alessandro Zanni wrote:
> Fix to avoid the usage of the `ret` variable uninitialized in the
> following macro expansions.
> 
> It solves the following warning:
> 
> In file included from netlink-dumps.c:21:
> netlink-dumps.c: In function ‘dump_extack’:
> ../kselftest_harness.h:788:35: warning: ‘ret’ may be used uninitialized [-Wmaybe-uninitialized]
>   788 |                         intmax_t  __exp_print = (intmax_t)__exp; \
>       |                                   ^~~~~~~~~~~
> ../kselftest_harness.h:631:9: note: in expansion of macro ‘__EXPECT’
>   631 |         __EXPECT(expected, #expected, seen, #seen, ==, 0)
>       |         ^~~~~~~~
> netlink-dumps.c:169:9: note: in expansion of macro ‘EXPECT_EQ’
>   169 |         EXPECT_EQ(ret, FOUND_EXTACK);
>       |         ^~~~~~~~~
> 
> The issue can be reproduced, building the tests, with the command:
> make -C tools/testing/selftests TARGETS=net
> 
> Signed-off-by: Alessandro Zanni <alessandro.zanni87@gmail.com>
> ---
>  tools/testing/selftests/net/netlink-dumps.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/tools/testing/selftests/net/netlink-dumps.c b/tools/testing/selftests/net/netlink-dumps.c
> index 7618ebe528a4..8ebb8b1b9c5c 100644
> --- a/tools/testing/selftests/net/netlink-dumps.c
> +++ b/tools/testing/selftests/net/netlink-dumps.c
> @@ -112,7 +112,7 @@ static const struct {
>  TEST(dump_extack)
>  {
>  	int netlink_sock;
> -	int i, cnt, ret;
> +	int i, cnt, ret = 0;

Hi Alessandro,

I suggest moving this line so that reverse xmas tree order - longest
line to shortest - is preserved.

>  	char buf[8192];
>  	int one = 1;
>  	ssize_t n;
> -- 
> 2.43.0
>