linux/drivers/crypto
Li Zhong 901d3d4fee crypto: vmx - fix null dereference in p8_aes_xts_crypt
walk.iv is not assigned a value in blkcipher_walk_init. It makes iv uninitialized.
It is possibly a null value(as shown below), which is then used by aes_p8_encrypt.

This patch moves iv = walk.iv after blkcipher_walk_virt, in which walk.iv is set.

[17856.268050] Unable to handle kernel paging request for data at address 0x00000000
[17856.268212] Faulting instruction address: 0xd000000002ff04bc
7:mon> t
[link register   ] d000000002ff47b8 p8_aes_xts_crypt+0x168/0x2a0 [vmx_crypto]   (938)
[c000000013b77960] d000000002ff4794 p8_aes_xts_crypt+0x144/0x2a0 [vmx_crypto] (unreliable)
[c000000013b77a70] c000000000544d64 skcipher_decrypt_blkcipher+0x64/0x80
[c000000013b77ac0] d000000003c0175c crypt_convert+0x53c/0x620 [dm_crypt]
[c000000013b77ba0] d000000003c043fc kcryptd_crypt+0x3cc/0x440 [dm_crypt]
[c000000013b77c50] c0000000000f3070 process_one_work+0x1e0/0x590
[c000000013b77ce0] c0000000000f34c8 worker_thread+0xa8/0x660
[c000000013b77d80] c0000000000fc0b0 kthread+0x110/0x130
[c000000013b77e30] c0000000000098f0 ret_from_kernel_thread+0x5c/0x6c

Signed-off-by: Li Zhong <zhong@linux.vnet.ibm.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2016-08-24 20:51:20 +08:00
..
amcc crypto4xx: integrate ppc4xx-rng into crypto4xx 2016-04-20 17:50:02 +08:00
caam crypto: caam - fix non-hmac hashes 2016-08-09 18:25:11 +08:00
ccp crypto: ccp - Use skcipher for fallback 2016-07-01 23:45:08 +08:00
marvell crypto: marvell - Don't copy IV vectors from the _process op for ciphers 2016-07-29 18:30:17 +08:00
nx crypto: nx - off by one bug in nx_of_update_msc() 2016-07-19 12:01:47 +08:00
qat crypto: qat - fix aes-xts key sizes 2016-08-24 20:51:19 +08:00
qce crypto: qce - Use skcipher for fallback 2016-07-01 23:45:09 +08:00
rockchip crypto: rockchip - add hash support for crypto engine in rk3288 2016-02-28 03:26:29 +08:00
sunxi-ss crypto: sun4i-ss - Replace spinlock_bh by spin_lock_irq{save|restore} 2016-04-05 20:35:53 +08:00
ux500 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2016-07-21 12:26:55 +08:00
vmx crypto: vmx - fix null dereference in p8_aes_xts_crypt 2016-08-24 20:51:20 +08:00
Kconfig s390/crc32-vx: add crypto API module for optimized CRC-32 algorithms 2016-06-15 16:36:34 +02:00
Makefile crypto: mxc-scc - add basic driver for the MXC SCC 2016-04-15 22:36:35 +08:00
atmel-aes-regs.h crypto: atmel-aes - add support to GCM mode 2015-12-23 18:19:58 +08:00
atmel-aes.c Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2016-03-17 11:22:54 -07:00
atmel-sha-regs.h crypto: atmel-sha - fix context switches 2016-01-25 22:42:07 +08:00
atmel-sha.c Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2016-03-17 11:22:54 -07:00
atmel-tdes-regs.h crypto: atmel-tdes - add support for latest release of the IP (0x700) 2013-03-10 16:46:42 +08:00
atmel-tdes.c crypto: atmel - fix checks of error code returned by devm_ioremap_resource() 2016-03-11 21:19:19 +08:00
bfin_crc.c crypto: bfin_crc - Simplify use of devm_ioremap_resource 2016-07-05 23:05:24 +08:00
bfin_crc.h crypto: bfin_crc - access crc registers by readl and writel functions 2014-04-16 20:40:15 +08:00
geode-aes.c crypto: geode - Don't use tfm->__crt_alg->cra_name directly 2014-05-22 21:03:13 +08:00
geode-aes.h crypto: geode - Consistently use AES_KEYSIZE_128 2014-05-22 21:03:12 +08:00
hifn_795x.c crypto: hifn_795x, picoxcell - use ablkcipher_request_cast 2015-12-29 21:32:44 +08:00
img-hash.c crypto: img-hash - fix spelling mistake in dev_err error message 2015-08-04 17:41:31 +08:00
ixp4xx_crypto.c crypto: ixp4xx - Fix false lastlen uninitialised warning 2016-01-25 22:42:09 +08:00
mv_cesa.c crypto: marvell/cesa - another fix up for of_get_named_gen_pool() rename 2015-07-03 11:37:02 -07:00
mv_cesa.h crypto: mv_cesa - Add missing #define 2014-08-29 21:46:36 +08:00
mxc-scc.c crypto: mxc-scc - fix unwinding in mxc_scc_crypto_register() 2016-04-25 19:14:53 +08:00
mxs-dcp.c crypto: mxs-dcp - Use skcipher for fallback 2016-07-01 23:45:08 +08:00
n2_asm.S crypto: n2 - Add Niagara2 crypto driver 2010-05-19 14:14:04 +10:00
n2_core.c crypto: n2 - Remove return statement from void function 2016-04-05 20:35:44 +08:00
n2_core.h crypto: n2 - Add Niagara2 crypto driver 2010-05-19 14:14:04 +10:00
omap-aes.c crypto: omap - Stop using crypto scatterwalk_bytes_sglen 2016-07-18 17:35:48 +08:00
omap-des.c crypto: omap - Stop using crypto scatterwalk_bytes_sglen 2016-07-18 17:35:48 +08:00
omap-sham.c crypto: omap-sham - increase cra_proirity to 400 2016-07-01 23:45:22 +08:00
padlock-aes.c Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2016-01-12 18:51:14 -08:00
padlock-sha.c x86/cpufeature: Remove unused and seldomly used cpu_has_xx macros 2015-12-19 11:49:55 +01:00
picoxcell_crypto.c crypto: picoxcell - Use skcipher for fallback 2016-07-01 23:45:09 +08:00
picoxcell_crypto_regs.h crypto: picoxcell - add support for the picoxcell crypto engines 2011-02-21 22:42:40 +11:00
s5p-sss.c crypto: s5p-sss - Use consistent indentation for variables and members 2016-05-31 17:52:30 +08:00
sahara.c crypto: sahara - Use skcipher for fallback 2016-07-01 23:45:10 +08:00
talitos.c crypto: talitos - templates for AEAD using HMAC_SNOOP_NO_AFEU 2016-06-08 16:20:04 +08:00
talitos.h crypto: talitos - add new crypto modes 2015-12-04 22:29:56 +08:00