From: Xiaoming Ni <nixiaoming@huawei.com>
To: Masami Hiramatsu <mhiramat@kernel.org>,
Shaobo Huang <huangshaobo6@huawei.com>
Cc: <gregkh@linuxfoundation.org>, <chenzefeng2@huawei.com>,
<kepler.chenxin@huawei.com>,
<linux-arm-kernel@lists.infradead.org>,
<linux-kernel@vger.kernel.org>, <linux@arm.linux.org.uk>,
<liucheng32@huawei.com>, <tixy@linaro.org>,
<xiaoqian9@huawei.com>, <young.liuyang@huawei.com>,
<zengweilin@huawei.com>
Subject: Re: [PATCH 4.4.y] arm: kprobes: Allow to handle reentered kprobe on single-stepping
Date: Fri, 9 Jul 2021 19:39:30 +0800 [thread overview]
Message-ID: <9ca81fb8-8d6e-1708-db01-a29e54c79343@huawei.com> (raw)
In-Reply-To: <20210709180031.adc7260b54645b0292a6f02a@kernel.org>
On 2021/7/9 17:00, Masami Hiramatsu wrote:
> Hi Shaobo,
>
> Thanks for backporting!
> Greg, it seems this patch can be applied to 4.9 too without any issue.
>
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-4.9.y&id=355a04fa1fc23c4fb1d16440e62d46a42691e96b
The v4.9 branch has been fixed.
Thanks
Xiaoming Ni
> Thank you,
>
> On Fri, 9 Jul 2021 10:46:30 +0800
> Shaobo Huang <huangshaobo6@huawei.com> wrote:
>
>> From: Masami Hiramatsu <mhiramat@kernel.org>
>>
>> commit f3fbd7ec62dec1528fb8044034e2885f2b257941 upstream
>>
>> This is arm port of commit 6a5022a56ac3 ("kprobes/x86: Allow to
>> handle reentered kprobe on single-stepping")
>>
>> Since the FIQ handlers can interrupt in the single stepping
>> (or preparing the single stepping, do_debug etc.), we should
>> consider a kprobe is hit in the NMI handler. Even in that
>> case, the kprobe is allowed to be reentered as same as the
>> kprobes hit in kprobe handlers
>> (KPROBE_HIT_ACTIVE or KPROBE_HIT_SSDONE).
>>
>> The real issue will happen when a kprobe hit while another
>> reentered kprobe is processing (KPROBE_REENTER), because
>> we already consumed a saved-area for the previous kprobe.
>>
>> Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org>
>> Signed-off-by: Jon Medhurst <tixy@linaro.org>
>> Fixes: 24ba613c9d6c ("ARM kprobes: core code")
>> Cc: stable@vger.kernel.org #v2.6.25~v4.11
>> Signed-off-by: huangshaobo <huangshaobo6@huawei.com>
>> ---
>> arch/arm/probes/kprobes/core.c | 6 ++++++
>> 1 file changed, 6 insertions(+)
>>
>> diff --git a/arch/arm/probes/kprobes/core.c b/arch/arm/probes/kprobes/core.c
>> index 3eb018fa1a1f..c3362ddd6c4c 100644
>> --- a/arch/arm/probes/kprobes/core.c
>> +++ b/arch/arm/probes/kprobes/core.c
>> @@ -270,6 +270,7 @@ void __kprobes kprobe_handler(struct pt_regs *regs)
>> switch (kcb->kprobe_status) {
>> case KPROBE_HIT_ACTIVE:
>> case KPROBE_HIT_SSDONE:
>> + case KPROBE_HIT_SS:
>> /* A pre- or post-handler probe got us here. */
>> kprobes_inc_nmissed_count(p);
>> save_previous_kprobe(kcb);
>> @@ -278,6 +279,11 @@ void __kprobes kprobe_handler(struct pt_regs *regs)
>> singlestep(p, regs, kcb);
>> restore_previous_kprobe(kcb);
>> break;
>> + case KPROBE_REENTER:
>> + /* A nested probe was hit in FIQ, it is a BUG */
>> + pr_warn("Unrecoverable kprobe detected at %p.\n",
>> + p->addr);
>> + /* fall through */
>> default:
>> /* impossible cases */
>> BUG();
>> --
>> 2.12.3
>>
>
>
next prev parent reply other threads:[~2021-07-09 11:39 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-27 9:17 [PATCH 4.4.y] arm: kprobes: Allow to handle reentered kprobe on single-stepping huangshaobo
2021-02-27 10:50 ` Shaobo Huang
2021-03-01 11:30 ` Greg KH
2021-03-02 1:24 ` Shaobo Huang
2021-07-08 12:42 ` ping // " Shaobo Huang
2021-07-08 12:55 ` Greg KH
2021-07-08 13:12 ` Shaobo Huang
2021-07-08 14:40 ` Greg KH
2021-07-09 2:46 ` Shaobo Huang
2021-07-09 9:00 ` Masami Hiramatsu
2021-07-09 11:39 ` Xiaoming Ni [this message]
2021-07-09 15:33 ` Masami Hiramatsu
2021-07-09 13:06 ` Greg KH
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=9ca81fb8-8d6e-1708-db01-a29e54c79343@huawei.com \
--to=nixiaoming@huawei.com \
--cc=chenzefeng2@huawei.com \
--cc=gregkh@linuxfoundation.org \
--cc=huangshaobo6@huawei.com \
--cc=kepler.chenxin@huawei.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=liucheng32@huawei.com \
--cc=mhiramat@kernel.org \
--cc=tixy@linaro.org \
--cc=xiaoqian9@huawei.com \
--cc=young.liuyang@huawei.com \
--cc=zengweilin@huawei.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).