Re: [PATCH 06/15] x86: Avoid CFI jump tables in IDT and entry points
From: Thomas Gleixner
Date: Fri Apr 16 2021 - 18:27:00 EST
On Fri, Apr 16 2021 at 13:38, Sami Tolvanen wrote:
> With CONFIG_CFI_CLANG, the compiler replaces function addresses in C
> code with jump table addresses.
Fine.
> To avoid referring to jump tables in entry code with PTI,
What has this to do with PTI?
> disable CFI for IDT and paravirt code, and use function_nocfi() to
> prevent jump table addresses from being added to the IDT or system
> call entry points.
How does this changelog make sense for anyone not familiar with the
matter at hand?
Where is the analysis why excluding
> +CFLAGS_REMOVE_idt.o := $(CC_FLAGS_CFI)
> +CFLAGS_REMOVE_paravirt.o := $(CC_FLAGS_CFI)
all of idt.c and paravirt.c is correct and how that is going to be
correct in the future?
These files are excluded from CFI, so I can add whatever I want to them
and circumvent the purpose of CFI, right?
Brilliant plan that. But I know, sekurity ...
Thanks,
tglx