From: Geliang Tang <tanggeliang@kylinos.cn>
get_addr() interfaces will be invoked by dump_addr(), which using const
parameters "info", so this patch changes "info" parameters of get_addr()
as const too.
Some adaptations are also needed. No longer use genl_info_pm_nl() because
it doesn't accept a 'const' variable, but that's OK to get pernet via
genl_info_net().
Signed-off-by: Geliang Tang <tanggeliang@kylinos.cn>
---
net/mptcp/pm.c | 2 +-
net/mptcp/pm_netlink.c | 7 +++++--
net/mptcp/pm_userspace.c | 2 +-
net/mptcp/protocol.h | 4 ++--
4 files changed, 9 insertions(+), 6 deletions(-)
diff --git a/net/mptcp/pm.c b/net/mptcp/pm.c
index 9f3d82a86746..080c842e9e90 100644
--- a/net/mptcp/pm.c
+++ b/net/mptcp/pm.c
@@ -435,7 +435,7 @@ bool mptcp_pm_is_backup(struct mptcp_sock *msk, struct sock_common *skc)
}
static int mptcp_pm_get_addr(u8 id, struct mptcp_pm_addr_entry *addr,
- struct genl_info *info)
+ const struct genl_info *info)
{
if (info->attrs[MPTCP_PM_ATTR_TOKEN])
return mptcp_userspace_pm_get_addr(id, addr, info);
diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c
index dce6a5b5ea4d..eb5f48e45187 100644
--- a/net/mptcp/pm_netlink.c
+++ b/net/mptcp/pm_netlink.c
@@ -1763,12 +1763,15 @@ int mptcp_nl_fill_addr(struct sk_buff *skb,
}
int mptcp_pm_nl_get_addr(u8 id, struct mptcp_pm_addr_entry *addr,
- struct genl_info *info)
+ const struct genl_info *info)
{
- struct pm_nl_pernet *pernet = genl_info_pm_nl(info);
+ struct net *net = genl_info_net(info);
struct mptcp_pm_addr_entry *entry;
+ struct pm_nl_pernet *pernet;
int ret = -EINVAL;
+ pernet = pm_nl_get_pernet(net);
+
rcu_read_lock();
entry = __lookup_addr_by_id(pernet, id);
if (entry) {
diff --git a/net/mptcp/pm_userspace.c b/net/mptcp/pm_userspace.c
index 6dd5a3f1c0c7..7c5914012947 100644
--- a/net/mptcp/pm_userspace.c
+++ b/net/mptcp/pm_userspace.c
@@ -664,7 +664,7 @@ int mptcp_userspace_pm_dump_addr(struct sk_buff *msg,
}
int mptcp_userspace_pm_get_addr(u8 id, struct mptcp_pm_addr_entry *addr,
- struct genl_info *info)
+ const struct genl_info *info)
{
struct mptcp_pm_addr_entry *entry;
struct mptcp_sock *msk;
diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h
index a80a0191e2cd..a9fc30f20376 100644
--- a/net/mptcp/protocol.h
+++ b/net/mptcp/protocol.h
@@ -1132,9 +1132,9 @@ int mptcp_pm_nl_dump_addr(struct sk_buff *msg,
int mptcp_userspace_pm_dump_addr(struct sk_buff *msg,
struct netlink_callback *cb);
int mptcp_pm_nl_get_addr(u8 id, struct mptcp_pm_addr_entry *addr,
- struct genl_info *info);
+ const struct genl_info *info);
int mptcp_userspace_pm_get_addr(u8 id, struct mptcp_pm_addr_entry *addr,
- struct genl_info *info);
+ const struct genl_info *info);
static inline u8 subflow_get_local_id(const struct mptcp_subflow_context *subflow)
{
--
2.45.2