linux_dsm_epyc7002/drivers/crypto
Arnd Bergmann 8d3bcb9900 crypto: sun4i-ss - reduce stack usage
After the latest addition, the stack usage of sun4i_ss_cipher_poll
grew beyond the warning limit when KASAN is enabled:

drivers/crypto/sunxi-ss/sun4i-ss-cipher.c:118:12: error: stack frame size of 1152 bytes in function 'sun4i_ss_cipher_poll' [-Werror,-Wframe-larger-than=]
static int sun4i_ss_cipher_poll(struct skcipher_request *areq)

Reduce it in three ways:

- split out the new code into a separate function so its stack
  usage can overlap that of the sun4i_ss_opti_poll() code path
- mark both special cases as noinline_for_stack, which should
  ideally result in a tail call that frees the rest of the
  stack
- move the buf and obuf variables into the code blocks in
  which they are used.

The three separate functions now use 144, 640 and 304 bytes of kernel
stack, respectively.

Fixes: 0ae1f46c55 ("crypto: sun4i-ss - fallback when length is not multiple of blocksize")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Tested-by: Corentin LABBE <clabbe.montjoie@gmail.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2019-06-27 14:28:01 +08:00
..
amcc crypto: crypto4xx - block ciphers should only accept complete blocks 2019-05-23 14:13:09 +08:00
axis crypto: shash - remove shash_desc::flags 2019-04-25 15:38:12 +08:00
bcm crypto: bcm - Make some symbols static 2019-06-13 14:31:40 +08:00
caam crypto: caam - update IV using HW support 2019-06-20 14:18:33 +08:00
cavium crypto: cavium/nitrox - Use the correct style for SPDX License Identifier 2019-06-13 14:31:41 +08:00
ccp crypto: ccp - Fix 3DES complaint from ccp-crypto module 2019-05-23 14:01:07 +08:00
ccree crypto: ccree - add HW engine config check 2019-06-27 14:28:00 +08:00
chelsio crypto: chelsio - count incomplete block in IV 2019-05-09 13:17:23 +08:00
hisilicon crypto: hisilicon - Use the correct style for SPDX License Identifier 2019-06-13 14:31:41 +08:00
inside-secure crypto: inside-secure - do not rely on the hardware last bit for result descriptors 2019-06-06 14:38:56 +08:00
marvell crypto: marvell - Forbid 2-key 3DES in FIPS mode 2019-04-18 22:15:00 +08:00
mediatek crypto: shash - remove shash_desc::flags 2019-04-25 15:38:12 +08:00
nx crypto: nx - no need to check return value of debugfs_create functions 2019-06-20 14:19:55 +08:00
qat crypto: qat - use struct_size() helper 2019-06-13 14:31:41 +08:00
qce crypto: qce - Forbid 2-key 3DES in FIPS mode 2019-04-18 22:15:01 +08:00
rockchip crypto: rockchip - update IV buffer to contain the next IV 2019-04-18 22:15:04 +08:00
stm32 crypto: stm32/cryp - update to return iv_out 2019-05-03 14:03:29 +08:00
sunxi-ss crypto: sun4i-ss - reduce stack usage 2019-06-27 14:28:01 +08:00
ux500 crypto: ux500 - use ccflags-y instead of CFLAGS_<basename>.o 2019-04-25 15:40:39 +08:00
virtio crypto: virtio - clean up indentation, replace spaces with tab 2019-01-11 14:16:56 +08:00
vmx crypto: vmx - Document CTR mode counter width quirks 2019-06-20 14:18:33 +08:00
atmel-aes-regs.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
atmel-aes.c crypto: atmel - switch to SPDX license identifiers 2018-09-04 11:37:04 +08:00
atmel-authenc.h crypto: atmel - switch to SPDX license identifiers 2018-09-04 11:37:04 +08:00
atmel-ecc.c crypto: atmel-ecc - factor out code that can be shared 2019-05-30 15:35:45 +08:00
atmel-i2c.c crypto: atmel - Fix sparse endianness warnings 2019-06-06 14:38:57 +08:00
atmel-i2c.h crypto: atmel - Fix sparse endianness warnings 2019-06-06 14:38:57 +08:00
atmel-sha204a.c crypto: atmel-i2c - add support for SHA204A random number generator 2019-05-30 15:35:45 +08:00
atmel-sha-regs.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
atmel-sha.c crypto: atmel - switch to SPDX license identifiers 2018-09-04 11:37:04 +08:00
atmel-tdes-regs.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
atmel-tdes.c crypto: atmel - remove set but not used variable 'alg_name' 2019-05-03 14:03:29 +08:00
exynos-rng.c crypto: drivers - simplify getting .drvdata 2018-04-28 16:09:35 +08:00
geode-aes.c crypto: drop mask=CRYPTO_ALG_ASYNC from 'cipher' tfm allocations 2018-11-20 14:26:55 +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 - Forbid 2-key 3DES in FIPS mode 2019-04-18 22:15:00 +08:00
img-hash.c crypto: img-hash - remove unnecessary static in img_hash_remove() 2017-08-03 13:47:18 +08:00
ixp4xx_crypto.c crypto: ixp4xx - Fix cross-compile errors due to type mismatch 2019-05-30 15:30:05 +08:00
Kconfig crypto: atmel-i2c - Fix build error while CRC16 set to m 2019-06-06 14:44:16 +08:00
Makefile crypto: atmel-i2c - add support for SHA204A random number generator 2019-05-30 15:35:45 +08:00
mxs-dcp.c crypto: mxs-dcp - Use devm_platform_ioremap_resource() 2019-06-13 14:31:41 +08:00
n2_asm.S License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
n2_core.c crypto: shash - remove shash_desc::flags 2019-04-25 15:38:12 +08:00
n2_core.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
omap-aes-gcm.c crypto: omap-aes - pr_err() strings should end with newlines 2017-10-12 22:54:51 +08:00
omap-aes.c crypto: skcipher - remove remnants of internal IV generators 2018-12-23 11:52:45 +08:00
omap-aes.h crypto: omap-aes - Remove VLA usage of skcipher 2018-09-28 12:46:09 +08:00
omap-crypto.c crypto: omap-crypto - Verify page zone scatterlists before starting DMA 2018-03-09 22:45:36 +08:00
omap-crypto.h crypto: omap - add base support library for common routines 2017-06-10 12:04:15 +08:00
omap-des.c crypto: omap - Forbid 2-key 3DES in FIPS mode 2019-04-18 22:15:00 +08:00
omap-sham.c crypto: shash - remove shash_desc::flags 2019-04-25 15:38:12 +08:00
padlock-aes.c crypto: padlock-aes - Fix Nano workaround data corruption 2018-07-20 13:47:42 +08:00
padlock-sha.c crypto: shash - remove shash_desc::flags 2019-04-25 15:38:12 +08:00
picoxcell_crypto_regs.h crypto: picoxcell - add support for the picoxcell crypto engines 2011-02-21 22:42:40 +11:00
picoxcell_crypto.c crypto: picoxcell - Use dev_get_drvdata() 2019-05-03 14:03:29 +08:00
qcom-rng.c crypto: qcom-rng - Add ACPI support 2018-07-27 19:04:32 +08:00
s5p-sss.c crypto: shash - remove shash_desc::flags 2019-04-25 15:38:12 +08:00
sahara.c crypto: sahara - Use devm_platform_ioremap_resource() 2019-06-13 14:31:41 +08:00
talitos.c crypto: talitos - fix max key size for sha384 and sha512 2019-06-20 14:18:33 +08:00
talitos.h crypto: talitos - use SPDX-License-Identifier 2019-05-30 15:30:05 +08:00