]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commiteb465bbbc5c3559635b4b767a88316bac12a40f5
tree3954faf22ef40a99453201b8e6b22583c8d6562d
parent0b5caef2c726f561aca3eca4f46d2591e8ec8cf9
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