Fix missing copy_from_user in macvtap SIOCSIFHWADDR ioctl.
Signed-off-by: Justin Cormack <justin@netbsd.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
        unsigned int __user *up = argp;
        unsigned short u;
        int __user *sp = argp;
+       struct sockaddr sa;
        int s;
        int ret;
 
                return ret;
 
        case SIOCSIFHWADDR:
+               if (copy_from_user(&sa, &ifr->ifr_hwaddr, sizeof(sa)))
+                       return -EFAULT;
                rtnl_lock();
                vlan = macvtap_get_vlan(q);
                if (!vlan) {
                        rtnl_unlock();
                        return -ENOLINK;
                }
-               ret = dev_set_mac_address(vlan->dev, &ifr->ifr_hwaddr);
+               ret = dev_set_mac_address(vlan->dev, &sa);
                macvtap_put_vlan(vlan);
                rtnl_unlock();
                return ret;