diff mbox series

[4/7] ieee802154: Use struct sockaddr_storage with dev_set_mac_address()

Message ID 20250520223108.2672023-4-kees@kernel.org
State Superseded
Headers show
Series net: Convert dev_set_mac_address() to struct sockaddr_storage | expand

Commit Message

Kees Cook May 20, 2025, 10:31 p.m. UTC
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 <kees@kernel.org>
---
Cc: Alexander Aring <alex.aring@gmail.com>
Cc: Stefan Schmidt <stefan@datenfreihafen.org>
Cc: Miquel Raynal <miquel.raynal@bootlin.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Eric Dumazet <edumazet@google.com>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Paolo Abeni <pabeni@redhat.com>
Cc: Simon Horman <horms@kernel.org>
Cc: <linux-wpan@vger.kernel.org>
Cc: <netdev@vger.kernel.org>
---
 net/ieee802154/nl-phy.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

Comments

Gustavo A. R. Silva May 20, 2025, 10:49 p.m. UTC | #1
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 <kees@kernel.org>

Acked-by: Gustavo A. R. Silva <gustavoars@kernel.org>

Thanks!
-Gustavo

> ---
> Cc: Alexander Aring <alex.aring@gmail.com>
> Cc: Stefan Schmidt <stefan@datenfreihafen.org>
> Cc: Miquel Raynal <miquel.raynal@bootlin.com>
> Cc: "David S. Miller" <davem@davemloft.net>
> Cc: Eric Dumazet <edumazet@google.com>
> Cc: Jakub Kicinski <kuba@kernel.org>
> Cc: Paolo Abeni <pabeni@redhat.com>
> Cc: Simon Horman <horms@kernel.org>
> Cc: <linux-wpan@vger.kernel.org>
> Cc: <netdev@vger.kernel.org>
> ---
>   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;
diff mbox series

Patch

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;