From: Borislav Petkov <b...@suse.de>

Allocate it on the helper's _load_ucode_intel_bsp() stack instead and do
not hand it down.

Signed-off-by: Borislav Petkov <b...@suse.de>
---
 arch/x86/kernel/cpu/microcode/intel_early.c | 18 ++++++++----------
 1 file changed, 8 insertions(+), 10 deletions(-)

diff --git a/arch/x86/kernel/cpu/microcode/intel_early.c 
b/arch/x86/kernel/cpu/microcode/intel_early.c
index 1676c927045b..988ef348cb1b 100644
--- a/arch/x86/kernel/cpu/microcode/intel_early.c
+++ b/arch/x86/kernel/cpu/microcode/intel_early.c
@@ -725,21 +725,21 @@ static void __init
 _load_ucode_intel_bsp(struct mc_saved_data *mc_saved_data,
                      unsigned long *mc_saved_in_initrd,
                      unsigned long initrd_start_early,
-                     unsigned long initrd_end_early,
-                     struct ucode_cpu_info *uci)
+                     unsigned long initrd_end_early)
 {
+       struct ucode_cpu_info uci;
        enum ucode_state ret;
 
-       collect_cpu_info_early(uci);
+       collect_cpu_info_early(&uci);
        scan_microcode(initrd_start_early, initrd_end_early, mc_saved_data,
-                      mc_saved_in_initrd, uci);
+                      mc_saved_in_initrd, &uci);
 
        ret = load_microcode(mc_saved_data, mc_saved_in_initrd,
-                            initrd_start_early, uci);
+                            initrd_start_early, &uci);
        if (ret != UCODE_OK)
                return;
 
-       apply_microcode_early(uci, true);
+       apply_microcode_early(&uci, true);
 }
 
 void __init
@@ -747,7 +747,6 @@ load_ucode_intel_bsp(void)
 {
        u64 ramdisk_image, ramdisk_size;
        unsigned long initrd_start_early, initrd_end_early;
-       struct ucode_cpu_info uci;
 #ifdef CONFIG_X86_32
        struct boot_params *boot_params_p;
 
@@ -760,7 +759,7 @@ load_ucode_intel_bsp(void)
        _load_ucode_intel_bsp(
                (struct mc_saved_data *)__pa_nodebug(&mc_saved_data),
                (unsigned long *)__pa_nodebug(&mc_saved_in_initrd),
-               initrd_start_early, initrd_end_early, &uci);
+               initrd_start_early, initrd_end_early);
 #else
        ramdisk_image = boot_params.hdr.ramdisk_image;
        ramdisk_size  = boot_params.hdr.ramdisk_size;
@@ -768,8 +767,7 @@ load_ucode_intel_bsp(void)
        initrd_end_early = initrd_start_early + ramdisk_size;
 
        _load_ucode_intel_bsp(&mc_saved_data, mc_saved_in_initrd,
-                             initrd_start_early, initrd_end_early,
-                             &uci);
+                             initrd_start_early, initrd_end_early);
 #endif
 }
 
-- 
2.2.0.33.gc18b867

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

Reply via email to