]> granicus.if.org Git - ipset/commitdiff
Backport RCU handling up to 2.6.32.x
authorJozsef Kadlecsik <kadlec@blackhole.kfki.hu>
Tue, 27 Nov 2012 13:19:07 +0000 (14:19 +0100)
committerJozsef Kadlecsik <kadlec@blackhole.kfki.hu>
Tue, 27 Nov 2012 13:19:07 +0000 (14:19 +0100)
__rcu and rcu_dereference_protected is missing from older kernel releases.

kernel/net/netfilter/ipset/ip_set_core.c

index b58f343d2608362632b6385833f841ab0ccd609d..b32912fa8f7ff185fe06d28e6eb957f80afc6008 100644 (file)
@@ -31,7 +31,11 @@ static LIST_HEAD(ip_set_type_list);          /* all registered set types */
 static DEFINE_MUTEX(ip_set_type_mutex);                /* protects ip_set_type_list */
 static DEFINE_RWLOCK(ip_set_ref_lock);         /* protects the set refs */
 
+#ifdef __rcu
 static struct ip_set * __rcu *ip_set_list;     /* all individual sets */
+#else
+static struct ip_set **ip_set_list;            /* all individual sets */
+#endif
 static ip_set_id_t ip_set_max = CONFIG_IP_SET_MAX; /* max number of sets */
 
 #define IP_SET_INC     64
@@ -46,6 +50,10 @@ MODULE_AUTHOR("Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>");
 MODULE_DESCRIPTION("core IP set support");
 MODULE_ALIAS_NFNL_SUBSYS(NFNL_SUBSYS_IPSET);
 
+#ifndef rcu_dereference_protected
+#define rcu_dereference_protected(p, c)        rcu_dereference(p)
+#endif
+
 /* When the nfnl mutex is held: */
 #define nfnl_dereference(p)            \
        rcu_dereference_protected(p, 1)