Thread (71 messages) flat view 71 messages, 10 authors, 2016-08-10

[PATCH v15 04/10] arm64: Kprobes with single stepping support

From: catalin.marinas@arm.com (Catalin Marinas)
Date: 2016-08-09 17:23:22
Also in: lkml, sparclinux

On Mon, Aug 08, 2016 at 10:29:05AM -0400, David Long wrote:
On 08/08/2016 07:13 AM, Daniel Thompson wrote:
quoted
On 04/08/16 05:47, David Long wrote:
quoted
From b451caa1adaf1d03e08a44b5dad3fca31cebd97a Mon Sep 17 00:00:00 2001
From: "David A. Long" <redacted>
Date: Thu, 4 Aug 2016 00:35:33 -0400
Subject: [PATCH] arm64: Remove stack duplicating code from jprobes

Because the arm64 calling standard allows stacked function arguments
to be
anywhere in the stack frame, do not attempt to duplicate the stack
frame for
jprobes handler functions.

Signed-off-by: David A. Long <redacted>
---
Documentation/kprobes.txt          |  7 +++++++
arch/arm64/include/asm/kprobes.h   |  2 --
arch/arm64/kernel/probes/kprobes.c | 31 +++++--------------------------
3 files changed, 12 insertions(+), 28 deletions(-)
diff --git a/Documentation/kprobes.txt b/Documentation/kprobes.txt
index 1f9b3e2..bd01839 100644
--- a/Documentation/kprobes.txt
+++ b/Documentation/kprobes.txt
@@ -103,6 +103,13 @@ Note that the probed function's args may be
passed on the stack
or in registers.  The jprobe will work in either case, so long as the
handler's prototype matches that of the probed function.

+Note that in some architectures (e.g.: arm64) the stack copy is not
Could sparc64 be added to this list?

  For the sparc folks who are new to the thread, we've previously
  established that the sparc64 ABI passes large structures by
  allocating them from the caller's stack frame and passing a pointer
  to the stack frame (i.e. arguments may not be at top of the stack).
  We also noticed that sparc code does not save/restore anything from
  the stack.
I was reluctant to do that in the context of late changes to v4.8 for arm64
but now that any changes for this are going in as a new patch it would
indeed be useful to get involvement from sparc maintainers.
I'm happy to take the arm64 patch for 4.8 as it's mainly a clean-up.
Whether you can mention sparc64 as well, it depends on the sparc
maintainers. You can either cc them or send the series as two patches,
one for documentation and the other for arm64.

-- 
Catalin
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help