mirror of
https://github.com/torvalds/linux.git
synced 2026-05-12 16:18:45 +02:00
ieee802154: Use struct sockaddr_storage with dev_set_mac_address()
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. Acked-by: Gustavo A. R. Silva <gustavoars@kernel.org> Signed-off-by: Kees Cook <kees@kernel.org> Link: https://patch.msgid.link/20250521204619.2301870-4-kees@kernel.org Signed-off-by: Paolo Abeni <pabeni@redhat.com>
This commit is contained in:
parent
db586cad6f
commit
7da6117ea1
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user