Commit 9a11f12e authored by Aneesh Kumar K.V's avatar Aneesh Kumar K.V Committed by Michael Ellerman

selftests/powerpc: ptrace-pkey: Rename variables to make it easier to follow code

Rename variable to indicate that they are invalid values which we will
use to test ptrace update of pkeys.
Signed-off-by: default avatarAneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20200709032946.881753-21-aneesh.kumar@linux.ibm.com
parent e0d8e991
...@@ -44,7 +44,7 @@ struct shared_info { ...@@ -44,7 +44,7 @@ struct shared_info {
unsigned long amr2; unsigned long amr2;
/* AMR value that ptrace should refuse to write to the child. */ /* AMR value that ptrace should refuse to write to the child. */
unsigned long amr3; unsigned long invalid_amr;
/* IAMR value the parent expects to read from the child. */ /* IAMR value the parent expects to read from the child. */
unsigned long expected_iamr; unsigned long expected_iamr;
...@@ -57,8 +57,8 @@ struct shared_info { ...@@ -57,8 +57,8 @@ struct shared_info {
* (even though they're valid ones) because userspace doesn't have * (even though they're valid ones) because userspace doesn't have
* access to those registers. * access to those registers.
*/ */
unsigned long new_iamr; unsigned long invalid_iamr;
unsigned long new_uamor; unsigned long invalid_uamor;
}; };
static int sys_pkey_alloc(unsigned long flags, unsigned long init_access_rights) static int sys_pkey_alloc(unsigned long flags, unsigned long init_access_rights)
...@@ -100,7 +100,7 @@ static int child(struct shared_info *info) ...@@ -100,7 +100,7 @@ static int child(struct shared_info *info)
info->amr1 |= 3ul << pkeyshift(pkey1); info->amr1 |= 3ul << pkeyshift(pkey1);
info->amr2 |= 3ul << pkeyshift(pkey2); info->amr2 |= 3ul << pkeyshift(pkey2);
info->amr3 |= info->amr2 | 3ul << pkeyshift(pkey3); info->invalid_amr |= info->amr2 | 3ul << pkeyshift(pkey3);
if (disable_execute) if (disable_execute)
info->expected_iamr |= 1ul << pkeyshift(pkey1); info->expected_iamr |= 1ul << pkeyshift(pkey1);
...@@ -111,8 +111,8 @@ static int child(struct shared_info *info) ...@@ -111,8 +111,8 @@ static int child(struct shared_info *info)
info->expected_uamor |= 3ul << pkeyshift(pkey1) | info->expected_uamor |= 3ul << pkeyshift(pkey1) |
3ul << pkeyshift(pkey2); 3ul << pkeyshift(pkey2);
info->new_iamr |= 1ul << pkeyshift(pkey1) | 1ul << pkeyshift(pkey2); info->invalid_iamr |= 1ul << pkeyshift(pkey1) | 1ul << pkeyshift(pkey2);
info->new_uamor |= 3ul << pkeyshift(pkey1); info->invalid_uamor |= 3ul << pkeyshift(pkey1);
/* /*
* We won't use pkey3. We just want a plausible but invalid key to test * We won't use pkey3. We just want a plausible but invalid key to test
...@@ -196,9 +196,9 @@ static int parent(struct shared_info *info, pid_t pid) ...@@ -196,9 +196,9 @@ static int parent(struct shared_info *info, pid_t pid)
PARENT_SKIP_IF_UNSUPPORTED(ret, &info->child_sync); PARENT_SKIP_IF_UNSUPPORTED(ret, &info->child_sync);
PARENT_FAIL_IF(ret, &info->child_sync); PARENT_FAIL_IF(ret, &info->child_sync);
info->amr1 = info->amr2 = info->amr3 = regs[0]; info->amr1 = info->amr2 = info->invalid_amr = regs[0];
info->expected_iamr = info->new_iamr = regs[1]; info->expected_iamr = info->invalid_iamr = regs[1];
info->expected_uamor = info->new_uamor = regs[2]; info->expected_uamor = info->invalid_uamor = regs[2];
/* Wake up child so that it can set itself up. */ /* Wake up child so that it can set itself up. */
ret = prod_child(&info->child_sync); ret = prod_child(&info->child_sync);
...@@ -234,10 +234,10 @@ static int parent(struct shared_info *info, pid_t pid) ...@@ -234,10 +234,10 @@ static int parent(struct shared_info *info, pid_t pid)
return ret; return ret;
/* Write invalid AMR value in child. */ /* Write invalid AMR value in child. */
ret = ptrace_write_regs(pid, NT_PPC_PKEY, &info->amr3, 1); ret = ptrace_write_regs(pid, NT_PPC_PKEY, &info->invalid_amr, 1);
PARENT_FAIL_IF(ret, &info->child_sync); PARENT_FAIL_IF(ret, &info->child_sync);
printf("%-30s AMR: %016lx\n", ptrace_write_running, info->amr3); printf("%-30s AMR: %016lx\n", ptrace_write_running, info->invalid_amr);
/* Wake up child so that it can verify it didn't change. */ /* Wake up child so that it can verify it didn't change. */
ret = prod_child(&info->child_sync); ret = prod_child(&info->child_sync);
...@@ -249,7 +249,7 @@ static int parent(struct shared_info *info, pid_t pid) ...@@ -249,7 +249,7 @@ static int parent(struct shared_info *info, pid_t pid)
/* Try to write to IAMR. */ /* Try to write to IAMR. */
regs[0] = info->amr1; regs[0] = info->amr1;
regs[1] = info->new_iamr; regs[1] = info->invalid_iamr;
ret = ptrace_write_regs(pid, NT_PPC_PKEY, regs, 2); ret = ptrace_write_regs(pid, NT_PPC_PKEY, regs, 2);
PARENT_FAIL_IF(!ret, &info->child_sync); PARENT_FAIL_IF(!ret, &info->child_sync);
...@@ -257,7 +257,7 @@ static int parent(struct shared_info *info, pid_t pid) ...@@ -257,7 +257,7 @@ static int parent(struct shared_info *info, pid_t pid)
ptrace_write_running, regs[0], regs[1]); ptrace_write_running, regs[0], regs[1]);
/* Try to write to IAMR and UAMOR. */ /* Try to write to IAMR and UAMOR. */
regs[2] = info->new_uamor; regs[2] = info->invalid_uamor;
ret = ptrace_write_regs(pid, NT_PPC_PKEY, regs, 3); ret = ptrace_write_regs(pid, NT_PPC_PKEY, regs, 3);
PARENT_FAIL_IF(!ret, &info->child_sync); PARENT_FAIL_IF(!ret, &info->child_sync);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment