Lines Matching refs:useraddr

78 static int ethtool_get_features(struct net_device *dev, void __user *useraddr)
100 sizeaddr = useraddr + offsetof(struct ethtool_gfeatures, size);
107 if (copy_to_user(useraddr, &cmd, sizeof(cmd)))
109 useraddr += sizeof(cmd);
110 if (copy_to_user(useraddr, features,
117 static int ethtool_set_features(struct net_device *dev, void __user *useraddr)
124 if (copy_from_user(&cmd, useraddr, sizeof(cmd)))
126 useraddr += sizeof(cmd);
131 if (copy_from_user(features, useraddr, sizeof(features)))
246 char __user *useraddr, u32 ethcmd)
254 if (copy_to_user(useraddr, &edata, sizeof(edata)))
260 void __user *useraddr, u32 ethcmd)
265 if (copy_from_user(&edata, useraddr, sizeof(edata)))
518 void __user *useraddr)
528 if (copy_from_user(&link_ksettings.base, useraddr,
546 if (copy_to_user(useraddr, &link_ksettings.base,
570 return store_link_ksettings_for_user(useraddr, &link_ksettings);
575 void __user *useraddr)
586 if (copy_from_user(&link_ksettings.base, useraddr,
597 err = load_link_ksettings_from_user(&link_ksettings, useraddr);
648 static int ethtool_get_settings(struct net_device *dev, void __user *useraddr)
667 if (copy_to_user(useraddr, &cmd, sizeof(cmd)))
681 static int ethtool_set_settings(struct net_device *dev, void __user *useraddr)
689 if (copy_from_user(&cmd, useraddr, sizeof(cmd)))
768 void __user *useraddr)
775 if (copy_from_user(&info, useraddr, sizeof(info)))
809 if (copy_to_user(useraddr, &info, sizeof(info)))
812 useraddr += offsetof(struct ethtool_sset_info, data);
813 if (copy_to_user(useraddr, info_buf, array_size(idx, sizeof(u32))))
825 const struct compat_ethtool_rxnfc __user *useraddr,
838 sizeof(useraddr->fs.m_ext) !=
846 if (copy_from_user(&crxnfc, useraddr, min(size, sizeof(crxnfc))))
869 const void __user *useraddr,
873 return ethtool_rxnfc_copy_from_compat(rxnfc, useraddr, size);
875 if (copy_from_user(rxnfc, useraddr, size))
881 static int ethtool_rxnfc_copy_to_compat(void __user *useraddr,
904 if (copy_to_user(useraddr, &crxnfc, min(size, sizeof(crxnfc))))
911 size_t *info_size, void __user *useraddr)
922 if (ethtool_rxnfc_copy_from_user(info, useraddr, *info_size))
927 if (ethtool_rxnfc_copy_from_user(info, useraddr, *info_size))
942 static int ethtool_rxnfc_copy_to_user(void __user *useraddr,
949 ret = ethtool_rxnfc_copy_to_compat(useraddr, rxnfc, size,
951 useraddr += offsetof(struct compat_ethtool_rxnfc, rule_locs);
953 ret = copy_to_user(useraddr, rxnfc, size);
954 useraddr += offsetof(struct ethtool_rxnfc, rule_locs);
961 if (copy_to_user(useraddr, rule_buf,
970 u32 cmd, void __user *useraddr)
979 rc = ethtool_rxnfc_copy_struct(cmd, &info, &info_size, useraddr);
988 ethtool_rxnfc_copy_to_user(useraddr, &info, info_size, NULL))
995 u32 cmd, void __user *useraddr)
1006 ret = ethtool_rxnfc_copy_struct(cmd, &info, &info_size, useraddr);
1024 ret = ethtool_rxnfc_copy_to_user(useraddr, &info, info_size, rule_buf);
1031 static int ethtool_copy_validate_indir(u32 *indir, void __user *useraddr,
1037 if (copy_from_user(indir, useraddr, array_size(size, sizeof(indir[0]))))
1059 void __user *useraddr)
1073 useraddr + offsetof(struct ethtool_rxfh_indir, size),
1077 if (copy_to_user(useraddr + offsetof(struct ethtool_rxfh_indir, size),
1096 if (copy_to_user(useraddr +
1107 void __user *useraddr)
1125 useraddr + offsetof(struct ethtool_rxfh_indir, size),
1146 useraddr + ringidx_offset,
1169 void __user *useraddr)
1191 if (copy_from_user(&rxfh, useraddr, sizeof(rxfh)))
1205 if (copy_to_user(useraddr, &rxfh, sizeof(rxfh)))
1233 if (copy_to_user(useraddr + offsetof(struct ethtool_rxfh, hfunc),
1236 } else if (copy_to_user(useraddr +
1248 void __user *useraddr)
1269 if (copy_from_user(&rxfh, useraddr, sizeof(rxfh)))
1310 useraddr + rss_cfg_offset,
1328 useraddr + rss_cfg_offset + indir_bytes,
1343 if (copy_to_user(useraddr + offsetof(struct ethtool_rxfh, rss_context),
1360 static int ethtool_get_regs(struct net_device *dev, char __user *useraddr)
1370 if (copy_from_user(&regs, useraddr, sizeof(regs)))
1390 if (copy_to_user(useraddr, &regs, sizeof(regs)))
1392 useraddr += offsetof(struct ethtool_regs, data);
1393 if (copy_to_user(useraddr, regbuf, reglen))
1402 static int ethtool_reset(struct net_device *dev, char __user *useraddr)
1410 if (copy_from_user(&reset, useraddr, sizeof(reset)))
1417 if (copy_to_user(useraddr, &reset, sizeof(reset)))
1422 static int ethtool_get_wol(struct net_device *dev, char __user *useraddr)
1433 if (copy_to_user(useraddr, &wol, sizeof(wol)))
1438 static int ethtool_set_wol(struct net_device *dev, char __user *useraddr)
1450 if (copy_from_user(&wol, useraddr, sizeof(wol)))
1470 static int ethtool_get_eee(struct net_device *dev, char __user *useraddr)
1485 if (copy_to_user(useraddr, &edata, sizeof(edata)))
1491 static int ethtool_set_eee(struct net_device *dev, char __user *useraddr)
1499 if (copy_from_user(&edata, useraddr, sizeof(edata)))
1516 static int ethtool_get_link(struct net_device *dev, char __user *useraddr)
1525 if (copy_to_user(useraddr, &edata, sizeof(edata)))
1530 static int ethtool_get_any_eeprom(struct net_device *dev, void __user *useraddr,
1536 void __user *userbuf = useraddr + sizeof(eeprom);
1541 if (copy_from_user(&eeprom, useraddr, sizeof(eeprom)))
1576 eeprom.len = userbuf - (useraddr + sizeof(eeprom));
1578 if (copy_to_user(useraddr, &eeprom, sizeof(eeprom)))
1585 static int ethtool_get_eeprom(struct net_device *dev, void __user *useraddr)
1593 return ethtool_get_any_eeprom(dev, useraddr, ops->get_eeprom,
1597 static int ethtool_set_eeprom(struct net_device *dev, void __user *useraddr)
1601 void __user *userbuf = useraddr + sizeof(eeprom);
1610 if (copy_from_user(&eeprom, useraddr, sizeof(eeprom)))
1646 void __user *useraddr)
1660 if (copy_to_user(useraddr, &coalesce, sizeof(coalesce)))
1721 void __user *useraddr)
1735 if (copy_from_user(&coalesce, useraddr, sizeof(coalesce)))
1748 static int ethtool_get_ringparam(struct net_device *dev, void __user *useraddr)
1759 if (copy_to_user(useraddr, &ringparam, sizeof(ringparam)))
1764 static int ethtool_set_ringparam(struct net_device *dev, void __user *useraddr)
1773 if (copy_from_user(&ringparam, useraddr, sizeof(ringparam)))
1793 void __user *useraddr)
1802 if (copy_to_user(useraddr, &channels, sizeof(channels)))
1808 void __user *useraddr)
1820 if (copy_from_user(&channels, useraddr, sizeof(channels)))
1868 static int ethtool_get_pauseparam(struct net_device *dev, void __user *useraddr)
1877 if (copy_to_user(useraddr, &pauseparam, sizeof(pauseparam)))
1882 static int ethtool_set_pauseparam(struct net_device *dev, void __user *useraddr)
1890 if (copy_from_user(&pauseparam, useraddr, sizeof(pauseparam)))
1899 static int ethtool_self_test(struct net_device *dev, char __user *useraddr)
1914 if (copy_from_user(&test, useraddr, sizeof(test)))
1927 if (copy_to_user(useraddr, &test, sizeof(test)))
1929 useraddr += sizeof(test);
1930 if (copy_to_user(useraddr, data, array_size(test.len, sizeof(u64))))
1939 static int ethtool_get_strings(struct net_device *dev, void __user *useraddr)
1945 if (copy_from_user(&gstrings, useraddr, sizeof(gstrings)))
1968 if (copy_to_user(useraddr, &gstrings, sizeof(gstrings)))
1970 useraddr += sizeof(gstrings);
1972 copy_to_user(useraddr, data,
1994 static int ethtool_phys_id(struct net_device *dev, void __user *useraddr)
2008 if (copy_from_user(&id, useraddr, sizeof(id)))
2051 static int ethtool_get_stats(struct net_device *dev, void __user *useraddr)
2067 if (copy_from_user(&stats, useraddr, sizeof(stats)))
2082 if (copy_to_user(useraddr, &stats, sizeof(stats)))
2084 useraddr += sizeof(stats);
2085 if (n_stats && copy_to_user(useraddr, data, array_size(n_stats, sizeof(u64))))
2152 static int ethtool_get_phy_stats(struct net_device *dev, void __user *useraddr)
2159 if (copy_from_user(&stats, useraddr, sizeof(stats)))
2171 if (copy_to_user(useraddr, &stats, sizeof(stats))) {
2176 useraddr += sizeof(stats);
2177 if (copy_to_user(useraddr, data, array_size(stats.n_stats, sizeof(u64))))
2185 static int ethtool_get_perm_addr(struct net_device *dev, void __user *useraddr)
2189 if (copy_from_user(&epaddr, useraddr, sizeof(epaddr)))
2196 if (copy_to_user(useraddr, &epaddr, sizeof(epaddr)))
2198 useraddr += sizeof(epaddr);
2199 if (copy_to_user(useraddr, dev->perm_addr, epaddr.size))
2204 static int ethtool_get_value(struct net_device *dev, char __user *useraddr,
2214 if (copy_to_user(useraddr, &edata, sizeof(edata)))
2219 static int ethtool_set_value_void(struct net_device *dev, char __user *useraddr,
2227 if (copy_from_user(&edata, useraddr, sizeof(edata)))
2234 static int ethtool_set_value(struct net_device *dev, char __user *useraddr,
2242 if (copy_from_user(&edata, useraddr, sizeof(edata)))
2260 void __user *useraddr)
2267 if (copy_from_user(&dump, useraddr, sizeof(dump)))
2274 void __user *useraddr)
2283 if (copy_from_user(&dump, useraddr, sizeof(dump)))
2290 if (copy_to_user(useraddr, &dump, sizeof(dump)))
2296 void __user *useraddr)
2307 if (copy_from_user(&dump, useraddr, sizeof(dump)))
2346 if (copy_to_user(useraddr, &dump, sizeof(dump))) {
2350 useraddr += offsetof(struct ethtool_dump, data);
2351 if (copy_to_user(useraddr, data, len))
2358 static int ethtool_get_ts_info(struct net_device *dev, void __user *useraddr)
2367 if (copy_to_user(useraddr, &info, sizeof(info)))
2392 void __user *useraddr)
2397 if (copy_from_user(&modinfo, useraddr, sizeof(modinfo)))
2404 if (copy_to_user(useraddr, &modinfo, sizeof(modinfo)))
2429 void __user *useraddr)
2438 return ethtool_get_any_eeprom(dev, useraddr,
2465 static int ethtool_get_tunable(struct net_device *dev, void __user *useraddr)
2474 if (copy_from_user(&tuna, useraddr, sizeof(tuna)))
2485 useraddr += sizeof(tuna);
2487 if (copy_to_user(useraddr, data, tuna.len))
2496 static int ethtool_set_tunable(struct net_device *dev, void __user *useraddr)
2505 if (copy_from_user(&tuna, useraddr, sizeof(tuna)))
2510 useraddr += sizeof(tuna);
2511 data = memdup_user(useraddr, tuna.len);
2522 void __user *useraddr,
2532 useraddr += sizeof(*per_queue_opt);
2543 if (copy_to_user(useraddr, &coalesce, sizeof(coalesce)))
2545 useraddr += sizeof(coalesce);
2553 void __user *useraddr,
2566 useraddr += sizeof(*per_queue_opt);
2583 if (copy_from_user(&coalesce, useraddr, sizeof(coalesce))) {
2597 useraddr += sizeof(coalesce);
2614 void __user *useraddr, u32 sub_cmd)
2618 if (copy_from_user(&per_queue_opt, useraddr, sizeof(per_queue_opt)))
2626 return ethtool_get_per_queue_coalesce(dev, useraddr, &per_queue_opt);
2628 return ethtool_set_per_queue_coalesce(dev, useraddr, &per_queue_opt);
2655 static int get_phy_tunable(struct net_device *dev, void __user *useraddr)
2666 if (copy_from_user(&tuna, useraddr, sizeof(tuna)))
2683 useraddr += sizeof(tuna);
2685 if (copy_to_user(useraddr, data, tuna.len))
2694 static int set_phy_tunable(struct net_device *dev, void __user *useraddr)
2705 if (copy_from_user(&tuna, useraddr, sizeof(tuna)))
2710 useraddr += sizeof(tuna);
2711 data = memdup_user(useraddr, tuna.len);
2726 static int ethtool_get_fecparam(struct net_device *dev, void __user *useraddr)
2741 if (copy_to_user(useraddr, &fecparam, sizeof(fecparam)))
2746 static int ethtool_set_fecparam(struct net_device *dev, void __user *useraddr)
2753 if (copy_from_user(&fecparam, useraddr, sizeof(fecparam)))
2768 __dev_ethtool(struct net *net, struct ifreq *ifr, void __user *useraddr,
2781 if (copy_from_user(&sub_cmd, useraddr + sizeof(ethcmd), sizeof(sub_cmd)))
2847 rc = ethtool_get_settings(dev, useraddr);
2850 rc = ethtool_set_settings(dev, useraddr);
2856 rc = ethtool_get_regs(dev, useraddr);
2859 rc = ethtool_get_wol(dev, useraddr);
2862 rc = ethtool_set_wol(dev, useraddr);
2865 rc = ethtool_get_value(dev, useraddr, ethcmd,
2869 rc = ethtool_set_value_void(dev, useraddr,
2875 rc = ethtool_get_eee(dev, useraddr);
2878 rc = ethtool_set_eee(dev, useraddr);
2884 rc = ethtool_get_link(dev, useraddr);
2887 rc = ethtool_get_eeprom(dev, useraddr);
2890 rc = ethtool_set_eeprom(dev, useraddr);
2893 rc = ethtool_get_coalesce(dev, useraddr);
2896 rc = ethtool_set_coalesce(dev, useraddr);
2899 rc = ethtool_get_ringparam(dev, useraddr);
2902 rc = ethtool_set_ringparam(dev, useraddr);
2905 rc = ethtool_get_pauseparam(dev, useraddr);
2908 rc = ethtool_set_pauseparam(dev, useraddr);
2911 rc = ethtool_self_test(dev, useraddr);
2914 rc = ethtool_get_strings(dev, useraddr);
2917 rc = ethtool_phys_id(dev, useraddr);
2920 rc = ethtool_get_stats(dev, useraddr);
2923 rc = ethtool_get_perm_addr(dev, useraddr);
2926 rc = ethtool_get_value(dev, useraddr, ethcmd,
2930 rc = ethtool_set_value(dev, useraddr, __ethtool_set_flags);
2933 rc = ethtool_get_value(dev, useraddr, ethcmd,
2939 rc = ethtool_set_value(dev, useraddr,
2947 rc = ethtool_get_rxnfc(dev, ethcmd, useraddr);
2952 rc = ethtool_set_rxnfc(dev, ethcmd, useraddr);
2958 rc = ethtool_reset(dev, useraddr);
2961 rc = ethtool_get_sset_info(dev, useraddr);
2964 rc = ethtool_get_rxfh_indir(dev, useraddr);
2967 rc = ethtool_set_rxfh_indir(dev, useraddr);
2970 rc = ethtool_get_rxfh(dev, useraddr);
2973 rc = ethtool_set_rxfh(dev, useraddr);
2976 rc = ethtool_get_features(dev, useraddr);
2979 rc = ethtool_set_features(dev, useraddr);
2987 rc = ethtool_get_one_feature(dev, useraddr, ethcmd);
2995 rc = ethtool_set_one_feature(dev, useraddr, ethcmd);
2998 rc = ethtool_get_channels(dev, useraddr);
3001 rc = ethtool_set_channels(dev, useraddr);
3004 rc = ethtool_set_dump(dev, useraddr);
3007 rc = ethtool_get_dump_flag(dev, useraddr);
3010 rc = ethtool_get_dump_data(dev, useraddr);
3013 rc = ethtool_get_ts_info(dev, useraddr);
3016 rc = ethtool_get_module_info(dev, useraddr);
3019 rc = ethtool_get_module_eeprom(dev, useraddr);
3022 rc = ethtool_get_tunable(dev, useraddr);
3025 rc = ethtool_set_tunable(dev, useraddr);
3028 rc = ethtool_get_phy_stats(dev, useraddr);
3031 rc = ethtool_set_per_queue(dev, useraddr, sub_cmd);
3034 rc = ethtool_get_link_ksettings(dev, useraddr);
3037 rc = ethtool_set_link_ksettings(dev, useraddr);
3040 rc = get_phy_tunable(dev, useraddr);
3043 rc = set_phy_tunable(dev, useraddr);
3046 rc = ethtool_get_fecparam(dev, useraddr);
3049 rc = ethtool_set_fecparam(dev, useraddr);
3067 int dev_ethtool(struct net *net, struct ifreq *ifr, void __user *useraddr)
3073 if (copy_from_user(&ethcmd, useraddr, sizeof(ethcmd)))
3082 if (copy_from_user(&state->efl, useraddr, sizeof(state->efl))) {
3091 rc = __dev_ethtool(net, ifr, useraddr, ethcmd, state);
3107 if (copy_to_user(useraddr, &state->info, sizeof(state->info))) {