Loading include/linux/netfilter_ipv4.h +0 −6 Original line number Diff line number Diff line Loading @@ -75,12 +75,6 @@ enum nf_ip_hook_priorities { #define SO_ORIGINAL_DST 80 #ifdef __KERNEL__ #ifdef CONFIG_NETFILTER_DEBUG void nf_debug_ip_local_deliver(struct sk_buff *skb); void nf_debug_ip_loopback_xmit(struct sk_buff *newskb); void nf_debug_ip_finish_output2(struct sk_buff *skb); #endif /*CONFIG_NETFILTER_DEBUG*/ extern int ip_route_me_harder(struct sk_buff **pskb); /* Call this before modifying an existing IP packet: ensures it is Loading include/linux/netfilter_ipv4/ip_conntrack_core.h +1 −2 Original line number Diff line number Diff line #ifndef _IP_CONNTRACK_CORE_H #define _IP_CONNTRACK_CORE_H #include <linux/netfilter.h> #include <linux/netfilter_ipv4/lockhelp.h> /* This header is used to share core functionality between the standalone connection tracking module, and the compatibility layer's use Loading Loading @@ -47,6 +46,6 @@ static inline int ip_conntrack_confirm(struct sk_buff **pskb) extern struct list_head *ip_conntrack_hash; extern struct list_head ip_conntrack_expect_list; DECLARE_RWLOCK_EXTERN(ip_conntrack_lock); extern rwlock_t ip_conntrack_lock; #endif /* _IP_CONNTRACK_CORE_H */ include/linux/netfilter_ipv4/ip_nat.h +1 −2 Original line number Diff line number Diff line Loading @@ -50,10 +50,9 @@ struct ip_nat_multi_range_compat #ifdef __KERNEL__ #include <linux/list.h> #include <linux/netfilter_ipv4/lockhelp.h> /* Protects NAT hash tables, and NAT-private part of conntracks. */ DECLARE_RWLOCK_EXTERN(ip_nat_lock); extern rwlock_t ip_nat_lock; /* The structure embedded in the conntrack structure. */ struct ip_nat_info Loading include/linux/netfilter_ipv4/listhelp.h +0 −1 Original line number Diff line number Diff line Loading @@ -2,7 +2,6 @@ #define _LISTHELP_H #include <linux/config.h> #include <linux/list.h> #include <linux/netfilter_ipv4/lockhelp.h> /* Header to do more comprehensive job than linux/list.h; assume list is first entry in structure. */ Loading include/linux/netfilter_ipv4/lockhelp.hdeleted 100644 → 0 +0 −129 Original line number Diff line number Diff line #ifndef _LOCKHELP_H #define _LOCKHELP_H #include <linux/config.h> #include <linux/spinlock.h> #include <asm/atomic.h> #include <linux/interrupt.h> #include <linux/smp.h> /* Header to do help in lock debugging. */ #ifdef CONFIG_NETFILTER_DEBUG struct spinlock_debug { spinlock_t l; atomic_t locked_by; }; struct rwlock_debug { rwlock_t l; long read_locked_map; long write_locked_map; }; #define DECLARE_LOCK(l) \ struct spinlock_debug l = { SPIN_LOCK_UNLOCKED, ATOMIC_INIT(-1) } #define DECLARE_LOCK_EXTERN(l) \ extern struct spinlock_debug l #define DECLARE_RWLOCK(l) \ struct rwlock_debug l = { RW_LOCK_UNLOCKED, 0, 0 } #define DECLARE_RWLOCK_EXTERN(l) \ extern struct rwlock_debug l #define MUST_BE_LOCKED(l) \ do { if (atomic_read(&(l)->locked_by) != smp_processor_id()) \ printk("ASSERT %s:%u %s unlocked\n", __FILE__, __LINE__, #l); \ } while(0) #define MUST_BE_UNLOCKED(l) \ do { if (atomic_read(&(l)->locked_by) == smp_processor_id()) \ printk("ASSERT %s:%u %s locked\n", __FILE__, __LINE__, #l); \ } while(0) /* Write locked OK as well. */ #define MUST_BE_READ_LOCKED(l) \ do { if (!((l)->read_locked_map & (1UL << smp_processor_id())) \ && !((l)->write_locked_map & (1UL << smp_processor_id()))) \ printk("ASSERT %s:%u %s not readlocked\n", __FILE__, __LINE__, #l); \ } while(0) #define MUST_BE_WRITE_LOCKED(l) \ do { if (!((l)->write_locked_map & (1UL << smp_processor_id()))) \ printk("ASSERT %s:%u %s not writelocked\n", __FILE__, __LINE__, #l); \ } while(0) #define MUST_BE_READ_WRITE_UNLOCKED(l) \ do { if ((l)->read_locked_map & (1UL << smp_processor_id())) \ printk("ASSERT %s:%u %s readlocked\n", __FILE__, __LINE__, #l); \ else if ((l)->write_locked_map & (1UL << smp_processor_id())) \ printk("ASSERT %s:%u %s writelocked\n", __FILE__, __LINE__, #l); \ } while(0) #define LOCK_BH(lk) \ do { \ MUST_BE_UNLOCKED(lk); \ spin_lock_bh(&(lk)->l); \ atomic_set(&(lk)->locked_by, smp_processor_id()); \ } while(0) #define UNLOCK_BH(lk) \ do { \ MUST_BE_LOCKED(lk); \ atomic_set(&(lk)->locked_by, -1); \ spin_unlock_bh(&(lk)->l); \ } while(0) #define READ_LOCK(lk) \ do { \ MUST_BE_READ_WRITE_UNLOCKED(lk); \ read_lock_bh(&(lk)->l); \ set_bit(smp_processor_id(), &(lk)->read_locked_map); \ } while(0) #define WRITE_LOCK(lk) \ do { \ MUST_BE_READ_WRITE_UNLOCKED(lk); \ write_lock_bh(&(lk)->l); \ set_bit(smp_processor_id(), &(lk)->write_locked_map); \ } while(0) #define READ_UNLOCK(lk) \ do { \ if (!((lk)->read_locked_map & (1UL << smp_processor_id()))) \ printk("ASSERT: %s:%u %s not readlocked\n", \ __FILE__, __LINE__, #lk); \ clear_bit(smp_processor_id(), &(lk)->read_locked_map); \ read_unlock_bh(&(lk)->l); \ } while(0) #define WRITE_UNLOCK(lk) \ do { \ MUST_BE_WRITE_LOCKED(lk); \ clear_bit(smp_processor_id(), &(lk)->write_locked_map); \ write_unlock_bh(&(lk)->l); \ } while(0) #else #define DECLARE_LOCK(l) spinlock_t l = SPIN_LOCK_UNLOCKED #define DECLARE_LOCK_EXTERN(l) extern spinlock_t l #define DECLARE_RWLOCK(l) rwlock_t l = RW_LOCK_UNLOCKED #define DECLARE_RWLOCK_EXTERN(l) extern rwlock_t l #define MUST_BE_LOCKED(l) #define MUST_BE_UNLOCKED(l) #define MUST_BE_READ_LOCKED(l) #define MUST_BE_WRITE_LOCKED(l) #define MUST_BE_READ_WRITE_UNLOCKED(l) #define LOCK_BH(l) spin_lock_bh(l) #define UNLOCK_BH(l) spin_unlock_bh(l) #define READ_LOCK(l) read_lock_bh(l) #define WRITE_LOCK(l) write_lock_bh(l) #define READ_UNLOCK(l) read_unlock_bh(l) #define WRITE_UNLOCK(l) write_unlock_bh(l) #endif /*CONFIG_NETFILTER_DEBUG*/ #endif /* _LOCKHELP_H */ Loading
include/linux/netfilter_ipv4.h +0 −6 Original line number Diff line number Diff line Loading @@ -75,12 +75,6 @@ enum nf_ip_hook_priorities { #define SO_ORIGINAL_DST 80 #ifdef __KERNEL__ #ifdef CONFIG_NETFILTER_DEBUG void nf_debug_ip_local_deliver(struct sk_buff *skb); void nf_debug_ip_loopback_xmit(struct sk_buff *newskb); void nf_debug_ip_finish_output2(struct sk_buff *skb); #endif /*CONFIG_NETFILTER_DEBUG*/ extern int ip_route_me_harder(struct sk_buff **pskb); /* Call this before modifying an existing IP packet: ensures it is Loading
include/linux/netfilter_ipv4/ip_conntrack_core.h +1 −2 Original line number Diff line number Diff line #ifndef _IP_CONNTRACK_CORE_H #define _IP_CONNTRACK_CORE_H #include <linux/netfilter.h> #include <linux/netfilter_ipv4/lockhelp.h> /* This header is used to share core functionality between the standalone connection tracking module, and the compatibility layer's use Loading Loading @@ -47,6 +46,6 @@ static inline int ip_conntrack_confirm(struct sk_buff **pskb) extern struct list_head *ip_conntrack_hash; extern struct list_head ip_conntrack_expect_list; DECLARE_RWLOCK_EXTERN(ip_conntrack_lock); extern rwlock_t ip_conntrack_lock; #endif /* _IP_CONNTRACK_CORE_H */
include/linux/netfilter_ipv4/ip_nat.h +1 −2 Original line number Diff line number Diff line Loading @@ -50,10 +50,9 @@ struct ip_nat_multi_range_compat #ifdef __KERNEL__ #include <linux/list.h> #include <linux/netfilter_ipv4/lockhelp.h> /* Protects NAT hash tables, and NAT-private part of conntracks. */ DECLARE_RWLOCK_EXTERN(ip_nat_lock); extern rwlock_t ip_nat_lock; /* The structure embedded in the conntrack structure. */ struct ip_nat_info Loading
include/linux/netfilter_ipv4/listhelp.h +0 −1 Original line number Diff line number Diff line Loading @@ -2,7 +2,6 @@ #define _LISTHELP_H #include <linux/config.h> #include <linux/list.h> #include <linux/netfilter_ipv4/lockhelp.h> /* Header to do more comprehensive job than linux/list.h; assume list is first entry in structure. */ Loading
include/linux/netfilter_ipv4/lockhelp.hdeleted 100644 → 0 +0 −129 Original line number Diff line number Diff line #ifndef _LOCKHELP_H #define _LOCKHELP_H #include <linux/config.h> #include <linux/spinlock.h> #include <asm/atomic.h> #include <linux/interrupt.h> #include <linux/smp.h> /* Header to do help in lock debugging. */ #ifdef CONFIG_NETFILTER_DEBUG struct spinlock_debug { spinlock_t l; atomic_t locked_by; }; struct rwlock_debug { rwlock_t l; long read_locked_map; long write_locked_map; }; #define DECLARE_LOCK(l) \ struct spinlock_debug l = { SPIN_LOCK_UNLOCKED, ATOMIC_INIT(-1) } #define DECLARE_LOCK_EXTERN(l) \ extern struct spinlock_debug l #define DECLARE_RWLOCK(l) \ struct rwlock_debug l = { RW_LOCK_UNLOCKED, 0, 0 } #define DECLARE_RWLOCK_EXTERN(l) \ extern struct rwlock_debug l #define MUST_BE_LOCKED(l) \ do { if (atomic_read(&(l)->locked_by) != smp_processor_id()) \ printk("ASSERT %s:%u %s unlocked\n", __FILE__, __LINE__, #l); \ } while(0) #define MUST_BE_UNLOCKED(l) \ do { if (atomic_read(&(l)->locked_by) == smp_processor_id()) \ printk("ASSERT %s:%u %s locked\n", __FILE__, __LINE__, #l); \ } while(0) /* Write locked OK as well. */ #define MUST_BE_READ_LOCKED(l) \ do { if (!((l)->read_locked_map & (1UL << smp_processor_id())) \ && !((l)->write_locked_map & (1UL << smp_processor_id()))) \ printk("ASSERT %s:%u %s not readlocked\n", __FILE__, __LINE__, #l); \ } while(0) #define MUST_BE_WRITE_LOCKED(l) \ do { if (!((l)->write_locked_map & (1UL << smp_processor_id()))) \ printk("ASSERT %s:%u %s not writelocked\n", __FILE__, __LINE__, #l); \ } while(0) #define MUST_BE_READ_WRITE_UNLOCKED(l) \ do { if ((l)->read_locked_map & (1UL << smp_processor_id())) \ printk("ASSERT %s:%u %s readlocked\n", __FILE__, __LINE__, #l); \ else if ((l)->write_locked_map & (1UL << smp_processor_id())) \ printk("ASSERT %s:%u %s writelocked\n", __FILE__, __LINE__, #l); \ } while(0) #define LOCK_BH(lk) \ do { \ MUST_BE_UNLOCKED(lk); \ spin_lock_bh(&(lk)->l); \ atomic_set(&(lk)->locked_by, smp_processor_id()); \ } while(0) #define UNLOCK_BH(lk) \ do { \ MUST_BE_LOCKED(lk); \ atomic_set(&(lk)->locked_by, -1); \ spin_unlock_bh(&(lk)->l); \ } while(0) #define READ_LOCK(lk) \ do { \ MUST_BE_READ_WRITE_UNLOCKED(lk); \ read_lock_bh(&(lk)->l); \ set_bit(smp_processor_id(), &(lk)->read_locked_map); \ } while(0) #define WRITE_LOCK(lk) \ do { \ MUST_BE_READ_WRITE_UNLOCKED(lk); \ write_lock_bh(&(lk)->l); \ set_bit(smp_processor_id(), &(lk)->write_locked_map); \ } while(0) #define READ_UNLOCK(lk) \ do { \ if (!((lk)->read_locked_map & (1UL << smp_processor_id()))) \ printk("ASSERT: %s:%u %s not readlocked\n", \ __FILE__, __LINE__, #lk); \ clear_bit(smp_processor_id(), &(lk)->read_locked_map); \ read_unlock_bh(&(lk)->l); \ } while(0) #define WRITE_UNLOCK(lk) \ do { \ MUST_BE_WRITE_LOCKED(lk); \ clear_bit(smp_processor_id(), &(lk)->write_locked_map); \ write_unlock_bh(&(lk)->l); \ } while(0) #else #define DECLARE_LOCK(l) spinlock_t l = SPIN_LOCK_UNLOCKED #define DECLARE_LOCK_EXTERN(l) extern spinlock_t l #define DECLARE_RWLOCK(l) rwlock_t l = RW_LOCK_UNLOCKED #define DECLARE_RWLOCK_EXTERN(l) extern rwlock_t l #define MUST_BE_LOCKED(l) #define MUST_BE_UNLOCKED(l) #define MUST_BE_READ_LOCKED(l) #define MUST_BE_WRITE_LOCKED(l) #define MUST_BE_READ_WRITE_UNLOCKED(l) #define LOCK_BH(l) spin_lock_bh(l) #define UNLOCK_BH(l) spin_unlock_bh(l) #define READ_LOCK(l) read_lock_bh(l) #define WRITE_LOCK(l) write_lock_bh(l) #define READ_UNLOCK(l) read_unlock_bh(l) #define WRITE_UNLOCK(l) write_unlock_bh(l) #endif /*CONFIG_NETFILTER_DEBUG*/ #endif /* _LOCKHELP_H */