Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
Pull crypto update from Herbert Xu: "Here is the crypto update for 3.20: - Added 192/256-bit key support to aesni GCM. - Added MIPS OCTEON MD5 support. - Fixed hwrng starvation and race conditions. - Added note that memzero_explicit is not a subsitute for memset. - Added user-space interface for crypto_rng. - Misc fixes" * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (71 commits) crypto: tcrypt - do not allocate iv on stack for aead speed tests crypto: testmgr - limit IV copy length in aead tests crypto: tcrypt - fix buflen reminder calculation crypto: testmgr - mark rfc4106(gcm(aes)) as fips_allowed crypto: caam - fix resource clean-up on error path for caam_jr_init crypto: caam - pair irq map and dispose in the same function crypto: ccp - terminate ccp_support array with empty element crypto: caam - remove unused local variable crypto: caam - remove dead code crypto: caam - don't emit ICV check failures to dmesg hwrng: virtio - drop extra empty line crypto: replace scatterwalk_sg_next with sg_next crypto: atmel - Free memory in error path crypto: doc - remove colons in comments crypto: seqiv - Ensure that IV size is at least 8 bytes crypto: cts - Weed out non-CBC algorithms MAINTAINERS: add linux-crypto to hw random crypto: cts - Remove bogus use of seqiv crypto: qat - don't need qat_auth_state struct crypto: algif_rng - fix sparse non static symbol warning ...
This commit is contained in:
@@ -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;
|
||||
|
Reference in New Issue
Block a user