Subject: Re: [v2,1/3] selftests/powerpc: Allocate base registers

From: Michael Ellerman <[email-masked]>
Date: Tue, 27 Nov 2018 20:22:21 +1100 (AEDT)

On Wed, 2018-10-31 at 14:38:20 UTC, Breno Leitao wrote:
> Some ptrace selftests are passing input operands using a constraint that
> can allocate any register for the operand, and using these registers on
> load/store operations.
> 
> If the register allocated by the compiler happens to be zero (r0), it might
> cause an invalid memory address access, since load and store operations
> consider the content of 0x0 address if the base register is r0, instead of
> the content of the r0 register. For example:
> 
> 	r1 := 0xdeadbeef
> 	r0 := 0xdeadbeef
> 
> 	ld r2, 0(1) /* will load into r2 the content of r1 address */
> 	ld r2, 0(0) /* will load into r2 the content of 0x0 */
> 
> In order to avoid this possible problem, the inline assembly constraint
> should be aware that these registers will be used as a base register, thus,
> r0 should not be allocated.
> 
> Other than that, this patch removes inline assembly operands that are not
> used by the tests.
> 
> Signed-off-by: Breno Leitao <[email-masked]>
> Reviewed-by: Segher Boessenkool <[email-masked]>

Series applied to powerpc next, thanks.

https://git.kernel.org/powerpc/c/5249497a7bb6334fcc128588d6a7e1

cheers