[PATCH] riscv: crypto - Use SYM_FUNC_START for functions only called directly
Herbert Xu
herbert at gondor.apana.org.au
Thu Apr 24 19:48:44 PDT 2025
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 at kernel.org>
> ---
> 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 at gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
More information about the linux-riscv
mailing list