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
| ||
|
Message-ID: <ZN3QKyHoUNoN9dx5@vergenet.net> Date: Thu, 17 Aug 2023 09:45:47 +0200 From: Simon Horman <horms@...nel.org> To: nick.hawkins@....com Cc: christophe.jaillet@...adoo.fr, simon.horman@...igine.com, andrew@...n.ch, verdun@....com, davem@...emloft.net, edumazet@...gle.com, kuba@...nel.org, pabeni@...hat.com, robh+dt@...nel.org, krzysztof.kozlowski+dt@...aro.org, conor+dt@...nel.org, netdev@...r.kernel.org, devicetree@...r.kernel.org, linux-kernel@...r.kernel.org Subject: Re: [PATCH v3 4/5] net: hpe: Add GXP UMAC Driver On Wed, Aug 16, 2023 at 04:52:19PM -0500, nick.hawkins@....com wrote: > From: Nick Hawkins <nick.hawkins@....com> > > The GXP contains two Ethernet MACs that can be connected externally > to several physical devices. From an external interface perspective > the BMC provides two SERDES interface connections capable of either > SGMII or 1000Base-X operation. The BMC also provides a RMII interface > for sideband connections to external Ethernet controllers. > > The primary MAC (umac0) can be mapped to either SGMII/1000-BaseX > SERDES interface. The secondary MAC (umac1) can be mapped to only > the second SGMII/1000-Base X Serdes interface or it can be mapped for > RMII sideband. > > Signed-off-by: Nick Hawkins <nick.hawkins@....com> ... > diff --git a/drivers/net/ethernet/hpe/gxp-umac.c b/drivers/net/ethernet/hpe/gxp-umac.c ... > +static int umac_init_mac_address(struct net_device *ndev) > +{ > + struct umac_priv *umac = netdev_priv(ndev); > + struct platform_device *pdev = umac->pdev; > + char addr[ETH_ALEN]; > + int err; > + > + err = of_get_mac_address(pdev->dev.of_node, addr); > + if (err) > + netdev_err(ndev, "Failed to get address from device-tree: %d\n", > + err); > + return -EINVAL; Hi Nick, it looks like there should be some {} involved in the condition above, else the function will return -EINVAL unconditionally. Flagged by W=1 builds with clang-16 and gcc-13. > + > + if (is_valid_ether_addr(addr)) { > + dev_addr_set(ndev, addr); > + netdev_dbg(ndev, > + "Read MAC address %pM from DTB\n", ndev->dev_addr); > + } else { > + netdev_err(ndev, "Mac Address is Invalid"); > + return -EINVAL; > + } > + > + dev_addr_set(ndev, addr); > + umac_set_mac_address(ndev, addr); > + > + return 0; > +} ...
Powered by blists - more mailing lists