lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Fri, 14 Dec 2012 23:34:50 -0500
From:	Simon Marchi <simon.marchi@...ymtl.ca>
To:	cmetcalf@...era.com
Cc:	linux-kernel@...r.kernel.org,
	Simon Marchi <simon.marchi@...ymtl.ca>
Subject: [PATCH 2/3] arch/tile: implement arch_ptrace using user_regset on tilegx

This patch changes arch_ptrace on tilegx so that it uses the user_regset
to implement the PTRACE_GETREGS and PTRACE_SETREGS operations.

The ifdefs and the old code can be removed when user_regset support for
the older architectures is there.

Signed-off-by: Simon Marchi <simon.marchi@...ymtl.ca>
---
 arch/tile/kernel/ptrace.c |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/arch/tile/kernel/ptrace.c b/arch/tile/kernel/ptrace.c
index 0e68d06..9435dd1 100644
--- a/arch/tile/kernel/ptrace.c
+++ b/arch/tile/kernel/ptrace.c
@@ -196,18 +196,28 @@ long arch_ptrace(struct task_struct *child, long request,
 		break;
 
 	case PTRACE_GETREGS:  /* Get all registers from the child. */
+#ifdef __tilegx__
+		ret = copy_regset_to_user(child, &tile_user_regset_view, REGSET_GPR,
+					  0, sizeof(struct pt_regs), datap);
+#else /* __tilegx__ */
 		if (copy_to_user(datap, getregs(child, &copyregs),
 				 sizeof(struct pt_regs)) == 0) {
 			ret = 0;
 		}
+#endif /* __tilegx__ */
 		break;
 
 	case PTRACE_SETREGS:  /* Set all registers in the child. */
+#ifdef __tilegx__
+		ret = copy_regset_from_user(child, &tile_user_regset_view, REGSET_GPR,
+					    0, sizeof(struct pt_regs), datap);
+#else /* __tilegx__ */
 		if (copy_from_user(&copyregs, datap,
 				   sizeof(struct pt_regs)) == 0) {
 			putregs(child, &copyregs);
 			ret = 0;
 		}
+#endif /* __tilegx__ */
 		break;
 
 	case PTRACE_GETFPREGS:  /* Get the child FPU state. */
-- 
1.7.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ