linux/drivers/crypto
Weili Qian daa31783c0 crypto: hisilicon/qm - fix the call trace when unbind device
Call trace will appear in the Hisilicon crypto driver unbinding or
disabling SRIOV during task running with TFMs on the corresponding
function.
The log looks like this:
	[  293.908078] Call trace:
	[  293.908080]  __queue_work+0x494/0x548
	[  293.908081]  queue_work_on+0x84/0xd8
	[  293.908092]  qm_irq+0x4c/0xd0 [hisi_qm]
	[  293.908096]  __handle_irq_event_percpu+0x74/0x2a0
	[  293.908098]  handle_irq_event_percpu+0x40/0x98
	[  293.908099]  handle_irq_event+0x4c/0x80
	[  293.908101]  handle_fasteoi_irq+0xb0/0x170
	[  293.908102]  generic_handle_irq+0x3c/0x58
	[  293.908103]  __handle_domain_irq+0x68/0xc0
	[  293.908104]  gic_handle_irq+0xb4/0x298
	[  293.908105]  el1_irq+0xcc/0x180
	[  293.908107]  arch_cpu_idle+0x38/0x228
	[  293.908110]  default_idle_call+0x20/0x40
	[  293.908113]  do_idle+0x1cc/0x2b8
	[  293.908114]  cpu_startup_entry+0x2c/0x30
	[  293.908115]  rest_init+0xdc/0xe8
	[  293.908117]  arch_call_rest_init+0x14/0x1c
	[  293.908117]  start_kernel+0x490/0x4c4

This patch adds a waiting logic as user doing the above two operations
to avoid panic. The two operations will hold on in the driver
remove function until the tasks release all their relative TFMs.

Signed-off-by: Hui Tang <tanghui20@huawei.com>
Signed-off-by: Weili Qian <qianweili@huawei.com>
Signed-off-by: Yang Shen <shenyang39@huawei.com>
Reviewed-by: Zhou Wang <wangzhou1@hisilicon.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2020-08-21 14:47:53 +10:00
..
allwinner mm, treewide: rename kzfree() to kfree_sensitive() 2020-08-07 11:33:22 -07:00
amcc crypto: algapi - Remove skbuff.h inclusion 2020-08-20 14:04:28 +10:00
amlogic mm, treewide: rename kzfree() to kfree_sensitive() 2020-08-07 11:33:22 -07:00
axis crypto: drivers - set the flag CRYPTO_ALG_ALLOCATES_MEMORY 2020-07-16 21:49:10 +10:00
bcm crypto: drivers - set the flag CRYPTO_ALG_ALLOCATES_MEMORY 2020-07-16 21:49:10 +10:00
caam crypto: caam - Move debugfs fops into standalone file 2020-08-21 14:47:49 +10:00
cavium mm, treewide: rename kzfree() to kfree_sensitive() 2020-08-07 11:33:22 -07:00
ccp crypto: algapi - Remove skbuff.h inclusion 2020-08-20 14:04:28 +10:00
ccree crypto: ccree - remove bitlocker cipher 2020-08-21 14:45:28 +10:00
chelsio Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2020-08-05 20:13:21 -07:00
hisilicon crypto: hisilicon/qm - fix the call trace when unbind device 2020-08-21 14:47:53 +10:00
inside-secure crypto: inside-secure - irq balance 2020-07-31 18:08:59 +10:00
marvell crypto: marvell/cesa - Fix sparse warnings 2020-08-21 14:45:27 +10:00
mediatek crypto: mediatek - Fix wrong return value in mtk_desc_ring_alloc() 2020-08-21 14:45:27 +10:00
nx mm, treewide: rename kzfree() to kfree_sensitive() 2020-08-07 11:33:22 -07:00
qat crypto: qat - fix double free in qat_uclo_create_batch_init_list 2020-07-23 17:34:17 +10:00
qce crypto: algapi - Remove skbuff.h inclusion 2020-08-20 14:04:28 +10:00
rockchip crypto: algapi - Remove skbuff.h inclusion 2020-08-20 14:04:28 +10:00
stm32 crypto: stm32/crc32 - protect from concurrent accesses 2020-05-23 00:08:21 +10:00
ux500 crypto: ux500 - Fix kmap() bug 2020-08-21 14:47:49 +10:00
virtio crypto: virtio - don't use 'default m' 2020-08-21 14:47:50 +10:00
vmx powerpc: Replace HTTP links with HTTPS ones 2020-07-22 00:01:23 +10:00
xilinx crypto: algapi - Remove skbuff.h inclusion 2020-08-20 14:04:28 +10:00
atmel-aes-regs.h
atmel-aes.c crypto: atmel-{aes,sha,tdes} - Retire crypto_platform_data 2020-01-22 16:21:09 +08:00
atmel-authenc.h crypto: remove propagation of CRYPTO_TFM_RES_* flags 2020-01-09 11:30:53 +08:00
atmel-ecc.c mm, treewide: rename kzfree() to kfree_sensitive() 2020-08-07 11:33:22 -07:00
atmel-i2c.c crypto: atmel-i2c - Fix wakeup fail 2020-03-20 14:36:51 +11:00
atmel-i2c.h
atmel-sha204a.c
atmel-sha-regs.h
atmel-sha.c crypto: lib/sha1 - remove unnecessary includes of linux/cryptohash.h 2020-05-08 15:32:17 +10:00
atmel-tdes-regs.h
atmel-tdes.c crypto: atmel-{aes,sha,tdes} - Retire crypto_platform_data 2020-01-22 16:21:09 +08:00
exynos-rng.c
geode-aes.c crypto: remove propagation of CRYPTO_TFM_RES_* flags 2020-01-09 11:30:53 +08:00
geode-aes.h
hifn_795x.c crypto: hifn_795x - switch from 'pci_' to 'dma_' API 2020-08-21 14:45:25 +10:00
img-hash.c crypto: algapi - Remove skbuff.h inclusion 2020-08-20 14:04:28 +10:00
ixp4xx_crypto.c crypto: ixp4xx - Fix the size used in a 'dma_free_coherent()' call 2020-08-21 14:45:27 +10:00
Kconfig crypto: sa2ul - Add crypto driver 2020-07-23 17:34:16 +10:00
Makefile crypto: sa2ul - Add crypto driver 2020-07-23 17:34:16 +10:00
mxs-dcp.c crypto: mxs-dcp - permit asynchronous skcipher as fallback 2020-07-16 21:49:03 +10:00
n2_asm.S
n2_core.c crypto: drivers - set the flag CRYPTO_ALG_ALLOCATES_MEMORY 2020-07-16 21:49:10 +10:00
n2_core.h
omap-aes-gcm.c crypto: omap-aes - avoid spamming console with self tests 2020-06-04 22:03:39 +10:00
omap-aes.c crypto: omap-aes - Fix sparse and compiler warnings 2020-07-23 17:34:19 +10:00
omap-aes.h crypto: omap-aes - permit asynchronous skcipher as fallback 2020-07-16 21:49:02 +10:00
omap-crypto.c crypto: omap-crypto - fix userspace copied buffer access 2020-06-04 22:03:40 +10:00
omap-crypto.h
omap-des.c crypto: omap-des - Fix sparse/compiler warnings 2020-06-26 14:46:42 +10:00
omap-sham.c crypto: omap-sham - Fix sparse/compiler warnings 2020-06-26 14:46:42 +10:00
padlock-aes.c crypto: algapi - Remove skbuff.h inclusion 2020-08-20 14:04:28 +10:00
padlock-sha.c crypto: Convert to new CPU match macros 2020-03-24 21:36:06 +01:00
picoxcell_crypto_regs.h
picoxcell_crypto.c crypto: picoxcell - Fix potential race condition bug 2020-08-21 14:47:50 +10:00
qcom-rng.c crypto: algapi - Remove skbuff.h inclusion 2020-08-20 14:04:28 +10:00
s5p-sss.c crypto: s5p-sss - use crypto_shash_tfm_digest() 2020-05-08 15:32:14 +10:00
sa2ul.c crypto: sa2ul - Fix inconsistent IS_ERR and PTR_ERR 2020-07-31 18:25:29 +10:00
sa2ul.h crypto: sa2ul - Add AEAD algorithm support 2020-07-23 17:34:17 +10:00
sahara.c crypto: algapi - Remove skbuff.h inclusion 2020-08-20 14:04:28 +10:00
talitos.c crypto: drivers - set the flag CRYPTO_ALG_ALLOCATES_MEMORY 2020-07-16 21:49:10 +10:00
talitos.h