Commit 03536e23 authored by Daniel Borkmann's avatar Daniel Borkmann Committed by David S. Miller

net: sctp: sctp_auth_make_key_vector: use sctp_auth_create_key

In sctp_auth_make_key_vector, we allocate a temporary sctp_auth_bytes
structure with kmalloc instead of the sctp_auth_create_key allocator.
Change this to sctp_auth_create_key as it is the case everywhere else,
so that we also can properly free it via sctp_auth_key_put. This makes
it easier for future code changes in the structure and allocator itself,
since a single API is consistently used for this purpose. Also, by
using sctp_auth_create_key we're doing sanity checks over the arguments.
Signed-off-by: default avatarDaniel Borkmann <dborkman@redhat.com>
Acked-by: default avatarVlad Yasevich <vyasevich@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 3807ff58
...@@ -209,12 +209,10 @@ static struct sctp_auth_bytes *sctp_auth_make_key_vector( ...@@ -209,12 +209,10 @@ static struct sctp_auth_bytes *sctp_auth_make_key_vector(
len = random_len + hmacs_len + chunks_len; len = random_len + hmacs_len + chunks_len;
new = kmalloc(sizeof(struct sctp_auth_bytes) + len, gfp); new = sctp_auth_create_key(len, gfp);
if (!new) if (!new)
return NULL; return NULL;
new->len = len;
memcpy(new->data, random, random_len); memcpy(new->data, random, random_len);
offset += random_len; offset += random_len;
...@@ -353,8 +351,8 @@ static struct sctp_auth_bytes *sctp_auth_asoc_create_secret( ...@@ -353,8 +351,8 @@ static struct sctp_auth_bytes *sctp_auth_asoc_create_secret(
secret = sctp_auth_asoc_set_secret(ep_key, first_vector, last_vector, secret = sctp_auth_asoc_set_secret(ep_key, first_vector, last_vector,
gfp); gfp);
out: out:
kfree(local_key_vector); sctp_auth_key_put(local_key_vector);
kfree(peer_key_vector); sctp_auth_key_put(peer_key_vector);
return secret; return secret;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment