Dne 28.3.2017 v 09:10 Jiri Pirko napsal(a):
Tue, Mar 28, 2017 at 12:48:34AM CEST, da...@davemloft.net wrote:
Please fix up these warnings and resubmit:
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c: In function
‘mlxsw_sp_rif_counter_free’:
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c:208:2: warning:
‘p_counter_index’ may be used uninitialized in this function
[-Wmaybe-uninitialized]
mlxsw_sp_rif_counter_edit(mlxsw_sp, rif->rif_index,
^
This is I believe also gcc bug. Code looks fine. I'm not getting the warning
with gcc 6
No it is not a gcc bug. The function mlxsw_sp_rif_counter_free() is not static
so the compiler cannot know all its callers and so 'dir' parameter can be
theoretically anything.
You call mlxsw_sp_rif_p_counter_get() there it assumes dir can be only
MLXSW_SP_RIF_COUNTER_EGRESS or MLXSW_SP_RIF_COUNTER_INGRESS so initializes
*pp_counter_index only for them. For any other value the value is uninitialized.
Ivan