[tip: x86/microcode] x86/microcode: Do not select FW_LOADER

From: tip-bot2 for Herbert Xu
Date: Mon Jun 15 2020 - 06:03:49 EST


The following commit has been merged into the x86/microcode branch of tip:

Commit-ID: c8a59a4d8e3c9e609fa915e39c3628c6dd08aeea
Gitweb: https://git.kernel.org/tip/c8a59a4d8e3c9e609fa915e39c3628c6dd08aeea
Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
AuthorDate: Wed, 10 Jun 2020 21:05:13 +10:00
Committer: Borislav Petkov <bp@xxxxxxx>
CommitterDate: Mon, 15 Jun 2020 11:59:19 +02:00

x86/microcode: Do not select FW_LOADER

The x86 microcode support works just fine without FW_LOADER. In fact,
these days most people load microcode early during boot so FW_LOADER
never gets into the picture anyway.

As almost everyone on x86 needs to enable MICROCODE, this by extension
means that FW_LOADER is always built into the kernel even if nothing
uses it. The FW_LOADER system is about two thousand lines long and
contains user-space facing interfaces that could potentially provide an
entry point into the kernel (or beyond).

Remove the unnecessary select of FW_LOADER by MICROCODE. People who need
the FW_LOADER capability can still enable it.

[ bp: Massage a bit. ]

Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Borislav Petkov <bp@xxxxxxx>
Link: https://lkml.kernel.org/r/20200610042911.GA20058@xxxxxxxxxxxxxxxxxxx
---
arch/x86/Kconfig | 3 ---
arch/x86/kernel/cpu/microcode/core.c | 2 --
2 files changed, 5 deletions(-)

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 6a0cc52..5c44eac 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -1292,7 +1292,6 @@ config MICROCODE
bool "CPU microcode loading support"
default y
depends on CPU_SUP_AMD || CPU_SUP_INTEL
- select FW_LOADER
help
If you say Y here, you will be able to update the microcode on
Intel and AMD processors. The Intel support is for the IA32 family,
@@ -1314,7 +1313,6 @@ config MICROCODE_INTEL
bool "Intel microcode loading support"
depends on MICROCODE
default MICROCODE
- select FW_LOADER
help
This options enables microcode patch loading support for Intel
processors.
@@ -1326,7 +1324,6 @@ config MICROCODE_INTEL
config MICROCODE_AMD
bool "AMD microcode loading support"
depends on MICROCODE
- select FW_LOADER
help
If you select this option, microcode patch loading support for AMD
processors will be enabled.
diff --git a/arch/x86/kernel/cpu/microcode/core.c b/arch/x86/kernel/cpu/microcode/core.c
index baec68b..ec6f041 100644
--- a/arch/x86/kernel/cpu/microcode/core.c
+++ b/arch/x86/kernel/cpu/microcode/core.c
@@ -145,7 +145,6 @@ extern struct builtin_fw __end_builtin_fw[];

bool get_builtin_firmware(struct cpio_data *cd, const char *name)
{
-#ifdef CONFIG_FW_LOADER
struct builtin_fw *b_fw;

for (b_fw = __start_builtin_fw; b_fw != __end_builtin_fw; b_fw++) {
@@ -155,7 +154,6 @@ bool get_builtin_firmware(struct cpio_data *cd, const char *name)
return true;
}
}
-#endif
return false;
}