Messages in this thread Patch in this message | | | From | tim.gardner@canonica ... | Subject | [PATCH v4.4-rc8 3/4] x86/microcode/intel: load_microcode: Squelch frame size warning | Date | Thu, 7 Jan 2016 07:59:58 -0700 |
| |
From: Tim Gardner <tim.gardner@canonical.com>
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@alien8.de> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Ingo Molnar <mingo@redhat.com> Cc: "H. Peter Anvin" <hpa@zytor.com> Signed-off-by: Tim Gardner <tim.gardner@canonical.com> --- 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
| |