Tue, Mar 28, 2017 at 09:42:58AM CEST, ivec...@redhat.com wrote: >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.
Interesting, why gcc 6.2.1 is silent then?