linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 1/3] selftest/powerpc/ptrace/core-pkey: Remove duplicate macros
@ 2024-12-16 16:02 Madhavan Srinivasan
  2024-12-16 16:02 ` [PATCH v2 2/3] selftest/powerpc/ptrace/ptrace-pkey: " Madhavan Srinivasan
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Madhavan Srinivasan @ 2024-12-16 16:02 UTC (permalink / raw)
  To: mpe, npiggin, christophe.leroy, naveen, shuah
  Cc: linuxppc-dev, linux-kselftest, Madhavan Srinivasan,
	Ritesh Harjani (IBM)

./powerpc/ptrace/Makefile includes flags.mk. In flags.mk,
-I$(selfdir)/powerpc/include is always included as part of
CFLAGS. So it will pick up the "pkeys.h" defined in
powerpc/include.

core-pkey.c test has couple of macros defined which
are part of "pkeys.h" header file. Remove those
duplicates and include "pkeys.h"

Reviewed-by: Ritesh Harjani (IBM) <ritesh.list@gmail.com>
Signed-off-by: Madhavan Srinivasan <maddy@linux.ibm.com>
---
Changelog v1:
 - Added Reviewed-by tag
 - made changes to commit message

 .../selftests/powerpc/ptrace/core-pkey.c      | 19 +------------------
 1 file changed, 1 insertion(+), 18 deletions(-)

diff --git a/tools/testing/selftests/powerpc/ptrace/core-pkey.c b/tools/testing/selftests/powerpc/ptrace/core-pkey.c
index f6da4cb30cd6..31c9bf6d95db 100644
--- a/tools/testing/selftests/powerpc/ptrace/core-pkey.c
+++ b/tools/testing/selftests/powerpc/ptrace/core-pkey.c
@@ -16,14 +16,7 @@
 #include <unistd.h>
 #include "ptrace.h"
 #include "child.h"
-
-#ifndef __NR_pkey_alloc
-#define __NR_pkey_alloc		384
-#endif
-
-#ifndef __NR_pkey_free
-#define __NR_pkey_free		385
-#endif
+#include "pkeys.h"
 
 #ifndef NT_PPC_PKEY
 #define NT_PPC_PKEY		0x110
@@ -61,16 +54,6 @@ struct shared_info {
 	time_t core_time;
 };
 
-static int sys_pkey_alloc(unsigned long flags, unsigned long init_access_rights)
-{
-	return syscall(__NR_pkey_alloc, flags, init_access_rights);
-}
-
-static int sys_pkey_free(int pkey)
-{
-	return syscall(__NR_pkey_free, pkey);
-}
-
 static int increase_core_file_limit(void)
 {
 	struct rlimit rlim;
-- 
2.47.0



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH v2 2/3] selftest/powerpc/ptrace/ptrace-pkey: Remove duplicate macros
  2024-12-16 16:02 [PATCH v2 1/3] selftest/powerpc/ptrace/core-pkey: Remove duplicate macros Madhavan Srinivasan
@ 2024-12-16 16:02 ` Madhavan Srinivasan
  2024-12-16 16:02 ` [PATCH v2 3/3] selftest/powerpc/ptrace: Cleanup duplicate macro definitions Madhavan Srinivasan
  2025-01-01  9:08 ` [PATCH v2 1/3] selftest/powerpc/ptrace/core-pkey: Remove duplicate macros Madhavan Srinivasan
  2 siblings, 0 replies; 5+ messages in thread
From: Madhavan Srinivasan @ 2024-12-16 16:02 UTC (permalink / raw)
  To: mpe, npiggin, christophe.leroy, naveen, shuah
  Cc: linuxppc-dev, linux-kselftest, Madhavan Srinivasan,
	Ritesh Harjani (IBM)

./powerpc/ptrace/Makefile includes flags.mk.
In flags.mk, -I$(selfdir)/powerpc/include is
always included as part of CFLAGS. So it will
pick up the "pkeys.h" defined in powerpc/include.

ptrace-pkey.c test has macros defined which
are part of "pkeys.h" header file. Remove those
duplicates and include "pkeys.h"

Reviewed-by: Ritesh Harjani (IBM) <ritesh.list@gmail.com>
Signed-off-by: Madhavan Srinivasan <maddy@linux.ibm.com>
---
Changelog v1:
 - Added Reviewed-by tag
 - made changes to commit message 

 .../testing/selftests/powerpc/ptrace/ptrace-pkey.c | 14 +-------------
 1 file changed, 1 insertion(+), 13 deletions(-)

diff --git a/tools/testing/selftests/powerpc/ptrace/ptrace-pkey.c b/tools/testing/selftests/powerpc/ptrace/ptrace-pkey.c
index d89474377f11..6893ed096457 100644
--- a/tools/testing/selftests/powerpc/ptrace/ptrace-pkey.c
+++ b/tools/testing/selftests/powerpc/ptrace/ptrace-pkey.c
@@ -7,14 +7,7 @@
  */
 #include "ptrace.h"
 #include "child.h"
-
-#ifndef __NR_pkey_alloc
-#define __NR_pkey_alloc		384
-#endif
-
-#ifndef __NR_pkey_free
-#define __NR_pkey_free		385
-#endif
+#include "pkeys.h"
 
 #ifndef NT_PPC_PKEY
 #define NT_PPC_PKEY		0x110
@@ -61,11 +54,6 @@ struct shared_info {
 	unsigned long invalid_uamor;
 };
 
-static int sys_pkey_alloc(unsigned long flags, unsigned long init_access_rights)
-{
-	return syscall(__NR_pkey_alloc, flags, init_access_rights);
-}
-
 static int child(struct shared_info *info)
 {
 	unsigned long reg;
-- 
2.47.0



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH v2 3/3] selftest/powerpc/ptrace: Cleanup duplicate macro definitions
  2024-12-16 16:02 [PATCH v2 1/3] selftest/powerpc/ptrace/core-pkey: Remove duplicate macros Madhavan Srinivasan
  2024-12-16 16:02 ` [PATCH v2 2/3] selftest/powerpc/ptrace/ptrace-pkey: " Madhavan Srinivasan
@ 2024-12-16 16:02 ` Madhavan Srinivasan
  2024-12-16 17:24   ` Ritesh Harjani
  2025-01-01  9:08 ` [PATCH v2 1/3] selftest/powerpc/ptrace/core-pkey: Remove duplicate macros Madhavan Srinivasan
  2 siblings, 1 reply; 5+ messages in thread
From: Madhavan Srinivasan @ 2024-12-16 16:02 UTC (permalink / raw)
  To: mpe, npiggin, christophe.leroy, naveen, shuah
  Cc: linuxppc-dev, linux-kselftest, Madhavan Srinivasan

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@linux.ibm.com>
---
Changelog v1:
 - Removed additional macros pointed out by Ritesh
   which are duplicates and are avilable in "pkeys.h"

 tools/testing/selftests/powerpc/include/pkeys.h      |  8 ++++++++
 tools/testing/selftests/powerpc/ptrace/core-pkey.c   | 12 ------------
 tools/testing/selftests/powerpc/ptrace/ptrace-pkey.c | 12 ------------
 3 files changed, 8 insertions(+), 24 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..f061434af452 100644
--- a/tools/testing/selftests/powerpc/ptrace/core-pkey.c
+++ b/tools/testing/selftests/powerpc/ptrace/core-pkey.c
@@ -18,18 +18,6 @@
 #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
-
-#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..fc633014424f 100644
--- a/tools/testing/selftests/powerpc/ptrace/ptrace-pkey.c
+++ b/tools/testing/selftests/powerpc/ptrace/ptrace-pkey.c
@@ -9,18 +9,6 @@
 #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
-
-#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



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH v2 3/3] selftest/powerpc/ptrace: Cleanup duplicate macro definitions
  2024-12-16 16:02 ` [PATCH v2 3/3] selftest/powerpc/ptrace: Cleanup duplicate macro definitions Madhavan Srinivasan
@ 2024-12-16 17:24   ` Ritesh Harjani
  0 siblings, 0 replies; 5+ messages in thread
From: Ritesh Harjani @ 2024-12-16 17:24 UTC (permalink / raw)
  To: Madhavan Srinivasan, mpe, npiggin, christophe.leroy, naveen,
	shuah
  Cc: linuxppc-dev, linux-kselftest, Madhavan Srinivasan

Madhavan Srinivasan <maddy@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 <maddy@linux.ibm.com>
> ---
> Changelog v1:
>  - Removed additional macros pointed out by Ritesh
>    which are duplicates and are avilable in "pkeys.h"

Thanks! The changes looks good to me. 

Please feel free to add - 
Reviewed-by: Ritesh Harjani (IBM) <ritesh.list@gmail.com>


Gave a quick run on my lpar too - 

# selftests: powerpc/ptrace: core-pkey
# test: core_pkey
# [User Write (Running)]         AMR: 3cffffffffffffff pkey1: 4 pkey2: 5 pkey3: 6
# success: core_pkey
ok 9 selftests: powerpc/ptrace: core-pkey
# selftests: powerpc/ptrace: ptrace-pkey
# test: ptrace_pkey
# [User Write (Running)]         AMR: 3cffffffffffffff pkey1: 4 pkey2: 5 pkey3: 6
# success: ptrace_pkey
ok 13 selftests: powerpc/ptrace: ptrace-pkey


-ritesh

>
>  tools/testing/selftests/powerpc/include/pkeys.h      |  8 ++++++++
>  tools/testing/selftests/powerpc/ptrace/core-pkey.c   | 12 ------------
>  tools/testing/selftests/powerpc/ptrace/ptrace-pkey.c | 12 ------------
>  3 files changed, 8 insertions(+), 24 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..f061434af452 100644
> --- a/tools/testing/selftests/powerpc/ptrace/core-pkey.c
> +++ b/tools/testing/selftests/powerpc/ptrace/core-pkey.c
> @@ -18,18 +18,6 @@
>  #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
> -
> -#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..fc633014424f 100644
> --- a/tools/testing/selftests/powerpc/ptrace/ptrace-pkey.c
> +++ b/tools/testing/selftests/powerpc/ptrace/ptrace-pkey.c
> @@ -9,18 +9,6 @@
>  #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
> -
> -#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


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v2 1/3] selftest/powerpc/ptrace/core-pkey: Remove duplicate macros
  2024-12-16 16:02 [PATCH v2 1/3] selftest/powerpc/ptrace/core-pkey: Remove duplicate macros Madhavan Srinivasan
  2024-12-16 16:02 ` [PATCH v2 2/3] selftest/powerpc/ptrace/ptrace-pkey: " Madhavan Srinivasan
  2024-12-16 16:02 ` [PATCH v2 3/3] selftest/powerpc/ptrace: Cleanup duplicate macro definitions Madhavan Srinivasan
@ 2025-01-01  9:08 ` Madhavan Srinivasan
  2 siblings, 0 replies; 5+ messages in thread
From: Madhavan Srinivasan @ 2025-01-01  9:08 UTC (permalink / raw)
  To: mpe, npiggin, christophe.leroy, naveen, shuah,
	Madhavan Srinivasan
  Cc: linuxppc-dev, linux-kselftest, Ritesh Harjani (IBM)

On Mon, 16 Dec 2024 21:32:55 +0530, Madhavan Srinivasan wrote:
> ./powerpc/ptrace/Makefile includes flags.mk. In flags.mk,
> -I$(selfdir)/powerpc/include is always included as part of
> CFLAGS. So it will pick up the "pkeys.h" defined in
> powerpc/include.
> 
> core-pkey.c test has couple of macros defined which
> are part of "pkeys.h" header file. Remove those
> duplicates and include "pkeys.h"
> 
> [...]

Applied to powerpc/next.

[1/3] selftest/powerpc/ptrace/core-pkey: Remove duplicate macros
      https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/commit/?h=next&id=026ac4dda8f666f737b375731e30ef8f5698b215 
[2/3] selftest/powerpc/ptrace/ptrace-pkey: Remove duplicate macros
      https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/commit/?h=next&id=b0e1b95b1597ad3d87ff91d52f6b67cc9423c31e 
[3/3] selftest/powerpc/ptrace: Cleanup duplicate macro definitions
      https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/commit/?h=next&id=65f5038352e8f635fb827f7482f1d08fae4d16bf 

Thanks


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2025-01-01  9:09 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-12-16 16:02 [PATCH v2 1/3] selftest/powerpc/ptrace/core-pkey: Remove duplicate macros Madhavan Srinivasan
2024-12-16 16:02 ` [PATCH v2 2/3] selftest/powerpc/ptrace/ptrace-pkey: " Madhavan Srinivasan
2024-12-16 16:02 ` [PATCH v2 3/3] selftest/powerpc/ptrace: Cleanup duplicate macro definitions Madhavan Srinivasan
2024-12-16 17:24   ` Ritesh Harjani
2025-01-01  9:08 ` [PATCH v2 1/3] selftest/powerpc/ptrace/core-pkey: Remove duplicate macros Madhavan Srinivasan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).