crypto: arm64/sm4 - fix possible crash with CFI enabled
authorTianjia Zhang <tianjia.zhang@linux.alibaba.com>
Wed, 21 Dec 2022 07:32:32 +0000 (15:32 +0800)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 30 Dec 2022 09:57:42 +0000 (17:57 +0800)
commit736f88689c6912f05d0116917910603a7ba97de7
tree24c19c77e5cdf8c4e82ccf4ba0c490c5296b903c
parenta23529989a8f56d23680c4f2d14011bc9c9457c9
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: 67fa3a7fdf80 ("crypto: arm64/sm4 - add CE implementation for CCM mode")
Fixes: ae1b83c7d572 ("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>
arch/arm64/crypto/sm4-ce-ccm-core.S
arch/arm64/crypto/sm4-ce-gcm-core.S