Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -207,9 +207,9 @@ struct nft_set_iter {
	unsigned int	skip;
	int		err;
	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_elem *elem);
			      struct nft_set_elem *elem);
};

/**
@@ -301,7 +301,7 @@ struct nft_set_ops {
	void				(*remove)(const struct nft_set *set,
						  const struct nft_set_elem *elem);
	void				(*walk)(const struct nft_ctx *ctx,
						const struct nft_set *set,
						struct nft_set *set,
						struct nft_set_iter *iter);

	unsigned int			(*privsize)(const struct nlattr * const nla[]);
+12 −12
Original line number Diff line number Diff line
@@ -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,
					const struct nft_set *set,
					struct nft_set *set,
					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);
	enum nft_registers dreg;
@@ -3308,9 +3308,9 @@ struct nft_set_dump_args {
};

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_elem *elem)
				  struct nft_set_elem *elem)
{
	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);
	u8 genmask = nft_genmask_cur(net);
	const struct nft_set *set;
	struct nft_set *set;
	struct nft_set_dump_args args;
	struct nft_ctx ctx;
	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,
}

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_elem *elem)
			 struct nft_set_elem *elem)
{
	struct nft_trans *trans;
	int err;
@@ -3907,8 +3907,8 @@ static int nft_flush_set(const struct nft_ctx *ctx,
		goto err1;
	}

	nft_trans_elem_set(trans) = (struct nft_set *)set;
	nft_trans_elem(trans) = *((struct nft_set_elem *)elem);
	nft_trans_elem_set(trans) = set;
	nft_trans_elem(trans) = *elem;
	list_add_tail(&trans->list, &ctx->net->nft.commit_list);

	return 0;
@@ -5019,9 +5019,9 @@ static int nf_tables_check_loops(const struct nft_ctx *ctx,
				 const struct nft_chain *chain);

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_elem *elem)
					struct nft_set_elem *elem)
{
	const struct nft_set_ext *ext = nft_set_elem_ext(set, elem->priv);
	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_expr *expr, *last;
	const struct nft_set *set;
	struct nft_set *set;
	struct nft_set_binding *binding;
	struct nft_set_iter iter;

+1 −1
Original line number Diff line number Diff line
@@ -212,7 +212,7 @@ static void nft_hash_remove(const struct nft_set *set,
	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_hash *priv = nft_set_priv(set);
+1 −1
Original line number Diff line number Diff line
@@ -221,7 +221,7 @@ static void *nft_rbtree_deactivate(const struct net *net,
}

static void nft_rbtree_walk(const struct nft_ctx *ctx,
			    const struct nft_set *set,
			    struct nft_set *set,
			    struct nft_set_iter *iter)
{
	const struct nft_rbtree *priv = nft_set_priv(set);