Messages in this thread | | | Date | Fri, 18 Feb 2022 22:26:01 +0100 | From | Peter Zijlstra <> | Subject | Re: [PATCH 05/29] x86: Base IBT bits |
| |
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.
| |