powerpc/ptrace-view: Use pt_regs values instead of thread_struct based one.
authorAneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
Fri, 27 Nov 2020 04:44:15 +0000 (10:14 +0530)
committerMichael Ellerman <mpe@ellerman.id.au>
Thu, 3 Dec 2020 14:01:26 +0000 (01:01 +1100)
We will remove thread.amr/iamr/uamor in a later patch

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20201127044424.40686-14-aneesh.kumar@linux.ibm.com
arch/powerpc/kernel/ptrace/ptrace-view.c

index 00a765f..2bad806 100644 (file)
@@ -471,12 +471,12 @@ static int pkey_active(struct task_struct *target, const struct user_regset *reg
 static int pkey_get(struct task_struct *target, const struct user_regset *regset,
                    struct membuf to)
 {
-       BUILD_BUG_ON(TSO(amr) + sizeof(unsigned long) != TSO(iamr));
 
        if (!arch_pkeys_enabled())
                return -ENODEV;
 
-       membuf_write(&to, &target->thread.amr, 2 * sizeof(unsigned long));
+       membuf_store(&to, target->thread.regs->amr);
+       membuf_store(&to, target->thread.regs->iamr);
        return membuf_store(&to, default_uamor);
 }
 
@@ -509,7 +509,8 @@ static int pkey_set(struct task_struct *target, const struct user_regset *regset
         * Pick the AMR values for the keys that kernel is using. This
         * will be indicated by the ~default_uamor bits.
         */
-       target->thread.amr = (new_amr & default_uamor) | (target->thread.amr & ~default_uamor);
+       target->thread.regs->amr = (new_amr & default_uamor) |
+               (target->thread.regs->amr & ~default_uamor);
 
        return 0;
 }