From: "Russell King (Oracle)" <linux@armlinux.org.uk>
To: "Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>
Cc: Thorsten Scherer <T.Scherer@eckelmann.de>,
mark.rutland@arm.com,
Florian Fainelli <florian.fainelli@broadcom.com>,
rostedt@goodmis.org, Justin Chen <justin.chen@broadcom.com>,
Doug Berger <doug.berger@broadcom.com>,
mhiramat@kernel.org, kernel@pengutronix.de, ardb@kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-trace-kernel@vger.kernel.org
Subject: Re: ARM Ftrace Function Graph Fails With UNWINDER_FRAME_POINTER
Date: Mon, 27 May 2024 13:51:49 +0100 [thread overview]
Message-ID: <ZlSB5eEsxlKZfjDv@shell.armlinux.org.uk> (raw)
In-Reply-To: <czbbd3mvqanerbcqgycy3bnvmfnbu5fhyzfujk2ijo2vnngnkn@6ldafursohkn>
On Mon, May 27, 2024 at 02:28:59PM +0200, Uwe Kleine-König wrote:
> On Mon, May 27, 2024 at 08:56:16AM +0100, Russell King (Oracle) wrote:
> > On Mon, May 27, 2024 at 09:43:41AM +0200, Thorsten Scherer wrote:
> > > Hello,
> > >
> > > in the context of a panic on an i.MX25 based v6.9 kernel [1] Uwe pointed me to
> > > this thread. With the proposed code change applied the procedure
> > >
> > > # set to some known good (randomly guessed) filter function and enable function_graph
> > > echo mtdblock_open > set_ftrace_filter
> > > echo function_graph > current_tracer
> > >
> > > # walk available filter funcs
> > > cat available_filter_functions | while read f; do echo $f | tee -a set_ftrace_filter; sleep 1; done
> > >
> > > produces the following output
> > >
> > > [ 159.832173] Insufficient stack space to handle exception!
> > > [ 159.832241] Task stack: [0xc8e44000..0xc8e46000]
> > > [ 159.842701] IRQ stack: [0xc8800000..0xc8802000]
> > > [ 159.847712] Overflow stack: [0xc1934000..0xc1935000]
> > > [ 159.852726] Internal error: Oops - BUG: 0 [#1] PREEMPT ARM
> > > [ 159.858273] Modules linked in: capture_events_imxgpt ti_ads7950 industrialio_triggered_buffer kfifo_buf capture_events_irq capture_events iio_trig_hrtimer industrialio_sw_trigger industrialio_configfs dm_mod
> > > [ 159.876948] CPU: 0 PID: 199 Comm: sh Not tainted 6.9.0 #3
> > > [ 159.882412] Hardware name: Freescale i.MX25 (Device Tree Support)
> > > [ 159.888547] PC is at prepare_ftrace_return+0x4/0x7c
> > > [ 159.893520] LR is at ftrace_graph_caller+0x1c/0x28
> > > [ 159.898376] pc : [<c010dd44>] lr : [<c010d988>] psr: 60000093
> > > [ 159.904690] sp : c8e44018 ip : c8e44018 fp : c8e4403c
> > > [ 159.909959] r10: c0c09e78 r9 : c35e9bc0 r8 : c010d9bc
> > > [ 159.915227] r7 : 00000001 r6 : 00000004 r5 : c8e44064 r4 : c8e440ac
> > > [ 159.921800] r3 : c8e44030 r2 : c8e4403c r1 : c010eb9c r0 : c8e44038
> > > [ 159.928376] Flags: nZCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment none
> > > [ 159.935652] Control: 0005317f Table: 83074000 DAC: 00000051
> > > [ 159.941436] Register r0 information: 2-page vmalloc region starting at 0xc8e44000 allocated at kernel_clone+0xa8/0x408
> > > [ 159.952253] Register r1 information: non-slab/vmalloc memory
> > > [ 159.957988] Register r2 information: 2-page vmalloc region starting at 0xc8e44000 allocated at kernel_clone+0xa8/0x408
> > > [ 159.968791] Register r3 information: 2-page vmalloc region starting at 0xc8e44000 allocated at kernel_clone+0xa8/0x408
> > > [ 159.979592] Register r4 information: 2-page vmalloc region starting at 0xc8e44000 allocated at kernel_clone+0xa8/0x408
> > > [ 159.990391] Register r5 information: 2-page vmalloc region starting at 0xc8e44000 allocated at kernel_clone+0xa8/0x408
> > > [ 160.001187] Register r6 information: non-paged memory
> > > [ 160.006303] Register r7 information: non-paged memory
> > > [ 160.011415] Register r8 information: non-slab/vmalloc memory
> > > [ 160.017139] Register r9 information: slab kmalloc-32 start c35e9bc0 pointer offset 0 size 32
> > > [ 160.025718] Register r10 information: non-slab/vmalloc memory
> > > [ 160.031530] Register r11 information: 2-page vmalloc region starting at 0xc8e44000 allocated at kernel_clone+0xa8/0x408
> > > [ 160.042422] Register r12 information: 2-page vmalloc region starting at 0xc8e44000 allocated at kernel_clone+0xa8/0x408
> > > [ 160.053315] Process sh (pid: 199, stack limit = 0x68fc3abb)
> > > [ 160.058955] Stack: (0xc8e44018 to 0xc8e46000)
> >
> > No backtrace? No Code: line? I'm guessing there was an attempt to ftrace
> > a function involving the ftrace tracing infrastructure, which is why 8KB
> > of stack has been gobbled up. It could be
> > copy_from_kernel_nofault_allowed() but it would be useful to have at
> > least some extract of the backtrace showing the recursive cycle to
> > confirm, otherwise there is nothing in your report to confirm. As I'm
> > not a ftrace user myself, this isn't something I'd test for, so having
> > a full report would be useful.
>
> Is not having a backtrace related to ftrace_return_address() returning
> NULL, as Arnd pointed out in
> https://lore.kernel.org/linux-arm-kernel/36cd10de-c51c-40ff-90e8-71495406019d@app.fastmail.com/
> ?
Unlikely - the stack and code lines are also missing. I think the
submitter truncated the oops which is highly likely given that it
would've dumped all 8kB of the stack in hex, and the trace and
code lines would be after that.
--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!
next prev parent reply other threads:[~2024-05-27 12:52 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-30 23:47 ARM Ftrace Function Graph Fails With UNWINDER_FRAME_POINTER Justin Chen
2023-12-01 9:12 ` Ard Biesheuvel
2023-12-01 17:25 ` Justin Chen
2023-12-01 18:07 ` Steven Rostedt
2023-12-01 22:59 ` Justin Chen
2023-12-02 6:53 ` Ard Biesheuvel
2023-12-02 8:49 ` Justin Chen
2023-12-02 9:26 ` Ard Biesheuvel
2023-12-02 17:49 ` Justin Chen
2023-12-01 18:22 ` Russell King (Oracle)
2024-05-27 7:43 ` Thorsten Scherer
2024-05-27 7:56 ` Russell King (Oracle)
2024-05-27 12:28 ` Uwe Kleine-König
2024-05-27 12:51 ` Russell King (Oracle) [this message]
2024-05-28 4:52 ` Thorsten Scherer
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=ZlSB5eEsxlKZfjDv@shell.armlinux.org.uk \
--to=linux@armlinux.org.uk \
--cc=T.Scherer@eckelmann.de \
--cc=ardb@kernel.org \
--cc=doug.berger@broadcom.com \
--cc=florian.fainelli@broadcom.com \
--cc=justin.chen@broadcom.com \
--cc=kernel@pengutronix.de \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-trace-kernel@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=mhiramat@kernel.org \
--cc=rostedt@goodmis.org \
--cc=u.kleine-koenig@pengutronix.de \
/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).