From: Markus Elfring <elfr...@users.sourceforge.net>
Date: Mon, 5 Sep 2016 09:39:05 +0200

Return directly after a memory allocation failed in this function.

Signed-off-by: Markus Elfring <elfr...@users.sourceforge.net>
---
 arch/x86/kernel/smpboot.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c
index e3fdc44..a30f625 100644
--- a/arch/x86/kernel/smpboot.c
+++ b/arch/x86/kernel/smpboot.c
@@ -359,6 +359,10 @@ static void __init smp_init_package_map(void)
        physical_package_map = kcalloc(BITS_TO_LONGS(max_physical_pkg_id),
                                       sizeof(*physical_package_map),
                                       GFP_KERNEL);
+       if (!physical_package_map) {
+               kfree(physical_to_logical_pkg);
+               return;
+       }
 
        for_each_present_cpu(cpu) {
                unsigned int apicid = apic->cpu_present_to_apicid(cpu);
-- 
2.9.3

Reply via email to