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 v3 00/15] uprobes: Add uprobes support for ARM
Date: Thu, 05 Dec 2013 14:48:10 -0500	[thread overview]
Message-ID: <52A0D87A.9060802@linaro.org> (raw)
In-Reply-To: <529F6B88.2050005@linaro.org>

On 12/04/13 12:51, Taras Kondratiuk wrote:
> On 11/27/2013 04:53 AM, David Long wrote:
>> From: "David A. Long" <dave.long@linaro.org>
>>
>> This patch series adds basic uprobes support to ARM. It is based on patches
>> developed earlier by Rabin Vincent. That approach of adding hooks into
>> the kprobes instruction parsing code was not well received. This approach
>> separates the ARM instruction parsing code in kprobes out into a separate set
>> of functions which can be used by both kprobes and uprobes. Both kprobes and
>> uprobes then provide their own semantic action tables to process the results of
>> the parsing.
>>
>> The following are noteworthy changes made for v3:
>>
>> 1) The ARM uprobes functionality no longer depends on kprobes. As
>> a side effect of this there are no longer any changes to the common
>> kprobes include file (or any other common kprobes files).
>> 2) A couple large patches have been broken down into more smaller
>> patches.
>> 3) A problem with uretprobes has been fixed.
>> 4) The kprobes-test module has been made more useable for thumb tests.
>> 5) The argument list to the "action" functions has been shrunk.
>> 6) Alignment with a few recent patches that were made to common
>> uprobes code specifically to support this patchset.
>>
>> This patchset is based on v3.13-rc1
>
> Hi Dave
>
> I've tested this series in big-endian mode.
> There is an issue within __create_xol_area() function.
> It writes UPROBE_SWBP_INSN directly to memory, but UPROBE_SWBP_INSN
> stores canonical opcode, which leads to a wrong instruction endianness
> if CPU runs in BE.
>
> I think the easies way to fix it without touching generic uprobes code
> is to store opcode in native endianness in UPROBE_SWBP_INSN, and use
> another macro for canonical form in ARM specific code.
> Please check a diff below. With this diff plus addressed comment for
> patch 14/15 plus fixed Ben's BE kprobes series I have uprobes working
> on LE and BE.
>

Thanks Taras.  I am preparing a v4 addressing these issues and also 
addressing the issue that, after duplicating your earlier observations, 
  my claim in "1)" above has proven to be incorrect.

-dl

WARNING: multiple messages have this Message-ID (diff)
From: David Long <dave.long@linaro.org>
To: Taras Kondratiuk <taras.kondratiuk@linaro.org>,
	Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Cc: linux-arm-kernel@lists.infradead.org,
	Russell King <linux@arm.linux.org.uk>,
	Rabin Vincent <rabin@rab.in>,
	"Jon Medhurst (Tixy)" <tixy@linaro.org>,
	Oleg Nesterov <oleg@redhat.com>,
	Srikar Dronamraju <srikar@linux.vnet.ibm.com>,
	Ingo Molnar <mingo@redhat.com>,
	Ananth N Mavinakayanahalli <ananth@in.ibm.com>,
	Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com>,
	davem@davemloft.net, Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Paul Mackerras <paulus@samba.org>,
	Arnaldo Carvalho de Melo <acme@ghostprotocols.net>,
	linux-kernel@vger.kernel.org,
	Linaro Networking <linaro-networking@linaro.org>
Subject: Re: [PATCH v3 00/15] uprobes: Add uprobes support for ARM
Date: Thu, 05 Dec 2013 14:48:10 -0500	[thread overview]
Message-ID: <52A0D87A.9060802@linaro.org> (raw)
In-Reply-To: <529F6B88.2050005@linaro.org>

On 12/04/13 12:51, Taras Kondratiuk wrote:
> On 11/27/2013 04:53 AM, David Long wrote:
>> From: "David A. Long" <dave.long@linaro.org>
>>
>> This patch series adds basic uprobes support to ARM. It is based on patches
>> developed earlier by Rabin Vincent. That approach of adding hooks into
>> the kprobes instruction parsing code was not well received. This approach
>> separates the ARM instruction parsing code in kprobes out into a separate set
>> of functions which can be used by both kprobes and uprobes. Both kprobes and
>> uprobes then provide their own semantic action tables to process the results of
>> the parsing.
>>
>> The following are noteworthy changes made for v3:
>>
>> 1) The ARM uprobes functionality no longer depends on kprobes. As
>> a side effect of this there are no longer any changes to the common
>> kprobes include file (or any other common kprobes files).
>> 2) A couple large patches have been broken down into more smaller
>> patches.
>> 3) A problem with uretprobes has been fixed.
>> 4) The kprobes-test module has been made more useable for thumb tests.
>> 5) The argument list to the "action" functions has been shrunk.
>> 6) Alignment with a few recent patches that were made to common
>> uprobes code specifically to support this patchset.
>>
>> This patchset is based on v3.13-rc1
>
> Hi Dave
>
> I've tested this series in big-endian mode.
> There is an issue within __create_xol_area() function.
> It writes UPROBE_SWBP_INSN directly to memory, but UPROBE_SWBP_INSN
> stores canonical opcode, which leads to a wrong instruction endianness
> if CPU runs in BE.
>
> I think the easies way to fix it without touching generic uprobes code
> is to store opcode in native endianness in UPROBE_SWBP_INSN, and use
> another macro for canonical form in ARM specific code.
> Please check a diff below. With this diff plus addressed comment for
> patch 14/15 plus fixed Ben's BE kprobes series I have uprobes working
> on LE and BE.
>

Thanks Taras.  I am preparing a v4 addressing these issues and also 
addressing the issue that, after duplicating your earlier observations, 
  my claim in "1)" above has proven to be incorrect.

-dl



  reply	other threads:[~2013-12-05 19:48 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-27  2:53 [PATCH v3 00/15] uprobes: Add uprobes support for ARM David Long
2013-11-27  2:53 ` David Long
2013-11-27  2:53 ` [PATCH v3 01/15] uprobes: allow ignoring of probe hits David Long
2013-11-27  2:53   ` David Long
2013-11-28 18:41   ` Oleg Nesterov
2013-11-28 18:41     ` Oleg Nesterov
2013-11-27  2:53 ` [PATCH v3 02/15] ARM: move shared uprobe/kprobe definitions into new include file David Long
2013-11-27  2:53   ` David Long
2013-11-27  2:53 ` [PATCH v3 03/15] ARM: Move generic arm instruction parsing code to new files for sharing between features David Long
2013-11-27  2:53   ` David Long
2013-11-27  2:53 ` [PATCH v3 04/15] ARM: move generic thumb instruction parsing code to new files for use by other feature David Long
2013-11-27  2:53   ` David Long
2013-11-27  2:53 ` [PATCH v3 05/15] ARM: use a function table for determining instruction interpreter actions David Long
2013-11-27  2:53   ` David Long
2013-11-27  2:53 ` [PATCH v3 06/15] ARM: Disable jprobes test when built into thumb-mode kernel David Long
2013-11-27  2:53   ` David Long
2013-11-27 10:16   ` Masami Hiramatsu
2013-11-27 10:16     ` Masami Hiramatsu
2013-11-27 10:41     ` Jon Medhurst (Tixy)
2013-11-27  2:53 ` [PATCH v3 07/15] ARM: Remove use of struct kprobe from generic probes code David Long
2013-11-27  2:53   ` David Long
2013-11-27  2:53 ` [PATCH v3 08/15] ARM: Use new opcode type in ARM kprobes/uprobes code David Long
2013-11-27  2:53   ` David Long
2013-11-27  2:53 ` [PATCH v3 09/15] ARM: Make the kprobes condition_check symbol names more generic David Long
2013-11-27  2:53   ` David Long
2013-11-27  2:53 ` [PATCH v3 10/15] ARM: Change more ARM kprobes symbol names to something more David Long
2013-11-27  2:53   ` David Long
2013-11-27  2:53 ` [PATCH v3 11/15] ARM: Rename the shared kprobes/uprobe return value enum David Long
2013-11-27  2:53   ` David Long
2013-11-27  2:53 ` [PATCH v3 12/15] ARM: Change the remaining shared kprobes/uprobes symbols to something generic David Long
2013-11-27  2:53   ` David Long
2013-11-27  2:53 ` [PATCH v3 13/15] ARM: Add an emulate flag to the kprobes/uprobes instruction decode functions David Long
2013-11-27  2:53   ` David Long
2013-11-27  2:53 ` [PATCH v3 14/15] ARM: add uprobes support David Long
2013-11-27  2:53   ` David Long
2013-12-04 17:23   ` Taras Kondratiuk
2013-12-04 17:23     ` Taras Kondratiuk
2013-11-27  2:53 ` [PATCH v3 15/15] ARM: Remove uprobes dependency on kprobes David Long
2013-11-27  2:53   ` David Long
2013-12-04 17:51 ` [PATCH v3 00/15] uprobes: Add uprobes support for ARM Taras Kondratiuk
2013-12-04 17:51   ` Taras Kondratiuk
2013-12-05 19:48   ` David Long [this message]
2013-12-05 19:48     ` David Long
2013-12-05 20:17   ` David Long
2013-12-05 20:17     ` David Long
2013-12-20 16:10     ` Jon Medhurst (Tixy)
2013-12-20 16:10       ` Jon Medhurst (Tixy)

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=52A0D87A.9060802@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.