Both IAMR and uamor are privileged and cannot be updated by userspace. Hence
we also don't allow ptrace interface to update them. Don't update them in the
test. Also expected_iamr is only changed if we can allocate a  DISABLE_EXECUTE
pkey.

Signed-off-by: Aneesh Kumar K.V <aneesh.ku...@linux.ibm.com>
---
 tools/testing/selftests/powerpc/ptrace/ptrace-pkey.c | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/tools/testing/selftests/powerpc/ptrace/ptrace-pkey.c 
b/tools/testing/selftests/powerpc/ptrace/ptrace-pkey.c
index bc33d748d95b..5c3c8222de46 100644
--- a/tools/testing/selftests/powerpc/ptrace/ptrace-pkey.c
+++ b/tools/testing/selftests/powerpc/ptrace/ptrace-pkey.c
@@ -101,15 +101,12 @@ static int child(struct shared_info *info)
         */
        info->invalid_amr = info->amr2 | (~0x0UL & ~info->expected_uamor);
 
+       /*
+        * if PKEY_DISABLE_EXECUTE succeeded we should update the expected_iamr
+        */
        if (disable_execute)
                info->expected_iamr |= 1ul << pkeyshift(pkey1);
-       else
-               info->expected_iamr &= ~(1ul << pkeyshift(pkey1));
-
-       info->expected_iamr &= ~(1ul << pkeyshift(pkey2) | 1ul << 
pkeyshift(pkey3));
 
-       info->expected_uamor |= 3ul << pkeyshift(pkey1) |
-                               3ul << pkeyshift(pkey2);
        /*
         * Create an IAMR value different from expected value.
         * Kernel will reject an IAMR and UAMOR change.
-- 
2.26.2

Reply via email to