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: Wed, 9 Sep 2015 03:45:48 +0000 From: Duan Andy <fugang.duan@...escale.com> To: Florian Fainelli <f.fainelli@...il.com>, "davem@...emloft.net" <davem@...emloft.net> CC: "netdev@...r.kernel.org" <netdev@...r.kernel.org>, "bhutchings@...arflare.com" <bhutchings@...arflare.com> Subject: RE: [PATCH net-next 1/1] net: fec: add netif status check before set mac address From: Florian Fainelli <f.fainelli@...il.com> Sent: Wednesday, September 09, 2015 11:38 AM > To: Duan Fugang-B38611; davem@...emloft.net > Cc: netdev@...r.kernel.org; bhutchings@...arflare.com > Subject: Re: [PATCH net-next 1/1] net: fec: add netif status check before > set mac address > > Le 09/08/15 19:42, Fugang Duan a écrit : > > There exist one issue by below case that case system hang: > > ifconfig eth0 down > > ifconfig eth0 hw ether 00:10:19:19:81:19 > > > > After eth0 down, all fec clocks are gated off. In the > > .fec_set_mac_address() function, it will set new MAC address to > registers, which causes system hang. > > > > So it needs to add netif status check to avoid registers access when > > clocks are gated off. Until eth0 up the new MAC address are wrote into > related registers. > > Since this is a bug fix, do not you intend to target the "net" tree > instead of "net-next"? > Thanks for your reminding, it is better to enter net tree. David, if you apply it, pls put it into net tree. Thanks. > > > > Signed-off-by: Fugang Duan <B38611@...escale.com> > > --- > > drivers/net/ethernet/freescale/fec_main.c | 3 +++ > > 1 file changed, 3 insertions(+) > > > > diff --git a/drivers/net/ethernet/freescale/fec_main.c > > b/drivers/net/ethernet/freescale/fec_main.c > > index 91925e3..cd09dbb 100644 > > --- a/drivers/net/ethernet/freescale/fec_main.c > > +++ b/drivers/net/ethernet/freescale/fec_main.c > > @@ -3029,6 +3029,9 @@ fec_set_mac_address(struct net_device *ndev, void > *p) > > memcpy(ndev->dev_addr, addr->sa_data, ndev->addr_len); > > } > > > > + if (!netif_running(ndev)) > > + return 0; > > + > > writel(ndev->dev_addr[3] | (ndev->dev_addr[2] << 8) | > > (ndev->dev_addr[1] << 16) | (ndev->dev_addr[0] << 24), > > fep->hwp + FEC_ADDR_LOW); > > > > > -- > Florian
Powered by blists - more mailing lists