diff options
| author | Kees Cook <[email protected]> | 2025-05-21 20:46:16 +0000 |
|---|---|---|
| committer | Paolo Abeni <[email protected]> | 2025-05-27 06:25:43 +0000 |
| commit | ae9fcd5a0f8ab7e12619e1c66312a03b842935c3 (patch) | |
| tree | 1b125a39db68d7241d227de66db8b3bef305fc35 /net/core/dev_ioctl.c | |
| parent | rtnetlink: do_setlink: Use struct sockaddr_storage (diff) | |
| download | kernel-ae9fcd5a0f8ab7e12619e1c66312a03b842935c3.tar.gz kernel-ae9fcd5a0f8ab7e12619e1c66312a03b842935c3.zip | |
net: core: Convert dev_set_mac_address_user() to use struct sockaddr_storage
Convert callers of dev_set_mac_address_user() to use struct
sockaddr_storage. Add sanity checks on dev->addr_len usage.
Signed-off-by: Kees Cook <[email protected]>
Acked-by: Gustavo A. R. Silva <[email protected]>
Link: https://patch.msgid.link/[email protected]
Signed-off-by: Paolo Abeni <[email protected]>
Diffstat (limited to 'net/core/dev_ioctl.c')
| -rw-r--r-- | net/core/dev_ioctl.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/net/core/dev_ioctl.c b/net/core/dev_ioctl.c index fff13a8b48f1..616479e71466 100644 --- a/net/core/dev_ioctl.c +++ b/net/core/dev_ioctl.c @@ -572,9 +572,11 @@ static int dev_ifsioc(struct net *net, struct ifreq *ifr, void __user *data, return dev_set_mtu(dev, ifr->ifr_mtu); case SIOCSIFHWADDR: - if (dev->addr_len > sizeof(struct sockaddr)) + if (dev->addr_len > sizeof(ifr->ifr_hwaddr)) return -EINVAL; - return dev_set_mac_address_user(dev, &ifr->ifr_hwaddr, NULL); + return dev_set_mac_address_user(dev, + (struct sockaddr_storage *)&ifr->ifr_hwaddr, + NULL); case SIOCSIFHWBROADCAST: if (ifr->ifr_hwaddr.sa_family != dev->type) |
