Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

net/netfilter: __rcu annotations

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Acked-by: Patrick McHardy <kaber@trash.net>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Eric Dumazet <eric.dumazet@gmail.com>
Reviewed-by: Josh Triplett <josh@joshtriplett.org>

authored by

Arnd Bergmann and committed by
Paul E. McKenney
0906a372 2be85279

+10 -10
+1 -1
include/net/netfilter/nf_conntrack.h
··· 75 75 /* nf_conn feature for connections that have a helper */ 76 76 struct nf_conn_help { 77 77 /* Helper. if any */ 78 - struct nf_conntrack_helper *helper; 78 + struct nf_conntrack_helper __rcu *helper; 79 79 80 80 union nf_conntrack_help help; 81 81
+1 -1
net/ipv4/netfilter/nf_nat_core.c
··· 38 38 static struct nf_conntrack_l3proto *l3proto __read_mostly; 39 39 40 40 #define MAX_IP_NAT_PROTO 256 41 - static const struct nf_nat_protocol *nf_nat_protos[MAX_IP_NAT_PROTO] 41 + static const struct nf_nat_protocol __rcu *nf_nat_protos[MAX_IP_NAT_PROTO] 42 42 __read_mostly; 43 43 44 44 static inline const struct nf_nat_protocol *
+1 -1
net/netfilter/core.c
··· 27 27 28 28 static DEFINE_MUTEX(afinfo_mutex); 29 29 30 - const struct nf_afinfo *nf_afinfo[NFPROTO_NUMPROTO] __read_mostly; 30 + const struct nf_afinfo __rcu *nf_afinfo[NFPROTO_NUMPROTO] __read_mostly; 31 31 EXPORT_SYMBOL(nf_afinfo); 32 32 33 33 int nf_register_afinfo(const struct nf_afinfo *afinfo)
+2 -2
net/netfilter/nf_conntrack_ecache.c
··· 26 26 27 27 static DEFINE_MUTEX(nf_ct_ecache_mutex); 28 28 29 - struct nf_ct_event_notifier *nf_conntrack_event_cb __read_mostly; 29 + struct nf_ct_event_notifier __rcu *nf_conntrack_event_cb __read_mostly; 30 30 EXPORT_SYMBOL_GPL(nf_conntrack_event_cb); 31 31 32 - struct nf_exp_event_notifier *nf_expect_event_cb __read_mostly; 32 + struct nf_exp_event_notifier __rcu *nf_expect_event_cb __read_mostly; 33 33 EXPORT_SYMBOL_GPL(nf_expect_event_cb); 34 34 35 35 /* deliver cached events and clear cache entry - must be called with locally
+1 -1
net/netfilter/nf_conntrack_extend.c
··· 16 16 #include <linux/skbuff.h> 17 17 #include <net/netfilter/nf_conntrack_extend.h> 18 18 19 - static struct nf_ct_ext_type *nf_ct_ext_types[NF_CT_EXT_NUM]; 19 + static struct nf_ct_ext_type __rcu *nf_ct_ext_types[NF_CT_EXT_NUM]; 20 20 static DEFINE_MUTEX(nf_ct_ext_type_mutex); 21 21 22 22 void __nf_ct_ext_destroy(struct nf_conn *ct)
+2 -2
net/netfilter/nf_conntrack_proto.c
··· 28 28 #include <net/netfilter/nf_conntrack_l4proto.h> 29 29 #include <net/netfilter/nf_conntrack_core.h> 30 30 31 - static struct nf_conntrack_l4proto **nf_ct_protos[PF_MAX] __read_mostly; 32 - struct nf_conntrack_l3proto *nf_ct_l3protos[AF_MAX] __read_mostly; 31 + static struct nf_conntrack_l4proto __rcu **nf_ct_protos[PF_MAX] __read_mostly; 32 + struct nf_conntrack_l3proto __rcu *nf_ct_l3protos[AF_MAX] __read_mostly; 33 33 EXPORT_SYMBOL_GPL(nf_ct_l3protos); 34 34 35 35 static DEFINE_MUTEX(nf_ct_proto_mutex);
+1 -1
net/netfilter/nf_log.c
··· 16 16 #define NF_LOG_PREFIXLEN 128 17 17 #define NFLOGGER_NAME_LEN 64 18 18 19 - static const struct nf_logger *nf_loggers[NFPROTO_NUMPROTO] __read_mostly; 19 + static const struct nf_logger __rcu *nf_loggers[NFPROTO_NUMPROTO] __read_mostly; 20 20 static struct list_head nf_loggers_l[NFPROTO_NUMPROTO] __read_mostly; 21 21 static DEFINE_MUTEX(nf_log_mutex); 22 22
+1 -1
net/netfilter/nf_queue.c
··· 18 18 * long term mutex. The handler must provide an an outfn() to accept packets 19 19 * for queueing and must reinject all packets it receives, no matter what. 20 20 */ 21 - static const struct nf_queue_handler *queue_handler[NFPROTO_NUMPROTO] __read_mostly; 21 + static const struct nf_queue_handler __rcu *queue_handler[NFPROTO_NUMPROTO] __read_mostly; 22 22 23 23 static DEFINE_MUTEX(queue_handler_mutex); 24 24