[PATCH 4/4] x86/smpboot: Return directly after a failed kcalloc()

From: SF Markus Elfring
Date: Mon Sep 05 2016 - 04:17:54 EST


From: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
Date: Mon, 5 Sep 2016 09:39:05 +0200

Return directly after a memory allocation failed in this function.

Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
---
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