mirror of https://gitee.com/openkylin/linux.git
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:
parent
f8ab304776
commit
98130546da
|
@ -102,8 +102,10 @@ int ethnl_set_debug(struct sk_buff *skb, struct genl_info *info)
|
|||
info->extack);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
ret = ethnl_parse_header(&req_info, tb[ETHTOOL_A_DEBUG_HEADER],
|
||||
genl_info_net(info), info->extack, true);
|
||||
ret = ethnl_parse_header_dev_get(&req_info,
|
||||
tb[ETHTOOL_A_DEBUG_HEADER],
|
||||
genl_info_net(info), info->extack,
|
||||
true);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
dev = req_info.dev;
|
||||
|
|
|
@ -121,8 +121,10 @@ int ethnl_set_linkinfo(struct sk_buff *skb, struct genl_info *info)
|
|||
info->extack);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
ret = ethnl_parse_header(&req_info, tb[ETHTOOL_A_LINKINFO_HEADER],
|
||||
genl_info_net(info), info->extack, true);
|
||||
ret = ethnl_parse_header_dev_get(&req_info,
|
||||
tb[ETHTOOL_A_LINKINFO_HEADER],
|
||||
genl_info_net(info), info->extack,
|
||||
true);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
dev = req_info.dev;
|
||||
|
|
|
@ -334,8 +334,10 @@ int ethnl_set_linkmodes(struct sk_buff *skb, struct genl_info *info)
|
|||
info->extack);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
ret = ethnl_parse_header(&req_info, tb[ETHTOOL_A_LINKMODES_HEADER],
|
||||
genl_info_net(info), info->extack, true);
|
||||
ret = ethnl_parse_header_dev_get(&req_info,
|
||||
tb[ETHTOOL_A_LINKMODES_HEADER],
|
||||
genl_info_net(info), info->extack,
|
||||
true);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
dev = req_info.dev;
|
||||
|
|
|
@ -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
|
||||
* @header: nest attribute with request header
|
||||
* @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
|
||||
*/
|
||||
int ethnl_parse_header(struct ethnl_req_info *req_info,
|
||||
const struct nlattr *header, struct net *net,
|
||||
struct netlink_ext_ack *extack, bool require_dev)
|
||||
int ethnl_parse_header_dev_get(struct ethnl_req_info *req_info,
|
||||
const struct nlattr *header, struct net *net,
|
||||
struct netlink_ext_ack *extack, bool require_dev)
|
||||
{
|
||||
struct nlattr *tb[ETHTOOL_A_HEADER_MAX + 1];
|
||||
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);
|
||||
if (ret < 0)
|
||||
goto out;
|
||||
ret = ethnl_parse_header(req_info, tb[request_ops->hdr_attr], net,
|
||||
extack, require_dev);
|
||||
ret = ethnl_parse_header_dev_get(req_info, tb[request_ops->hdr_attr],
|
||||
net, extack, require_dev);
|
||||
if (ret < 0)
|
||||
goto out;
|
||||
|
||||
|
|
|
@ -10,9 +10,10 @@
|
|||
|
||||
struct ethnl_req_info;
|
||||
|
||||
int ethnl_parse_header(struct ethnl_req_info *req_info,
|
||||
const struct nlattr *nest, struct net *net,
|
||||
struct netlink_ext_ack *extack, bool require_dev);
|
||||
int ethnl_parse_header_dev_get(struct ethnl_req_info *req_info,
|
||||
const struct nlattr *nest, struct net *net,
|
||||
struct netlink_ext_ack *extack,
|
||||
bool require_dev);
|
||||
int ethnl_fill_reply_header(struct sk_buff *skb, struct net_device *dev,
|
||||
u16 attrtype);
|
||||
struct sk_buff *ethnl_reply_init(size_t payload, struct net_device *dev, u8 cmd,
|
||||
|
|
|
@ -123,8 +123,9 @@ int ethnl_set_wol(struct sk_buff *skb, struct genl_info *info)
|
|||
wol_set_policy, info->extack);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
ret = ethnl_parse_header(&req_info, tb[ETHTOOL_A_WOL_HEADER],
|
||||
genl_info_net(info), info->extack, true);
|
||||
ret = ethnl_parse_header_dev_get(&req_info, tb[ETHTOOL_A_WOL_HEADER],
|
||||
genl_info_net(info), info->extack,
|
||||
true);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
dev = req_info.dev;
|
||||
|
|
Loading…
Reference in New Issue