diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2012-10-28 10:18:08 (GMT) |
---|---|---|
committer | Scott Wood <scottwood@freescale.com> | 2013-04-04 22:09:39 (GMT) |
commit | afe10a673089defcf4d4f77bc691b4a4d3e97031 (patch) | |
tree | 0a00964d1ff1cdc557a70229548034ed822a495f /net | |
parent | 6205c51fcf0bd6cc7957372f997a7cb73011f4a1 (diff) | |
download | linux-fsl-qoriq-afe10a673089defcf4d4f77bc691b4a4d3e97031.tar.xz |
net: netfilter: Serialize xt_write_recseq sections on RT
The netfilter code relies only on the implicit semantics of
local_bh_disable() for serializing wt_write_recseq sections. RT breaks
that and needs explicit serialization here.
Reported-by: Peter LaDow <petela@gocougs.wsu.edu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: stable-rt@vger.kernel.org
Diffstat (limited to 'net')
-rw-r--r-- | net/netfilter/core.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/net/netfilter/core.c b/net/netfilter/core.c index a9c488b..c646ec8 100644 --- a/net/netfilter/core.c +++ b/net/netfilter/core.c @@ -20,11 +20,17 @@ #include <linux/proc_fs.h> #include <linux/mutex.h> #include <linux/slab.h> +#include <linux/locallock.h> #include <net/net_namespace.h> #include <net/sock.h> #include "nf_internals.h" +#ifdef CONFIG_PREEMPT_RT_BASE +DEFINE_LOCAL_IRQ_LOCK(xt_write_lock); +EXPORT_PER_CPU_SYMBOL(xt_write_lock); +#endif + static DEFINE_MUTEX(afinfo_mutex); const struct nf_afinfo __rcu *nf_afinfo[NFPROTO_NUMPROTO] __read_mostly; |