crypto: talitos - fix crash in talitos_cra_init()
commit
89d124cb61b39900959e2839ac06b6339b6a54cb upstream.
Conversion of talitos driver to the new AEAD interface
hasn't been properly tested.
AEAD algorithms crash in talitos_cra_init as follows:
[...]
[ 1.141095] talitos
ffe30000.crypto: hwrng
[ 1.145381] Unable to handle kernel paging request for data at address 0x00000058
[ 1.152913] Faulting instruction address: 0xc02accc0
[ 1.157910] Oops: Kernel access of bad area, sig: 11 [#1]
[ 1.163315] SMP NR_CPUS=2 P1020 RDB
[ 1.166810] Modules linked in:
[ 1.169875] CPU: 0 PID: 1007 Comm: cryptomgr_test Not tainted 4.4.6 #1
[ 1.176415] task:
db5ec200 ti:
db4d6000 task.ti:
db4d6000
[ 1.181821] NIP:
c02accc0 LR:
c02acd18 CTR:
c02acd04
[ 1.186793] REGS:
db4d7d30 TRAP: 0300 Not tainted (4.4.6)
[ 1.192457] MSR:
00029000 <CE,EE,ME> CR:
95009359 XER:
e0000000
[ 1.198585] DEAR:
00000058 ESR:
00000000
GPR00:
c017bdc0 db4d7de0 db5ec200 df424b48 00000000 00000000 df424bfc db75a600
GPR08:
df424b48 00000000 db75a628 db4d6000 00000149 00000000 c0044cac db5acda0
GPR16:
00000000 00000000 00000000 00000000 00000000 00000000 00000400 df424940
GPR24:
df424900 00003083 00000400 c0180000 db75a640 c03e9f84 df424b40 df424b48
[ 1.230978] NIP [
c02accc0] talitos_cra_init+0x28/0x6c
[ 1.236039] LR [
c02acd18] talitos_cra_init_aead+0x14/0x28
[ 1.241443] Call Trace:
[ 1.243894] [
db4d7de0] [
c03e9f84] 0xc03e9f84 (unreliable)
[ 1.249322] [
db4d7df0] [
c017bdc0] crypto_create_tfm+0x5c/0xf0
[ 1.255083] [
db4d7e10] [
c017beec] crypto_alloc_tfm+0x98/0xf8
[ 1.260769] [
db4d7e40] [
c0186a20] alg_test_aead+0x28/0xc8
[ 1.266181] [
db4d7e60] [
c0186718] alg_test+0x260/0x2e0
[ 1.271333] [
db4d7ee0] [
c0183860] cryptomgr_test+0x30/0x54
[ 1.276843] [
db4d7ef0] [
c0044d80] kthread+0xd4/0xd8
[ 1.281741] [
db4d7f40] [
c000e4a4] ret_from_kernel_thread+0x5c/0x64
[ 1.287930] Instruction dump:
[ 1.290902]
38600000 4e800020 81230028 7c681b78 81490010 38e9ffc0 3929ffe8 554a073e
[ 1.298691]
2b8a000a 7d474f9e 812a0008 91230030 <
80e90058>
39270060 7c0004ac 7cc04828
Fixes: aeb4c132f33d ("crypto: talitos - Convert to new AEAD interface")
Signed-off-by: Jonas Eymann <J.Eymann@gmx.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Fix typo - replaced parameter of __crypto_ahash_alg(): s/tfm/alg
Remove checkpatch warnings.
Add commit message.
Signed-off-by: Horia Geant? <horia.geanta@nxp.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>