Part Number: AM3352
Tool/software: Linux
I have an AM3352 processor running a linux system with a linux kernel from the processor-sdk-linux-rt-04.02.00 branch (kernel v 4.9.59).
I use encrypted file systems and various user space processes using the cryptodev module (rev 1.9). This means that the aes driver in the kernel is having a busy time. This has worked fine in the 4.4.12 kernel (processor-sdk-linux-rt-03.00.00), but when I upgraded to the 4.9.59 kernel I get random crashes in omap-aes.c. It crashes in different places. Here is one typical crash that I get. It looks to me like there is some kind of memory corruption.
[ 3048.612234] omap_aes_prepare_req: Failed to copy SGs for unaligned cases
[ 3048.620382] Unable to handle kernel NULL pointer dereference at virtual address 00000004
[ 3048.628928] pgd = cdac8000
[ 3048.631766] [00000004] *pgd=00000000
[ 3048.635531] Internal error: Oops: 5 [#1] ARM
[ 3048.639999] Modules linked in: cryptodev(O)
[ 3048.644391] CPU: 0 PID: 1154 Comm: in:imklog Tainted: G O 4.9.59-rt23+ #75
[ 3048.652768] Hardware name: Generic AM33XX (Flattened Device Tree)
[ 3048.659144] task: cc1d8140 task.stack: cc58c000
[ 3048.663894] PC is at scatterwalk_copychunks+0x110/0x190
[ 3048.669362] LR is at scatterwalk_copychunks+0x108/0x190
[ 3048.674831] pc : [<c03876b4>] lr : [<c03876ac>] psr: 200f0113
[ 3048.674831] sp : cc58de70 ip : cc58de70 fp : cc58de9c
[ 3048.686849] r10: c3af3644 r9 : 00008000 r8 : 00000001
[ 3048.692316] r7 : 00000001 r6 : c7df0030 r5 : cc58dea8 r4 : 00000674
[ 3048.699147] r3 : 00000000 r2 : 00000644 r1 : 00000674 r0 : 00000000
[ 3048.705981] Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment none
[ 3048.713451] Control: 10c5387d Table: 8dac8019 DAC: 00000051
[ 3048.719463] Process in:imklog (pid: 1154, stack limit = 0xcc58c210)
[ 3048.726022] Stack: (0xcc58de70 to 0xcc58e000)
[ 3048.730584] de60: 00000001 cca3a010 c0118470 c7df0000
[ 3048.739150] de80: c3540000 00000100 c0d3fd84 40000006 cc58decc cc58dea0 c05cf8fc c03875b0
[ 3048.747715] dea0: 00000000 cca3a010 00000000 00000674 cca3a030 00000000 00000000 c08cf294
[ 3048.756279] dec0: cc58deec cc58ded0 c0134a28 c05cf6e0 00000000 00000006 cc58c000 c0d3fd9c
[ 3048.764843] dee0: cc58defc cc58def0 c0134abc c0134a04 cc58df5c cc58df00 c0134c2c c0134a98
[ 3048.773408] df00: c0160668 c0162910 c01e9e50 00400140 c0d13440 000431b2 00000009 c0803860
[ 3048.781973] df20: ffffe000 c0d3fd40 c0d0fcf0 c0d3fd84 cd815300 c0d1d358 00000014 00000000
[ 3048.790538] df40: 00000000 cd804000 00000000 004e004c cc58df6c cc58df60 c01352f8 c0134b4c
[ 3048.799103] df60: cc58df94 cc58df70 c015fe68 c01351d0 c0d6bc68 200f0030 ffffffff 10c5387d
[ 3048.807667] df80: 10c53c7d 00000000 cc58dfac cc58df98 c0101420 c015fe14 004b426a 200f0030
[ 3048.816232] dfa0: 00000000 cc58dfb0 c07025d4 c01013f0 00517a78 00503970 00000000 00000001
[ 3048.824796] dfc0: 00517a78 00000001 00503970 005081d0 00505cc0 00000000 004e004c b6877d30
[ 3048.833361] dfe0: 00503a00 b6877428 004b56d9 004b426a 200f0030 ffffffff 00000000 00000000
[ 3048.841917] Backtrace:
[ 3048.844488] [<c03875a4>] (scatterwalk_copychunks) from [<c05cf8fc>] (omap_aes_done_task+0x228/0x284)
[ 3048.854053] r10:40000006 r9:c0d3fd84 r8:00000100 r7:c3540000 r6:c7df0000 r5:c0118470
[ 3048.862249] r4:cca3a010 r3:00000001
[ 3048.866007] [<c05cf6d4>] (omap_aes_done_task) from [<c0134a28>] (__tasklet_action.constprop.6+0x30/0x94)
[ 3048.875933] r7:c08cf294 r6:00000000 r5:00000000 r4:cca3a030
[ 3048.881861] [<c01349f8>] (__tasklet_action.constprop.6) from [<c0134abc>] (tasklet_action+0x30/0x34)
[ 3048.891423] r7:c0d3fd9c r6:cc58c000 r5:00000006 r4:00000000
[ 3048.897351] [<c0134a8c>] (tasklet_action) from [<c0134c2c>] (__do_softirq+0xec/0x258)
[ 3048.905553] [<c0134b40>] (__do_softirq) from [<c01352f8>] (irq_exit+0x134/0x138)
[ 3048.913297] r10:004e004c r9:00000000 r8:cd804000 r7:00000000 r6:00000000 r5:00000014
[ 3048.921491] r4:c0d1d358
[ 3048.924152] [<c01351c4>] (irq_exit) from [<c015fe68>] (__handle_domain_irq+0x60/0xb0)
[ 3048.932353] [<c015fe08>] (__handle_domain_irq) from [<c0101420>] (omap_intc_handle_irq+0x3c/0x98)
[ 3048.941644] r9:00000000 r8:10c53c7d r7:10c5387d r6:ffffffff r5:200f0030 r4:c0d6bc68
[ 3048.949764] [<c01013e4>] (omap_intc_handle_irq) from [<c07025d4>] (__irq_usr+0x54/0x80)
[ 3048.958141] Exception stack(0xcc58dfb0 to 0xcc58dff8)
[ 3048.963429] dfa0: 00517a78 00503970 00000000 00000001
[ 3048.971994] dfc0: 00517a78 00000001 00503970 005081d0 00505cc0 00000000 004e004c b6877d30
[ 3048.980557] dfe0: 00503a00 b6877428 004b56d9 004b426a 200f0030 ffffffff
[ 3048.987480] r5:200f0030 r4:004b426a
[ 3048.991225] Code: e1a00003 eb012369 e5850000 e1a03000 (e5901004)
[ 3048.997694] ---[ end trace 85338e5eb66d6e98 ]---
[ 3049.002529] Kernel panic - not syncing: Fatal exception in interrupt
[ 3049.009181] ---[ end Kernel panic - not syncing: Fatal exception in interrupt
----------------------
What could this be due to?