Re: [PATCH 5/6] objtool: Add UACCESS validation

From: Peter Zijlstra
Date: Mon Feb 25 2019 - 11:12:47 EST


On Mon, Feb 25, 2019 at 07:53:01AM -0800, Andy Lutomirski wrote:
> On Mon, Feb 25, 2019 at 4:53 AM Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:

> > +#define UACCESS_SAFE(func) \
> > + asm (".pushsection .discard.uaccess_safe_strtab, \"S\", @3\n\t" \
> > + "999: .ascii \"" #func "\"\n\t" \
> > + " .byte 0\n\t" \
> > + ".popsection\n\t" \
> > + ".pushsection .discard.uaccess_safe\n\t" \
> > + ".long 999b - .\n\t" \
> > + ".popsection")
>
> Minor nit: using big numbers like 999: like this always bugs me. It
> relies on there not being a macro nested inside or outside this that
> uses the same number. My general preference is to do something like
> .Ldescription_\@ instead.
>
> Otherwise this looks conceptually good :)

I seem to remember here being an issue with the \@ thing. Notably we're
not using it in nospsec-branch.h.

I'll see if I can dig up why we decided not to use it there.