SOURCES (LINUX_2_6): linux-2.6-nf-u32.patch - ported to 2.6.13.

pluto pluto at pld-linux.org
Thu Sep 15 11:30:43 CEST 2005


Author: pluto                        Date: Thu Sep 15 09:30:43 2005 GMT
Module: SOURCES                       Tag: LINUX_2_6
---- Log message:
- ported to 2.6.13.

---- Files affected:
SOURCES:
   linux-2.6-nf-u32.patch (1.1.2.1 -> 1.1.2.2) 

---- Diffs:

================================================================
Index: SOURCES/linux-2.6-nf-u32.patch
diff -u SOURCES/linux-2.6-nf-u32.patch:1.1.2.1 SOURCES/linux-2.6-nf-u32.patch:1.1.2.2
--- SOURCES/linux-2.6-nf-u32.patch:1.1.2.1	Thu Sep 15 10:41:11 2005
+++ SOURCES/linux-2.6-nf-u32.patch	Thu Sep 15 11:30:37 2005
@@ -1,8 +1,8 @@
  include/linux/netfilter_ipv4/ipt_u32.h |   40 +++++
  net/ipv4/netfilter/Kconfig             |   13 +
- net/ipv4/netfilter/Makefile            |    3 
- net/ipv4/netfilter/ipt_u32.c           |  233 +++++++++++++++++++++++++++++++++
- 4 files changed, 289 insertions(+)
+ net/ipv4/netfilter/Makefile            |    1 
+ net/ipv4/netfilter/ipt_u32.c           |  232 +++++++++++++++++++++++++++++++++
+ 4 files changed, 286 insertions(+)
 
 diff -uNr linux-2.6.13.1/include.orig/linux/netfilter_ipv4/ipt_u32.h linux-2.6.13.1/include/linux/netfilter_ipv4/ipt_u32.h
 --- linux-2.6.13.1/include.orig/linux/netfilter_ipv4/ipt_u32.h	1970-01-01 01:00:00.000000000 +0100
@@ -51,7 +51,7 @@
 diff -uNr linux-2.6.13.1/net.orig/ipv4/netfilter/ipt_u32.c linux-2.6.13.1/net/ipv4/netfilter/ipt_u32.c
 --- linux-2.6.13.1/net.orig/ipv4/netfilter/ipt_u32.c	1970-01-01 01:00:00.000000000 +0100
 +++ linux-2.6.13.1/net/ipv4/netfilter/ipt_u32.c	2005-09-15 10:39:55.326807500 +0200
-@@ -0,0 +1,233 @@
+@@ -0,0 +1,232 @@
 +/* Kernel module to match u32 packet content. */
 +
 +/* 
@@ -159,7 +159,6 @@
 +
 +#include <linux/netfilter_ipv4/ipt_u32.h>
 +#include <linux/netfilter_ipv4/ip_tables.h>
-+#include <linux/netfilter_ipv4/lockhelp.h>
 +
 +/* #include <asm-i386/timex.h> for timing */
 +
@@ -169,7 +168,7 @@
 +
 +/* This is slow, but it's simple. --RR */
 +static char u32_buffer[65536];
-+static DECLARE_LOCK(u32_lock);
++static DEFINE_RWLOCK(u32_lock);
 +
 +static int
 +match(const struct sk_buff *skb,
@@ -190,7 +189,7 @@
 +
 +	u_int32_t AttPos;
 +
-+	LOCK_BH(&u32_lock);
++	spin_lock_bh(&u32_lock);
 +
 +	head = skb_header_pointer(skb, 0, skb->len, u32_buffer);
 +	BUG_ON(head == NULL);
@@ -202,7 +201,7 @@
 +	        AttPos = 0;
 +		pos = data->tests[testind].location[0].number;
 +		if (AttPos + pos + 3 > skb->len || AttPos + pos < 0){
-+			UNLOCK_BH(&u32_lock);
++			spin_unlock_bh(&u32_lock);
 +			return 0;
 +		}
 +		val = (base[pos]<<24) + (base[pos+1]<<16) +
@@ -244,13 +243,13 @@
 +			/* cycles2 = get_cycles(); 
 +			   printk("failed %d in %d cycles\n", testind, 
 +				  cycles2-cycles1); */
-+			UNLOCK_BH(&u32_lock);
++			spin_unlock_bh(&u32_lock);
 +			return 0;
 +		}
 +	}
 +	/* cycles2 = get_cycles();
 +	   printk("succeeded in %d cycles\n", cycles2-cycles1); */
-+	UNLOCK_BH(&u32_lock);
++	spin_unlock_bh(&u32_lock);
 +	return 1;
 +}
 +
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/SOURCES/linux-2.6-nf-u32.patch?r1=1.1.2.1&r2=1.1.2.2&f=u




More information about the pld-cvs-commit mailing list