Re: [PATCH v2 16/39] x86/bpf: Add ENDBR instructions to prologue and trampoline

From: Peter Zijlstra
Date: Fri Feb 25 2022 - 07:25:32 EST


On Thu, Feb 24, 2022 at 03:37:31PM -0800, Josh Poimboeuf wrote:

> > @@ -2028,10 +2052,11 @@ int arch_prepare_bpf_trampoline(struct b
> > /* skip patched call instruction and point orig_call to actual
> > * body of the kernel function.
> > */
> > - orig_call += X86_PATCH_SIZE;
> > + orig_call += X86_PATCH_SIZE + 4*HAS_KERNEL_IBT;
>
> All the "4*HAS_KERNEL_IBT" everywhere is cute, but you might as well
> just have IBT_ENDBR_SIZE (here and in other patches).

So there's two forms of this, only one has the 4 included:

(x * (1 + HAS_KERNEL_IBT))
(x + 4*HAS_KERNEL_IBT)

If I include the 4, then the first form would become something like:

(x * (1 + !!IBT_ENDBR_SIZE))

that ok?