[PATCH 1/2] selftests/powerpc: Add ptrace tests for Protection Key registers

Michael Ellerman mpe at ellerman.id.au
Fri May 25 20:26:35 AEST 2018


Thiago Jung Bauermann <bauerman at linux.ibm.com> writes:
> Michael Ellerman <mpe at ellerman.id.au> writes:
>> Thiago Jung Bauermann <bauerman at linux.vnet.ibm.com> writes:
>>>  tools/testing/selftests/powerpc/include/reg.h      |   1 +
>>>  tools/testing/selftests/powerpc/ptrace/Makefile    |   5 +-
>>>  tools/testing/selftests/powerpc/ptrace/child.h     | 130 ++++++++
>>>  .../testing/selftests/powerpc/ptrace/ptrace-pkey.c | 326 +++++++++++++++++++++
>>
>> This is failing on machines without pkeys:
>>
>>   test: ptrace_pkey
>>   tags: git_version:52e7d87
>>   [FAIL] Test FAILED on line 117
>>   [FAIL] Test FAILED on line 191
>>   failure: ptrace_pkey
>>
>>
>> I think the first fail is in the child here:
>>
>> int ptrace_read_regs(pid_t child, unsigned long type, unsigned long regs[],
>> 		     int n)
>> {
>> 	struct iovec iov;
>> 	long ret;
>>
>> 	FAIL_IF(start_trace(child));
>>
>> 	iov.iov_base = regs;
>> 	iov.iov_len = n * sizeof(unsigned long);
>>
>> 	ret = ptrace(PTRACE_GETREGSET, child, type, &iov);
>> 	FAIL_IF(ret != 0);
>>
>>
>> Which makes sense.
>
> Yes, that is indeed what is going on.
>
>> The test needs to skip if pkeys are not available/enabled. Using the
>> availability of the REGSET might actually be a nice way to detect that,
>> because it's read-only.
>
>  I forgot to consider the case of pkeys not available or not enabled,
>  sorry about that.

No worries.

> I just sent a v2 which implements your suggestion above.

Thanks.

cheers


More information about the Linuxppc-dev mailing list