Commit-ID:  e8c8165ecfb1cfd6650777c193361d33b0f7f59e
Gitweb:     http://git.kernel.org/tip/e8c8165ecfb1cfd6650777c193361d33b0f7f59e
Author:     Borislav Petkov <[email protected]>
AuthorDate: Wed, 3 Feb 2016 12:33:31 +0100
Committer:  Ingo Molnar <[email protected]>
CommitDate: Tue, 9 Feb 2016 11:41:15 +0100

x86/microcode: Remove redundant __setup() param parsing

We do parse for the disable microcode loader chicken bit very early.
After the driver merge, the __setup() param parsing method is not needed
anymore so get rid of it.

In addition, fix a compiler warning from an old SLES11 gcc (4.3.4)
reported by Jan Beulich <[email protected]>:

  arch/x86/kernel/cpu/microcode/core.c: In function ‘load_ucode_bsp’:
  arch/x86/kernel/cpu/microcode/core.c:96: warning: array subscript is above 
array bounds

Tested-by: Thomas Voegtle <[email protected]>
Signed-off-by: Borislav Petkov <[email protected]>
Cc: Linus Torvalds <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Ingo Molnar <[email protected]>
---
 arch/x86/kernel/cpu/microcode/core.c | 15 ++++-----------
 1 file changed, 4 insertions(+), 11 deletions(-)

diff --git a/arch/x86/kernel/cpu/microcode/core.c 
b/arch/x86/kernel/cpu/microcode/core.c
index faec712..bca4e48 100644
--- a/arch/x86/kernel/cpu/microcode/core.c
+++ b/arch/x86/kernel/cpu/microcode/core.c
@@ -43,16 +43,8 @@
 #define MICROCODE_VERSION      "2.01"
 
 static struct microcode_ops    *microcode_ops;
-
 static bool dis_ucode_ldr;
 
-static int __init disable_loader(char *str)
-{
-       dis_ucode_ldr = true;
-       return 1;
-}
-__setup("dis_ucode_ldr", disable_loader);
-
 /*
  * Synchronization.
  *
@@ -81,15 +73,16 @@ struct cpu_info_ctx {
 
 static bool __init check_loader_disabled_bsp(void)
 {
+       static const char *__dis_opt_str = "dis_ucode_ldr";
+
 #ifdef CONFIG_X86_32
        const char *cmdline = (const char *)__pa_nodebug(boot_command_line);
-       const char *opt     = "dis_ucode_ldr";
-       const char *option  = (const char *)__pa_nodebug(opt);
+       const char *option  = (const char *)__pa_nodebug(__dis_opt_str);
        bool *res = (bool *)__pa_nodebug(&dis_ucode_ldr);
 
 #else /* CONFIG_X86_64 */
        const char *cmdline = boot_command_line;
-       const char *option  = "dis_ucode_ldr";
+       const char *option  = __dis_opt_str;
        bool *res = &dis_ucode_ldr;
 #endif
 

Reply via email to