All of lore.kernel.org
 help / color / mirror / Atom feed
From: masami.hiramatsu.pt@hitachi.com (Masami Hiramatsu)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH RFC 2/6] arm64: Kprobes with single stepping support
Date: Tue, 12 Nov 2013 23:11:52 +0900	[thread overview]
Message-ID: <52823728.1070003@hitachi.com> (raw)
In-Reply-To: <CA+b37P1xLYWA-a0PwgxT7S7dNr5TdGFscLYFeQhAQUyO_E=Mzw@mail.gmail.com>

(2013/11/12 19:55), Sandeepa Prabhu wrote:
>>>>> Thanks for steps, ARM64 ftrace patches are under review on arm mailing
>>>>> list, I can contact the (linaro) developer implementing ftrace on
>>>>> what's supported and then figure-out a way to test this concurrency of
>>>>> kprobes breakpoint and hardware breakpoint.
>>>>
>>>> Would you mean this? :)
>>>> http://www.spinics.net/lists/arm-kernel/msg278477.html
>>>>
>>>> Wow, it seems that this also has some works around instruction
>>>> manipulation (and confusable filenames...)
>>> I referred to: http://lwn.net/Articles/572323/  which is another
>>> implementation and on LAKML
>>
>> OK, I'll check that (and looks good at a glance).
>> By the way, I concern about Linaro guys who looks working a bit far
>> from the LKML and original feature maintainers. Please contact them,
>> I'm sure they don't bite your hand :)
> Hmm sure, will convey to our developers/leads :-)

Nice :)

>> BTW, I'm currently trying a general housecleaning of __kprobes
>> annotations. It may also have impact on your patch.
>> https://lkml.org/lkml/2013/11/8/187
> Hmm, we can help testing your patchset on arm64 platforms. Also have
> many doubts on the changes you are working [blacklisting probes etc]
> 
> Basically I had tried placing kprobe on memcpy() and the model hung
> (insmod never returned back!). Fast-model I have does not have option
> of any debug so no clue what happened!.

On x86, I can probe memcpy() safely. It depends on the kprobes (and
breakpoint handling) implementation, and it could be found.

> memcpy() is low-level call being used internally within kprobes, so
> probably we cannot handle probe on that routine, but then how to make
> sure all such API are rejected by kprobe sub-system ?

I see, the blacklist still needs to be maintained. I periodically
run a test for probing each function on my kernel, and if I found
such problem, I added it on the blacklist.
Currently I run the test only on x86, so perhaps, other arch does
not have well tested yet.

Thank you,

-- 
Masami HIRAMATSU
IT Management Research Dept. Linux Technology Center
Hitachi, Ltd., Yokohama Research Laboratory
E-mail: masami.hiramatsu.pt at hitachi.com

WARNING: multiple messages have this Message-ID (diff)
From: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
To: Sandeepa Prabhu <sandeepa.prabhu@linaro.org>
Cc: Will Deacon <will.deacon@arm.com>,
	"linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"patches@linaro.org" <patches@linaro.org>,
	"linaro-kernel@lists.linaro.org" <linaro-kernel@lists.linaro.org>,
	Catalin Marinas <Catalin.Marinas@arm.com>,
	"steve.capper@linaro.org" <steve.capper@linaro.org>,
	"nico@linaro.org" <nico@linaro.org>,
	"srikar@linux.vnet.ibm.com" <srikar@linux.vnet.ibm.com>,
	"rostedt@goodmis.org" <rostedt@goodmis.org>,
	"dsaxena@linaro.org" <dsaxena@linaro.org>,
	"Vijaya.Kumar@caviumnetworks.com"
	<Vijaya.Kumar@caviumnetworks.com>, Jiang Liu <liuj97@gmail.com>,
	"yrl.pp-manager.tt@hitachi.com" <yrl.pp-manager.tt@hitachi.com>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Ingo Molnar <mingo@redhat.com>
Subject: Re: Re: Re: Re: Re: [PATCH RFC 2/6] arm64: Kprobes with single stepping support
Date: Tue, 12 Nov 2013 23:11:52 +0900	[thread overview]
Message-ID: <52823728.1070003@hitachi.com> (raw)
In-Reply-To: <CA+b37P1xLYWA-a0PwgxT7S7dNr5TdGFscLYFeQhAQUyO_E=Mzw@mail.gmail.com>

(2013/11/12 19:55), Sandeepa Prabhu wrote:
>>>>> Thanks for steps, ARM64 ftrace patches are under review on arm mailing
>>>>> list, I can contact the (linaro) developer implementing ftrace on
>>>>> what's supported and then figure-out a way to test this concurrency of
>>>>> kprobes breakpoint and hardware breakpoint.
>>>>
>>>> Would you mean this? :)
>>>> http://www.spinics.net/lists/arm-kernel/msg278477.html
>>>>
>>>> Wow, it seems that this also has some works around instruction
>>>> manipulation (and confusable filenames...)
>>> I referred to: http://lwn.net/Articles/572323/  which is another
>>> implementation and on LAKML
>>
>> OK, I'll check that (and looks good at a glance).
>> By the way, I concern about Linaro guys who looks working a bit far
>> from the LKML and original feature maintainers. Please contact them,
>> I'm sure they don't bite your hand :)
> Hmm sure, will convey to our developers/leads :-)

Nice :)

>> BTW, I'm currently trying a general housecleaning of __kprobes
>> annotations. It may also have impact on your patch.
>> https://lkml.org/lkml/2013/11/8/187
> Hmm, we can help testing your patchset on arm64 platforms. Also have
> many doubts on the changes you are working [blacklisting probes etc]
> 
> Basically I had tried placing kprobe on memcpy() and the model hung
> (insmod never returned back!). Fast-model I have does not have option
> of any debug so no clue what happened!.

On x86, I can probe memcpy() safely. It depends on the kprobes (and
breakpoint handling) implementation, and it could be found.

> memcpy() is low-level call being used internally within kprobes, so
> probably we cannot handle probe on that routine, but then how to make
> sure all such API are rejected by kprobe sub-system ?

I see, the blacklist still needs to be maintained. I periodically
run a test for probing each function on my kernel, and if I found
such problem, I added it on the blacklist.
Currently I run the test only on x86, so perhaps, other arch does
not have well tested yet.

Thank you,

-- 
Masami HIRAMATSU
IT Management Research Dept. Linux Technology Center
Hitachi, Ltd., Yokohama Research Laboratory
E-mail: masami.hiramatsu.pt@hitachi.com



  reply	other threads:[~2013-11-12 14:11 UTC|newest]

Thread overview: 99+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-10-17 11:17 [PATCH RFC v2 0/6] ARM64: Add kernel probes(Kprobes) support Sandeepa Prabhu
2013-10-17 11:17 ` Sandeepa Prabhu
2013-10-17 11:17 ` [PATCH RFC v4 1/6] arm64: support single-step and breakpoint handler hooks Sandeepa Prabhu
2013-10-17 11:17   ` Sandeepa Prabhu
2013-10-25 15:22   ` Will Deacon
2013-10-25 15:22     ` Will Deacon
2013-12-03 14:33     ` Sandeepa Prabhu
2013-12-03 14:33       ` Sandeepa Prabhu
2013-12-03 19:44       ` Will Deacon
2013-12-03 19:44         ` Will Deacon
2013-10-17 11:17 ` [PATCH RFC 2/6] arm64: Kprobes with single stepping support Sandeepa Prabhu
2013-10-17 11:17   ` Sandeepa Prabhu
2013-11-08 16:56   ` Will Deacon
2013-11-08 16:56     ` Will Deacon
2013-11-09  9:10     ` Masami Hiramatsu
2013-11-09  9:10       ` Masami Hiramatsu
2013-11-11  5:39       ` Sandeepa Prabhu
2013-11-11  5:39         ` Sandeepa Prabhu
2013-11-11  7:54         ` Masami Hiramatsu
2013-11-11  7:54           ` Masami Hiramatsu
2013-11-11 10:51           ` Masami Hiramatsu
2013-11-11 10:51             ` Masami Hiramatsu
2013-11-11 10:58             ` Will Deacon
2013-11-11 10:58               ` Will Deacon
2013-11-11 17:32               ` Masami Hiramatsu
2013-11-11 17:32                 ` Masami Hiramatsu
2013-11-12  6:23                 ` Sandeepa Prabhu
2013-11-12  6:23                   ` Sandeepa Prabhu
2013-11-12  7:27                   ` Masami Hiramatsu
2013-11-12  7:27                     ` Re: " Masami Hiramatsu
2013-11-12  8:44                     ` Sandeepa Prabhu
2013-11-12  8:44                       ` Re: " Sandeepa Prabhu
2013-11-12 10:17                       ` Masami Hiramatsu
2013-11-12 10:17                         ` Re: Re: " Masami Hiramatsu
2013-11-12 10:55                         ` Sandeepa Prabhu
2013-11-12 10:55                           ` Re: Re: " Sandeepa Prabhu
2013-11-12 14:11                           ` Masami Hiramatsu [this message]
2013-11-12 14:11                             ` Masami Hiramatsu
2013-11-12 16:59                           ` Steven Rostedt
2013-11-12 16:59                             ` Steven Rostedt
2013-11-13 16:05                             ` Masami Hiramatsu
2013-11-13 16:05                               ` Masami Hiramatsu
2013-11-13  6:55                     ` Sandeepa Prabhu
2013-11-13  7:08                       ` Sandeepa Prabhu
2013-11-13  7:08                         ` Re: " Sandeepa Prabhu
2013-11-13 14:07                       ` Masami Hiramatsu
2013-11-13 14:07                         ` Re: Re: " Masami Hiramatsu
2013-11-13 14:31                       ` Will Deacon
2013-11-13 14:31                         ` Re: " Will Deacon
2013-11-13 15:55                         ` Sandeepa Prabhu
2013-11-13 15:55                           ` Re: " Sandeepa Prabhu
2013-11-15 16:39                           ` Will Deacon
2013-11-15 16:39                             ` Re: " Will Deacon
2013-11-18  6:55                             ` Sandeepa Prabhu
2013-11-18  6:55                               ` Re: " Sandeepa Prabhu
2013-11-18  8:51                               ` Sandeepa Prabhu
2013-11-18  8:51                                 ` Re: " Sandeepa Prabhu
2013-11-13 13:58               ` Peter Zijlstra
2013-11-13 13:58                 ` Peter Zijlstra
2013-11-13 14:20                 ` Will Deacon
2013-11-13 14:20                   ` Will Deacon
2013-11-11  5:35     ` Sandeepa Prabhu
2013-11-11  5:35       ` Sandeepa Prabhu
2013-11-11 11:21       ` Will Deacon
2013-11-11 11:21         ` Will Deacon
2013-11-12  6:52         ` Sandeepa Prabhu
2013-11-12  6:52           ` Sandeepa Prabhu
2013-11-15 16:37           ` Will Deacon
2013-11-15 16:37             ` Will Deacon
2013-11-18  6:43             ` Sandeepa Prabhu
2013-11-18  6:43               ` Sandeepa Prabhu
2013-10-17 11:17 ` [PATCH RFC 3/6] arm64: Kprobes instruction simulation support Sandeepa Prabhu
2013-10-17 11:17   ` Sandeepa Prabhu
2013-11-08 17:03   ` Will Deacon
2013-11-08 17:03     ` Will Deacon
2013-11-11  5:58     ` Sandeepa Prabhu
2013-11-11  5:58       ` Sandeepa Prabhu
2013-10-17 11:17 ` [PATCH RFC 4/6] arm64: Add kernel return probes support(kretprobes) Sandeepa Prabhu
2013-10-17 11:17   ` Sandeepa Prabhu
2013-11-08 17:04   ` Will Deacon
2013-11-08 17:04     ` Will Deacon
2013-11-11  4:29     ` Sandeepa Prabhu
2013-11-11  4:29       ` Sandeepa Prabhu
2013-11-11  7:53       ` AKASHI Takahiro
2013-11-11  7:53         ` AKASHI Takahiro
2013-11-11  8:55         ` Sandeepa Prabhu
2013-11-11  8:55           ` Sandeepa Prabhu
2013-10-17 11:17 ` [PATCH RFC 5/6] arm64: Enable kprobes support for arm64 platform Sandeepa Prabhu
2013-10-17 11:17   ` Sandeepa Prabhu
2013-10-17 11:17 ` [PATCH RFC 6/6] kprobes: Add cases for arm and arm64 in sample module Sandeepa Prabhu
2013-10-17 11:17   ` Sandeepa Prabhu
2013-10-25 15:24   ` Will Deacon
2013-10-25 15:24     ` Will Deacon
2013-11-06 11:05     ` Sandeepa Prabhu
2013-11-06 11:05       ` Sandeepa Prabhu
2013-10-18  8:32 ` [PATCH RFC v2 0/6] ARM64: Add kernel probes(Kprobes) support Masami Hiramatsu
2013-10-18  8:32   ` Masami Hiramatsu
2013-10-21  4:17   ` Sandeepa Prabhu
2013-10-21  4:17     ` Sandeepa Prabhu

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=52823728.1070003@hitachi.com \
    --to=masami.hiramatsu.pt@hitachi.com \
    --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.