On 12/16/24 4:27 PM, Ritesh Harjani (IBM) wrote: > Madhavan Srinivasan <maddy@xxxxxxxxxxxxx> 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 <maddy@xxxxxxxxxxxxx> >> --- >> 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