Message ID | 20220319202526.2527974-1-jakobkoschel@gmail.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | netfilter: nf_tables: replace unnecessary use of list_for_each_entry_continue() | expand |
Jakob Koschel <jakobkoschel@gmail.com> wrote: > Since there is no way for the previous list_for_each_entry() to exit > early, this call to list_for_each_entry_continue() is always guaranteed > to start with the first element of the list and can therefore 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. > > Signed-off-by: Jakob Koschel <jakobkoschel@gmail.com> > > - 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; You could also replace the first entry_continue and get rid of the preceeding rule = list_entry().
diff --git a/net/netfilter/nf_tables_api.c b/net/netfilter/nf_tables_api.c index d71a33ae39b3..bdd80136ef1d 100644 --- a/net/netfilter/nf_tables_api.c +++ b/net/netfilter/nf_tables_api.c @@ -8299,7 +8299,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;
Since there is no way for the previous list_for_each_entry() to exit early, this call to list_for_each_entry_continue() is always guaranteed to start with the first element of the list and can therefore 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. Signed-off-by: Jakob Koschel <jakobkoschel@gmail.com> --- net/netfilter/nf_tables_api.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) base-commit: 34e047aa16c0123bbae8e2f6df33e5ecc1f56601