On 12/16/24 4:27 PM, Ritesh Harjani (IBM) wrote:
> Madhavan Srinivasan <ma...@linux.ibm.com> writes:
>
>> Both core-pkey.c and ptrace-pkey.c tests have similar macro
>> definitions, move them to "pkeys.h" and remove the macro
>> definitions from the C file.
>>
>> Signed-off-by: Madhavan Srinivasan <ma...@linux.ibm.com>
>> ---
>> tools/testing/selftests/powerpc/include/pkeys.h | 8 ++++++++
>> tools/testing/selftests/powerpc/ptrace/core-pkey.c | 8 --------
>> tools/testing/selftests/powerpc/ptrace/ptrace-pkey.c | 8 --------
>> 3 files changed, 8 insertions(+), 16 deletions(-)
>>
>> diff --git a/tools/testing/selftests/powerpc/include/pkeys.h
>> b/tools/testing/selftests/powerpc/include/pkeys.h
>> index 51729d9a7111..3a0129467de6 100644
>> --- a/tools/testing/selftests/powerpc/include/pkeys.h
>> +++ b/tools/testing/selftests/powerpc/include/pkeys.h
>> @@ -35,10 +35,18 @@
>> #define __NR_pkey_alloc 384
>> #define __NR_pkey_free 385
>>
>> +#ifndef NT_PPC_PKEY
>> +#define NT_PPC_PKEY 0x110
>> +#endif
>> +
>> #define PKEY_BITS_PER_PKEY 2
>> #define NR_PKEYS 32
>> #define PKEY_BITS_MASK ((1UL << PKEY_BITS_PER_PKEY) - 1)
>>
>> +#define AMR_BITS_PER_PKEY 2
>> +#define PKEY_REG_BITS (sizeof(u64) * 8)
>> +#define pkeyshift(pkey) (PKEY_REG_BITS - ((pkey + 1) * AMR_BITS_PER_PKEY))
>> +
>> inline unsigned long pkeyreg_get(void)
>> {
>> return mfspr(SPRN_AMR);
>> diff --git a/tools/testing/selftests/powerpc/ptrace/core-pkey.c
>> b/tools/testing/selftests/powerpc/ptrace/core-pkey.c
>> index 31c9bf6d95db..f8ff05e5bf6e 100644
>> --- a/tools/testing/selftests/powerpc/ptrace/core-pkey.c
>> +++ b/tools/testing/selftests/powerpc/ptrace/core-pkey.c
>> @@ -18,18 +18,10 @@
>> #include "child.h"
>> #include "pkeys.h"
>>
>> -#ifndef NT_PPC_PKEY
>> -#define NT_PPC_PKEY 0x110
>> -#endif
>> -
>> #ifndef PKEY_DISABLE_EXECUTE
>> #define PKEY_DISABLE_EXECUTE 0x4
>> #endif
>
> We could remove this as well right. Since pkeys.h already has this
> permission defines i.e.
> PKEY_DISABLE_[ACCESS|WRITE|EXECUTE]
>
Nice catch. Yes we can drop these too.
Will fix and send a v2
>>
>> -#define AMR_BITS_PER_PKEY 2
>> -#define PKEY_REG_BITS (sizeof(u64) * 8)
>> -#define pkeyshift(pkey) (PKEY_REG_BITS - ((pkey + 1) * AMR_BITS_PER_PKEY))
>> -
>> #define CORE_FILE_LIMIT (5 * 1024 * 1024) /* 5 MB should be
>> enough */
>>
>> static const char core_pattern_file[] = "/proc/sys/kernel/core_pattern";
>> diff --git a/tools/testing/selftests/powerpc/ptrace/ptrace-pkey.c
>> b/tools/testing/selftests/powerpc/ptrace/ptrace-pkey.c
>> index 6893ed096457..5d528d0ea9d1 100644
>> --- a/tools/testing/selftests/powerpc/ptrace/ptrace-pkey.c
>> +++ b/tools/testing/selftests/powerpc/ptrace/ptrace-pkey.c
>> @@ -9,18 +9,10 @@
>> #include "child.h"
>> #include "pkeys.h"
>>
>> -#ifndef NT_PPC_PKEY
>> -#define NT_PPC_PKEY 0x110
>> -#endif
>> -
>> #ifndef PKEY_DISABLE_EXECUTE
>> #define PKEY_DISABLE_EXECUTE 0x4
>> #endif
>>
>
> Same here. This can be cleaned up, no? Since pkeys already has this defined.
>
>
> -ritesh
>
>> -#define AMR_BITS_PER_PKEY 2
>> -#define PKEY_REG_BITS (sizeof(u64) * 8)
>> -#define pkeyshift(pkey) (PKEY_REG_BITS - ((pkey + 1) * AMR_BITS_PER_PKEY))
>> -
>> static const char user_read[] = "[User Read (Running)]";
>> static const char user_write[] = "[User Write (Running)]";
>> static const char ptrace_read_running[] = "[Ptrace Read (Running)]";
>> --
>> 2.47.0