|
@@ -651,6 +651,8 @@ static bool fw_force_sysfs_fallback(enum fw_opt opt_flags)
|
|
|
|
|
|
static bool fw_run_sysfs_fallback(enum fw_opt opt_flags)
|
|
|
{
|
|
|
+ int ret;
|
|
|
+
|
|
|
if (fw_fallback_config.ignore_sysfs_fallback) {
|
|
|
pr_info_once("Ignoring firmware sysfs fallback due to sysctl knob\n");
|
|
|
return false;
|
|
@@ -659,6 +661,11 @@ static bool fw_run_sysfs_fallback(enum fw_opt opt_flags)
|
|
|
if ((opt_flags & FW_OPT_NOFALLBACK))
|
|
|
return false;
|
|
|
|
|
|
+ /* Also permit LSMs and IMA to fail firmware sysfs fallback */
|
|
|
+ ret = security_kernel_load_data(LOADING_FIRMWARE);
|
|
|
+ if (ret < 0)
|
|
|
+ return ret;
|
|
|
+
|
|
|
return fw_force_sysfs_fallback(opt_flags);
|
|
|
}
|
|
|
|