linux/crypto
Herbert Xu 9b2f4cb65f crypto: authenc - Fix crash with zero-length assoc data
The authenc code doesn't deal with zero-length associated data
correctly and ends up constructing a zero-length sg entry which
causes a crash when it's fed into the crypto system.

This patch fixes this by avoiding the code-path that triggers
the SG construction if we have no associated data.

This isn't the most optimal fix as it means that we'll end up
using the fallback code-path even when we could still execute
the digest function.  However, this isn't a big deal as nobody
but the test path would supply zero-length associated data.

Reported-by: Romain Francoise <romain@orebokech.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Tested-by: Romain Francoise <romain@orebokech.com>
2012-09-11 12:05:45 +08:00
..
async_tx crypto: remove the second argument of k[un]map_atomic() 2012-03-20 21:48:16 +08:00
ablkcipher.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2012-04-10 14:30:45 -04:00
aead.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2012-04-10 14:30:45 -04:00
aes_generic.c
af_alg.c
ahash.c crypto: Stop using NLA_PUT*(). 2012-04-02 04:33:42 -04:00
algapi.c crypto: algapi - Move larval completion into algboss 2012-06-22 20:08:29 +08:00
algboss.c crypto: algapi - Fix hang on crypto allocation 2012-06-27 20:59:12 +08:00
algif_hash.c
algif_skcipher.c
ansi_cprng.c crypto: ansi_cprng - enforce key != seed in fips mode 2011-11-09 12:04:06 +08:00
anubis.c
api.c
arc4.c crypto: arc4 - improve performance by using u32 for ctx and variables 2012-06-14 10:07:23 +08:00
authenc.c crypto: authenc - Fix crash with zero-length assoc data 2012-09-11 12:05:45 +08:00
authencesn.c
blkcipher.c crypto: Stop using NLA_PUT*(). 2012-04-02 04:33:42 -04:00
blowfish_common.c
blowfish_generic.c
camellia_generic.c crypto: camellia - rename camellia.c to camellia_generic.c 2012-03-14 17:25:55 +08:00
cast5.c
cast6.c
cbc.c
ccm.c crypto: remove the second argument of k[un]map_atomic() 2012-03-20 21:48:16 +08:00
chainiv.c
cipher.c
compress.c
crc32c.c crypto: crc32c should use library implementation 2012-03-23 16:58:38 -07:00
cryptd.c
crypto_null.c
crypto_user.c netlink: add netlink_kernel_cfg parameter to netlink_kernel_create 2012-06-29 16:46:02 -07:00
crypto_wq.c crypto: add module.h to those files that are explicitly using it 2011-10-31 19:31:11 -04:00
ctr.c
cts.c
deflate.c
des_generic.c
ecb.c
eseqiv.c
fcrypt.c
fips.c crypto: api - Add fips_enable flag 2008-08-29 15:50:02 +10:00
gcm.c
gf128mul.c
ghash-generic.c
hmac.c
internal.h crypto: algapi - Move larval completion into algboss 2012-06-22 20:08:29 +08:00
Kconfig crypto: arc4 - now arc needs blockcipher support 2012-06-27 14:42:07 +08:00
khazad.c
krng.c
lrw.c crypto: lrw - add interface for parallelized cipher implementions 2011-11-09 11:50:31 +08:00
lzo.c
Makefile crypto: camellia - rename camellia.c to camellia_generic.c 2012-03-14 17:25:55 +08:00
md4.c crypto: add module.h to those files that are explicitly using it 2011-10-31 19:31:11 -04:00
md5.c
michael_mic.c
pcbc.c
pcompress.c crypto: Stop using NLA_PUT*(). 2012-04-02 04:33:42 -04:00
pcrypt.c crypto: pcrypt - Use the online cpumask as the default 2012-03-29 19:52:47 +08:00
proc.c crypto: add module.h to those files that are explicitly using it 2011-10-31 19:31:11 -04:00
ripemd.h
rmd128.c
rmd160.c crypto: ripemd - Set module author and update email address 2011-01-04 23:34:03 +11:00
rmd256.c
rmd320.c
rng.c crypto: Stop using NLA_PUT*(). 2012-04-02 04:33:42 -04:00
salsa20_generic.c
scatterwalk.c crypto: remove the second argument of k[un]map_atomic() 2012-03-20 21:48:16 +08:00
seed.c
seqiv.c
serpent_generic.c crypto: serpent - rename serpent.c to serpent_generic.c 2011-11-30 16:12:44 +08:00
sha1_generic.c
sha256_generic.c
sha512_generic.c crypto: sha512 - Fix byte counter overflow in SHA-512 2012-04-05 20:34:20 +08:00
shash.c crypto: Stop using NLA_PUT*(). 2012-04-02 04:33:42 -04:00
tcrypt.c crypto: atmel - add new tests to tcrypt 2012-07-11 11:08:28 +08:00
tcrypt.h crypto: tcrypt - add xts(serpent) tests 2011-11-09 11:57:56 +08:00
tea.c
testmgr.c crypto: testmgr - add aead cbc aes hmac sha1,256,512 test vectors 2012-07-11 11:08:30 +08:00
testmgr.h crypto: testmgr - add aead cbc aes hmac sha1,256,512 test vectors 2012-07-11 11:08:30 +08:00
tgr192.c
twofish_common.c crypto: twofish-x86_64-3way - add lrw support 2011-11-09 11:53:32 +08:00
twofish_generic.c
vmac.c crypto: add module.h to those files that are explicitly using it 2011-10-31 19:31:11 -04:00
wp512.c crypto: whirlpool - count rounds from 0 2011-10-21 14:24:16 +02:00
xcbc.c crypto: add module.h to those files that are explicitly using it 2011-10-31 19:31:11 -04:00
xor.c md updates for 3.5 2012-05-23 17:08:40 -07:00
xts.c crypto: xts: add interface for parallelized cipher implementations 2011-11-09 11:56:06 +08:00
zlib.c