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

From: [email-masked] (David Long)
Date: Wed, 10 Aug 2016 16:41:58 -0400

On 08/09/2016 01:23 PM, Catalin Marinas wrote:
> On Mon, Aug 08, 2016 at 10:29:05AM -0400, David Long wrote:
>> On 08/08/2016 07:13 AM, Daniel Thompson wrote:
>>> On 04/08/16 05:47, David Long wrote:
>>> >From b451caa1adaf1d03e08a44b5dad3fca31cebd97a Mon Sep 17 00:00:00 2001
>>>> From: "David A. Long" <[email-masked]>
>>>> 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 <[email-masked]>
>>>> ---
>>>> 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.
>

I didn't think that was going to be possible after v4.8-rc1.  I have 
separated the documentation and code changes.  I will send out the new 
code-only patch (otherwise unchanged in content) momentarily.

Thanks,
-dl