linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: Masami Hiramatsu <mhiramat@kernel.org>
To: Will Deacon <will@kernel.org>
Cc: Steven Rostedt <rostedt@goodmis.org>,
	"Naveen N . Rao" <naveen.n.rao@linux.vnet.ibm.com>,
	Ananth N Mavinakayanahalli <ananth@linux.ibm.com>,
	Ingo Molnar <mingo@kernel.org>,
	linux-kernel@vger.kernel.org, Sven Schnelle <svens@linux.ibm.com>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Russell King <linux@armlinux.org.uk>,
	Nathan Chancellor <nathan@kernel.org>,
	Nick Desaulniers <ndesaulniers@google.com>,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v3 6/9] arm64: Recover kretprobe modified return address in stacktrace
Date: Thu, 21 Oct 2021 23:26:30 +0900	[thread overview]
Message-ID: <20211021232630.94bea4540670cdab5a7a63c5@kernel.org> (raw)
In-Reply-To: <20211021101512.GA16485@willie-the-truck>

On Thu, 21 Oct 2021 11:15:12 +0100
Will Deacon <will@kernel.org> wrote:

> On Thu, Oct 21, 2021 at 09:55:09AM +0900, Masami Hiramatsu wrote:
> > Since the kretprobe replaces the function return address with
> > the kretprobe_trampoline on the stack, stack unwinder shows it
> > instead of the correct return address.
> > 
> > This checks whether the next return address is the
> > __kretprobe_trampoline(), and if so, try to find the correct
> > return address from the kretprobe instance list. For this purpose
> > this adds 'kr_cur' loop cursor to memorize the current kretprobe
> > instance.
> > 
> > With this fix, now arm64 can enable
> > CONFIG_ARCH_CORRECT_STACKTRACE_ON_KRETPROBE, and pass the
> > kprobe self tests.
> > 
> > Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org>
> > ---
> >  Changes in v2:
> >   - Add comment for kr_cur.
> >   - Make the kretprobe related code depends on CONFIG_KRETPROBES.
> >   - Initialize "kr_cur" directly in start_backtrace() instead
> >     of clearing "frame" data structure by memset().
> > ---
> >  arch/arm64/Kconfig                  |    1 +
> >  arch/arm64/include/asm/stacktrace.h |    4 ++++
> >  arch/arm64/kernel/stacktrace.c      |    7 +++++++
> >  3 files changed, 12 insertions(+)
> 
> Acked-by: Will Deacon <will@kernel.org>

Thank you!

> 
> I'm not sure how you're planning to merge this, so please let me know if
> you want me to queue any of the arm64 bits.

Ah, good question. Since this part depends on the first 3 patches and
Steve's tracing tree, these should go through the tracing tree. Is that
OK for you?

(Or, wait for merging the current tracing tree and merge rest of them.
 but this will take a long time.)

Thank you,


-- 
Masami Hiramatsu <mhiramat@kernel.org>

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2021-10-21 14:27 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-21  0:54 [PATCH v3 0/9] kprobes: Make KUnit and add stacktrace on kretprobe tests Masami Hiramatsu
2021-10-21  0:54 ` [PATCH v3 1/9] kprobes: convert tests to kunit Masami Hiramatsu
2021-10-21  0:54 ` [PATCH v3 2/9] kprobes: Add a test case for stacktrace from kretprobe handler Masami Hiramatsu
2021-10-22 16:15   ` Steven Rostedt
2021-10-22 18:23     ` Steven Rostedt
2021-10-25  2:34     ` Masami Hiramatsu
2021-10-21  0:54 ` [PATCH v3 3/9] x86/unwind: Compile kretprobe fixup code only if CONFIG_KRETPROBES=y Masami Hiramatsu
2021-10-21  0:54 ` [PATCH v3 4/9] arm64: kprobes: Record frame pointer with kretprobe instance Masami Hiramatsu
2021-10-21  0:55 ` [PATCH v3 5/9] arm64: kprobes: Make a frame pointer on __kretprobe_trampoline Masami Hiramatsu
2021-10-21  0:55 ` [PATCH v3 6/9] arm64: Recover kretprobe modified return address in stacktrace Masami Hiramatsu
2021-10-21 10:15   ` Will Deacon
2021-10-21 14:26     ` Masami Hiramatsu [this message]
2021-10-21 14:49       ` Steven Rostedt
2021-10-21 16:52         ` Will Deacon
2021-10-21 16:59           ` Steven Rostedt
2021-10-21 18:38             ` Steven Rostedt
2021-10-21  0:55 ` [PATCH v3 7/9] ARM: clang: Do not rely on lr register for stacktrace Masami Hiramatsu
2021-10-21  0:55 ` [PATCH v3 8/9] ARM: kprobes: Make a frame pointer on __kretprobe_trampoline Masami Hiramatsu
2021-12-03 20:37   ` Arnd Bergmann
2021-12-04  8:45     ` Ard Biesheuvel
2021-12-04 12:08       ` Arnd Bergmann
2021-12-08 12:26         ` Masami Hiramatsu
2021-10-21  0:55 ` [PATCH v3 9/9] ARM: Recover kretprobe modified return address in stacktrace 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=20211021232630.94bea4540670cdab5a7a63c5@kernel.org \
    --to=mhiramat@kernel.org \
    --cc=ananth@linux.ibm.com \
    --cc=catalin.marinas@arm.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=mingo@kernel.org \
    --cc=nathan@kernel.org \
    --cc=naveen.n.rao@linux.vnet.ibm.com \
    --cc=ndesaulniers@google.com \
    --cc=rostedt@goodmis.org \
    --cc=svens@linux.ibm.com \
    --cc=will@kernel.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 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).