Re: [PATCH 2/2] ARM: futex: make futex_detect_cmpxchg more reliable

From: Nick Desaulniers
Date: Thu Mar 07 2019 - 19:04:37 EST


On Thu, Mar 7, 2019 at 3:49 PM Russell King - ARM Linux admin
<linux@xxxxxxxxxxxxxxx> wrote:
>
> On Thu, Mar 07, 2019 at 11:39:08AM -0800, Nick Desaulniers wrote:
> > Underspecification of constraints to extended inline assembly is a
> > common issue exposed by other compilers (and possibly but in-effect
> > infrequently compiler upgrades).
>
> I don't see what is "underspecified" in the original constraints.
> Please explain.

>From the link:

The problem is that in the T(streq) insn, %3 and %4 MUST be different registers,
but nothing in the asm() constrains them to be different.

> > > "One way of fixing this is to make uaddr an input/output register, since
> > > "that prevents it from overlapping any other input or output."

--
Thanks,
~Nick Desaulniers