From 0faeeea24279018cf1fde6f36e7840495788344c Mon Sep 17 00:00:00 2001 From: Vlad Yasevich Date: Tue, 17 Jan 2006 11:55:57 -0800 Subject: [PATCH] --- yaml --- r: 19029 b: refs/heads/master c: 313e7b4d2588539e388d31c1febd50503a0083fc h: refs/heads/master i: 19027: 19df61b55e081e00c7775f79554dcc532946fbc1 v: v3 --- [refs] | 2 +- trunk/include/net/sctp/structs.h | 8 ++++++++ trunk/net/sctp/sm_make_chunk.c | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 9cc8ac7df283..6729e04043a2 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 8116ffad4180b39d7a755345c1fde09da83930c0 +refs/heads/master: 313e7b4d2588539e388d31c1febd50503a0083fc diff --git a/trunk/include/net/sctp/structs.h b/trunk/include/net/sctp/structs.h index ad3d15cb0a0d..8c522ae031bb 100644 --- a/trunk/include/net/sctp/structs.h +++ b/trunk/include/net/sctp/structs.h @@ -1250,6 +1250,14 @@ struct sctp_endpoint { int last_key; int key_changed_at; + /* digest: This is a digest of the sctp cookie. This field is + * only used on the receive path when we try to validate + * that the cookie has not been tampered with. We put + * this here so we pre-allocate this once and can re-use + * on every receive. + */ + __u8 digest[SCTP_SIGNATURE_SIZE]; + /* sendbuf acct. policy. */ __u32 sndbuf_policy; diff --git a/trunk/net/sctp/sm_make_chunk.c b/trunk/net/sctp/sm_make_chunk.c index 4fe1d6c863b1..5e0de3c0eead 100644 --- a/trunk/net/sctp/sm_make_chunk.c +++ b/trunk/net/sctp/sm_make_chunk.c @@ -1359,7 +1359,7 @@ struct sctp_association *sctp_unpack_cookie( struct sctp_signed_cookie *cookie; struct sctp_cookie *bear_cookie; int headersize, bodysize, fixed_size; - __u8 digest[SCTP_SIGNATURE_SIZE]; + __u8 *digest = ep->digest; struct scatterlist sg; unsigned int keylen, len; char *key;