On Mon, Feb 25, 2019 at 05:12:34PM +0100, Peter Zijlstra wrote:
> On Mon, Feb 25, 2019 at 07:53:01AM -0800, Andy Lutomirski wrote:
> > On Mon, Feb 25, 2019 at 4:53 AM Peter Zijlstra <pet...@infradead.org> 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.

Ah, so the thing we need for inline-asm is %=, but Linus didn't like it:

  
https://lkml.kernel.org/r/20180111175626.gj6...@hirez.programming.kicks-ass.net

Also, I think at the time we didn't use it because backporting efforts.

I can't really find what happened between:

  https://lkml.kernel.org/r/1515508997-6154-2-git-send-email-d...@amazon.co.uk

and

  https://lkml.kernel.org/r/1515707194-20531-4-git-send-email-d...@amazon.co.uk

But the %= thing went away.

Reply via email to