|
@@ -825,20 +825,17 @@ find_free_id(struct ip_set_net *inst, const char *name, ip_set_id_t *index,
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-static int
|
|
|
-ip_set_none(struct sock *ctnl, struct sk_buff *skb,
|
|
|
- const struct nlmsghdr *nlh,
|
|
|
- const struct nlattr * const attr[])
|
|
|
+static int ip_set_none(struct net *net, struct sock *ctnl, struct sk_buff *skb,
|
|
|
+ const struct nlmsghdr *nlh,
|
|
|
+ const struct nlattr * const attr[])
|
|
|
{
|
|
|
return -EOPNOTSUPP;
|
|
|
}
|
|
|
|
|
|
-static int
|
|
|
-ip_set_create(struct sock *ctnl, struct sk_buff *skb,
|
|
|
- const struct nlmsghdr *nlh,
|
|
|
- const struct nlattr * const attr[])
|
|
|
+static int ip_set_create(struct net *net, struct sock *ctnl,
|
|
|
+ struct sk_buff *skb, const struct nlmsghdr *nlh,
|
|
|
+ const struct nlattr * const attr[])
|
|
|
{
|
|
|
- struct net *net = sock_net(ctnl);
|
|
|
struct ip_set_net *inst = ip_set_pernet(net);
|
|
|
struct ip_set *set, *clash = NULL;
|
|
|
ip_set_id_t index = IPSET_INVALID_ID;
|
|
@@ -976,12 +973,11 @@ ip_set_destroy_set(struct ip_set *set)
|
|
|
kfree(set);
|
|
|
}
|
|
|
|
|
|
-static int
|
|
|
-ip_set_destroy(struct sock *ctnl, struct sk_buff *skb,
|
|
|
- const struct nlmsghdr *nlh,
|
|
|
- const struct nlattr * const attr[])
|
|
|
+static int ip_set_destroy(struct net *net, struct sock *ctnl,
|
|
|
+ struct sk_buff *skb, const struct nlmsghdr *nlh,
|
|
|
+ const struct nlattr * const attr[])
|
|
|
{
|
|
|
- struct ip_set_net *inst = ip_set_pernet(sock_net(ctnl));
|
|
|
+ struct ip_set_net *inst = ip_set_pernet(net);
|
|
|
struct ip_set *s;
|
|
|
ip_set_id_t i;
|
|
|
int ret = 0;
|
|
@@ -1052,12 +1048,11 @@ ip_set_flush_set(struct ip_set *set)
|
|
|
spin_unlock_bh(&set->lock);
|
|
|
}
|
|
|
|
|
|
-static int
|
|
|
-ip_set_flush(struct sock *ctnl, struct sk_buff *skb,
|
|
|
- const struct nlmsghdr *nlh,
|
|
|
- const struct nlattr * const attr[])
|
|
|
+static int ip_set_flush(struct net *net, struct sock *ctnl, struct sk_buff *skb,
|
|
|
+ const struct nlmsghdr *nlh,
|
|
|
+ const struct nlattr * const attr[])
|
|
|
{
|
|
|
- struct ip_set_net *inst = ip_set_pernet(sock_net(ctnl));
|
|
|
+ struct ip_set_net *inst = ip_set_pernet(net);
|
|
|
struct ip_set *s;
|
|
|
ip_set_id_t i;
|
|
|
|
|
@@ -1092,12 +1087,11 @@ ip_set_setname2_policy[IPSET_ATTR_CMD_MAX + 1] = {
|
|
|
.len = IPSET_MAXNAMELEN - 1 },
|
|
|
};
|
|
|
|
|
|
-static int
|
|
|
-ip_set_rename(struct sock *ctnl, struct sk_buff *skb,
|
|
|
- const struct nlmsghdr *nlh,
|
|
|
- const struct nlattr * const attr[])
|
|
|
+static int ip_set_rename(struct net *net, struct sock *ctnl,
|
|
|
+ struct sk_buff *skb, const struct nlmsghdr *nlh,
|
|
|
+ const struct nlattr * const attr[])
|
|
|
{
|
|
|
- struct ip_set_net *inst = ip_set_pernet(sock_net(ctnl));
|
|
|
+ struct ip_set_net *inst = ip_set_pernet(net);
|
|
|
struct ip_set *set, *s;
|
|
|
const char *name2;
|
|
|
ip_set_id_t i;
|
|
@@ -1142,12 +1136,11 @@ out:
|
|
|
* so the ip_set_list always contains valid pointers to the sets.
|
|
|
*/
|
|
|
|
|
|
-static int
|
|
|
-ip_set_swap(struct sock *ctnl, struct sk_buff *skb,
|
|
|
- const struct nlmsghdr *nlh,
|
|
|
- const struct nlattr * const attr[])
|
|
|
+static int ip_set_swap(struct net *net, struct sock *ctnl, struct sk_buff *skb,
|
|
|
+ const struct nlmsghdr *nlh,
|
|
|
+ const struct nlattr * const attr[])
|
|
|
{
|
|
|
- struct ip_set_net *inst = ip_set_pernet(sock_net(ctnl));
|
|
|
+ struct ip_set_net *inst = ip_set_pernet(net);
|
|
|
struct ip_set *from, *to;
|
|
|
ip_set_id_t from_id, to_id;
|
|
|
char from_name[IPSET_MAXNAMELEN];
|
|
@@ -1413,10 +1406,9 @@ out:
|
|
|
return ret < 0 ? ret : skb->len;
|
|
|
}
|
|
|
|
|
|
-static int
|
|
|
-ip_set_dump(struct sock *ctnl, struct sk_buff *skb,
|
|
|
- const struct nlmsghdr *nlh,
|
|
|
- const struct nlattr * const attr[])
|
|
|
+static int ip_set_dump(struct net *net, struct sock *ctnl, struct sk_buff *skb,
|
|
|
+ const struct nlmsghdr *nlh,
|
|
|
+ const struct nlattr * const attr[])
|
|
|
{
|
|
|
if (unlikely(protocol_failed(attr)))
|
|
|
return -IPSET_ERR_PROTOCOL;
|
|
@@ -1500,12 +1492,11 @@ call_ad(struct sock *ctnl, struct sk_buff *skb, struct ip_set *set,
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
-static int
|
|
|
-ip_set_uadd(struct sock *ctnl, struct sk_buff *skb,
|
|
|
- const struct nlmsghdr *nlh,
|
|
|
- const struct nlattr * const attr[])
|
|
|
+static int ip_set_uadd(struct net *net, struct sock *ctnl, struct sk_buff *skb,
|
|
|
+ const struct nlmsghdr *nlh,
|
|
|
+ const struct nlattr * const attr[])
|
|
|
{
|
|
|
- struct ip_set_net *inst = ip_set_pernet(sock_net(ctnl));
|
|
|
+ struct ip_set_net *inst = ip_set_pernet(net);
|
|
|
struct ip_set *set;
|
|
|
struct nlattr *tb[IPSET_ATTR_ADT_MAX + 1] = {};
|
|
|
const struct nlattr *nla;
|
|
@@ -1555,12 +1546,11 @@ ip_set_uadd(struct sock *ctnl, struct sk_buff *skb,
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
-static int
|
|
|
-ip_set_udel(struct sock *ctnl, struct sk_buff *skb,
|
|
|
- const struct nlmsghdr *nlh,
|
|
|
- const struct nlattr * const attr[])
|
|
|
+static int ip_set_udel(struct net *net, struct sock *ctnl, struct sk_buff *skb,
|
|
|
+ const struct nlmsghdr *nlh,
|
|
|
+ const struct nlattr * const attr[])
|
|
|
{
|
|
|
- struct ip_set_net *inst = ip_set_pernet(sock_net(ctnl));
|
|
|
+ struct ip_set_net *inst = ip_set_pernet(net);
|
|
|
struct ip_set *set;
|
|
|
struct nlattr *tb[IPSET_ATTR_ADT_MAX + 1] = {};
|
|
|
const struct nlattr *nla;
|
|
@@ -1610,12 +1600,11 @@ ip_set_udel(struct sock *ctnl, struct sk_buff *skb,
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
-static int
|
|
|
-ip_set_utest(struct sock *ctnl, struct sk_buff *skb,
|
|
|
- const struct nlmsghdr *nlh,
|
|
|
- const struct nlattr * const attr[])
|
|
|
+static int ip_set_utest(struct net *net, struct sock *ctnl, struct sk_buff *skb,
|
|
|
+ const struct nlmsghdr *nlh,
|
|
|
+ const struct nlattr * const attr[])
|
|
|
{
|
|
|
- struct ip_set_net *inst = ip_set_pernet(sock_net(ctnl));
|
|
|
+ struct ip_set_net *inst = ip_set_pernet(net);
|
|
|
struct ip_set *set;
|
|
|
struct nlattr *tb[IPSET_ATTR_ADT_MAX + 1] = {};
|
|
|
int ret = 0;
|
|
@@ -1646,12 +1635,11 @@ ip_set_utest(struct sock *ctnl, struct sk_buff *skb,
|
|
|
|
|
|
/* Get headed data of a set */
|
|
|
|
|
|
-static int
|
|
|
-ip_set_header(struct sock *ctnl, struct sk_buff *skb,
|
|
|
- const struct nlmsghdr *nlh,
|
|
|
- const struct nlattr * const attr[])
|
|
|
+static int ip_set_header(struct net *net, struct sock *ctnl,
|
|
|
+ struct sk_buff *skb, const struct nlmsghdr *nlh,
|
|
|
+ const struct nlattr * const attr[])
|
|
|
{
|
|
|
- struct ip_set_net *inst = ip_set_pernet(sock_net(ctnl));
|
|
|
+ struct ip_set_net *inst = ip_set_pernet(net);
|
|
|
const struct ip_set *set;
|
|
|
struct sk_buff *skb2;
|
|
|
struct nlmsghdr *nlh2;
|
|
@@ -1703,10 +1691,9 @@ static const struct nla_policy ip_set_type_policy[IPSET_ATTR_CMD_MAX + 1] = {
|
|
|
[IPSET_ATTR_FAMILY] = { .type = NLA_U8 },
|
|
|
};
|
|
|
|
|
|
-static int
|
|
|
-ip_set_type(struct sock *ctnl, struct sk_buff *skb,
|
|
|
- const struct nlmsghdr *nlh,
|
|
|
- const struct nlattr * const attr[])
|
|
|
+static int ip_set_type(struct net *net, struct sock *ctnl, struct sk_buff *skb,
|
|
|
+ const struct nlmsghdr *nlh,
|
|
|
+ const struct nlattr * const attr[])
|
|
|
{
|
|
|
struct sk_buff *skb2;
|
|
|
struct nlmsghdr *nlh2;
|
|
@@ -1762,10 +1749,9 @@ ip_set_protocol_policy[IPSET_ATTR_CMD_MAX + 1] = {
|
|
|
[IPSET_ATTR_PROTOCOL] = { .type = NLA_U8 },
|
|
|
};
|
|
|
|
|
|
-static int
|
|
|
-ip_set_protocol(struct sock *ctnl, struct sk_buff *skb,
|
|
|
- const struct nlmsghdr *nlh,
|
|
|
- const struct nlattr * const attr[])
|
|
|
+static int ip_set_protocol(struct net *net, struct sock *ctnl,
|
|
|
+ struct sk_buff *skb, const struct nlmsghdr *nlh,
|
|
|
+ const struct nlattr * const attr[])
|
|
|
{
|
|
|
struct sk_buff *skb2;
|
|
|
struct nlmsghdr *nlh2;
|