Re: [PATCH v2 16/39] x86/bpf: Add ENDBR instructions to prologue and trampoline
From: Josh Poimboeuf
Date: Fri Feb 25 2022 - 17:46:33 EST
On Fri, Feb 25, 2022 at 01:24:58PM +0100, Peter Zijlstra wrote:
> 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?
I don't have a strong preference, but there's no harming in having both
IBT_ENDBR_SIZE and HAS_KERNEL_IBT if it would help readability.
--
Josh