Re: [RFC PATCH v3 20/20] x86: Add support for CONFIG_CFI_CLANG

From: Peter Zijlstra
Date: Sat Jul 23 2022 - 07:22:23 EST


On Fri, Jun 10, 2022 at 04:35:13PM -0700, Sami Tolvanen wrote:

> +#ifdef CONFIG_CFI_CLANG
> +#define __CFI_TYPE(name) \
> + .fill 7, 1, 0xCC ASM_NL \
> + SYM_START(__cfi_##name, SYM_L_LOCAL, SYM_A_NONE) \
> + int3 ASM_NL \
> + int3 ASM_NL \
> + mov __kcfi_typeid_##name, %eax ASM_NL \
> + int3 ASM_NL \
> + int3 ASM_NL \
> + SYM_FUNC_END(__cfi_##name)
> +#endif

Like said on IRC yesterday, this doesn't generate the right mov
encoding.

.byte 0xb8 ; .long __kcfi_typeid_##name ; \

works. Your LLVM tree already has the ZExt patch you gave me yesterday
to fix up the linker fallout from this change.