netfilter: xt_sctp: use WORD_ROUND macro to calculate length of multiple of 4 bytes
authorShan Wei <shanwei@cn.fujitsu.com>
Wed, 9 Jun 2010 12:47:40 +0000 (14:47 +0200)
committerPatrick McHardy <kaber@trash.net>
Wed, 9 Jun 2010 12:47:40 +0000 (14:47 +0200)
Use  WORD_ROUND to round an int up to the next multiple of 4.

Signed-off-by: Shan Wei <shanwei@cn.fujitsu.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
net/netfilter/xt_sctp.c

index c04fcf385c591875ec45f2f50812b9c564657869..ef36a56a02c6881c58296b2bf45c4b99d3836456 100644 (file)
@@ -3,6 +3,7 @@
 #include <linux/skbuff.h>
 #include <net/ip.h>
 #include <net/ipv6.h>
+#include <net/sctp/sctp.h>
 #include <linux/sctp.h>
 
 #include <linux/netfilter/x_tables.h>
@@ -67,7 +68,7 @@ match_packet(const struct sk_buff *skb,
                         ++i, offset, sch->type, htons(sch->length),
                         sch->flags);
 #endif
-               offset += (ntohs(sch->length) + 3) & ~3;
+               offset += WORD_ROUND(ntohs(sch->length));
 
                pr_debug("skb->len: %d\toffset: %d\n", skb->len, offset);