On Mon, Nov 27, 2023 at 03:06:59PM +0800, Jerry Shih wrote: > +/* > + * sha256 using zvkb and zvknha/b vector crypto extension > + * > + * This asm function will just take the first 256-bit as the sha256 state from > + * the pointer to `struct sha256_state`. > + */ > +asmlinkage void > +sha256_block_data_order_zvkb_zvknha_or_zvknhb(struct sha256_state *digest, > + const u8 *data, int num_blks); The SHA-2 and SM3 assembly functions are potentially being called using indirect calls, depending on whether the compiler optimizes out the indirect call that exists in the code or not. These assembly functions also are not defined using SYM_TYPED_FUNC_START. This is not compatible with Control Flow Integrity (CONFIG_CFI_CLANG); these indirect calls might generate CFI failures. I recommend using wrapper functions to avoid this issue, like what is done in arch/arm64/crypto/sha2-ce-glue.c. - Eric