cpu/x86/mp_init.c: Improve AP entry point

Make sure that a pointer exists before dereferencing it.

Change-Id: I1a9833bb9686451224249efe599346f64dc37874
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/70011
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Elyes Haouas <ehaouas@noos.fr>
This commit is contained in:
Arthur Heymans 2022-11-25 13:36:26 +01:00 committed by Felix Held
parent 3c8a3d1295
commit db65dd60fb
1 changed files with 10 additions and 3 deletions

View File

@ -182,9 +182,16 @@ static asmlinkage void ap_init(unsigned int index)
enable_lapic();
setup_lapic_interrupts();
struct device *dev = g_cpu_bus->children;
for (unsigned int i = index; i > 0; i--)
dev = dev->sibling;
struct device *dev;
int i = 0;
for (dev = g_cpu_bus->children; dev; dev = dev->sibling)
if (i++ == index)
break;
if (!dev) {
printk(BIOS_ERR, "Could not find allocated device for index %u\n", index);
return;
}
set_cpu_info(index, dev);