From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753475AbcAGPAk (ORCPT ); Thu, 7 Jan 2016 10:00:40 -0500 Received: from mail-pa0-f53.google.com ([209.85.220.53]:35776 "EHLO mail-pa0-f53.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752073AbcAGPAh (ORCPT ); Thu, 7 Jan 2016 10:00:37 -0500 From: tim.gardner@canonical.com To: x86@kernel.org, linux-kernel@vger.kernel.org Cc: Tim Gardner , Borislav Petkov , Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" 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 Message-Id: <1452178799-20878-4-git-send-email-tim.gardner@canonical.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1452178799-20878-1-git-send-email-tim.gardner@canonical.com> References: <1452178799-20878-1-git-send-email-tim.gardner@canonical.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Tim Gardner 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 Cc: Thomas Gleixner Cc: Ingo Molnar Cc: "H. Peter Anvin" Signed-off-by: Tim Gardner --- 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