[PW_SID:956798] riscv: crypto - Use SYM_FUNC_START for functions only called directly#342
[PW_SID:956798] riscv: crypto - Use SYM_FUNC_START for functions only called directly#342linux-riscv-bot wants to merge 2 commits into
Conversation
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: 1523eae ("crypto: riscv/sm3 - Use API partial block handling") Fixes: 561aab1 ("crypto: riscv/sha512 - Use API partial block handling") Fixes: e6c5597 ("crypto: riscv/sha256 - Use API partial block handling") Signed-off-by: Nathan Chancellor <nathan@kernel.org> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
|
Patch 1: "riscv: crypto - Use SYM_FUNC_START for functions only called directly" |
|
Patch 1: "riscv: crypto - Use SYM_FUNC_START for functions only called directly" |
|
Patch 1: "riscv: crypto - Use SYM_FUNC_START for functions only called directly" |
|
Patch 1: "riscv: crypto - Use SYM_FUNC_START for functions only called directly" |
|
Patch 1: "riscv: crypto - Use SYM_FUNC_START for functions only called directly" |
|
Patch 1: "riscv: crypto - Use SYM_FUNC_START for functions only called directly" |
|
Patch 1: "riscv: crypto - Use SYM_FUNC_START for functions only called directly" |
|
Patch 1: "riscv: crypto - Use SYM_FUNC_START for functions only called directly" |
|
Patch 1: "riscv: crypto - Use SYM_FUNC_START for functions only called directly" |
|
Patch 1: "riscv: crypto - Use SYM_FUNC_START for functions only called directly" |
|
Patch 1: "riscv: crypto - Use SYM_FUNC_START for functions only called directly" |
|
Patch 1: "riscv: crypto - Use SYM_FUNC_START for functions only called directly" |
c8da138 to
4d9ad71
Compare
PR for series 956798 applied to workflow__riscv__fixes
Name: riscv: crypto - Use SYM_FUNC_START for functions only called directly
URL: https://patchwork.kernel.org/project/linux-riscv/list/?series=956798
Version: 1