Re: [PATCH 4/7] ieee802154: Use struct sockaddr_storage with dev_set_mac_address()
"Gustavo A. R. Silva" <[email protected]> Tue, 20 May 2025 16:49:17 -0600
| Newsgroups | org.kernel.vger.linux-wpan,org.infradead.lists.linux-nvme,org.kernel.vger.linux-hardening,org.kernel.vger.linux-hyperv,org.kernel.vger.linux-kernel,org.kernel.vger.linux-scsi,org.kernel.vger.linux-usb,org.kernel.vger.netdev,org.kernel.vger.target-devel |
|---|---|
| Message-ID | <[email protected]> |
On 20/05/25 16:31, Kees Cook wrote: > Switch to struct sockaddr_storage for calling dev_set_mac_address(). Add > a temporary cast to struct sockaddr, which will be removed in a > subsequent patch. > > Signed-off-by: Kees Cook <[email protected]> Acked-by: Gustavo A. R. Silva <[email protected]> Thanks! -Gustavo > --- > Cc: Alexander Aring <[email protected]> > Cc: Stefan Schmidt <[email protected]> > Cc: Miquel Raynal <[email protected]> > Cc: "David S. Miller" <[email protected]> > Cc: Eric Dumazet <[email protected]> > Cc: Jakub Kicinski <[email protected]> > Cc: Paolo Abeni <[email protected]> > Cc: Simon Horman <[email protected]> > Cc: <[email protected]> > Cc: <[email protected]> > --- > net/ieee802154/nl-phy.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/net/ieee802154/nl-phy.c b/net/ieee802154/nl-phy.c > index 359249ab77bf..ee2b190e8e0d 100644 > --- a/net/ieee802154/nl-phy.c > +++ b/net/ieee802154/nl-phy.c > @@ -224,17 +224,17 @@ int ieee802154_add_iface(struct sk_buff *skb, struct genl_info *info) > dev_hold(dev); > > if (info->attrs[IEEE802154_ATTR_HW_ADDR]) { > - struct sockaddr addr; > + struct sockaddr_storage addr; > > - addr.sa_family = ARPHRD_IEEE802154; > - nla_memcpy(&addr.sa_data, info->attrs[IEEE802154_ATTR_HW_ADDR], > + addr.ss_family = ARPHRD_IEEE802154; > + nla_memcpy(&addr.__data, info->attrs[IEEE802154_ATTR_HW_ADDR], > IEEE802154_ADDR_LEN); > > /* strangely enough, some callbacks (inetdev_event) from > * dev_set_mac_address require RTNL_LOCK > */ > rtnl_lock(); > - rc = dev_set_mac_address(dev, &addr, NULL); > + rc = dev_set_mac_address(dev, (struct sockaddr *)&addr, NULL); > rtnl_unlock(); > if (rc) > goto dev_unregister;