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

John Stultz john.stultz at linaro.org
Mon May 17 14:52:59 PDT 2021


With v5.13-rc2, I've been seeing an odd boot regression with the
DragonBoard 845c:

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 ]---



More information about the linux-arm-kernel mailing list