On Wed, 30 Nov 2016 16:05:56 +0800
Xishi Qiu <qiuxi...@huawei.com> wrote:

> The kernel version is v4.1, and I find some error reports from kasan.

First off, this is an ancient kernel. Can you reproduce this on 4.9-rc?

> I'm not sure whether it is a wrong report.

No idea, and it may not even be an issue with ftrace, but with the
caller of the tracepoint.

> 
> 11-29 07:57:26.513 <3>[12507.758056s][pid:0,cpu3,swapper/3]BUG: KASAN: 
> stack-out-of-bounds in trace_event_buffer_lock_reserve+0x50/0x170 at addr 
> ffffffc035903bf0

Use gdb on your vmlinux that ran this kernel, and see exactly where
ffffffc035903bf0 is.

> 11-29 07:57:26.513 <3>[12507.758087s][pid:0,cpu3,swapper/3]Write of size 8 by 
> task swapper/3/0
> 11-29 07:57:26.513 
> <0>[12507.758117s][pid:0,cpu3,swapper/3]page:ffffffbdc0d740c0 count:0 
> mapcount:0 mapping:          (null) index:0x0
> 11-29 07:57:26.513 <0>[12507.758117s][pid:0,cpu3,swapper/3]flags: 0x0()
> 11-29 07:57:26.513 <1>[12507.758148s][pid:0,cpu3,swapper/3]page dumped 
> because: kasan: bad access detected
> 11-29 07:57:26.513 <4>[12507.758178s][pid:0,cpu3,swapper/3]CPU: 3 PID: 0 
> Comm: swapper/3 Tainted: G    B           4.1.18-gd8679e8 #1
> 11-29 07:57:26.513 <4>[12507.758209s][pid:0,cpu3,swapper/3]TGID: 0 Comm: 
> swapper/3
> 11-29 07:57:26.513 <4>[12507.758239s][pid:0,cpu3,swapper/3]Hardware name: 
> hi6250 (DT)
> 11-29 07:57:26.514 <0>[12507.758239s][pid:0,cpu3,swapper/3]Call trace:
> 11-29 07:57:26.514 
> <4>[12507.758270s][pid:0,cpu3,swapper/3][<ffffffc00008cf9c>] 
> dump_backtrace+0x0/0x1f4
> 11-29 07:57:26.515 
> <4>[12507.758300s][pid:0,cpu3,swapper/3][<ffffffc00008d1b0>] 
> show_stack+0x20/0x28
> 11-29 07:57:26.516 
> <4>[12507.758331s][pid:0,cpu3,swapper/3][<ffffffc001558010>] 
> dump_stack+0x84/0xa8
> 11-29 07:57:26.516 
> <4>[12507.758361s][pid:0,cpu3,swapper/3][<ffffffc000261d88>] 
> kasan_report+0x54c/0x574
> 11-29 07:57:26.517 
> <4>[12507.758361s][pid:0,cpu3,swapper/3][<ffffffc000260948>] 
> __asan_store8+0x6c/0x84
> 11-29 07:57:26.517 
> <4>[12507.758392s][pid:0,cpu3,swapper/3][<ffffffc0001b4910>] 
> trace_event_buffer_lock_reserve+0x50/0x170
> 11-29 07:57:26.517 
> <4>[12507.758422s][pid:0,cpu3,swapper/3][<ffffffc0001c2174>] 
> ftrace_event_buffer_reserve+0x8c/0xd8
> 11-29 07:57:26.517 
> <4>[12507.758453s][pid:0,cpu3,swapper/3][<ffffffc0000e8690>] 
> ftrace_raw_event_sched_wakeup_template+0xe0/0x194
> 11-29 07:57:26.517 
> <4>[12507.758483s][pid:0,cpu3,swapper/3][<ffffffc0000f0bc4>] 
> ttwu_do_wakeup+0x19c/0x200
> 11-29 07:57:26.517 
> <4>[12507.758514s][pid:0,cpu3,swapper/3][<ffffffc0000f52ec>] 
> try_to_wake_up+0x558/0x638
> 11-29 07:57:26.517 
> <4>[12507.758514s][pid:0,cpu3,swapper/3][<ffffffc0000f5408>] 
> wake_up_process+0x3c/0x78
> 11-29 07:57:26.517 
> <4>[12507.758544s][pid:0,cpu3,swapper/3][<ffffffc0000b3644>] 
> raise_softirq+0xa0/0xb4
> 11-29 07:57:26.517 
> <4>[12507.758575s][pid:0,cpu3,swapper/3][<ffffffc00013c040>] 
> invoke_rcu_core+0x5c/0x6c
> 11-29 07:57:26.518 
> <4>[12507.758605s][pid:0,cpu3,swapper/3][<ffffffc000143cd8>] 
> rcu_needs_cpu+0x190/0x198

The interrupt came in from idle.

How did the stack get corrupted?

-- Steve

> 11-29 07:57:26.518 
> <4>[12507.758636s][pid:0,cpu3,swapper/3][<ffffffc000164bac>] 
> __tick_nohz_idle_enter+0x220/0x814
> 11-29 07:57:26.518 
> <4>[12507.758666s][pid:0,cpu3,swapper/3][<ffffffc0001658d4>] 
> tick_nohz_idle_enter+0x68/0xa8
> 11-29 07:57:26.518 
> <4>[12507.758697s][pid:0,cpu3,swapper/3][<ffffffc00011b750>] 
> cpu_startup_entry+0x88/0x51c
> 11-29 07:57:26.518 
> <4>[12507.758697s][pid:0,cpu3,swapper/3][<ffffffc000091fb4>] 
> secondary_start_kernel+0x1d8/0x22c
> 11-29 07:57:26.518 <3>[12507.758728s][pid:0,cpu3,swapper/3]Memory state 
> around the buggy address:
> 11-29 07:57:26.518 <3>[12507.758758s][pid:0,cpu3,swapper/3] ffffffc035903a80: 
> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 11-29 07:57:26.518 <3>[12507.758758s][pid:0,cpu3,swapper/3] ffffffc035903b00: 
> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 11-29 07:57:26.518 <3>[12507.758789s][pid:0,cpu3,swapper/3]>ffffffc035903b80: 
> 00 00 00 00 f1 f1 f1 f1 00 00 f1 f1 f1 f1 f3 f3
> 11-29 07:57:26.518 <3>[12507.758819s][pid:0,cpu3,swapper/3]                   
>                                           ^
> 11-29 07:57:26.519 <3>[12507.758850s][pid:0,cpu3,swapper/3] ffffffc035903c00: 
> 00 00 00 00 f4 f4 00 00 00 00 00 00 00 00 00 00
> 11-29 07:57:26.519 <3>[12507.758850s][pid:0,cpu3,swapper/3] ffffffc035903c80: 
> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 
> 
> 11-29 07:57:26.523 <3>[12507.759735s][pid:0,cpu3,swapper/3]BUG: KASAN: 
> stack-out-of-bounds in ftrace_event_buffer_reserve+0x98/0xd8 at addr 
> ffffffc035903bf8
> 11-29 07:57:26.523 <3>[12507.759765s][pid:0,cpu3,swapper/3]Write of size 8 by 
> task swapper/3/0
> 11-29 07:57:26.523 
> <0>[12507.759765s][pid:0,cpu3,swapper/3]page:ffffffbdc0d740c0 count:0 
> mapcount:0 mapping:          (null) index:0x0
> 11-29 07:57:26.523 <0>[12507.759796s][pid:0,cpu3,swapper/3]flags: 0x0()
> 11-29 07:57:26.523 <1>[12507.759826s][pid:0,cpu3,swapper/3]page dumped 
> because: kasan: bad access detected
> 11-29 07:57:26.523 <4>[12507.759857s][pid:0,cpu3,swapper/3]CPU: 3 PID: 0 
> Comm: swapper/3 Tainted: G    B           4.1.18-gd8679e8 #1
> 11-29 07:57:26.524 <4>[12507.759857s][pid:0,cpu3,swapper/3]TGID: 0 Comm: 
> swapper/3
> 11-29 07:57:26.524 <4>[12507.759887s][pid:0,cpu3,swapper/3]Hardware name: 
> hi6250 (DT)
> 11-29 07:57:26.524 <0>[12507.759887s][pid:0,cpu3,swapper/3]Call trace:
> 11-29 07:57:26.524 
> <4>[12507.759918s][pid:0,cpu3,swapper/3][<ffffffc00008cf9c>] 
> dump_backtrace+0x0/0x1f4
> 11-29 07:57:26.524 
> <4>[12507.759948s][pid:0,cpu3,swapper/3][<ffffffc00008d1b0>] 
> show_stack+0x20/0x28
> 11-29 07:57:26.524 
> <4>[12507.759979s][pid:0,cpu3,swapper/3][<ffffffc001558010>] 
> dump_stack+0x84/0xa8
> 11-29 07:57:26.524 
> <4>[12507.760009s][pid:0,cpu3,swapper/3][<ffffffc000261d88>] 
> kasan_report+0x54c/0x574
> 11-29 07:57:26.524 
> <4>[12507.760009s][pid:0,cpu3,swapper/3][<ffffffc000260948>] 
> __asan_store8+0x6c/0x84
> 11-29 07:57:26.524 
> <4>[12507.760040s][pid:0,cpu3,swapper/3][<ffffffc0001c2180>] 
> ftrace_event_buffer_reserve+0x98/0xd8
> 11-29 07:57:26.525 
> <4>[12507.760070s][pid:0,cpu3,swapper/3][<ffffffc0000e8690>] 
> ftrace_raw_event_sched_wakeup_template+0xe0/0x194
> 11-29 07:57:26.525 
> <4>[12507.760101s][pid:0,cpu3,swapper/3][<ffffffc0000f0bc4>] 
> ttwu_do_wakeup+0x19c/0x200
> 11-29 07:57:26.525 
> <4>[12507.760131s][pid:0,cpu3,swapper/3][<ffffffc0000f52ec>] 
> try_to_wake_up+0x558/0x638
> 11-29 07:57:26.525 
> <4>[12507.760131s][pid:0,cpu3,swapper/3][<ffffffc0000f5408>] 
> wake_up_process+0x3c/0x78
> 11-29 07:57:26.525 
> <4>[12507.760162s][pid:0,cpu3,swapper/3][<ffffffc0000b3644>] 
> raise_softirq+0xa0/0xb4
> 11-29 07:57:26.525 
> <4>[12507.760192s][pid:0,cpu3,swapper/3][<ffffffc00013c040>] 
> invoke_rcu_core+0x5c/0x6c
> 11-29 07:57:26.525 
> <4>[12507.760223s][pid:0,cpu3,swapper/3][<ffffffc000143cd8>] 
> rcu_needs_cpu+0x190/0x198
> 11-29 07:57:26.525 
> <4>[12507.760253s][pid:0,cpu3,swapper/3][<ffffffc000164bac>] 
> __tick_nohz_idle_enter+0x220/0x814
> 11-29 07:57:26.525 
> <4>[12507.760253s][pid:0,cpu3,swapper/3][<ffffffc0001658d4>] 
> tick_nohz_idle_enter+0x68/0xa8
> 11-29 07:57:26.526 
> <4>[12507.760284s][pid:0,cpu3,swapper/3][<ffffffc00011b750>] 
> cpu_startup_entry+0x88/0x51c
> 11-29 07:57:26.526 
> <4>[12507.760314s][pid:0,cpu3,swapper/3][<ffffffc000091fb4>] 
> secondary_start_kernel+0x1d8/0x22c
> 11-29 07:57:26.526 <3>[12507.760345s][pid:0,cpu3,swapper/3]Memory state 
> around the buggy address:
> 11-29 07:57:26.526 <3>[12507.760345s][pid:0,cpu3,swapper/3] ffffffc035903a80: 
> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 11-29 07:57:26.526 <3>[12507.760375s][pid:0,cpu3,swapper/3] ffffffc035903b00: 
> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 11-29 07:57:26.526 <3>[12507.760406s][pid:0,cpu3,swapper/3]>ffffffc035903b80: 
> 00 00 00 00 f1 f1 f1 f1 00 00 f1 f1 f1 f1 f3 f3
> 11-29 07:57:26.526 <3>[12507.760406s][pid:0,cpu3,swapper/3]                   
>                                              ^
> 11-29 07:57:26.526 <3>[12507.760437s][pid:0,cpu3,swapper/3] ffffffc035903c00: 
> 00 00 00 00 f4 f4 00 00 00 00 00 00 00 00 00 00
> 11-29 07:57:26.526 <3>[12507.760467s][pid:0,cpu3,swapper/3] ffffffc035903c80: 
> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Reply via email to