lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Mon, 30 Nov 2015 14:05:53 -0800 From: David Decotigny <ddecotig@...il.com> To: "David S. Miller" <davem@...emloft.net>, Ben Hutchings <ben@...adent.org.uk>, Amir Vadai <amirv@...lanox.com>, linux-kernel@...r.kernel.org, netdev@...r.kernel.org, linux-api@...r.kernel.org, linux-mips@...ux-mips.org, fcoe-devel@...n-fcoe.org Cc: Eric Dumazet <edumazet@...gle.com>, Eugenia Emantayev <eugenia@...lanox.co.il>, Or Gerlitz <ogerlitz@...lanox.com>, Ido Shamay <idos@...lanox.com>, Joe Perches <joe@...ches.com>, Saeed Mahameed <saeedm@...lanox.com>, Govindarajulu Varadarajan <_govind@....com>, Venkata Duvvuru <VenkatKumar.Duvvuru@...lex.Com>, Jeff Kirsher <jeffrey.t.kirsher@...el.com>, Eyal Perry <eyalpe@...lanox.com>, Pravin B Shelar <pshelar@...ira.com>, Ed Swierk <eswierk@...portsystems.com>, Robert Love <robert.w.love@...el.com>, "James E.J. Bottomley" <JBottomley@...allels.com>, Yuval Mintz <Yuval.Mintz@...gic.com>, David Decotigny <decot@...glers.com> Subject: [PATCH net-next v3 15/17] net: ethtool: remove unused __ethtool_get_settings From: David Decotigny <decot@...glers.com> replaced by __ethtool_get_ksettings. Signed-off-by: David Decotigny <decot@...glers.com> --- include/linux/ethtool.h | 4 ---- net/core/ethtool.c | 49 ++++++++++++++----------------------------------- 2 files changed, 14 insertions(+), 39 deletions(-) diff --git a/include/linux/ethtool.h b/include/linux/ethtool.h index 6de122d..7de2dc7 100644 --- a/include/linux/ethtool.h +++ b/include/linux/ethtool.h @@ -161,10 +161,6 @@ __ethtool_add_link_modes(ethtool_link_mode_mask_t *dst, extern int __ethtool_get_ksettings(struct net_device *dev, struct ethtool_ksettings *ksettings); -/* DEPRECATED, use __ethtool_get_ksettings */ -extern int __ethtool_get_settings(struct net_device *dev, - struct ethtool_cmd *cmd); - /** * struct ethtool_ops - optional netdev operations * @get_settings: DEPRECATED, use %get_ksettings/%set_ksettings diff --git a/net/core/ethtool.c b/net/core/ethtool.c index 4563f95..b67f079 100644 --- a/net/core/ethtool.c +++ b/net/core/ethtool.c @@ -499,15 +499,16 @@ int __ethtool_get_ksettings(struct net_device *dev, return dev->ethtool_ops->get_ksettings(dev, ksettings); } - /* TODO: remove what follows when ethtool_ops::get_settings - * disappears internally - */ - /* driver doesn't support %ethtool_ksettings API. revert to * legacy %ethtool_cmd API, unless it's not supported either. * TODO: remove when ethtool_ops::get_settings disappears internally */ - err = __ethtool_get_settings(dev, &cmd); + if (!dev->ethtool_ops->get_settings) + return -EOPNOTSUPP; + + memset(&cmd, 0, sizeof(cmd)); + cmd.cmd = ETHTOOL_GSET; + err = dev->ethtool_ops->get_settings(dev, &cmd); if (err < 0) return err; @@ -723,30 +724,6 @@ static int ethtool_set_ksettings(struct net_device *dev, void __user *useraddr) return dev->ethtool_ops->set_ksettings(dev, &ksettings); } -/* Internal kernel helper to query a device ethtool_cmd settings. - * - * Note about transition to ethtool_settings API: We do not need (or - * want) this function to support "dev" instances that implement the - * ethtool_settings API as we will update the drivers calling this - * function to call __ethtool_get_ksettings instead, before the first - * drivers implement ethtool_ops::get_ksettings. - * - * TODO 1: at least make this function static when no driver is using it - * TODO 2: remove when ethtool_ops::get_settings disappears internally - */ -int __ethtool_get_settings(struct net_device *dev, struct ethtool_cmd *cmd) -{ - ASSERT_RTNL(); - - if (!dev->ethtool_ops->get_settings) - return -EOPNOTSUPP; - - memset(cmd, 0, sizeof(struct ethtool_cmd)); - cmd->cmd = ETHTOOL_GSET; - return dev->ethtool_ops->get_settings(dev, cmd); -} -EXPORT_SYMBOL(__ethtool_get_settings); - /* Query device for its ethtool_cmd settings. * * Backward compatibility note: for compatibility with legacy ethtool, @@ -788,16 +765,18 @@ static int ethtool_get_settings(struct net_device *dev, void __user *useraddr) /* send a sensible cmd tag back to user */ cmd.cmd = ETHTOOL_GSET; } else { - int err; - /* TODO: return -EOPNOTSUPP when - * ethtool_ops::get_settings disappears internally - */ - /* driver doesn't support %ethtool_ksettings * API. revert to legacy %ethtool_cmd API, unless it's * not supported either. */ - err = __ethtool_get_settings(dev, &cmd); + int err; + + if (!dev->ethtool_ops->get_settings) + return -EOPNOTSUPP; + + memset(&cmd, 0, sizeof(cmd)); + cmd.cmd = ETHTOOL_GSET; + err = dev->ethtool_ops->get_settings(dev, &cmd); if (err < 0) return err; } -- 2.6.0.rc2.230.g3dd15c0 -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists