Commit 10377d42 authored by Jakob Koschel's avatar Jakob Koschel Committed by Pablo Neira Ayuso
Browse files

netfilter: nf_tables: replace unnecessary use of list_for_each_entry_continue()



Since there is no way for list_for_each_entry_continue() to start
interating in the middle of the list they can be replaced with a call
to list_for_each_entry().

In preparation to limit the scope of the list iterator to the list
traversal loop, the list iterator variable 'rule' should not be used
past the loop.

v1->v2:
- also replace first usage of list_for_each_entry_continue() (Florian
Westphal)

Signed-off-by: default avatarJakob Koschel <jakobkoschel@gmail.com>
Reviewed-by: default avatarFlorian Westphal <fw@strlen.de>
Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
parent 2975dbdc
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -8367,10 +8367,8 @@ static int nf_tables_commit_chain_prepare(struct net *net, struct nft_chain *cha
	if (chain->blob_next || !nft_is_active_next(net, chain))
		return 0;

	rule = list_entry(&chain->rules, struct nft_rule, list);

	data_size = 0;
	list_for_each_entry_continue(rule, &chain->rules, list) {
	list_for_each_entry(rule, &chain->rules, list) {
		if (nft_is_active_next(net, rule)) {
			data_size += sizeof(*prule) + rule->dlen;
			if (data_size > INT_MAX)
@@ -8387,7 +8385,7 @@ static int nf_tables_commit_chain_prepare(struct net *net, struct nft_chain *cha
	data_boundary = data + data_size;
	size = 0;

	list_for_each_entry_continue(rule, &chain->rules, list) {
	list_for_each_entry(rule, &chain->rules, list) {
		if (!nft_is_active_next(net, rule))
			continue;