Herbert Xu
67412f0e78
[CRYPTO] hmac: Avoid calling virt_to_page on key
...
When HMAC gets a key longer than the block size of the hash, it needs
to feed it as input to the hash to reduce it to a fixed length. As
it is HMAC converts the key to a scatter and gather list. However,
this doesn't work on certain platforms if the key is not allocated
via kmalloc. For example, the keys from tcrypt are stored in the
rodata section and this causes it to fail with HMAC on x86-64.
This patch fixes this by copying the key to memory obtained via
kmalloc before hashing it.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2008-05-07 21:08:56 +08:00
..
async_tx
dmaengine: ack to flags: make use of the unused bits in the 'ack' field
2008-04-17 13:25:54 -07:00
ablkcipher.c
[CRYPTO] skcipher: Move chainiv/seqiv into crypto_blkcipher module
2008-02-23 11:12:06 +08:00
aead.c
[CRYPTO] api: Show async type
2008-01-11 08:16:56 +11:00
aes_generic.c
[CRYPTO] aes: Export generic setkey
2008-04-21 10:19:34 +08:00
algapi.c
[CRYPTO] api: Add crypto_attr_alg_name
2008-01-11 08:16:40 +11:00
anubis.c
[CRYPTO] all: Clean up init()/fini()
2008-04-21 10:19:34 +08:00
api.c
[CRYPTO] api: Make the crypto subsystem fully modular
2008-04-21 10:19:23 +08:00
arc4.c
authenc.c
[CRYPTO] authenc: Fix async crypto crash in crypto_authenc_genicv()
2008-05-01 18:22:28 +08:00
blkcipher.c
[CRYPTO] skcipher: Move chainiv/seqiv into crypto_blkcipher module
2008-02-23 11:12:06 +08:00
blowfish.c
[CRYPTO] all: Clean up init()/fini()
2008-04-21 10:19:34 +08:00
camellia.c
cast5.c
[CRYPTO] all: Clean up init()/fini()
2008-04-21 10:19:34 +08:00
cast6.c
[CRYPTO] all: Clean up init()/fini()
2008-04-21 10:19:34 +08:00
cbc.c
Convert ERR_PTR(PTR_ERR(p)) instances to ERR_CAST(p)
2008-02-07 08:42:26 -08:00
ccm.c
[CRYPTO] ccm: Added CCM mode
2008-01-11 08:16:53 +11:00
chainiv.c
[CRYPTO] skcipher: Fix section mismatches
2008-03-08 20:29:43 +08:00
cipher.c
compress.c
crc32c.c
[CRYPTO] all: Clean up init()/fini()
2008-04-21 10:19:34 +08:00
cryptd.c
[CRYPTO] cryptd: Correct kzalloc error test
2008-05-01 18:22:28 +08:00
crypto_null.c
[CRYPTO] all: Clean up init()/fini()
2008-04-21 10:19:34 +08:00
cryptomgr.c
ctr.c
[CRYPTO] seqiv: Add Sequence Number IV Generator
2008-01-11 08:16:48 +11:00
cts.c
[CRYPTO] cts: Add CTS mode required for Kerberos AES support
2008-04-21 10:19:23 +08:00
deflate.c
[CRYPTO] all: Clean up init()/fini()
2008-04-21 10:19:34 +08:00
des_generic.c
[CRYPTO] all: Clean up init()/fini()
2008-04-21 10:19:34 +08:00
digest.c
[CRYPTO] digest: Include internal.h for prototypes
2008-03-05 19:05:54 +08:00
ecb.c
Convert ERR_PTR(PTR_ERR(p)) instances to ERR_CAST(p)
2008-02-07 08:42:26 -08:00
eseqiv.c
[CRYPTO] eseqiv: Fix off-by-one encryption
2008-05-01 18:22:28 +08:00
fcrypt.c
[CRYPTO] all: Clean up init()/fini()
2008-04-21 10:19:34 +08:00
gcm.c
[CRYPTO] gcm: Introduce rfc4106
2008-01-11 08:16:56 +11:00
gf128mul.c
hash.c
hmac.c
[CRYPTO] hmac: Avoid calling virt_to_page on key
2008-05-07 21:08:56 +08:00
internal.h
[CRYPTO] skcipher: Create default givcipher instances
2008-01-11 08:16:46 +11:00
Kconfig
[CRYPTO] kconfig: Ordering cleanup
2008-04-21 10:19:34 +08:00
khazad.c
[CRYPTO] all: Clean up init()/fini()
2008-04-21 10:19:34 +08:00
lrw.c
[CRYPTO] lrw: Replace all adds to big endians variables with be*_add_cpu
2008-04-21 10:19:22 +08:00
lzo.c
[CRYPTO] all: Clean up init()/fini()
2008-04-21 10:19:34 +08:00
Makefile
[CRYPTO] api: Make the crypto subsystem fully modular
2008-04-21 10:19:23 +08:00
md4.c
[CRYPTO] all: Clean up init()/fini()
2008-04-21 10:19:34 +08:00
md5.c
[CRYPTO] all: Clean up init()/fini()
2008-04-21 10:19:34 +08:00
michael_mic.c
pcbc.c
Convert ERR_PTR(PTR_ERR(p)) instances to ERR_CAST(p)
2008-02-07 08:42:26 -08:00
proc.c
[CRYPTO] api: Constify function pointer tables
2008-04-21 10:19:22 +08:00
salsa20_generic.c
[CRYPTO] all: Clean up init()/fini()
2008-04-21 10:19:34 +08:00
scatterwalk.c
[CRYPTO] scatterwalk: Handle zero nbytes in scatterwalk_map_and_copy
2008-01-11 08:16:54 +11:00
seed.c
seqiv.c
[CRYPTO] seqiv: Add AEAD support
2008-01-11 08:16:52 +11:00
serpent.c
[CRYPTO] all: Clean up init()/fini()
2008-04-21 10:19:34 +08:00
sha1_generic.c
[CRYPTO] all: Clean up init()/fini()
2008-04-21 10:19:34 +08:00
sha256_generic.c
[CRYPTO] all: Clean up init()/fini()
2008-04-21 10:19:34 +08:00
sha512_generic.c
[CRYPTO] all: Clean up init()/fini()
2008-04-21 10:19:34 +08:00
tcrypt.c
[CRYPTO] all: Clean up init()/fini()
2008-04-21 10:19:34 +08:00
tcrypt.h
[CRYPTO] cts: Add CTS mode required for Kerberos AES support
2008-04-21 10:19:23 +08:00
tea.c
[CRYPTO] all: Clean up init()/fini()
2008-04-21 10:19:34 +08:00
tgr192.c
[CRYPTO] all: Clean up init()/fini()
2008-04-21 10:19:34 +08:00
twofish.c
[CRYPTO] all: Clean up init()/fini()
2008-04-21 10:19:34 +08:00
twofish_common.c
wp512.c
[CRYPTO] all: Clean up init()/fini()
2008-04-21 10:19:34 +08:00
xcbc.c
[CRYPTO] xcbc: Fix crash when ipsec uses xcbc-mac with big data chunk
2008-04-02 14:36:09 +08:00
xor.c
xts.c
[CRYPTO] xts: Use proper alignment
2008-03-06 18:56:19 +08:00