netfilter: nfnetlink: keep going batch handling on missing modules
authorPablo Neira Ayuso <pablo@netfilter.org>
Wed, 1 Jul 2015 14:14:25 +0000 (16:14 +0200)
committerPablo Neira Ayuso <pablo@netfilter.org>
Thu, 2 Jul 2015 15:59:33 +0000 (17:59 +0200)
commit6742b9e310bcf511b876532846e5302b07b7fedc
tree3954faf22ef40a99453201b8e6b22583c8d6562d
parentdd302b59bde0149c20df7278c0d36c765e66afbd
netfilter: nfnetlink: keep going batch handling on missing modules

After a fresh boot with no modules in place at all and a large rulesets, the
existing nfnetlink_rcv_batch() funcion can take long time to commit the ruleset
due to the many abort path. This is specifically a problem for the existing
client of this code, ie. nf_tables, since it results in several
synchronize_rcu() call in a row.

This patch changes the policy to keep full batch processing on missing modules
errors so we abort only once.

Reported-by: Eric Leblond <eric@regit.org>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
net/netfilter/nfnetlink.c