All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.