[PATCH] selftests/powerpc: Fix earlyclobber in tm-vmxcopy
Segher Boessenkool
segher at kernel.crashing.org
Tue Jun 18 22:00:59 AEST 2019
On Mon, Jun 17, 2019 at 05:24:58PM -0400, Gustavo Romero wrote:
> In some cases, compiler can allocate the same register for operand 'res'
> and 'vecoutptr', resulting in segfault at 'stxvd2x 40,0,%[vecoutptr]'
> because base register will contain 1, yielding a false-positive.
>
> This is because output 'res' must be marked as an earlyclobber operand so
> it may not overlap an input operand ('vecoutptr').
>
> Signed-off-by: Gustavo Romero <gromero at linux.vnet.ibm.com>
Reviewed-by: Segher Boessenkool <segher at kernel.crashing.org>
Segher
> ---
> tools/testing/selftests/powerpc/tm/tm-vmxcopy.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/testing/selftests/powerpc/tm/tm-vmxcopy.c b/tools/testing/selftests/powerpc/tm/tm-vmxcopy.c
> index 147c6dc..c1e788a 100644
> --- a/tools/testing/selftests/powerpc/tm/tm-vmxcopy.c
> +++ b/tools/testing/selftests/powerpc/tm/tm-vmxcopy.c
> @@ -79,7 +79,7 @@ int test_vmxcopy()
>
> "5:;"
> "stxvd2x 40,0,%[vecoutptr];"
> - : [res]"=r"(aborted)
> + : [res]"=&r"(aborted)
> : [vecinptr]"r"(&vecin),
> [vecoutptr]"r"(&vecout),
> [map]"r"(a)
> --
> 2.7.4
More information about the Linuxppc-dev
mailing list