[PW_SID:1127762] [v2] riscv: smp: set CPU 0 possible in setup_smp()#2284
[PW_SID:1127762] [v2] riscv: smp: set CPU 0 possible in setup_smp()#2284linux-riscv-bot wants to merge 2 commits into
Conversation
setup_smp() calls set_cpu_possible() for CPUs 1..nr_cpu_ids-1 but never for CPU 0 (the boot CPU). x86 handles this via init_cpu_possible(cpumask_of(0)); RISC-V has no equivalent. Without CPU 0 in cpu_possible_mask, rcu_init_one()'s for_each_possible_cpu() loop skips it, leaving rdp->mynode=NULL. rcutree_prepare_cpu() then dereferences NULL and hangs. Exposed on Sophgo SG2042 (64-hart, 4-NUMA) with Linux 7.2-rc3. Fixes: a4166ae ("riscv: Deduplicate code in setup_smp()") Signed-off-by: Paul Sherman <shermanpauldylan@gmail.com> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
|
Patch 1: "[v2] riscv: smp: set CPU 0 possible in setup_smp()" |
|
Patch 1: "[v2] riscv: smp: set CPU 0 possible in setup_smp()" |
|
Patch 1: "[v2] riscv: smp: set CPU 0 possible in setup_smp()" |
|
Patch 1: "[v2] riscv: smp: set CPU 0 possible in setup_smp()" |
|
Patch 1: "[v2] riscv: smp: set CPU 0 possible in setup_smp()" |
|
Patch 1: "[v2] riscv: smp: set CPU 0 possible in setup_smp()" |
|
Patch 1: "[v2] riscv: smp: set CPU 0 possible in setup_smp()" |
|
Patch 1: "[v2] riscv: smp: set CPU 0 possible in setup_smp()" |
|
Patch 1: "[v2] riscv: smp: set CPU 0 possible in setup_smp()" |
|
Patch 1: "[v2] riscv: smp: set CPU 0 possible in setup_smp()" |
|
Patch 1: "[v2] riscv: smp: set CPU 0 possible in setup_smp()" |
|
Patch 1: "[v2] riscv: smp: set CPU 0 possible in setup_smp()" |
f54dc6c to
f61148d
Compare
PR for series 1127762 applied to workflow__riscv__fixes
Name: [v2] riscv: smp: set CPU 0 possible in setup_smp()
URL: https://patchwork.kernel.org/project/linux-riscv/list/?series=1127762
Version: 2