Commit c8a59a4d authored by Herbert Xu's avatar Herbert Xu Committed by Borislav Petkov
Browse files

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: default avatarHerbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
Link: https://lkml.kernel.org/r/20200610042911.GA20058@gondor.apana.org.au
parent b3a9e3b9
Loading
Loading
Loading
Loading
+0 −3
Original line number Diff line number Diff line
@@ -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.
+0 −2
Original line number Diff line number Diff line
@@ -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;
}