ethtool: rename ethnl_parse_header() to ethnl_parse_header_dev_get()

Andrew Lunn pointed out that even if it's documented that
ethnl_parse_header() takes reference to network device if it fills it
into the target structure, its name doesn't make it apparent so that
corresponding dev_put() looks like mismatched.

Rename the function ethnl_parse_header_dev_get() to indicate that it
takes a reference.

Suggested-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Michal Kubecek <mkubecek@suse.cz>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Michal Kubecek 2020-03-12 21:07:38 +01:00 committed by David S. Miller
parent f8ab304776
commit 98130546da
6 changed files with 25 additions and 17 deletions

View File

@ -102,8 +102,10 @@ int ethnl_set_debug(struct sk_buff *skb, struct genl_info *info)
info->extack); info->extack);
if (ret < 0) if (ret < 0)
return ret; return ret;
ret = ethnl_parse_header(&req_info, tb[ETHTOOL_A_DEBUG_HEADER], ret = ethnl_parse_header_dev_get(&req_info,
genl_info_net(info), info->extack, true); tb[ETHTOOL_A_DEBUG_HEADER],
genl_info_net(info), info->extack,
true);
if (ret < 0) if (ret < 0)
return ret; return ret;
dev = req_info.dev; dev = req_info.dev;

View File

@ -121,8 +121,10 @@ int ethnl_set_linkinfo(struct sk_buff *skb, struct genl_info *info)
info->extack); info->extack);
if (ret < 0) if (ret < 0)
return ret; return ret;
ret = ethnl_parse_header(&req_info, tb[ETHTOOL_A_LINKINFO_HEADER], ret = ethnl_parse_header_dev_get(&req_info,
genl_info_net(info), info->extack, true); tb[ETHTOOL_A_LINKINFO_HEADER],
genl_info_net(info), info->extack,
true);
if (ret < 0) if (ret < 0)
return ret; return ret;
dev = req_info.dev; dev = req_info.dev;

View File

@ -334,8 +334,10 @@ int ethnl_set_linkmodes(struct sk_buff *skb, struct genl_info *info)
info->extack); info->extack);
if (ret < 0) if (ret < 0)
return ret; return ret;
ret = ethnl_parse_header(&req_info, tb[ETHTOOL_A_LINKMODES_HEADER], ret = ethnl_parse_header_dev_get(&req_info,
genl_info_net(info), info->extack, true); tb[ETHTOOL_A_LINKMODES_HEADER],
genl_info_net(info), info->extack,
true);
if (ret < 0) if (ret < 0)
return ret; return ret;
dev = req_info.dev; dev = req_info.dev;

View File

@ -18,7 +18,7 @@ static const struct nla_policy ethnl_header_policy[ETHTOOL_A_HEADER_MAX + 1] = {
}; };
/** /**
* ethnl_parse_header() - parse request header * ethnl_parse_header_dev_get() - parse request header
* @req_info: structure to put results into * @req_info: structure to put results into
* @header: nest attribute with request header * @header: nest attribute with request header
* @net: request netns * @net: request netns
@ -33,9 +33,9 @@ static const struct nla_policy ethnl_header_policy[ETHTOOL_A_HEADER_MAX + 1] = {
* *
* Return: 0 on success or negative error code * Return: 0 on success or negative error code
*/ */
int ethnl_parse_header(struct ethnl_req_info *req_info, int ethnl_parse_header_dev_get(struct ethnl_req_info *req_info,
const struct nlattr *header, struct net *net, const struct nlattr *header, struct net *net,
struct netlink_ext_ack *extack, bool require_dev) struct netlink_ext_ack *extack, bool require_dev)
{ {
struct nlattr *tb[ETHTOOL_A_HEADER_MAX + 1]; struct nlattr *tb[ETHTOOL_A_HEADER_MAX + 1];
const struct nlattr *devname_attr; const struct nlattr *devname_attr;
@ -253,8 +253,8 @@ static int ethnl_default_parse(struct ethnl_req_info *req_info,
request_ops->request_policy, extack); request_ops->request_policy, extack);
if (ret < 0) if (ret < 0)
goto out; goto out;
ret = ethnl_parse_header(req_info, tb[request_ops->hdr_attr], net, ret = ethnl_parse_header_dev_get(req_info, tb[request_ops->hdr_attr],
extack, require_dev); net, extack, require_dev);
if (ret < 0) if (ret < 0)
goto out; goto out;

View File

@ -10,9 +10,10 @@
struct ethnl_req_info; struct ethnl_req_info;
int ethnl_parse_header(struct ethnl_req_info *req_info, int ethnl_parse_header_dev_get(struct ethnl_req_info *req_info,
const struct nlattr *nest, struct net *net, const struct nlattr *nest, struct net *net,
struct netlink_ext_ack *extack, bool require_dev); struct netlink_ext_ack *extack,
bool require_dev);
int ethnl_fill_reply_header(struct sk_buff *skb, struct net_device *dev, int ethnl_fill_reply_header(struct sk_buff *skb, struct net_device *dev,
u16 attrtype); u16 attrtype);
struct sk_buff *ethnl_reply_init(size_t payload, struct net_device *dev, u8 cmd, struct sk_buff *ethnl_reply_init(size_t payload, struct net_device *dev, u8 cmd,

View File

@ -123,8 +123,9 @@ int ethnl_set_wol(struct sk_buff *skb, struct genl_info *info)
wol_set_policy, info->extack); wol_set_policy, info->extack);
if (ret < 0) if (ret < 0)
return ret; return ret;
ret = ethnl_parse_header(&req_info, tb[ETHTOOL_A_WOL_HEADER], ret = ethnl_parse_header_dev_get(&req_info, tb[ETHTOOL_A_WOL_HEADER],
genl_info_net(info), info->extack, true); genl_info_net(info), info->extack,
true);
if (ret < 0) if (ret < 0)
return ret; return ret;
dev = req_info.dev; dev = req_info.dev;