On Thu, Apr 24, 2025 at 05:23:22PM -0700, Nathan Chancellor wrote: > After some recent changes to the RISC-V crypto code that turned some > indirect function calls into direct ones, builds with CONFIG_CFI_CLANG > fail with: > > ld.lld: error: undefined symbol: __kcfi_typeid_sm3_transform_zvksh_zvkb > >>> referenced by arch/riscv/crypto/sm3-riscv64-zvksh-zvkb.o:(.text+0x2) in archive vmlinux.a > > ld.lld: error: undefined symbol: __kcfi_typeid_sha512_transform_zvknhb_zvkb > >>> referenced by arch/riscv/crypto/sha512-riscv64-zvknhb-zvkb.o:(.text+0x2) in archive vmlinux.a > > ld.lld: error: undefined symbol: __kcfi_typeid_sha256_transform_zvknha_or_zvknhb_zvkb > >>> referenced by arch/riscv/crypto/sha256-riscv64-zvknha_or_zvknhb-zvkb.o:(.text+0x2) in archive vmlinux.a > > As these functions are no longer indirectly called (i.e., have their > address taken), the compiler will not emit __kcfi_typeid symbols for > them but SYM_TYPED_FUNC_START expects these to exist at link time. > > Switch the definitions of these functions to use SYM_FUNC_START, as they > no longer need kCFI type information since they are only called > directly. > > Fixes: 1523eaed0ac5 ("crypto: riscv/sm3 - Use API partial block handling") > Fixes: 561aab1104d8 ("crypto: riscv/sha512 - Use API partial block handling") > Fixes: e6c5597badf2 ("crypto: riscv/sha256 - Use API partial block handling") > Signed-off-by: Nathan Chancellor <nathan@xxxxxxxxxx> > --- > arch/riscv/crypto/sha256-riscv64-zvknha_or_zvknhb-zvkb.S | 4 ++-- > arch/riscv/crypto/sha512-riscv64-zvknhb-zvkb.S | 4 ++-- > arch/riscv/crypto/sm3-riscv64-zvksh-zvkb.S | 4 ++-- > 3 files changed, 6 insertions(+), 6 deletions(-) Patch applied. Thanks. -- Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt