Sean Anderson
2e6d793e1b
crypto: mxs-dcp - Use sg_mapping_iter to copy data
This uses the sg_pcopy_from_buffer to copy data, instead of doing it
ourselves.
In addition to reducing code size, this fixes the following oops
resulting from failing to kmap the page:
[ 68.896381] Unable to handle kernel NULL pointer dereference at virtual address 00000ab8
[ 68.904539] pgd = 3561adb3
[ 68.907475] [00000ab8] *pgd=00000000
[ 68.911153] Internal error: Oops: 805 [#1] ARM
[ 68.915618] Modules linked in: cfg80211 rfkill des_generic libdes arc4 libarc4 cbc ecb algif_skcipher sha256_generic libsha256 sha1_generic hmac aes_generic libaes cmac sha512_generic md5 md4 algif_hash af_alg i2c_imx i2c_core ci_hdrc_imx ci_hdrc mxs_dcp ulpi roles udc_core imx_sdma usbmisc_imx usb_common firmware_class virt_dma phy_mxs_usb nf_tables nfnetlink ip_tables x_tables ipv6 autofs4
[ 68.950741] CPU: 0 PID: 139 Comm: mxs_dcp_chan/ae Not tainted 5.10.34 #296
[ 68.958501] Hardware name: Freescale i.MX6 Ultralite (Device Tree)
[ 68.964710] PC is at memcpy+0xa8/0x330
[ 68.968479] LR is at 0xd7b2bc9d
[ 68.971638] pc : [<c053e7c8>] lr : [<d7b2bc9d>] psr: 000f0013
[ 68.977920] sp : c2cbbee4 ip : 00000010 fp : 00000010
[ 68.983159] r10: 00000000 r9 : c3283a40 r8 : 1a5a6f08
[ 68.988402] r7 : 4bfe0ecc r6 : 76d8a220 r5 : c32f9050 r4 : 00000001
[ 68.994945] r3 : 00000ab8 r2 : fffffff0 r1 : c32f9050 r0 : 00000ab8
[ 69.001492] Flags: nzcv IRQs on FIQs on Mode SVC_32 ISA ARM Segment none
[ 69.008646] Control: 10c53c7d Table: 83664059 DAC: 00000051
[ 69.014414] Process mxs_dcp_chan/ae (pid: 139, stack limit = 0x667b57ab)
[ 69.021133] Stack: (0xc2cbbee4 to 0xc2cbc000)
[ 69.025519] bee0: c32f9050 c3235408 00000010 00000010 00000ab8 00000001 bf10406c
[ 69.033720] bf00: 00000000 00000000 00000010 00000000 c32355d0 832fb080 00000000 c13de2fc
[ 69.041921] bf20: c3628010 00000010 c33d5780 00000ab8 bf1067e8 00000002 c21e5010 c2cba000
[ 69.050125] bf40: c32f8040 00000000 bf106a40 c32f9040 c3283a80 00000001 bf105240 c3234040
[ 69.058327] bf60: ffffe000 c3204100 c2c69800 c2cba000 00000000 bf103b84 00000000 c2eddc54
[ 69.066530] bf80: c3204144 c0140d1c c2cba000 c2c69800 c0140be8 00000000 00000000 00000000
[ 69.074730] bfa0: 00000000 00000000 00000000 c0100114 00000000 00000000 00000000 00000000
[ 69.082932] bfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 69.091131] bfe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
[ 69.099364] [<c053e7c8>] (memcpy) from [<bf10406c>] (dcp_chan_thread_aes+0x4e8/0x840 [mxs_dcp])
[ 69.108117] [<bf10406c>] (dcp_chan_thread_aes [mxs_dcp]) from [<c0140d1c>] (kthread+0x134/0x160)
[ 69.116941] [<c0140d1c>] (kthread) from [<c0100114>] (ret_from_fork+0x14/0x20)
[ 69.124178] Exception stack(0xc2cbbfb0 to 0xc2cbbff8)
[ 69.129250] bfa0: 00000000 00000000 00000000 00000000
[ 69.137450] bfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 69.145648] bfe0: 00000000 00000000 00000000 00000000 00000013 00000000
[ 69.152289] Code: e320f000 e4803004 e4804004 e4805004 (e4806004)
Signed-off-by: Sean Anderson <sean.anderson@seco.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2021-07-16 15:49:34 +08:00
..
2021-07-05 14:08:24 -07:00
2021-07-07 13:30:01 -07:00
2021-07-10 09:22:44 -07:00
2021-06-30 15:51:09 -07:00
2021-07-07 13:22:59 -07:00
2021-07-09 12:05:33 -07:00
2021-07-05 14:08:24 -07:00
2021-07-10 09:46:20 -07:00
2021-06-30 15:34:19 -06:00
2021-07-10 09:22:44 -07:00
2021-07-08 12:12:22 -07:00
2021-07-01 13:26:16 -07:00
2021-07-05 14:01:53 -07:00
2021-07-01 14:25:43 +02:00
2021-06-30 14:56:51 +02:00
2021-07-16 15:49:34 +08:00
2021-06-29 10:53:48 -07:00
2021-06-24 10:37:35 +09:00
2021-07-05 13:51:41 -07:00
2021-07-02 12:08:10 -07:00
2021-07-05 13:42:16 -07:00
2021-07-05 13:42:16 -07:00
2021-07-10 09:46:20 -07:00
2021-06-24 15:45:11 +02:00
2021-07-05 12:10:34 -07:00
2021-07-08 12:28:15 -07:00
2021-06-30 09:15:15 +02:00
2021-07-02 12:08:10 -07:00
2021-07-05 13:42:16 -07:00
2021-07-05 13:42:16 -07:00
2021-07-04 11:47:18 -07:00
2021-07-10 11:53:06 -07:00
2021-07-05 14:01:53 -07:00
2021-07-03 11:13:22 -07:00
2021-07-09 10:19:13 -07:00
2021-07-10 09:46:20 -07:00
2021-07-05 14:08:24 -07:00
2021-07-09 15:35:13 +02:00
2021-07-05 14:08:24 -07:00
2021-07-03 11:57:42 -07:00
2021-06-26 12:06:48 -05:00
2021-06-24 15:56:25 +02:00
2021-06-30 18:19:39 -07:00
2021-07-05 13:51:41 -07:00
2021-06-30 12:12:56 -07:00
2021-07-05 13:51:41 -07:00
2021-07-05 14:08:24 -07:00
2021-07-09 12:05:33 -07:00
2021-07-09 10:10:47 -07:00
2021-07-10 09:22:44 -07:00
2021-07-04 11:55:13 -07:00
2021-07-09 12:05:33 -07:00
2021-07-05 13:42:16 -07:00
2021-07-03 10:54:08 -07:00
2021-07-01 11:06:04 -07:00
2021-07-10 11:57:57 -07:00
2021-07-05 14:16:22 -07:00
2021-07-01 16:57:14 -07:00
2021-07-05 13:51:41 -07:00
2021-07-05 13:42:16 -07:00
2021-07-07 13:17:48 -07:00
2021-06-29 11:29:37 -07:00
2021-07-07 21:43:32 +02:00
2021-07-05 12:10:34 -07:00
2021-07-07 10:50:03 -07:00
2021-07-10 09:46:20 -07:00
2021-07-10 16:19:10 -07:00
2021-07-10 10:46:14 -07:00
2021-07-11 10:59:53 -07:00
2021-06-24 15:46:34 +02:00
2021-07-10 09:46:20 -07:00
2021-07-05 13:42:16 -07:00
2021-06-25 14:08:26 +01:00
2021-06-25 10:02:05 +02:00
2021-07-05 14:08:24 -07:00
2021-07-09 12:05:33 -07:00
2021-06-28 20:03:38 -07:00
2021-07-10 11:43:25 -07:00
2021-07-05 14:16:22 -07:00
2021-07-09 10:19:13 -07:00
2021-07-05 14:16:22 -07:00
2021-07-08 07:49:02 -04:00
2021-07-03 11:49:33 -07:00
2021-07-08 07:49:01 -04:00
2021-07-09 10:19:13 -07:00
2021-06-24 15:48:27 +02:00
2021-07-09 11:06:29 -07:00
2021-07-07 12:57:46 -07:00
2021-07-07 11:07:13 -07:00
2021-06-29 11:21:35 -07:00