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

Peter Zijlstra peterz at infradead.org
Sat Jul 23 04:21:33 PDT 2022


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.



More information about the linux-arm-kernel mailing list