acrn-kernel/arch/arm64/crypto
Tianjia Zhang 736f88689c crypto: arm64/sm4 - fix possible crash with CFI enabled
The SM4 CCM/GCM assembly functions for encryption and decryption is
called via indirect function calls.  Therefore they need to use
SYM_TYPED_FUNC_START instead of SYM_FUNC_START to cause its type hash
to be emitted when the kernel is built with CONFIG_CFI_CLANG=y.
Otherwise, the code crashes with a CFI failure (if the compiler didn't
happen to optimize out the indirect call).

Fixes: 67fa3a7fdf ("crypto: arm64/sm4 - add CE implementation for CCM mode")
Fixes: ae1b83c7d5 ("crypto: arm64/sm4 - add CE implementation for GCM mode")
Signed-off-by: Tianjia Zhang <tianjia.zhang@linux.alibaba.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2022-12-30 17:57:42 +08:00
..
.gitignore
Kconfig crypto: move gf128mul library into lib/crypto 2022-11-11 18:14:59 +08:00
Makefile crypto: arm64/sm4 - add CE implementation for GCM mode 2022-11-04 17:35:44 +08:00
aes-ce-ccm-core.S crypto: arm64/aes-ccm - avoid by-ref argument for ce_aes_ccm_auth_data 2021-09-17 11:05:11 +08:00
aes-ce-ccm-glue.c crypto: arm64/aes-ccm - avoid by-ref argument for ce_aes_ccm_auth_data 2021-09-17 11:05:11 +08:00
aes-ce-core.S
aes-ce-glue.c crypto: Prepare to move crypto_tfm_ctx 2022-12-02 18:12:40 +08:00
aes-ce-setkey.h
aes-ce.S
aes-cipher-core.S
aes-cipher-glue.c crypto: Prepare to move crypto_tfm_ctx 2022-12-02 18:12:40 +08:00
aes-glue.c crypto: arm64/aes-xctr - Improve readability of XCTR and CTR modes 2022-06-10 16:40:17 +08:00
aes-modes.S crypto: arm64/aes-modes - use frame_push/pop macros consistently 2022-12-09 18:45:00 +08:00
aes-neon.S crypto: arm64/aes-neon - Fix typo in comment 2022-06-30 15:56:57 +08:00
aes-neonbs-core.S crypto: arm64/aes-neonbs - use frame_push/pop consistently 2022-12-09 18:45:00 +08:00
aes-neonbs-glue.c crypto: arm64/aes-neonbs-xts - use plain NEON for non-power-of-2 input sizes 2022-02-05 15:10:51 +11:00
chacha-neon-core.S
chacha-neon-glue.c
crct10dif-ce-core.S crypto: arm64/crct10dif - use frame_push/pop macros consistently 2022-12-09 18:45:00 +08:00
crct10dif-ce-glue.c
ghash-ce-core.S crypto: arm64/ghash-ce - use frame_push/pop macros consistently 2022-12-09 18:45:00 +08:00
ghash-ce-glue.c crypto: arm64 - Fix unused variable compilation warnings of cpu_feature 2022-11-18 16:59:34 +08:00
nh-neon-core.S crypto: arm64/nhpoly1305 - eliminate unnecessary CFI wrapper 2022-11-25 17:39:19 +08:00
nhpoly1305-neon-glue.c crypto: arm64/nhpoly1305 - eliminate unnecessary CFI wrapper 2022-11-25 17:39:19 +08:00
poly1305-armv8.pl
poly1305-glue.c crypto: arm64/poly1305 - fix a read out-of-bound 2022-07-29 18:29:17 +08:00
polyval-ce-core.S crypto: arm64/polyval - Add PMULL accelerated implementation of POLYVAL 2022-06-10 16:40:18 +08:00
polyval-ce-glue.c crypto: arm64/polyval - Add PMULL accelerated implementation of POLYVAL 2022-06-10 16:40:18 +08:00
sha1-ce-core.S
sha1-ce-glue.c
sha2-ce-core.S
sha2-ce-glue.c
sha3-ce-core.S
sha3-ce-glue.c crypto: arm64 - cleanup comments 2022-03-09 15:12:32 +12:00
sha256-glue.c
sha512-armv8.pl crypto: arm64 - cleanup comments 2022-03-09 15:12:32 +12:00
sha512-ce-core.S
sha512-ce-glue.c crypto: arm64 - cleanup comments 2022-03-09 15:12:32 +12:00
sha512-glue.c
sm3-ce-core.S arm64: Add types to indirect called assembly functions 2022-09-26 10:13:13 -07:00
sm3-ce-glue.c crypto: arm64/sm3 - raise the priority of the CE implementation 2022-11-04 17:33:22 +08:00
sm3-neon-core.S crypto: arm64/sm3 - fix possible crash with CFI enabled 2022-11-25 17:39:19 +08:00
sm3-neon-glue.c crypto: arm64/sm3 - add NEON assembly implementation 2022-11-04 17:34:21 +08:00
sm4-ce-asm.h crypto: arm64/sm4 - refactor and simplify CE implementation 2022-11-04 17:34:31 +08:00
sm4-ce-ccm-core.S crypto: arm64/sm4 - fix possible crash with CFI enabled 2022-12-30 17:57:42 +08:00
sm4-ce-ccm-glue.c crypto: arm64/sm4 - add CE implementation for CCM mode 2022-11-04 17:35:32 +08:00
sm4-ce-cipher-core.S crypto: arm64/sm4-ce - rename to sm4-ce-cipher 2022-04-08 16:12:47 +08:00
sm4-ce-cipher-glue.c crypto: Prepare to move crypto_tfm_ctx 2022-12-02 18:12:40 +08:00
sm4-ce-core.S crypto: arm64/sm4 - add CE implementation for cmac/xcbc/cbcmac 2022-11-04 17:34:43 +08:00
sm4-ce-gcm-core.S crypto: arm64/sm4 - fix possible crash with CFI enabled 2022-12-30 17:57:42 +08:00
sm4-ce-gcm-glue.c crypto: arm64 - Fix unused variable compilation warnings of cpu_feature 2022-11-18 16:59:34 +08:00
sm4-ce-glue.c crypto: arm64/sm4 - add CE implementation for cmac/xcbc/cbcmac 2022-11-04 17:34:43 +08:00
sm4-ce.h crypto: arm64/sm4 - export reusable CE acceleration functions 2022-11-04 17:34:42 +08:00
sm4-neon-core.S crypto: arm64/sm4 - refactor and simplify NEON implementation 2022-11-04 17:34:21 +08:00
sm4-neon-glue.c crypto: arm64/sm4 - refactor and simplify NEON implementation 2022-11-04 17:34:21 +08:00