lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Fri, 24 Feb 2017 12:13:37 -0800 From: Iyappan Subramanian <isubramanian@....com> To: Geert Uytterhoeven <geert@...ux-m68k.org> Cc: "David S . Miller" <davem@...emloft.net>, Keyur Chudgar <kchudgar@....com>, Arnd Bergmann <arnd@...db.de>, netdev <netdev@...r.kernel.org>, "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org> Subject: Re: [PATCH] drivers: net: xgene: Simplify xgene_enet_setup_mss() to kill warning On Fri, Feb 24, 2017 at 2:30 AM, Geert Uytterhoeven <geert@...ux-m68k.org> wrote: > With gcc-4.1.2 and -Os: > > drivers/net/ethernet/apm/xgene/xgene_enet_main.c: In function ‘xgene_enet_start_xmit’: > drivers/net/ethernet/apm/xgene/xgene_enet_main.c:297: warning: ‘mss_index’ may be used uninitialized in this function > > Using a separate variable to track success may confuse the compiler. > Preinitialize mss_index with -EBUSY and check for negative error values > instead to kill the warning. > > Signed-off-by: Geert Uytterhoeven <geert@...ux-m68k.org> > --- > Compile-tested only. > > drivers/net/ethernet/apm/xgene/xgene_enet_main.c | 13 +++---------- > 1 file changed, 3 insertions(+), 10 deletions(-) > > diff --git a/drivers/net/ethernet/apm/xgene/xgene_enet_main.c b/drivers/net/ethernet/apm/xgene/xgene_enet_main.c > index d0d0d12b531fc683..e536301acfdec9fd 100644 > --- a/drivers/net/ethernet/apm/xgene/xgene_enet_main.c > +++ b/drivers/net/ethernet/apm/xgene/xgene_enet_main.c > @@ -293,36 +293,29 @@ static int xgene_enet_tx_completion(struct xgene_enet_desc_ring *cp_ring, > static int xgene_enet_setup_mss(struct net_device *ndev, u32 mss) > { > struct xgene_enet_pdata *pdata = netdev_priv(ndev); > - bool mss_index_found = false; > - int mss_index; > + int mss_index = -EBUSY; > int i; > > spin_lock(&pdata->mss_lock); > > /* Reuse the slot if MSS matches */ > - for (i = 0; !mss_index_found && i < NUM_MSS_REG; i++) { > + for (i = 0; mss_index < 0 && i < NUM_MSS_REG; i++) { > if (pdata->mss[i] == mss) { > pdata->mss_refcnt[i]++; > mss_index = i; > - mss_index_found = true; > } > } > > /* Overwrite the slot with ref_count = 0 */ > - for (i = 0; !mss_index_found && i < NUM_MSS_REG; i++) { > + for (i = 0; mss_index < 0 && i < NUM_MSS_REG; i++) { > if (!pdata->mss_refcnt[i]) { > pdata->mss_refcnt[i]++; > pdata->mac_ops->set_mss(pdata, mss, i); > pdata->mss[i] = mss; > mss_index = i; > - mss_index_found = true; > } > } > > - /* No slots with ref_count = 0 available, return busy */ > - if (!mss_index_found) > - mss_index = -EBUSY; > - > spin_unlock(&pdata->mss_lock); > > return mss_index; > -- > 2.7.4 > Thanks. Acked-by: Iyappan Subramanian <isubramanian@....com>
Powered by blists - more mailing lists