summaryrefslogtreecommitdiffstats
path: root/lib/locking-selftest-wlock.h
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2014-11-10 21:14:12 +0100
committerPablo Neira Ayuso <pablo@netfilter.org>2014-11-12 12:06:24 +0100
commitb326dd37b94e29bf6a15940f4fa66aa21a678ab1 (patch)
tree3da47178073b5ef4c15198df0baa1ac7eb66954e /lib/locking-selftest-wlock.h
parentafefb6f928ed42d5db452ee9251ce6de62673c67 (diff)
downloadop-kernel-dev-b326dd37b94e29bf6a15940f4fa66aa21a678ab1.zip
op-kernel-dev-b326dd37b94e29bf6a15940f4fa66aa21a678ab1.tar.gz
netfilter: nf_tables: restore synchronous object release from commit/abort
The existing xtables matches and targets, when used from nft_compat, may sleep from the destroy path, ie. when removing rules. Since the objects are released via call_rcu from softirq context, this results in lockdep splats and possible lockups that may be hard to reproduce. Patrick also indicated that delayed object release via call_rcu can cause us problems in the ordering of event notifications when anonymous sets are in place. So, this patch restores the synchronous object release from the commit and abort paths. This includes a call to synchronize_rcu() to make sure that no packets are walking on the objects that are going to be released. This is slowier though, but it's simple and it resolves the aforementioned problems. This is a partial revert of c7c32e7 ("netfilter: nf_tables: defer all object release via rcu") that was introduced in 3.16 to speed up interaction with userspace. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'lib/locking-selftest-wlock.h')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud