From: Tim Gardner <[email protected]> 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 <[email protected]> Cc: Thomas Gleixner <[email protected]> Cc: Ingo Molnar <[email protected]> Cc: "H. Peter Anvin" <[email protected]> Signed-off-by: Tim Gardner <[email protected]> --- 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 [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

