]> err.no Git - linux-2.6/blobdiff - net/ipv4/netfilter/ip_conntrack_ftp.c
Merge master.kernel.org:/home/rmk/linux-2.6-serial
[linux-2.6] / net / ipv4 / netfilter / ip_conntrack_ftp.c
index 12b88cbb11db60caf47bb7cff173f406ee646d7d..fea6dd2a00b6b2db30e2ab348f02b354ff40d443 100644 (file)
@@ -16,7 +16,6 @@
 #include <net/checksum.h>
 #include <net/tcp.h>
 
-#include <linux/netfilter_ipv4/lockhelp.h>
 #include <linux/netfilter_ipv4/ip_conntrack_helper.h>
 #include <linux/netfilter_ipv4/ip_conntrack_ftp.h>
 #include <linux/moduleparam.h>
@@ -28,7 +27,7 @@ MODULE_DESCRIPTION("ftp connection tracking helper");
 /* This is slow, but it's simple. --RR */
 static char ftp_buffer[65536];
 
-static DECLARE_LOCK(ip_ftp_lock);
+static DEFINE_SPINLOCK(ip_ftp_lock);
 
 #define MAX_PORTS 8
 static int ports[MAX_PORTS];
@@ -252,7 +251,7 @@ static int find_pattern(const char *data, size_t dlen,
 }
 
 /* Look up to see if we're just after a \n. */
-static int find_nl_seq(u16 seq, const struct ip_ct_ftp_master *info, int dir)
+static int find_nl_seq(u32 seq, const struct ip_ct_ftp_master *info, int dir)
 {
        unsigned int i;
 
@@ -263,7 +262,7 @@ static int find_nl_seq(u16 seq, const struct ip_ct_ftp_master *info, int dir)
 }
 
 /* We don't update if it's older than what we have. */
-static void update_nl_seq(u16 nl_seq, struct ip_ct_ftp_master *info, int dir)
+static void update_nl_seq(u32 nl_seq, struct ip_ct_ftp_master *info, int dir)
 {
        unsigned int i, oldest = NUM_SEQ_TO_REMEMBER;
 
@@ -319,7 +318,7 @@ static int help(struct sk_buff **pskb,
        }
        datalen = (*pskb)->len - dataoff;
 
-       LOCK_BH(&ip_ftp_lock);
+       spin_lock_bh(&ip_ftp_lock);
        fb_ptr = skb_header_pointer(*pskb, dataoff,
                                    (*pskb)->len - dataoff, ftp_buffer);
        BUG_ON(fb_ptr == NULL);
@@ -442,7 +441,7 @@ out_update_nl:
        if (ends_in_nl)
                update_nl_seq(seq, ct_ftp_info,dir);
  out:
-       UNLOCK_BH(&ip_ftp_lock);
+       spin_unlock_bh(&ip_ftp_lock);
        return ret;
 }