Re: REGRESSION: kernel BUG at arch/arm64/kernel/alternative.c:157!

From: Miles Chen
Date: Tue May 18 2021 - 05:03:44 EST


On Mon, 2021-05-17 at 14:52 -0700, John Stultz wrote:
> With v5.13-rc2, I've been seeing an odd boot regression with the
> DragonBoard 845c:

I also observed the same issue with v5.13-rc2 (by merging
android-mainline). Here is my bisect result so far.

(bad) ccd25efcb4fe Merge tag 'v5.13-rc2' into android-mainline
(bad) 3d86ae4fcdff Merge 25a1298726e9 ("Merge tag 'trace-v5.13-rc1' of
git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace") into
android-mainline
(good) 85adc860fdf3 Merge 6efb943b8616e Linux 5.13-rc1 into
android-mainline


>
> Unfortunately, trying to bisect it down (v5.13-rc1 works ok) is giving
> me inconsistent results so far. It feels a bit like maybe some config
> option gets enabled moving forward, and then sticks around when we go
> back. I'll take another swing at bisecting it later today, but I have
> to move on to some other work right now, so I figured I'd share (with
> folks who better know the recent __apply_alternatives changes) in case
> folks have a better idea:
>
> [ 0.254384] CPU features: detected: RAS Extension Support
> [ 0.259928] CPU: All CPU(s) started at EL1
> [ 0.264127] alternatives: patching kernel code
> [ 0.268635] ------------[ cut here ]------------
> [ 0.273303] kernel BUG at arch/arm64/kernel/alternative.c:157!
> [ 0.279192] Internal error: Oops - BUG: 0 [#1] PREEMPT SMP
> [ 0.284736] Modules linked in:
> [ 0.287833] CPU: 0 PID: 14 Comm: migration/0 Not tainted
> 5.13.0-rc2-mainline #4501
> [ 0.295472] Hardware name: Thundercomm Dragonboard 845c (DT)
> [ 0.301182] Stopper: multi_cpu_stop+0x0/0x1a0 <-
> stop_machine_cpuslocked+0x128/0x160
> [ 0.309020] pstate: 204000c5 (nzCv daIF +PAN -UAO -TCO BTYPE=--)
> [ 0.315086] pc : __apply_alternatives+0x1f0/0x270
> [ 0.319847] lr : __apply_alternatives+0xf4/0x270
> [ 0.324515] sp : ffffffc01020bca0
> [ 0.327874] x29: ffffffc01020bca0 x28: 00000000000000a0 x27: ffffffd7f5c11124
> [ 0.335086] x26: ffffffd7f5c11128 x25: 00000000001b0020 x24: ffffffd7f700ab90
> [ 0.342297] x23: 0000000000000000 x22: ffffffc01020bd20 x21: ffffffd7f7bea374
> [ 0.349508] x20: ffffffc01020bd30 x19: ffffffd7f72194fc x18: ffffffffffffffff
> [ 0.356718] x17: ffffffd7f7bdce40 x16: 000000005c8e1b43 x15: ffffffd7f76d9d10
> [ 0.363929] x14: ffffffc09020b967 x13: ffffffc01020b975 x12: ffffffd7f76d9e30
> [ 0.371140] x11: 0000000005f5e0ff x10: ffffffc01020b8c0 x9 : 00000000ffffffd0
> [ 0.378350] x8 : 6b20676e69686374 x7 : ffffffd7f79b9238 x6 : c0000000ffff7fff
> [ 0.385560] x5 : 0000000000000000 x4 : ffffffd7f5c22898 x3 : 0000000000000010
> [ 0.392771] x2 : 0000000000000004 x1 : 0000000000000000 x0 : 000000000000003f
> [ 0.399982] Call trace:
> [ 0.402461] __apply_alternatives+0x1f0/0x270
> [ 0.406873] __apply_alternatives_multi_stop+0xc0/0xe0
> [ 0.412062] multi_cpu_stop+0xb8/0x1a0
> [ 0.415851] cpu_stopper_thread+0xac/0x120
> [ 0.419997] smpboot_thread_fn+0x200/0x238
> [ 0.424146] kthread+0x14c/0x158
> [ 0.427423] ret_from_fork+0x10/0x1c
> [ 0.431045] Code: 39402e61 39402a62 6b01005f 54fff500 (d4210000)
> [ 0.437199] ---[ end trace 523e13d9d60a992d ]---
> [ 0.441868] note: migration/0[14] exited with preempt_count 2
> [ 0.447739] migration/0 (14) used greatest stack depth: 12448 bytes left
> [ 0.454543] ------------[ cut here ]------------
> [ 0.459211] WARNING: CPU: 0 PID: 0 at kernel/rcu/tree.c:638
> rcu_eqs_enter.isra.62+0x98/0x138
> [ 0.467734] Modules linked in:
> [ 0.470826] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G D
> 5.13.0-rc2-mainline #4501
> [ 0.479594] Hardware name: Thundercomm Dragonboard 845c (DT)
> [ 0.485303] pstate: 204003c5 (nzCv DAIF +PAN -UAO -TCO BTYPE=--)
> [ 0.491366] pc : rcu_eqs_enter.isra.62+0x98/0x138
> [ 0.496122] lr : rcu_eqs_enter.isra.62+0x10/0x138
> [ 0.500878] sp : ffffffd7f76d3e70
> [ 0.504236] x29: ffffffd7f76d3e70 x28: ffffffd7f76e9780 x27: 0000000000000000
> [ 0.511448] x26: 0000000000000000 x25: ffffffd7f707a480 x24: ffffffd7f72c14f0
> [ 0.518660] x23: ffffffd7f76d9000 x22: ffffffd7f7d4c000 x21: ffffffd7f76d9000
> [ 0.525871] x20: ffffffd7f76e9780 x19: ffffff80fd6a1380 x18: ffffffffffffffff
> [ 0.533082] x17: 0000000000000000 x16: 000000000000000e x15: ffffffd7f76d9d10
> [ 0.540293] x14: ffffffc09020b5f7 x13: ffffffd7f70130b0 x12: ffffffd7f76d9e30
> [ 0.547504] x11: 0000000005f5e0ff x10: 0000000000000a10 x9 : ffffffd7f76d3e00
> [ 0.554715] x8 : ffffffd7f76ea1f0 x7 : 0000000000000000 x6 : 00000000fffedb36
> [ 0.561926] x5 : 00000000ffffffff x4 : ffffffa9063de000 x3 : 0000000000000001
> [ 0.569136] x2 : 4000000000000000 x1 : ffffffd7f76da768 x0 : 4000000000000002
> [ 0.576347] Call trace:
> [ 0.578825] rcu_eqs_enter.isra.62+0x98/0x138
> [ 0.583236] rcu_idle_enter+0x14/0x20
> [ 0.586941] default_idle_call+0x44/0x1b8
> [ 0.591003] do_idle+0x200/0x2a0
> [ 0.594279] cpu_startup_entry+0x2c/0x50
> [ 0.598251] rest_init+0xd4/0xe0
> [ 0.601524] arch_call_rest_init+0x14/0x1c
> [ 0.605680] start_kernel+0x504/0x538
> [ 0.609382] ---[ end trace 523e13d9d60a992e ]---
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel