[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20170116.144845.60137914620939911.davem@davemloft.net>
Date: Mon, 16 Jan 2017 14:48:45 -0500 (EST)
From: David Miller <davem@...emloft.net>
To: ogerlitz@...lanox.com
Cc: hadarh@...lanox.com, netdev@...r.kernel.org, arnd@...db.de
Subject: Re: [PATCH net V2] net/mlx5e: Fix a -Wmaybe-uninitialized warning
From: Or Gerlitz <ogerlitz@...lanox.com>
Date: Sun, 15 Jan 2017 19:50:46 +0200
> From: Arnd Bergmann <arnd@...db.de>
>
> As found by Olof's build bot, we gain a harmless warning about a
> potential uninitialized variable reference in mlx5:
>
> drivers/net/ethernet/mellanox/mlx5/core/en_tc.c: In function 'parse_tc_fdb_actions':
> drivers/net/ethernet/mellanox/mlx5/core/en_tc.c:769:13: warning: 'out_dev' may be used uninitialized in this function [-Wmaybe-uninitialized]
> drivers/net/ethernet/mellanox/mlx5/core/en_tc.c:811:21: note: 'out_dev' was declared here
>
> This was introduced through the addition of an 'IS_ERR/PTR_ERR' pair
> that gcc is unfortunately unable to completely figure out.
>
> The problem being gcc cannot tell that if(IS_ERR()) in
> mlx5e_route_lookup_ipv4() is equivalent to checking if(err) later,
> so it assumes that 'out_dev' is used after the 'return PTR_ERR(rt)'.
>
> The PTR_ERR_OR_ZERO() case by comparison is fairly easy to detect
> by gcc, so it can't get that wrong, so it no longer warns.
>
> Hadar Hen Zion already attempted to fix the warning earlier by adding fake
> initializations, but that ended up not fully addressing all warnings, so
> I'm reverting it now that it is no longer needed.
>
> Link: http://arm-soc.lixom.net/buildlogs/mainline/v4.10-rc3-98-gcff3b2c/
> Fixes: a42485eb0ee4 ("net/mlx5e: TC ipv4 tunnel encap offload error flow fixes")
> Fixes: a757d108dc1a ("net/mlx5e: Fix kbuild warnings for uninitialized parameters")
> Signed-off-by: Arnd Bergmann <arnd@...db.de>
> Signed-off-by: Or Gerlitz <ogerlitz@...lanox.com>
> ---
> changes from V1:
> - kept calling ip_route_output_key() only when CONFIG_INET is defined
Applied.
Powered by blists - more mailing lists