Re: [PATCH 05/29] x86: Base IBT bits

From: Peter Zijlstra
Date: Fri Feb 18 2022 - 16:27:03 EST


On Fri, Feb 18, 2022 at 08:49:45PM +0000, Andrew Cooper wrote:
> On 18/02/2022 16:49, Peter Zijlstra wrote:
> > +/*
> > + * A bit convoluted, but matches both endbr32 and endbr64 without
> > + * having either as literal in the text.
> > + */
> > +static inline bool is_endbr(const void *addr)
> > +{
> > + unsigned int val = ~*(unsigned int *)addr;
> > + val |= 0x01000000U;
> > + return val == ~0xfa1e0ff3;
> > +}
>
> At this point, I feel I've earned an "I told you so". :)

Ha! I actually have a note to double-check this. But yes, I'll stuff
that piece of asm in so I can forget about it.