RISC-V: Compare cpuid with NR_CPUS before mapping.

We should never have a cpuid greater that NR_CPUS. Compare with NR_CPUS
before creating the mapping between logical and physical CPU ids. This
is also mandatory as NR_CPUS check is removed from
riscv_of_processor_hartid.

Signed-off-by: Atish Patra <atish.patra@wdc.com>
Reviewed-by: Anup Patel <anup@brainfault.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Palmer Dabbelt <palmer@sifive.com>
This commit is contained in:
Atish Patra 2019-02-22 11:41:39 -08:00 committed by Palmer Dabbelt
parent dd641e2686
commit 291debb38d
No known key found for this signature in database
GPG key ID: EF4CA1502CCBAB41

View file

@ -66,6 +66,11 @@ void __init setup_smp(void)
found_boot_cpu = 1;
continue;
}
if (cpuid >= NR_CPUS) {
pr_warn("Invalid cpuid [%d] for hartid [%d]\n",
cpuid, hart);
break;
}
cpuid_to_hartid_map(cpuid) = hart;
set_cpu_possible(cpuid, true);