Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=35c6d3cbe1b97b860087f6082e764ac8da2a12b2
Commit:     35c6d3cbe1b97b860087f6082e764ac8da2a12b2
Parent:     5447d4777c48218e90844fa6f6e544119075faad
Author:     Patrick McHardy <[EMAIL PROTECTED]>
AuthorDate: Mon Jan 14 23:46:05 2008 -0800
Committer:  David S. Miller <[EMAIL PROTECTED]>
CommitDate: Mon Jan 28 15:02:34 2008 -0800

    [NETFILTER]: nf_conntrack_sctp: use proper types for bitops
    
    Use unsigned long instead of char for the bitmap and removed lots
    of casts.
    
    Signed-off-by: Patrick McHardy <[EMAIL PROTECTED]>
    Signed-off-by: David S. Miller <[EMAIL PROTECTED]>
---
 net/netfilter/nf_conntrack_proto_sctp.c |   24 ++++++++++++------------
 1 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/net/netfilter/nf_conntrack_proto_sctp.c 
b/net/netfilter/nf_conntrack_proto_sctp.c
index 689cc50..5166bb3 100644
--- a/net/netfilter/nf_conntrack_proto_sctp.c
+++ b/net/netfilter/nf_conntrack_proto_sctp.c
@@ -195,7 +195,7 @@ for ((offset) = (dataoff) + sizeof(sctp_sctphdr_t), (count) 
= 0;    \
 static int do_basic_checks(struct nf_conn *conntrack,
                           const struct sk_buff *skb,
                           unsigned int dataoff,
-                          char *map)
+                          unsigned long *map)
 {
        u_int32_t offset, count;
        sctp_chunkhdr_t _sch, *sch;
@@ -225,7 +225,7 @@ static int do_basic_checks(struct nf_conn *conntrack,
                }
 
                if (map)
-                       set_bit(sch->type, (void *)map);
+                       set_bit(sch->type, map);
        }
 
        pr_debug("Basic checks passed\n");
@@ -304,7 +304,7 @@ static int sctp_packet(struct nf_conn *conntrack,
        sctp_sctphdr_t _sctph, *sh;
        sctp_chunkhdr_t _sch, *sch;
        u_int32_t offset, count;
-       char map[256 / sizeof (char)] = {0};
+       unsigned long map[256 / sizeof(unsigned long)] = { 0 };
 
        sh = skb_header_pointer(skb, dataoff, sizeof(_sctph), &_sctph);
        if (sh == NULL)
@@ -314,11 +314,11 @@ static int sctp_packet(struct nf_conn *conntrack,
                return -1;
 
        /* Check the verification tag (Sec 8.5) */
-       if (!test_bit(SCTP_CID_INIT, (void *)map) &&
-           !test_bit(SCTP_CID_SHUTDOWN_COMPLETE, (void *)map) &&
-           !test_bit(SCTP_CID_COOKIE_ECHO, (void *)map) &&
-           !test_bit(SCTP_CID_ABORT, (void *)map) &&
-           !test_bit(SCTP_CID_SHUTDOWN_ACK, (void *)map) &&
+       if (!test_bit(SCTP_CID_INIT, map) &&
+           !test_bit(SCTP_CID_SHUTDOWN_COMPLETE, map) &&
+           !test_bit(SCTP_CID_COOKIE_ECHO, map) &&
+           !test_bit(SCTP_CID_ABORT, map) &&
+           !test_bit(SCTP_CID_SHUTDOWN_ACK, map) &&
            sh->vtag != conntrack->proto.sctp.vtag[CTINFO2DIR(ctinfo)]) {
                pr_debug("Verification tag check failed\n");
                return -1;
@@ -413,7 +413,7 @@ static int sctp_new(struct nf_conn *conntrack, const struct 
sk_buff *skb,
        sctp_sctphdr_t _sctph, *sh;
        sctp_chunkhdr_t _sch, *sch;
        u_int32_t offset, count;
-       char map[256 / sizeof (char)] = {0};
+       unsigned long map[256 / sizeof(unsigned long)] = { 0 };
 
        sh = skb_header_pointer(skb, dataoff, sizeof(_sctph), &_sctph);
        if (sh == NULL)
@@ -423,9 +423,9 @@ static int sctp_new(struct nf_conn *conntrack, const struct 
sk_buff *skb,
                return 0;
 
        /* If an OOTB packet has any of these chunks discard (Sec 8.4) */
-       if (test_bit (SCTP_CID_ABORT, (void *)map) ||
-           test_bit (SCTP_CID_SHUTDOWN_COMPLETE, (void *)map) ||
-           test_bit (SCTP_CID_COOKIE_ACK, (void *)map))
+       if (test_bit(SCTP_CID_ABORT, map) ||
+           test_bit(SCTP_CID_SHUTDOWN_COMPLETE, map) ||
+           test_bit(SCTP_CID_COOKIE_ACK, map))
                return 0;
 
        newconntrack = SCTP_CONNTRACK_MAX;
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to