[PATCH v4.4-rc8 3/4] x86/microcode/intel: load_microcode: Squelch frame size warning

From: tim . gardner
Date: Thu Jan 07 2016 - 10:00:42 EST


From: Tim Gardner <tim.gardner@xxxxxxxxxxxxx>

arch/x86/kernel/cpu/microcode/intel.c: In function 'load_microcode.isra.2.constprop':
arch/x86/kernel/cpu/microcode/intel.c:130:1: warning: the frame size of 1032 bytes is larger than 1024 bytes [-Wframe-larger-than=]

gcc version 5.3.1 20160101 (Ubuntu 5.3.1-5ubuntu1)

Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: "H. Peter Anvin" <hpa@xxxxxxxxx>
Signed-off-by: Tim Gardner <tim.gardner@xxxxxxxxxxxxx>
---
arch/x86/kernel/cpu/microcode/intel.c | 16 ++++++++++++----
1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/arch/x86/kernel/cpu/microcode/intel.c b/arch/x86/kernel/cpu/microcode/intel.c
index ebf5e66..e019c11 100644
--- a/arch/x86/kernel/cpu/microcode/intel.c
+++ b/arch/x86/kernel/cpu/microcode/intel.c
@@ -111,22 +111,30 @@ static enum ucode_state
load_microcode(struct mc_saved_data *mc_saved_data, unsigned long *initrd,
unsigned long initrd_start, struct ucode_cpu_info *uci)
{
- struct microcode_intel *mc_saved_tmp[MAX_UCODE_COUNT];
+ struct microcode_intel **mc_saved_tmp;
unsigned int count = mc_saved_data->mc_saved_count;
+ enum ucode_state state;
+
+ mc_saved_tmp = kcalloc(MAX_UCODE_COUNT, sizeof(*mc_saved_tmp),
+ GFP_KERNEL);
+ if (!mc_saved_tmp)
+ return UCODE_ERROR;

if (!mc_saved_data->mc_saved) {
copy_initrd_ptrs(mc_saved_tmp, initrd, initrd_start, count);

- return load_microcode_early(mc_saved_tmp, count, uci);
+ state = load_microcode_early(mc_saved_tmp, count, uci);
} else {
#ifdef CONFIG_X86_32
microcode_phys(mc_saved_tmp, mc_saved_data);
- return load_microcode_early(mc_saved_tmp, count, uci);
+ state = load_microcode_early(mc_saved_tmp, count, uci);
#else
- return load_microcode_early(mc_saved_data->mc_saved,
+ state = load_microcode_early(mc_saved_data->mc_saved,
count, uci);
#endif
}
+ kfree(mc_saved_tmp);
+ return state;
}

/*
--
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/