All of lore.kernel.org
 help / color / mirror / Atom feed
From: linuxram at us.ibm.com (Ram Pai)
Subject: [PATCH v13 17/24] selftests/vm: powerpc implementation to check support for pkey
Date: Wed, 13 Jun 2018 17:45:08 -0700	[thread overview]
Message-ID: <1528937115-10132-18-git-send-email-linuxram@us.ibm.com> (raw)
In-Reply-To: <1528937115-10132-1-git-send-email-linuxram@us.ibm.com>

pkey subsystem is supported if the hardware and kernel has support.
We determine that by checking if allocation of a key succeeds or not.

cc: Dave Hansen <dave.hansen at intel.com>
cc: Florian Weimer <fweimer at redhat.com>
Signed-off-by: Ram Pai <linuxram at us.ibm.com>
---
 tools/testing/selftests/vm/pkey-helpers.h    |    2 ++
 tools/testing/selftests/vm/pkey-powerpc.h    |   14 ++++++++++++--
 tools/testing/selftests/vm/pkey-x86.h        |    8 ++++----
 tools/testing/selftests/vm/protection_keys.c |    9 +++++----
 4 files changed, 23 insertions(+), 10 deletions(-)

diff --git a/tools/testing/selftests/vm/pkey-helpers.h b/tools/testing/selftests/vm/pkey-helpers.h
index 321bbbd..288ccff 100644
--- a/tools/testing/selftests/vm/pkey-helpers.h
+++ b/tools/testing/selftests/vm/pkey-helpers.h
@@ -76,6 +76,8 @@ static inline void sigsafe_printf(const char *format, ...)
 
 __attribute__((noinline)) int read_ptr(int *ptr);
 void expected_pkey_fault(int pkey);
+int sys_pkey_alloc(unsigned long flags, u64 init_val);
+int sys_pkey_free(unsigned long pkey);
 
 #if defined(__i386__) || defined(__x86_64__) /* arch */
 #include "pkey-x86.h"
diff --git a/tools/testing/selftests/vm/pkey-powerpc.h b/tools/testing/selftests/vm/pkey-powerpc.h
index ec6f5d7..957f6f6 100644
--- a/tools/testing/selftests/vm/pkey-powerpc.h
+++ b/tools/testing/selftests/vm/pkey-powerpc.h
@@ -62,9 +62,19 @@ static inline void __write_pkey_reg(pkey_reg_t pkey_reg)
 			pkey_reg);
 }
 
-static inline int cpu_has_pku(void)
+static inline bool is_pkey_supported(void)
 {
-	return 1;
+	/*
+	 * No simple way to determine this.
+	 * Lets try allocating a key and see if it succeeds.
+	 */
+	int ret = sys_pkey_alloc(0, 0);
+
+	if (ret > 0) {
+		sys_pkey_free(ret);
+		return true;
+	}
+	return false;
 }
 
 static inline int arch_reserved_keys(void)
diff --git a/tools/testing/selftests/vm/pkey-x86.h b/tools/testing/selftests/vm/pkey-x86.h
index 95ee952..6820c10 100644
--- a/tools/testing/selftests/vm/pkey-x86.h
+++ b/tools/testing/selftests/vm/pkey-x86.h
@@ -105,7 +105,7 @@ static inline void __cpuid(unsigned int *eax, unsigned int *ebx,
 #define X86_FEATURE_PKU        (1<<3) /* Protection Keys for Userspace */
 #define X86_FEATURE_OSPKE      (1<<4) /* OS Protection Keys Enable */
 
-static inline int cpu_has_pku(void)
+static inline bool is_pkey_supported(void)
 {
 	unsigned int eax;
 	unsigned int ebx;
@@ -118,13 +118,13 @@ static inline int cpu_has_pku(void)
 
 	if (!(ecx & X86_FEATURE_PKU)) {
 		dprintf2("cpu does not have PKU\n");
-		return 0;
+		return false;
 	}
 	if (!(ecx & X86_FEATURE_OSPKE)) {
 		dprintf2("cpu does not have OSPKE\n");
-		return 0;
+		return false;
 	}
-	return 1;
+	return true;
 }
 
 #define XSTATE_PKEY_BIT	(9)
diff --git a/tools/testing/selftests/vm/protection_keys.c b/tools/testing/selftests/vm/protection_keys.c
index ba184ca..cb81a47 100644
--- a/tools/testing/selftests/vm/protection_keys.c
+++ b/tools/testing/selftests/vm/protection_keys.c
@@ -1393,8 +1393,8 @@ void test_mprotect_pkey_on_unsupported_cpu(int *ptr, u16 pkey)
 	int size = PAGE_SIZE;
 	int sret;
 
-	if (cpu_has_pku()) {
-		dprintf1("SKIP: %s: no CPU support\n", __func__);
+	if (is_pkey_supported()) {
+		dprintf1("SKIP: %s: no CPU/kernel support\n", __func__);
 		return;
 	}
 
@@ -1458,12 +1458,13 @@ void run_tests_once(void)
 int main(void)
 {
 	int nr_iterations = 22;
+	int pkey_supported = is_pkey_supported();
 
 	setup_handlers();
 
-	printf("has pkey: %d\n", cpu_has_pku());
+	printf("has pkey: %s\n", pkey_supported ? "Yes" : "No");
 
-	if (!cpu_has_pku()) {
+	if (!pkey_supported) {
 		int size = PAGE_SIZE;
 		int *ptr;
 
-- 
1.7.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kselftest" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

WARNING: multiple messages have this Message-ID (diff)
From: linuxram@us.ibm.com (Ram Pai)
Subject: [PATCH v13 17/24] selftests/vm: powerpc implementation to check support for pkey
Date: Wed, 13 Jun 2018 17:45:08 -0700	[thread overview]
Message-ID: <1528937115-10132-18-git-send-email-linuxram@us.ibm.com> (raw)
Message-ID: <20180614004508.Pp_Qe4Uz_GI2c-E4f0Y9GxN-BmXhYUUfeHMwGCjUalY@z> (raw)
In-Reply-To: <1528937115-10132-1-git-send-email-linuxram@us.ibm.com>

pkey subsystem is supported if the hardware and kernel has support.
We determine that by checking if allocation of a key succeeds or not.

cc: Dave Hansen <dave.hansen at intel.com>
cc: Florian Weimer <fweimer at redhat.com>
Signed-off-by: Ram Pai <linuxram at us.ibm.com>
---
 tools/testing/selftests/vm/pkey-helpers.h    |    2 ++
 tools/testing/selftests/vm/pkey-powerpc.h    |   14 ++++++++++++--
 tools/testing/selftests/vm/pkey-x86.h        |    8 ++++----
 tools/testing/selftests/vm/protection_keys.c |    9 +++++----
 4 files changed, 23 insertions(+), 10 deletions(-)

diff --git a/tools/testing/selftests/vm/pkey-helpers.h b/tools/testing/selftests/vm/pkey-helpers.h
index 321bbbd..288ccff 100644
--- a/tools/testing/selftests/vm/pkey-helpers.h
+++ b/tools/testing/selftests/vm/pkey-helpers.h
@@ -76,6 +76,8 @@ static inline void sigsafe_printf(const char *format, ...)
 
 __attribute__((noinline)) int read_ptr(int *ptr);
 void expected_pkey_fault(int pkey);
+int sys_pkey_alloc(unsigned long flags, u64 init_val);
+int sys_pkey_free(unsigned long pkey);
 
 #if defined(__i386__) || defined(__x86_64__) /* arch */
 #include "pkey-x86.h"
diff --git a/tools/testing/selftests/vm/pkey-powerpc.h b/tools/testing/selftests/vm/pkey-powerpc.h
index ec6f5d7..957f6f6 100644
--- a/tools/testing/selftests/vm/pkey-powerpc.h
+++ b/tools/testing/selftests/vm/pkey-powerpc.h
@@ -62,9 +62,19 @@ static inline void __write_pkey_reg(pkey_reg_t pkey_reg)
 			pkey_reg);
 }
 
-static inline int cpu_has_pku(void)
+static inline bool is_pkey_supported(void)
 {
-	return 1;
+	/*
+	 * No simple way to determine this.
+	 * Lets try allocating a key and see if it succeeds.
+	 */
+	int ret = sys_pkey_alloc(0, 0);
+
+	if (ret > 0) {
+		sys_pkey_free(ret);
+		return true;
+	}
+	return false;
 }
 
 static inline int arch_reserved_keys(void)
diff --git a/tools/testing/selftests/vm/pkey-x86.h b/tools/testing/selftests/vm/pkey-x86.h
index 95ee952..6820c10 100644
--- a/tools/testing/selftests/vm/pkey-x86.h
+++ b/tools/testing/selftests/vm/pkey-x86.h
@@ -105,7 +105,7 @@ static inline void __cpuid(unsigned int *eax, unsigned int *ebx,
 #define X86_FEATURE_PKU        (1<<3) /* Protection Keys for Userspace */
 #define X86_FEATURE_OSPKE      (1<<4) /* OS Protection Keys Enable */
 
-static inline int cpu_has_pku(void)
+static inline bool is_pkey_supported(void)
 {
 	unsigned int eax;
 	unsigned int ebx;
@@ -118,13 +118,13 @@ static inline int cpu_has_pku(void)
 
 	if (!(ecx & X86_FEATURE_PKU)) {
 		dprintf2("cpu does not have PKU\n");
-		return 0;
+		return false;
 	}
 	if (!(ecx & X86_FEATURE_OSPKE)) {
 		dprintf2("cpu does not have OSPKE\n");
-		return 0;
+		return false;
 	}
-	return 1;
+	return true;
 }
 
 #define XSTATE_PKEY_BIT	(9)
diff --git a/tools/testing/selftests/vm/protection_keys.c b/tools/testing/selftests/vm/protection_keys.c
index ba184ca..cb81a47 100644
--- a/tools/testing/selftests/vm/protection_keys.c
+++ b/tools/testing/selftests/vm/protection_keys.c
@@ -1393,8 +1393,8 @@ void test_mprotect_pkey_on_unsupported_cpu(int *ptr, u16 pkey)
 	int size = PAGE_SIZE;
 	int sret;
 
-	if (cpu_has_pku()) {
-		dprintf1("SKIP: %s: no CPU support\n", __func__);
+	if (is_pkey_supported()) {
+		dprintf1("SKIP: %s: no CPU/kernel support\n", __func__);
 		return;
 	}
 
@@ -1458,12 +1458,13 @@ void run_tests_once(void)
 int main(void)
 {
 	int nr_iterations = 22;
+	int pkey_supported = is_pkey_supported();
 
 	setup_handlers();
 
-	printf("has pkey: %d\n", cpu_has_pku());
+	printf("has pkey: %s\n", pkey_supported ? "Yes" : "No");
 
-	if (!cpu_has_pku()) {
+	if (!pkey_supported) {
 		int size = PAGE_SIZE;
 		int *ptr;
 
-- 
1.7.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kselftest" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

WARNING: multiple messages have this Message-ID (diff)
From: Ram Pai <linuxram@us.ibm.com>
To: shuahkh@osg.samsung.com, linux-kselftest@vger.kernel.org
Cc: linux-arch@vger.kernel.org, fweimer@redhat.com,
	dave.hansen@intel.com, x86@kernel.org, linuxram@us.ibm.com,
	mhocko@kernel.org, linux-mm@kvack.org, mingo@redhat.com,
	aneesh.kumar@linux.vnet.ibm.com, bauerman@linux.vnet.ibm.com,
	msuchanek@suse.de, linuxppc-dev@lists.ozlabs.org
Subject: [PATCH v13 17/24] selftests/vm: powerpc implementation to check support for pkey
Date: Wed, 13 Jun 2018 17:45:08 -0700	[thread overview]
Message-ID: <1528937115-10132-18-git-send-email-linuxram@us.ibm.com> (raw)
In-Reply-To: <1528937115-10132-1-git-send-email-linuxram@us.ibm.com>

pkey subsystem is supported if the hardware and kernel has support.
We determine that by checking if allocation of a key succeeds or not.

cc: Dave Hansen <dave.hansen@intel.com>
cc: Florian Weimer <fweimer@redhat.com>
Signed-off-by: Ram Pai <linuxram@us.ibm.com>
---
 tools/testing/selftests/vm/pkey-helpers.h    |    2 ++
 tools/testing/selftests/vm/pkey-powerpc.h    |   14 ++++++++++++--
 tools/testing/selftests/vm/pkey-x86.h        |    8 ++++----
 tools/testing/selftests/vm/protection_keys.c |    9 +++++----
 4 files changed, 23 insertions(+), 10 deletions(-)

diff --git a/tools/testing/selftests/vm/pkey-helpers.h b/tools/testing/selftests/vm/pkey-helpers.h
index 321bbbd..288ccff 100644
--- a/tools/testing/selftests/vm/pkey-helpers.h
+++ b/tools/testing/selftests/vm/pkey-helpers.h
@@ -76,6 +76,8 @@ static inline void sigsafe_printf(const char *format, ...)
 
 __attribute__((noinline)) int read_ptr(int *ptr);
 void expected_pkey_fault(int pkey);
+int sys_pkey_alloc(unsigned long flags, u64 init_val);
+int sys_pkey_free(unsigned long pkey);
 
 #if defined(__i386__) || defined(__x86_64__) /* arch */
 #include "pkey-x86.h"
diff --git a/tools/testing/selftests/vm/pkey-powerpc.h b/tools/testing/selftests/vm/pkey-powerpc.h
index ec6f5d7..957f6f6 100644
--- a/tools/testing/selftests/vm/pkey-powerpc.h
+++ b/tools/testing/selftests/vm/pkey-powerpc.h
@@ -62,9 +62,19 @@ static inline void __write_pkey_reg(pkey_reg_t pkey_reg)
 			pkey_reg);
 }
 
-static inline int cpu_has_pku(void)
+static inline bool is_pkey_supported(void)
 {
-	return 1;
+	/*
+	 * No simple way to determine this.
+	 * Lets try allocating a key and see if it succeeds.
+	 */
+	int ret = sys_pkey_alloc(0, 0);
+
+	if (ret > 0) {
+		sys_pkey_free(ret);
+		return true;
+	}
+	return false;
 }
 
 static inline int arch_reserved_keys(void)
diff --git a/tools/testing/selftests/vm/pkey-x86.h b/tools/testing/selftests/vm/pkey-x86.h
index 95ee952..6820c10 100644
--- a/tools/testing/selftests/vm/pkey-x86.h
+++ b/tools/testing/selftests/vm/pkey-x86.h
@@ -105,7 +105,7 @@ static inline void __cpuid(unsigned int *eax, unsigned int *ebx,
 #define X86_FEATURE_PKU        (1<<3) /* Protection Keys for Userspace */
 #define X86_FEATURE_OSPKE      (1<<4) /* OS Protection Keys Enable */
 
-static inline int cpu_has_pku(void)
+static inline bool is_pkey_supported(void)
 {
 	unsigned int eax;
 	unsigned int ebx;
@@ -118,13 +118,13 @@ static inline int cpu_has_pku(void)
 
 	if (!(ecx & X86_FEATURE_PKU)) {
 		dprintf2("cpu does not have PKU\n");
-		return 0;
+		return false;
 	}
 	if (!(ecx & X86_FEATURE_OSPKE)) {
 		dprintf2("cpu does not have OSPKE\n");
-		return 0;
+		return false;
 	}
-	return 1;
+	return true;
 }
 
 #define XSTATE_PKEY_BIT	(9)
diff --git a/tools/testing/selftests/vm/protection_keys.c b/tools/testing/selftests/vm/protection_keys.c
index ba184ca..cb81a47 100644
--- a/tools/testing/selftests/vm/protection_keys.c
+++ b/tools/testing/selftests/vm/protection_keys.c
@@ -1393,8 +1393,8 @@ void test_mprotect_pkey_on_unsupported_cpu(int *ptr, u16 pkey)
 	int size = PAGE_SIZE;
 	int sret;
 
-	if (cpu_has_pku()) {
-		dprintf1("SKIP: %s: no CPU support\n", __func__);
+	if (is_pkey_supported()) {
+		dprintf1("SKIP: %s: no CPU/kernel support\n", __func__);
 		return;
 	}
 
@@ -1458,12 +1458,13 @@ void run_tests_once(void)
 int main(void)
 {
 	int nr_iterations = 22;
+	int pkey_supported = is_pkey_supported();
 
 	setup_handlers();
 
-	printf("has pkey: %d\n", cpu_has_pku());
+	printf("has pkey: %s\n", pkey_supported ? "Yes" : "No");
 
-	if (!cpu_has_pku()) {
+	if (!pkey_supported) {
 		int size = PAGE_SIZE;
 		int *ptr;
 
-- 
1.7.1

WARNING: multiple messages have this Message-ID (diff)
From: Ram Pai <linuxram@us.ibm.com>
To: shuahkh@osg.samsung.com, linux-kselftest@vger.kernel.org
Cc: mpe@ellerman.id.au, linuxppc-dev@lists.ozlabs.org,
	linux-mm@kvack.org, x86@kernel.org, linux-arch@vger.kernel.org,
	mingo@redhat.com, dave.hansen@intel.com, mhocko@kernel.org,
	bauerman@linux.vnet.ibm.com, linuxram@us.ibm.com,
	fweimer@redhat.com, msuchanek@suse.de,
	aneesh.kumar@linux.vnet.ibm.com
Subject: [PATCH v13 17/24] selftests/vm: powerpc implementation to check support for pkey
Date: Wed, 13 Jun 2018 17:45:08 -0700	[thread overview]
Message-ID: <1528937115-10132-18-git-send-email-linuxram@us.ibm.com> (raw)
Message-ID: <20180614004508.Q_JBJchAm0BTiXZMF5cLIkhWScZopZfuSFXwUHzshNU@z> (raw)
In-Reply-To: <1528937115-10132-1-git-send-email-linuxram@us.ibm.com>

pkey subsystem is supported if the hardware and kernel has support.
We determine that by checking if allocation of a key succeeds or not.

cc: Dave Hansen <dave.hansen@intel.com>
cc: Florian Weimer <fweimer@redhat.com>
Signed-off-by: Ram Pai <linuxram@us.ibm.com>
---
 tools/testing/selftests/vm/pkey-helpers.h    |    2 ++
 tools/testing/selftests/vm/pkey-powerpc.h    |   14 ++++++++++++--
 tools/testing/selftests/vm/pkey-x86.h        |    8 ++++----
 tools/testing/selftests/vm/protection_keys.c |    9 +++++----
 4 files changed, 23 insertions(+), 10 deletions(-)

diff --git a/tools/testing/selftests/vm/pkey-helpers.h b/tools/testing/selftests/vm/pkey-helpers.h
index 321bbbd..288ccff 100644
--- a/tools/testing/selftests/vm/pkey-helpers.h
+++ b/tools/testing/selftests/vm/pkey-helpers.h
@@ -76,6 +76,8 @@ static inline void sigsafe_printf(const char *format, ...)
 
 __attribute__((noinline)) int read_ptr(int *ptr);
 void expected_pkey_fault(int pkey);
+int sys_pkey_alloc(unsigned long flags, u64 init_val);
+int sys_pkey_free(unsigned long pkey);
 
 #if defined(__i386__) || defined(__x86_64__) /* arch */
 #include "pkey-x86.h"
diff --git a/tools/testing/selftests/vm/pkey-powerpc.h b/tools/testing/selftests/vm/pkey-powerpc.h
index ec6f5d7..957f6f6 100644
--- a/tools/testing/selftests/vm/pkey-powerpc.h
+++ b/tools/testing/selftests/vm/pkey-powerpc.h
@@ -62,9 +62,19 @@ static inline void __write_pkey_reg(pkey_reg_t pkey_reg)
 			pkey_reg);
 }
 
-static inline int cpu_has_pku(void)
+static inline bool is_pkey_supported(void)
 {
-	return 1;
+	/*
+	 * No simple way to determine this.
+	 * Lets try allocating a key and see if it succeeds.
+	 */
+	int ret = sys_pkey_alloc(0, 0);
+
+	if (ret > 0) {
+		sys_pkey_free(ret);
+		return true;
+	}
+	return false;
 }
 
 static inline int arch_reserved_keys(void)
diff --git a/tools/testing/selftests/vm/pkey-x86.h b/tools/testing/selftests/vm/pkey-x86.h
index 95ee952..6820c10 100644
--- a/tools/testing/selftests/vm/pkey-x86.h
+++ b/tools/testing/selftests/vm/pkey-x86.h
@@ -105,7 +105,7 @@ static inline void __cpuid(unsigned int *eax, unsigned int *ebx,
 #define X86_FEATURE_PKU        (1<<3) /* Protection Keys for Userspace */
 #define X86_FEATURE_OSPKE      (1<<4) /* OS Protection Keys Enable */
 
-static inline int cpu_has_pku(void)
+static inline bool is_pkey_supported(void)
 {
 	unsigned int eax;
 	unsigned int ebx;
@@ -118,13 +118,13 @@ static inline int cpu_has_pku(void)
 
 	if (!(ecx & X86_FEATURE_PKU)) {
 		dprintf2("cpu does not have PKU\n");
-		return 0;
+		return false;
 	}
 	if (!(ecx & X86_FEATURE_OSPKE)) {
 		dprintf2("cpu does not have OSPKE\n");
-		return 0;
+		return false;
 	}
-	return 1;
+	return true;
 }
 
 #define XSTATE_PKEY_BIT	(9)
diff --git a/tools/testing/selftests/vm/protection_keys.c b/tools/testing/selftests/vm/protection_keys.c
index ba184ca..cb81a47 100644
--- a/tools/testing/selftests/vm/protection_keys.c
+++ b/tools/testing/selftests/vm/protection_keys.c
@@ -1393,8 +1393,8 @@ void test_mprotect_pkey_on_unsupported_cpu(int *ptr, u16 pkey)
 	int size = PAGE_SIZE;
 	int sret;
 
-	if (cpu_has_pku()) {
-		dprintf1("SKIP: %s: no CPU support\n", __func__);
+	if (is_pkey_supported()) {
+		dprintf1("SKIP: %s: no CPU/kernel support\n", __func__);
 		return;
 	}
 
@@ -1458,12 +1458,13 @@ void run_tests_once(void)
 int main(void)
 {
 	int nr_iterations = 22;
+	int pkey_supported = is_pkey_supported();
 
 	setup_handlers();
 
-	printf("has pkey: %d\n", cpu_has_pku());
+	printf("has pkey: %s\n", pkey_supported ? "Yes" : "No");
 
-	if (!cpu_has_pku()) {
+	if (!pkey_supported) {
 		int size = PAGE_SIZE;
 		int *ptr;
 
-- 
1.7.1

  parent reply	other threads:[~2018-06-14  0:45 UTC|newest]

Thread overview: 198+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-14  0:44 [PATCH v13 00/24] selftests, powerpc, x86 : Memory Protection Keys linuxram
2018-06-14  0:44 ` Ram Pai
2018-06-14  0:44 ` Ram Pai
2018-06-14  0:44 ` Ram Pai
2018-06-14  0:44 ` [PATCH v13 01/24] selftests/x86: Move protecton key selftest to arch neutral directory linuxram
2018-06-14  0:44   ` Ram Pai
2018-06-14  0:44   ` Ram Pai
2018-06-14  0:44   ` Ram Pai
2018-06-14  0:44 ` [PATCH v13 02/24] selftests/vm: rename all references to pkru to a generic name linuxram
2018-06-14  0:44   ` Ram Pai
2018-06-14  0:44   ` Ram Pai
2018-06-14  0:44   ` Ram Pai
2018-06-14  0:44 ` [PATCH v13 03/24] selftests/vm: move generic definitions to header file linuxram
2018-06-14  0:44   ` Ram Pai
2018-06-14  0:44   ` Ram Pai
2018-06-14  0:44   ` Ram Pai
2018-06-14  0:44 ` [PATCH v13 04/24] selftests/vm: move arch-specific definitions to arch-specific header linuxram
2018-06-14  0:44   ` Ram Pai
2018-06-14  0:44   ` Ram Pai
2018-06-14  0:44   ` Ram Pai
2018-06-14  0:44 ` [PATCH v13 05/24] selftests/vm: Make gcc check arguments of sigsafe_printf() linuxram
2018-06-14  0:44   ` Ram Pai
2018-06-14  0:44   ` Ram Pai
2018-06-14  0:44   ` Ram Pai
2018-06-14  0:44 ` [PATCH v13 06/24] selftests/vm: typecast the pkey register linuxram
2018-06-14  0:44   ` Ram Pai
2018-06-14  0:44   ` Ram Pai
2018-06-14  0:44   ` Ram Pai
2018-06-14  0:44 ` [PATCH v13 07/24] selftests/vm: generic function to handle shadow key register linuxram
2018-06-14  0:44   ` Ram Pai
2018-06-14  0:44   ` Ram Pai
2018-06-14  0:44   ` Ram Pai
2018-06-14  0:44 ` [PATCH v13 08/24] selftests/vm: fix the wrong assert in pkey_disable_set() linuxram
2018-06-14  0:44   ` Ram Pai
2018-06-14  0:44   ` Ram Pai
2018-06-14  0:44   ` Ram Pai
2018-06-20 14:47   ` dave.hansen
2018-06-20 14:47     ` Dave Hansen
2018-06-20 14:47     ` Dave Hansen
2018-06-20 14:47     ` Dave Hansen
2018-07-17 15:58     ` linuxram
2018-07-17 15:58       ` Ram Pai
2018-07-17 15:58       ` Ram Pai
2018-07-17 15:58       ` Ram Pai
2018-07-17 17:53       ` dave.hansen
2018-07-17 17:53         ` Dave Hansen
2018-07-17 17:53         ` Dave Hansen
2018-07-17 17:53         ` Dave Hansen
2018-06-14  0:45 ` [PATCH v13 09/24] selftests/vm: fixed bugs in pkey_disable_clear() linuxram
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45 ` [PATCH v13 10/24] selftests/vm: clear the bits in shadow reg when a pkey is freed linuxram
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-20 14:49   ` dave.hansen
2018-06-20 14:49     ` Dave Hansen
2018-06-20 14:49     ` Dave Hansen
2018-06-20 14:49     ` Dave Hansen
2018-07-17 16:00     ` linuxram
2018-07-17 16:00       ` Ram Pai
2018-07-17 16:00       ` Ram Pai
2018-07-17 16:00       ` Ram Pai
2018-06-14  0:45 ` [PATCH v13 11/24] selftests/vm: fix alloc_random_pkey() to make it really random linuxram
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45 ` [PATCH v13 12/24] selftests/vm: introduce two arch independent abstraction linuxram
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45 ` [PATCH v13 13/24] selftests/vm: pkey register should match shadow pkey linuxram
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-20 14:53   ` dave.hansen
2018-06-20 14:53     ` Dave Hansen
2018-06-20 14:53     ` Dave Hansen
2018-06-20 14:53     ` Dave Hansen
2018-07-17 16:02     ` linuxram
2018-07-17 16:02       ` Ram Pai
2018-07-17 16:02       ` Ram Pai
2018-07-17 16:02       ` Ram Pai
2018-06-14  0:45 ` [PATCH v13 14/24] selftests/vm: generic cleanup linuxram
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-20 14:57   ` dave.hansen
2018-06-20 14:57     ` Dave Hansen
2018-06-20 14:57     ` Dave Hansen
2018-06-20 14:57     ` Dave Hansen
2018-06-14  0:45 ` [PATCH v13 15/24] selftests/vm: powerpc implementation for generic abstraction linuxram
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-20 15:06   ` dave.hansen
2018-06-20 15:06     ` Dave Hansen
2018-06-20 15:06     ` Dave Hansen
2018-06-20 15:06     ` Dave Hansen
2018-06-14  0:45 ` [PATCH v13 16/24] selftests/vm: clear the bits in shadow reg when a pkey is freed linuxram
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-20 15:07   ` dave.hansen
2018-06-20 15:07     ` Dave Hansen
2018-06-20 15:07     ` Dave Hansen
2018-06-20 15:07     ` Dave Hansen
2018-07-17 16:03     ` linuxram
2018-07-17 16:03       ` Ram Pai
2018-07-17 16:03       ` Ram Pai
2018-07-17 16:03       ` Ram Pai
2018-06-14  0:45 ` linuxram [this message]
2018-06-14  0:45   ` [PATCH v13 17/24] selftests/vm: powerpc implementation to check support for pkey Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-20 15:09   ` dave.hansen
2018-06-20 15:09     ` Dave Hansen
2018-06-20 15:09     ` Dave Hansen
2018-06-20 15:09     ` Dave Hansen
2018-07-17 16:05     ` linuxram
2018-07-17 16:05       ` Ram Pai
2018-07-17 16:05       ` Ram Pai
2018-07-17 16:05       ` Ram Pai
2018-06-14  0:45 ` [PATCH v13 18/24] selftests/vm: fix an assertion in test_pkey_alloc_exhaust() linuxram
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-20 15:11   ` dave.hansen
2018-06-20 15:11     ` Dave Hansen
2018-06-20 15:11     ` Dave Hansen
2018-06-20 15:11     ` Dave Hansen
2018-07-17 16:08     ` linuxram
2018-07-17 16:08       ` Ram Pai
2018-07-17 16:08       ` Ram Pai
2018-07-17 16:08       ` Ram Pai
2018-06-14  0:45 ` [PATCH v13 19/24] selftests/vm: associate key on a mapped page and detect access violation linuxram
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-20 15:16   ` dave.hansen
2018-06-20 15:16     ` Dave Hansen
2018-06-20 15:16     ` Dave Hansen
2018-06-20 15:16     ` Dave Hansen
2018-07-17 16:13     ` linuxram
2018-07-17 16:13       ` Ram Pai
2018-07-17 16:13       ` Ram Pai
2018-07-17 16:13       ` Ram Pai
2018-07-17 17:56       ` dave.hansen
2018-07-17 17:56         ` Dave Hansen
2018-07-17 17:56         ` Dave Hansen
2018-07-17 17:56         ` Dave Hansen
2018-07-17 19:10         ` linuxram
2018-07-17 19:10           ` Ram Pai
2018-07-17 19:10           ` Ram Pai
2018-07-17 19:10           ` Ram Pai
2018-06-14  0:45 ` [PATCH v13 20/24] selftests/vm: associate key on a mapped page and detect write violation linuxram
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45 ` [PATCH v13 21/24] selftests/vm: detect write violation on a mapped access-denied-key page linuxram
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45 ` [PATCH v13 22/24] selftests/vm: testcases must restore pkey-permissions linuxram
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-20 15:20   ` dave.hansen
2018-06-20 15:20     ` Dave Hansen
2018-06-20 15:20     ` Dave Hansen
2018-06-20 15:20     ` Dave Hansen
2018-07-17 16:09     ` linuxram
2018-07-17 16:09       ` Ram Pai
2018-07-17 16:09       ` Ram Pai
2018-07-17 16:09       ` Ram Pai
2018-06-14  0:45 ` [PATCH v13 23/24] selftests/vm: sub-page allocator linuxram
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45 ` [PATCH v13 24/24] selftests/vm: test correct behavior of pkey-0 linuxram
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-20 15:22   ` dave.hansen
2018-06-20 15:22     ` Dave Hansen
2018-06-20 15:22     ` Dave Hansen
2018-06-20 15:22     ` Dave Hansen
2018-06-14 20:19 ` [PATCH v13 00/24] selftests, powerpc, x86 : Memory Protection Keys fweimer
2018-06-14 20:19   ` Florian Weimer
2018-06-14 20:19   ` Florian Weimer
2018-06-14 20:19   ` Florian Weimer
2018-06-14 20:19   ` Florian Weimer
2018-06-15  0:58   ` linuxram
2018-06-15  0:58     ` Ram Pai
2018-06-15  0:58     ` Ram Pai
2018-06-15  0:58     ` Ram Pai
2018-06-15  0:58     ` Ram Pai

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1528937115-10132-18-git-send-email-linuxram@us.ibm.com \
    --to=unknown@example.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.