When user tries to map all chunks given in argument, kernel works on a copy of
the chunkmap, but at the end it doesn't check the copy, but the orginal one.
Signed-off-by: Qu Haoran <haoran.qu@xxxxxxxxx>
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
--- linux-2.6.28.2/net/netfilter/xt_sctp.c 2009-01-24 19:42:07.000000000 -0500
+++ linux-2.6.28.2-new/net/netfilter/xt_sctp.c 2009-02-05 04:13:31.000000000 -0500
@@ -105,7 +105,7 @@ match_packet(const struct sk_buff *skb,
switch (chunk_match_type) {
case SCTP_CHUNK_MATCH_ALL:
- return SCTP_CHUNKMAP_IS_CLEAR(info->chunkmap);
+ return SCTP_CHUNKMAP_IS_CLEAR(chunkmapcopy);
case SCTP_CHUNK_MATCH_ANY:
return false;
case SCTP_CHUNK_MATCH_ONLY: