[v2,1/3] selftests/powerpc: Allocate base registers
Michael Ellerman
patch-notifications at ellerman.id.au
Tue Nov 27 20:22:21 AEDT 2018
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 <leitao at debian.org>
> Reviewed-by: Segher Boessenkool <segher at kernel.crashing.org>
Series applied to powerpc next, thanks.
https://git.kernel.org/powerpc/c/5249497a7bb6334fcc128588d6a7e1
cheers
More information about the Linuxppc-dev
mailing list