Lines Matching refs:useraddr

59 static int ethtool_get_features(struct net_device *dev, void __user *useraddr)
81 sizeaddr = useraddr + offsetof(struct ethtool_gfeatures, size);
88 if (copy_to_user(useraddr, &cmd, sizeof(cmd)))
90 useraddr += sizeof(cmd);
91 if (copy_to_user(useraddr, features, copy_size * sizeof(*features)))
97 static int ethtool_set_features(struct net_device *dev, void __user *useraddr)
104 if (copy_from_user(&cmd, useraddr, sizeof(cmd)))
106 useraddr += sizeof(cmd);
111 if (copy_from_user(features, useraddr, sizeof(features)))
226 char __user *useraddr, u32 ethcmd)
234 if (copy_to_user(useraddr, &edata, sizeof(edata)))
240 void __user *useraddr, u32 ethcmd)
245 if (copy_from_user(&edata, useraddr, sizeof(edata)))
515 void __user *useraddr)
525 if (copy_from_user(&link_ksettings.base, useraddr,
543 if (copy_to_user(useraddr, &link_ksettings.base,
566 return store_link_ksettings_for_user(useraddr, &link_ksettings);
571 void __user *useraddr)
582 if (copy_from_user(&link_ksettings.base, useraddr,
593 err = load_link_ksettings_from_user(&link_ksettings, useraddr);
644 static int ethtool_get_settings(struct net_device *dev, void __user *useraddr)
663 if (copy_to_user(useraddr, &cmd, sizeof(cmd)))
677 static int ethtool_set_settings(struct net_device *dev, void __user *useraddr)
685 if (copy_from_user(&cmd, useraddr, sizeof(cmd)))
703 void __user *useraddr)
753 if (copy_to_user(useraddr, &info, sizeof(info)))
759 void __user *useraddr)
766 if (copy_from_user(&info, useraddr, sizeof(info)))
800 if (copy_to_user(useraddr, &info, sizeof(info)))
803 useraddr += offsetof(struct ethtool_sset_info, data);
804 if (copy_to_user(useraddr, info_buf, idx * sizeof(u32)))
816 const struct compat_ethtool_rxnfc __user *useraddr,
829 sizeof(useraddr->fs.m_ext) !=
837 if (copy_from_user(&crxnfc, useraddr, min(size, sizeof(crxnfc))))
860 const void __user *useraddr,
864 return ethtool_rxnfc_copy_from_compat(rxnfc, useraddr, size);
866 if (copy_from_user(rxnfc, useraddr, size))
872 static int ethtool_rxnfc_copy_to_compat(void __user *useraddr,
895 if (copy_to_user(useraddr, &crxnfc, min(size, sizeof(crxnfc))))
901 static int ethtool_rxnfc_copy_to_user(void __user *useraddr,
908 ret = ethtool_rxnfc_copy_to_compat(useraddr, rxnfc, size,
910 useraddr += offsetof(struct compat_ethtool_rxnfc, rule_locs);
912 ret = copy_to_user(useraddr, rxnfc, size);
913 useraddr += offsetof(struct ethtool_rxnfc, rule_locs);
920 if (copy_to_user(useraddr, rule_buf,
929 u32 cmd, void __user *useraddr)
946 if (ethtool_rxnfc_copy_from_user(&info, useraddr, info_size))
954 ethtool_rxnfc_copy_to_user(useraddr, &info, info_size, NULL))
961 u32 cmd, void __user *useraddr)
980 if (ethtool_rxnfc_copy_from_user(&info, useraddr, info_size))
988 if (ethtool_rxnfc_copy_from_user(&info, useraddr, info_size))
1014 ret = ethtool_rxnfc_copy_to_user(useraddr, &info, info_size, rule_buf);
1021 static int ethtool_copy_validate_indir(u32 *indir, void __user *useraddr,
1027 if (copy_from_user(indir, useraddr, size * sizeof(indir[0])))
1049 void __user *useraddr)
1063 useraddr + offsetof(struct ethtool_rxfh_indir, size),
1067 if (copy_to_user(useraddr + offsetof(struct ethtool_rxfh_indir, size),
1086 if (copy_to_user(useraddr +
1097 void __user *useraddr)
1115 useraddr + offsetof(struct ethtool_rxfh_indir, size),
1136 useraddr + ringidx_offset,
1159 void __user *useraddr)
1181 if (copy_from_user(&rxfh, useraddr, sizeof(rxfh)))
1195 if (copy_to_user(useraddr, &rxfh, sizeof(rxfh)))
1223 if (copy_to_user(useraddr + offsetof(struct ethtool_rxfh, hfunc),
1226 } else if (copy_to_user(useraddr +
1238 void __user *useraddr)
1259 if (copy_from_user(&rxfh, useraddr, sizeof(rxfh)))
1300 useraddr + rss_cfg_offset,
1318 useraddr + rss_cfg_offset + indir_bytes,
1333 if (copy_to_user(useraddr + offsetof(struct ethtool_rxfh, rss_context),
1350 static int ethtool_get_regs(struct net_device *dev, char __user *useraddr)
1360 if (copy_from_user(&regs, useraddr, sizeof(regs)))
1380 if (copy_to_user(useraddr, &regs, sizeof(regs)))
1382 useraddr += offsetof(struct ethtool_regs, data);
1383 if (copy_to_user(useraddr, regbuf, reglen))
1392 static int ethtool_reset(struct net_device *dev, char __user *useraddr)
1400 if (copy_from_user(&reset, useraddr, sizeof(reset)))
1407 if (copy_to_user(useraddr, &reset, sizeof(reset)))
1412 static int ethtool_get_wol(struct net_device *dev, char __user *useraddr)
1423 if (copy_to_user(useraddr, &wol, sizeof(wol)))
1428 static int ethtool_set_wol(struct net_device *dev, char __user *useraddr)
1436 if (copy_from_user(&wol, useraddr, sizeof(wol)))
1449 static int ethtool_get_eee(struct net_device *dev, char __user *useraddr)
1464 if (copy_to_user(useraddr, &edata, sizeof(edata)))
1470 static int ethtool_set_eee(struct net_device *dev, char __user *useraddr)
1478 if (copy_from_user(&edata, useraddr, sizeof(edata)))
1495 static int ethtool_get_link(struct net_device *dev, char __user *useraddr)
1504 if (copy_to_user(useraddr, &edata, sizeof(edata)))
1509 static int ethtool_get_any_eeprom(struct net_device *dev, void __user *useraddr,
1515 void __user *userbuf = useraddr + sizeof(eeprom);
1520 if (copy_from_user(&eeprom, useraddr, sizeof(eeprom)))
1551 eeprom.len = userbuf - (useraddr + sizeof(eeprom));
1553 if (copy_to_user(useraddr, &eeprom, sizeof(eeprom)))
1560 static int ethtool_get_eeprom(struct net_device *dev, void __user *useraddr)
1568 return ethtool_get_any_eeprom(dev, useraddr, ops->get_eeprom,
1572 static int ethtool_set_eeprom(struct net_device *dev, void __user *useraddr)
1576 void __user *userbuf = useraddr + sizeof(eeprom);
1585 if (copy_from_user(&eeprom, useraddr, sizeof(eeprom)))
1621 void __user *useraddr)
1633 if (copy_to_user(useraddr, &coalesce, sizeof(coalesce)))
1694 void __user *useraddr)
1702 if (copy_from_user(&coalesce, useraddr, sizeof(coalesce)))
1714 static int ethtool_get_ringparam(struct net_device *dev, void __user *useraddr)
1723 if (copy_to_user(useraddr, &ringparam, sizeof(ringparam)))
1728 static int ethtool_set_ringparam(struct net_device *dev, void __user *useraddr)
1736 if (copy_from_user(&ringparam, useraddr, sizeof(ringparam)))
1755 void __user *useraddr)
1764 if (copy_to_user(useraddr, &channels, sizeof(channels)))
1770 void __user *useraddr)
1781 if (copy_from_user(&channels, useraddr, sizeof(channels)))
1825 static int ethtool_get_pauseparam(struct net_device *dev, void __user *useraddr)
1834 if (copy_to_user(useraddr, &pauseparam, sizeof(pauseparam)))
1839 static int ethtool_set_pauseparam(struct net_device *dev, void __user *useraddr)
1847 if (copy_from_user(&pauseparam, useraddr, sizeof(pauseparam)))
1856 static int ethtool_self_test(struct net_device *dev, char __user *useraddr)
1871 if (copy_from_user(&test, useraddr, sizeof(test)))
1884 if (copy_to_user(useraddr, &test, sizeof(test)))
1886 useraddr += sizeof(test);
1887 if (copy_to_user(useraddr, data, test.len * sizeof(u64)))
1896 static int ethtool_get_strings(struct net_device *dev, void __user *useraddr)
1902 if (copy_from_user(&gstrings, useraddr, sizeof(gstrings)))
1925 if (copy_to_user(useraddr, &gstrings, sizeof(gstrings)))
1927 useraddr += sizeof(gstrings);
1929 copy_to_user(useraddr, data, gstrings.len * ETH_GSTRING_LEN))
1938 static int ethtool_phys_id(struct net_device *dev, void __user *useraddr)
1951 if (copy_from_user(&id, useraddr, sizeof(id)))
1994 static int ethtool_get_stats(struct net_device *dev, void __user *useraddr)
2010 if (copy_from_user(&stats, useraddr, sizeof(stats)))
2025 if (copy_to_user(useraddr, &stats, sizeof(stats)))
2027 useraddr += sizeof(stats);
2028 if (n_stats && copy_to_user(useraddr, data, array_size(n_stats, sizeof(u64))))
2037 static int ethtool_get_phy_stats(struct net_device *dev, void __user *useraddr)
2061 if (copy_from_user(&stats, useraddr, sizeof(stats)))
2084 if (copy_to_user(useraddr, &stats, sizeof(stats)))
2086 useraddr += sizeof(stats);
2087 if (n_stats && copy_to_user(useraddr, data, array_size(n_stats, sizeof(u64))))
2096 static int ethtool_get_perm_addr(struct net_device *dev, void __user *useraddr)
2100 if (copy_from_user(&epaddr, useraddr, sizeof(epaddr)))
2107 if (copy_to_user(useraddr, &epaddr, sizeof(epaddr)))
2109 useraddr += sizeof(epaddr);
2110 if (copy_to_user(useraddr, dev->perm_addr, epaddr.size))
2115 static int ethtool_get_value(struct net_device *dev, char __user *useraddr,
2125 if (copy_to_user(useraddr, &edata, sizeof(edata)))
2130 static int ethtool_set_value_void(struct net_device *dev, char __user *useraddr,
2138 if (copy_from_user(&edata, useraddr, sizeof(edata)))
2145 static int ethtool_set_value(struct net_device *dev, char __user *useraddr,
2153 if (copy_from_user(&edata, useraddr, sizeof(edata)))
2160 char __user *useraddr)
2164 if (copy_from_user(&efl, useraddr, sizeof(efl)))
2175 void __user *useraddr)
2182 if (copy_from_user(&dump, useraddr, sizeof(dump)))
2189 void __user *useraddr)
2198 if (copy_from_user(&dump, useraddr, sizeof(dump)))
2205 if (copy_to_user(useraddr, &dump, sizeof(dump)))
2211 void __user *useraddr)
2222 if (copy_from_user(&dump, useraddr, sizeof(dump)))
2261 if (copy_to_user(useraddr, &dump, sizeof(dump))) {
2265 useraddr += offsetof(struct ethtool_dump, data);
2266 if (copy_to_user(useraddr, data, len))
2273 static int ethtool_get_ts_info(struct net_device *dev, void __user *useraddr)
2282 if (copy_to_user(useraddr, &info, sizeof(info)))
2307 void __user *useraddr)
2312 if (copy_from_user(&modinfo, useraddr, sizeof(modinfo)))
2319 if (copy_to_user(useraddr, &modinfo, sizeof(modinfo)))
2344 void __user *useraddr)
2353 return ethtool_get_any_eeprom(dev, useraddr,
2379 static int ethtool_get_tunable(struct net_device *dev, void __user *useraddr)
2388 if (copy_from_user(&tuna, useraddr, sizeof(tuna)))
2399 useraddr += sizeof(tuna);
2401 if (copy_to_user(useraddr, data, tuna.len))
2410 static int ethtool_set_tunable(struct net_device *dev, void __user *useraddr)
2419 if (copy_from_user(&tuna, useraddr, sizeof(tuna)))
2424 useraddr += sizeof(tuna);
2425 data = memdup_user(useraddr, tuna.len);
2436 void __user *useraddr,
2446 useraddr += sizeof(*per_queue_opt);
2457 if (copy_to_user(useraddr, &coalesce, sizeof(coalesce)))
2459 useraddr += sizeof(coalesce);
2467 void __user *useraddr,
2480 useraddr += sizeof(*per_queue_opt);
2497 if (copy_from_user(&coalesce, useraddr, sizeof(coalesce))) {
2511 useraddr += sizeof(coalesce);
2528 void __user *useraddr, u32 sub_cmd)
2532 if (copy_from_user(&per_queue_opt, useraddr, sizeof(per_queue_opt)))
2540 return ethtool_get_per_queue_coalesce(dev, useraddr, &per_queue_opt);
2542 return ethtool_set_per_queue_coalesce(dev, useraddr, &per_queue_opt);
2569 static int get_phy_tunable(struct net_device *dev, void __user *useraddr)
2580 if (copy_from_user(&tuna, useraddr, sizeof(tuna)))
2597 useraddr += sizeof(tuna);
2599 if (copy_to_user(useraddr, data, tuna.len))
2608 static int set_phy_tunable(struct net_device *dev, void __user *useraddr)
2619 if (copy_from_user(&tuna, useraddr, sizeof(tuna)))
2624 useraddr += sizeof(tuna);
2625 data = memdup_user(useraddr, tuna.len);
2640 static int ethtool_get_fecparam(struct net_device *dev, void __user *useraddr)
2652 if (copy_to_user(useraddr, &fecparam, sizeof(fecparam)))
2657 static int ethtool_set_fecparam(struct net_device *dev, void __user *useraddr)
2664 if (copy_from_user(&fecparam, useraddr, sizeof(fecparam)))
2675 void __user *useraddr = ifr->ifr_data;
2683 if (copy_from_user(&ethcmd, useraddr, sizeof(ethcmd)))
2687 if (copy_from_user(&sub_cmd, useraddr + sizeof(ethcmd), sizeof(sub_cmd)))
2745 rc = ethtool_get_settings(dev, useraddr);
2748 rc = ethtool_set_settings(dev, useraddr);
2751 rc = ethtool_get_drvinfo(dev, useraddr);
2754 rc = ethtool_get_regs(dev, useraddr);
2757 rc = ethtool_get_wol(dev, useraddr);
2760 rc = ethtool_set_wol(dev, useraddr);
2763 rc = ethtool_get_value(dev, useraddr, ethcmd,
2767 rc = ethtool_set_value_void(dev, useraddr,
2773 rc = ethtool_get_eee(dev, useraddr);
2776 rc = ethtool_set_eee(dev, useraddr);
2782 rc = ethtool_get_link(dev, useraddr);
2785 rc = ethtool_get_eeprom(dev, useraddr);
2788 rc = ethtool_set_eeprom(dev, useraddr);
2791 rc = ethtool_get_coalesce(dev, useraddr);
2794 rc = ethtool_set_coalesce(dev, useraddr);
2797 rc = ethtool_get_ringparam(dev, useraddr);
2800 rc = ethtool_set_ringparam(dev, useraddr);
2803 rc = ethtool_get_pauseparam(dev, useraddr);
2806 rc = ethtool_set_pauseparam(dev, useraddr);
2809 rc = ethtool_self_test(dev, useraddr);
2812 rc = ethtool_get_strings(dev, useraddr);
2815 rc = ethtool_phys_id(dev, useraddr);
2818 rc = ethtool_get_stats(dev, useraddr);
2821 rc = ethtool_get_perm_addr(dev, useraddr);
2824 rc = ethtool_get_value(dev, useraddr, ethcmd,
2828 rc = ethtool_set_value(dev, useraddr, __ethtool_set_flags);
2831 rc = ethtool_get_value(dev, useraddr, ethcmd,
2837 rc = ethtool_set_value(dev, useraddr,
2845 rc = ethtool_get_rxnfc(dev, ethcmd, useraddr);
2850 rc = ethtool_set_rxnfc(dev, ethcmd, useraddr);
2853 rc = ethtool_flash_device(dev, useraddr);
2856 rc = ethtool_reset(dev, useraddr);
2859 rc = ethtool_get_sset_info(dev, useraddr);
2862 rc = ethtool_get_rxfh_indir(dev, useraddr);
2865 rc = ethtool_set_rxfh_indir(dev, useraddr);
2868 rc = ethtool_get_rxfh(dev, useraddr);
2871 rc = ethtool_set_rxfh(dev, useraddr);
2874 rc = ethtool_get_features(dev, useraddr);
2877 rc = ethtool_set_features(dev, useraddr);
2885 rc = ethtool_get_one_feature(dev, useraddr, ethcmd);
2893 rc = ethtool_set_one_feature(dev, useraddr, ethcmd);
2896 rc = ethtool_get_channels(dev, useraddr);
2899 rc = ethtool_set_channels(dev, useraddr);
2902 rc = ethtool_set_dump(dev, useraddr);
2905 rc = ethtool_get_dump_flag(dev, useraddr);
2908 rc = ethtool_get_dump_data(dev, useraddr);
2911 rc = ethtool_get_ts_info(dev, useraddr);
2914 rc = ethtool_get_module_info(dev, useraddr);
2917 rc = ethtool_get_module_eeprom(dev, useraddr);
2920 rc = ethtool_get_tunable(dev, useraddr);
2923 rc = ethtool_set_tunable(dev, useraddr);
2926 rc = ethtool_get_phy_stats(dev, useraddr);
2929 rc = ethtool_set_per_queue(dev, useraddr, sub_cmd);
2932 rc = ethtool_get_link_ksettings(dev, useraddr);
2935 rc = ethtool_set_link_ksettings(dev, useraddr);
2938 rc = get_phy_tunable(dev, useraddr);
2941 rc = set_phy_tunable(dev, useraddr);
2944 rc = ethtool_get_fecparam(dev, useraddr);
2947 rc = ethtool_set_fecparam(dev, useraddr);