diff options
author | David S. Miller <davem@davemloft.net> | 2015-02-17 18:48:51 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-02-17 18:48:51 -0800 |
commit | 11af4409245096cef96a41327ed970f8789e1c1c (patch) | |
tree | 80621c6623aa54dceafc5743c8a016b609d7dc46 /crypto/af_alg.c | |
parent | baefc38c7ec56afcfa92594930b747a050c599b7 (diff) | |
parent | 9ece59e8fd3d017e04382709a4d48e81e00246fb (diff) | |
download | linux-crypto-11af4409245096cef96a41327ed970f8789e1c1c.tar.gz linux-crypto-11af4409245096cef96a41327ed970f8789e1c1c.zip |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Diffstat (limited to '')
-rw-r--r-- | crypto/af_alg.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/crypto/af_alg.c b/crypto/af_alg.c index 3e80d8b8..7f8b7edc 100644 --- a/crypto/af_alg.c +++ b/crypto/af_alg.c @@ -188,7 +188,7 @@ static int alg_setkey(struct sock *sk, char __user *ukey, err = type->setkey(ask->private, key, keylen); out: - sock_kfree_s(sk, key, keylen); + sock_kzfree_s(sk, key, keylen); return err; } @@ -215,6 +215,13 @@ static int alg_setsockopt(struct socket *sock, int level, int optname, goto unlock; err = alg_setkey(sk, optval, optlen); + break; + case ALG_SET_AEAD_AUTHSIZE: + if (sock->state == SS_CONNECTED) + goto unlock; + if (!type->setauthsize) + goto unlock; + err = type->setauthsize(ask->private, optlen); } unlock: @@ -387,7 +394,7 @@ int af_alg_cmsg_send(struct msghdr *msg, struct af_alg_control *con) if (cmsg->cmsg_level != SOL_ALG) continue; - switch(cmsg->cmsg_type) { + switch (cmsg->cmsg_type) { case ALG_SET_IV: if (cmsg->cmsg_len < CMSG_LEN(sizeof(*con->iv))) return -EINVAL; |