All of lore.kernel.org
 help / color / mirror / Atom feed
From: dave.long@linaro.org (David Long)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v5 4/6] arm64: kprobes instruction simulation support
Date: Fri, 06 Mar 2015 09:42:59 -0500	[thread overview]
Message-ID: <54F9BCF3.1060609@linaro.org> (raw)
In-Reply-To: <CAPvkgC1Af0ox8cujTyd0bCYWvJVqyXh-vsRZJ7FG4Zdw1SzEmg@mail.gmail.com>

On 03/06/15 06:39, Steve Capper wrote:
> On 17 February 2015 at 23:11, David Long <dave.long@linaro.org> wrote:
>> From: Sandeepa Prabhu <sandeepa.prabhu@linaro.org>
>>
>> Kprobes needs simulation of instructions that cannot be stepped
>> from different memory location, e.g.: those instructions
>> that uses PC-relative addressing. In simulation, the behaviour
>> of the instruction is implemented using a copy of pt_regs.
>>
>> Following instruction catagories are simulated:
>>   - All branching instructions(conditional, register, and immediate)
>>   - Literal access instructions(load-literal, adr/adrp)
>>
>> Conditional execution is limited to branching instructions in
>> ARM v8. If conditions at PSTATE do not match the condition fields
>> of opcode, the instruction is effectively NOP. Kprobes considers
>> this case as 'miss'.
>>
>> Thanks to Will Cohen for assorted suggested changes.
>>
>> Signed-off-by: Sandeepa Prabhu <sandeepa.prabhu@linaro.org>
>> Signed-off-by: William Cohen <wcohen@redhat.com>
>> Signed-off-by: David A. Long <dave.long@linaro.org>
>> ---
>
> Hi,
> Apologies for looking at these late (I was on holiday).
>
> I've applied this series on top of 3.19, but I get the following compile error:
> arch/arm64/kernel/kprobes-arm64.c:23:34: fatal error:
> probes-simulate-insn.h: No such file or directory
>   #include "probes-simulate-insn.h"
>                                    ^
> compilation terminated.
> scripts/Makefile.build:257: recipe for target
> 'arch/arm64/kernel/kprobes-arm64.o' failed
>
> Is something missing from this patch?
>
> Cheers,
> --
> Steve
>

Yes Steve, the patch is missing three new files.  It passed my testing 
because I had not cleaned out non-checked-in files from my cloned repo. 
  I've put a preliminary version of a v6 patch that addresses other 
feedback in my own public repo, and will send out a new patch in the 
near future after more testing and additional tweaks.

-dl

WARNING: multiple messages have this Message-ID (diff)
From: David Long <dave.long@linaro.org>
To: Steve Capper <steve.capper@linaro.org>
Cc: "linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>,
	Russell King <linux@arm.linux.org.uk>,
	Sandeepa Prabhu <sandeepa.prabhu@linaro.org>,
	William Cohen <wcohen@redhat.com>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will.deacon@arm.com>,
	"Jon Medhurst (Tixy)" <tixy@linaro.org>,
	Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>,
	Ananth N Mavinakayanahalli <ananth@in.ibm.com>,
	Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com>,
	David Miller <davem@davemloft.net>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v5 4/6] arm64: kprobes instruction simulation support
Date: Fri, 06 Mar 2015 09:42:59 -0500	[thread overview]
Message-ID: <54F9BCF3.1060609@linaro.org> (raw)
In-Reply-To: <CAPvkgC1Af0ox8cujTyd0bCYWvJVqyXh-vsRZJ7FG4Zdw1SzEmg@mail.gmail.com>

On 03/06/15 06:39, Steve Capper wrote:
> On 17 February 2015 at 23:11, David Long <dave.long@linaro.org> wrote:
>> From: Sandeepa Prabhu <sandeepa.prabhu@linaro.org>
>>
>> Kprobes needs simulation of instructions that cannot be stepped
>> from different memory location, e.g.: those instructions
>> that uses PC-relative addressing. In simulation, the behaviour
>> of the instruction is implemented using a copy of pt_regs.
>>
>> Following instruction catagories are simulated:
>>   - All branching instructions(conditional, register, and immediate)
>>   - Literal access instructions(load-literal, adr/adrp)
>>
>> Conditional execution is limited to branching instructions in
>> ARM v8. If conditions at PSTATE do not match the condition fields
>> of opcode, the instruction is effectively NOP. Kprobes considers
>> this case as 'miss'.
>>
>> Thanks to Will Cohen for assorted suggested changes.
>>
>> Signed-off-by: Sandeepa Prabhu <sandeepa.prabhu@linaro.org>
>> Signed-off-by: William Cohen <wcohen@redhat.com>
>> Signed-off-by: David A. Long <dave.long@linaro.org>
>> ---
>
> Hi,
> Apologies for looking at these late (I was on holiday).
>
> I've applied this series on top of 3.19, but I get the following compile error:
> arch/arm64/kernel/kprobes-arm64.c:23:34: fatal error:
> probes-simulate-insn.h: No such file or directory
>   #include "probes-simulate-insn.h"
>                                    ^
> compilation terminated.
> scripts/Makefile.build:257: recipe for target
> 'arch/arm64/kernel/kprobes-arm64.o' failed
>
> Is something missing from this patch?
>
> Cheers,
> --
> Steve
>

Yes Steve, the patch is missing three new files.  It passed my testing 
because I had not cleaned out non-checked-in files from my cloned repo. 
  I've put a preliminary version of a v6 patch that addresses other 
feedback in my own public repo, and will send out a new patch in the 
near future after more testing and additional tweaks.

-dl


  reply	other threads:[~2015-03-06 14:42 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-17 23:11 [PATCH v5 0/6] arm64: Add kernel probes (kprobes) support David Long
2015-02-17 23:11 ` David Long
2015-02-17 23:11 ` [PATCH v5 1/6] arm64: Add HAVE_REGS_AND_STACK_ACCESS_API feature David Long
2015-02-17 23:11   ` David Long
2015-02-18 14:59   ` Masami Hiramatsu
2015-02-18 14:59     ` Masami Hiramatsu
2015-03-25 13:44   ` Catalin Marinas
2015-03-25 13:44     ` Catalin Marinas
2015-04-20  7:15     ` David Long
2015-04-20  7:15       ` David Long
2015-02-17 23:11 ` [PATCH v5 2/6] arm64: Add more test functions to insn.c David Long
2015-02-17 23:11   ` David Long
2015-02-18 15:00   ` Masami Hiramatsu
2015-02-18 15:00     ` Masami Hiramatsu
2015-02-17 23:11 ` [PATCH v5 3/6] arm64: Kprobes with single stepping support David Long
2015-02-17 23:11   ` David Long
2015-02-18 14:59   ` Masami Hiramatsu
2015-02-18 14:59     ` Masami Hiramatsu
2015-02-27  6:38     ` David Long
2015-02-27  6:38       ` David Long
2015-02-27  8:27       ` Masami Hiramatsu
2015-02-27  8:27         ` Masami Hiramatsu
2015-04-08  6:07   ` Pratyush Anand
2015-04-08  6:07     ` Pratyush Anand
2015-04-08 11:01     ` David Long
2015-04-08 11:01       ` David Long
2015-02-17 23:11 ` [PATCH v5 4/6] arm64: kprobes instruction simulation support David Long
2015-02-17 23:11   ` David Long
2015-03-06 11:39   ` Steve Capper
2015-03-06 11:39     ` Steve Capper
2015-03-06 14:42     ` David Long [this message]
2015-03-06 14:42       ` David Long
2015-02-17 23:11 ` [PATCH v5 5/6] arm64: Add kernel return probes support (kretprobes) David Long
2015-02-17 23:11   ` David Long
2015-02-19 14:49   ` Masami Hiramatsu
2015-02-19 14:49     ` Masami Hiramatsu
2015-02-17 23:11 ` [PATCH v5 6/6] kprobes: Add arm64 case in kprobe example module David Long
2015-02-17 23:11   ` David Long
2015-02-19 14:18   ` Masami Hiramatsu
2015-02-19 14:18     ` Masami Hiramatsu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=54F9BCF3.1060609@linaro.org \
    --to=dave.long@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.