[PATCH v4 15/22] objtool: Prevent kCFI hashes from being decoded as instructions
Josh Poimboeuf
jpoimboe at kernel.org
Tue Aug 11 17:30:34 PDT 2026
On Tue, Aug 11, 2026 at 04:58:05PM -0700, Song Liu wrote:
> On Sat, Aug 8, 2026 at 4:18 PM Josh Poimboeuf <jpoimboe at kernel.org> wrote:
> [...]
> >
> > +/*
> > + * ARM64 mapping symbols ($d, $x, $a, __pi_$d, etc) which mark transitions
> > + * between code and data.
> > + */
> > +static inline bool is_mapping_sym(struct symbol *sym)
> > +{
> > + return is_notype_sym(sym) && strchr(sym->name, '$');
> > +}
> > +
> > +static inline bool is_data_mapping_sym(struct symbol *sym)
> > +{
> > + const char *dollar;
> > +
> > + if (!is_mapping_sym(sym))
> > + return false;
> > +
> > + dollar = strchr(sym->name, '$');
> > + return dollar && dollar[1] == 'd';
>
> nit: is_data_mapping_sym() calls strchr() twice. Maybe we can
> optimize it by eliminating a strchr()?
I suppose it's a bit funky, but the compiler CSEs it, so it's harmless.
--
Josh
More information about the linux-arm-kernel
mailing list