Commit de70185d authored by Pablo Neira Ayuso's avatar Pablo Neira Ayuso

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: default avatarPablo Neira Ayuso <pablo@netfilter.org>
parent 35d0ac90
...@@ -207,9 +207,9 @@ struct nft_set_iter { ...@@ -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 { ...@@ -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, ...@@ -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 { ...@@ -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) ...@@ -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 @@ static int nft_del_setelem(struct nft_ctx *ctx, struct nft_set *set, ...@@ -3890,9 +3890,9 @@ static int nft_del_setelem(struct nft_ctx *ctx, struct nft_set *set,
} }
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, ...@@ -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, ...@@ -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, ...@@ -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, ...@@ -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, ...@@ -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);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment