forked from mirrors/linux
nf_skb_duplicated is a per-CPU variable and relies on disabled BH for its locking. Without per-CPU locking in local_bh_disable() on PREEMPT_RT this data structure requires explicit locking. Due to the recursion involved, the simplest change is to make it a per-task variable. Move the per-CPU variable nf_skb_duplicated to task_struct and name it in_nf_duplicate. Add it to the existing bitfield so it doesn't use additional memory. Cc: Ingo Molnar <mingo@redhat.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Juri Lelli <juri.lelli@redhat.com> Cc: Vincent Guittot <vincent.guittot@linaro.org> Cc: Dietmar Eggemann <dietmar.eggemann@arm.com> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Ben Segall <bsegall@google.com> Cc: Mel Gorman <mgorman@suse.de> Cc: Valentin Schneider <vschneid@redhat.com> Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org> |
||
|---|---|---|
| .. | ||
| arp_tables.c | ||
| arpt_mangle.c | ||
| arptable_filter.c | ||
| ip_tables.c | ||
| ipt_ah.c | ||
| ipt_ECN.c | ||
| ipt_REJECT.c | ||
| ipt_rpfilter.c | ||
| ipt_SYNPROXY.c | ||
| iptable_filter.c | ||
| iptable_mangle.c | ||
| iptable_nat.c | ||
| iptable_raw.c | ||
| iptable_security.c | ||
| Kconfig | ||
| Makefile | ||
| nf_defrag_ipv4.c | ||
| nf_dup_ipv4.c | ||
| nf_nat_h323.c | ||
| nf_nat_pptp.c | ||
| nf_nat_snmp_basic.asn1 | ||
| nf_nat_snmp_basic_main.c | ||
| nf_reject_ipv4.c | ||
| nf_socket_ipv4.c | ||
| nf_tproxy_ipv4.c | ||
| nft_dup_ipv4.c | ||
| nft_fib_ipv4.c | ||
| nft_reject_ipv4.c | ||