netfilter: nf_tables: deconstify walk callback function
The flush operation needs to modify set and element objects, so let's deconstify this. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
This commit is contained in:
parent
35d0ac9070
commit
de70185de0
|
@ -207,9 +207,9 @@ struct nft_set_iter {
|
||||||
unsigned int skip;
|
unsigned int skip;
|
||||||
int err;
|
int err;
|
||||||
int (*fn)(const struct nft_ctx *ctx,
|
int (*fn)(const struct nft_ctx *ctx,
|
||||||
const struct nft_set *set,
|
struct nft_set *set,
|
||||||
const struct nft_set_iter *iter,
|
const struct nft_set_iter *iter,
|
||||||
const struct nft_set_elem *elem);
|
struct nft_set_elem *elem);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -301,7 +301,7 @@ struct nft_set_ops {
|
||||||
void (*remove)(const struct nft_set *set,
|
void (*remove)(const struct nft_set *set,
|
||||||
const struct nft_set_elem *elem);
|
const struct nft_set_elem *elem);
|
||||||
void (*walk)(const struct nft_ctx *ctx,
|
void (*walk)(const struct nft_ctx *ctx,
|
||||||
const struct nft_set *set,
|
struct nft_set *set,
|
||||||
struct nft_set_iter *iter);
|
struct nft_set_iter *iter);
|
||||||
|
|
||||||
unsigned int (*privsize)(const struct nlattr * const nla[]);
|
unsigned int (*privsize)(const struct nlattr * const nla[]);
|
||||||
|
|
|
@ -3087,9 +3087,9 @@ static int nf_tables_delset(struct net *net, struct sock *nlsk,
|
||||||
}
|
}
|
||||||
|
|
||||||
static int nf_tables_bind_check_setelem(const struct nft_ctx *ctx,
|
static int nf_tables_bind_check_setelem(const struct nft_ctx *ctx,
|
||||||
const struct nft_set *set,
|
struct nft_set *set,
|
||||||
const struct nft_set_iter *iter,
|
const struct nft_set_iter *iter,
|
||||||
const struct nft_set_elem *elem)
|
struct nft_set_elem *elem)
|
||||||
{
|
{
|
||||||
const struct nft_set_ext *ext = nft_set_elem_ext(set, elem->priv);
|
const struct nft_set_ext *ext = nft_set_elem_ext(set, elem->priv);
|
||||||
enum nft_registers dreg;
|
enum nft_registers dreg;
|
||||||
|
@ -3308,9 +3308,9 @@ struct nft_set_dump_args {
|
||||||
};
|
};
|
||||||
|
|
||||||
static int nf_tables_dump_setelem(const struct nft_ctx *ctx,
|
static int nf_tables_dump_setelem(const struct nft_ctx *ctx,
|
||||||
const struct nft_set *set,
|
struct nft_set *set,
|
||||||
const struct nft_set_iter *iter,
|
const struct nft_set_iter *iter,
|
||||||
const struct nft_set_elem *elem)
|
struct nft_set_elem *elem)
|
||||||
{
|
{
|
||||||
struct nft_set_dump_args *args;
|
struct nft_set_dump_args *args;
|
||||||
|
|
||||||
|
@ -3322,7 +3322,7 @@ static int nf_tables_dump_set(struct sk_buff *skb, struct netlink_callback *cb)
|
||||||
{
|
{
|
||||||
struct net *net = sock_net(skb->sk);
|
struct net *net = sock_net(skb->sk);
|
||||||
u8 genmask = nft_genmask_cur(net);
|
u8 genmask = nft_genmask_cur(net);
|
||||||
const struct nft_set *set;
|
struct nft_set *set;
|
||||||
struct nft_set_dump_args args;
|
struct nft_set_dump_args args;
|
||||||
struct nft_ctx ctx;
|
struct nft_ctx ctx;
|
||||||
struct nlattr *nla[NFTA_SET_ELEM_LIST_MAX + 1];
|
struct nlattr *nla[NFTA_SET_ELEM_LIST_MAX + 1];
|
||||||
|
@ -3890,9 +3890,9 @@ err1:
|
||||||
}
|
}
|
||||||
|
|
||||||
static int nft_flush_set(const struct nft_ctx *ctx,
|
static int nft_flush_set(const struct nft_ctx *ctx,
|
||||||
const struct nft_set *set,
|
struct nft_set *set,
|
||||||
const struct nft_set_iter *iter,
|
const struct nft_set_iter *iter,
|
||||||
const struct nft_set_elem *elem)
|
struct nft_set_elem *elem)
|
||||||
{
|
{
|
||||||
struct nft_trans *trans;
|
struct nft_trans *trans;
|
||||||
int err;
|
int err;
|
||||||
|
@ -3907,8 +3907,8 @@ static int nft_flush_set(const struct nft_ctx *ctx,
|
||||||
goto err1;
|
goto err1;
|
||||||
}
|
}
|
||||||
|
|
||||||
nft_trans_elem_set(trans) = (struct nft_set *)set;
|
nft_trans_elem_set(trans) = set;
|
||||||
nft_trans_elem(trans) = *((struct nft_set_elem *)elem);
|
nft_trans_elem(trans) = *elem;
|
||||||
list_add_tail(&trans->list, &ctx->net->nft.commit_list);
|
list_add_tail(&trans->list, &ctx->net->nft.commit_list);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -5019,9 +5019,9 @@ static int nf_tables_check_loops(const struct nft_ctx *ctx,
|
||||||
const struct nft_chain *chain);
|
const struct nft_chain *chain);
|
||||||
|
|
||||||
static int nf_tables_loop_check_setelem(const struct nft_ctx *ctx,
|
static int nf_tables_loop_check_setelem(const struct nft_ctx *ctx,
|
||||||
const struct nft_set *set,
|
struct nft_set *set,
|
||||||
const struct nft_set_iter *iter,
|
const struct nft_set_iter *iter,
|
||||||
const struct nft_set_elem *elem)
|
struct nft_set_elem *elem)
|
||||||
{
|
{
|
||||||
const struct nft_set_ext *ext = nft_set_elem_ext(set, elem->priv);
|
const struct nft_set_ext *ext = nft_set_elem_ext(set, elem->priv);
|
||||||
const struct nft_data *data;
|
const struct nft_data *data;
|
||||||
|
@ -5045,7 +5045,7 @@ static int nf_tables_check_loops(const struct nft_ctx *ctx,
|
||||||
{
|
{
|
||||||
const struct nft_rule *rule;
|
const struct nft_rule *rule;
|
||||||
const struct nft_expr *expr, *last;
|
const struct nft_expr *expr, *last;
|
||||||
const struct nft_set *set;
|
struct nft_set *set;
|
||||||
struct nft_set_binding *binding;
|
struct nft_set_binding *binding;
|
||||||
struct nft_set_iter iter;
|
struct nft_set_iter iter;
|
||||||
|
|
||||||
|
|
|
@ -212,7 +212,7 @@ static void nft_hash_remove(const struct nft_set *set,
|
||||||
rhashtable_remove_fast(&priv->ht, &he->node, nft_hash_params);
|
rhashtable_remove_fast(&priv->ht, &he->node, nft_hash_params);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void nft_hash_walk(const struct nft_ctx *ctx, const struct nft_set *set,
|
static void nft_hash_walk(const struct nft_ctx *ctx, struct nft_set *set,
|
||||||
struct nft_set_iter *iter)
|
struct nft_set_iter *iter)
|
||||||
{
|
{
|
||||||
struct nft_hash *priv = nft_set_priv(set);
|
struct nft_hash *priv = nft_set_priv(set);
|
||||||
|
|
|
@ -221,7 +221,7 @@ static void *nft_rbtree_deactivate(const struct net *net,
|
||||||
}
|
}
|
||||||
|
|
||||||
static void nft_rbtree_walk(const struct nft_ctx *ctx,
|
static void nft_rbtree_walk(const struct nft_ctx *ctx,
|
||||||
const struct nft_set *set,
|
struct nft_set *set,
|
||||||
struct nft_set_iter *iter)
|
struct nft_set_iter *iter)
|
||||||
{
|
{
|
||||||
const struct nft_rbtree *priv = nft_set_priv(set);
|
const struct nft_rbtree *priv = nft_set_priv(set);
|
||||||
|
|
Loading…
Reference in a new issue