From: Wei Yongjun Date: Mon, 6 Aug 2007 05:55:47 +0000 (+0800) Subject: SCTP: Fix sctp_addto_chunk() to add pad with correct length X-Git-Tag: v2.6.23-rc5~37^2~5^2~8 X-Git-Url: http://www.pilppa.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=8d614ade511fef11f992d6a73e538d33b3b81f12;p=linux-2.6-omap-h63xx.git SCTP: Fix sctp_addto_chunk() to add pad with correct length At function sctp_addto_chunk(), it do pad before add payload to chunk if chunk length is not 4-byte alignment. But it do pad with a bad length. This patch fixed this probleam. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich --- diff --git a/net/sctp/sm_make_chunk.c b/net/sctp/sm_make_chunk.c index 2b1129a7a94..93df833f34f 100644 --- a/net/sctp/sm_make_chunk.c +++ b/net/sctp/sm_make_chunk.c @@ -1128,7 +1128,7 @@ void *sctp_addto_chunk(struct sctp_chunk *chunk, int len, const void *data) void *target; void *padding; int chunklen = ntohs(chunk->chunk_hdr->length); - int padlen = chunklen % 4; + int padlen = WORD_ROUND(chunklen) - chunklen; padding = skb_put(chunk->skb, padlen); target = skb_put(chunk->skb, len);