Re: [PATCH v3 10/16] x86/alternative: Implement .retpoline_sites support

From: Borislav Petkov
Date: Wed Oct 27 2021 - 13:39:07 EST


On Tue, Oct 26, 2021 at 02:01:42PM +0200, Peter Zijlstra wrote:
> +static int patch_retpoline(void *addr, struct insn *insn, u8 *bytes)
> +{
> + retpoline_thunk_t *target;
> + int reg, i = 0;
> +
> + target = addr + insn->length + insn->immediate.value;
> + reg = target - __x86_indirect_thunk_array;
> +
> + if (WARN_ON_ONCE(reg & ~0xf))
> + return -1;
> +
> + /* If anyone ever does: CALL/JMP *%rsp, we're in deep trouble. */
> + BUG_ON(reg == 4);
> +
> + if (cpu_feature_enabled(X86_FEATURE_RETPOLINE))
> + return -1;

I wanna say this should be the first thing being checked on function
entry but I get the feeling you'll be looking at other X86_FEATURE bits
in future patches... /me goes into the future...

yap, you do. Lemme look at the whole thing first then.

--
Regards/Gruss,
Boris.

https://people.kernel.org/tglx/notes-about-netiquette