diff options
-rw-r--r-- | drivers/firmware/Kconfig | 9 | ||||
-rw-r--r-- | drivers/firmware/efivars.c | 8 |
2 files changed, 16 insertions, 1 deletions
diff --git a/drivers/firmware/Kconfig b/drivers/firmware/Kconfig index 898023d8e486..42c759a4d047 100644 --- a/drivers/firmware/Kconfig +++ b/drivers/firmware/Kconfig | |||
@@ -62,6 +62,15 @@ config EFI_VARS_PSTORE | |||
62 | will allow writing console messages, crash dumps, or anything | 62 | will allow writing console messages, crash dumps, or anything |
63 | else supported by pstore to EFI variables. | 63 | else supported by pstore to EFI variables. |
64 | 64 | ||
65 | config EFI_VARS_PSTORE_DEFAULT_DISABLE | ||
66 | bool "Disable using efivars as a pstore backend by default" | ||
67 | depends on EFI_VARS_PSTORE | ||
68 | default n | ||
69 | help | ||
70 | Saying Y here will disable the use of efivars as a storage | ||
71 | backend for pstore by default. This setting can be overridden | ||
72 | using the efivars module's pstore_disable parameter. | ||
73 | |||
65 | config EFI_PCDP | 74 | config EFI_PCDP |
66 | bool "Console device selection via EFI PCDP or HCDP table" | 75 | bool "Console device selection via EFI PCDP or HCDP table" |
67 | depends on ACPI && EFI && IA64 | 76 | depends on ACPI && EFI && IA64 |
diff --git a/drivers/firmware/efivars.c b/drivers/firmware/efivars.c index 37b6f247399e..6607daf5a08d 100644 --- a/drivers/firmware/efivars.c +++ b/drivers/firmware/efivars.c | |||
@@ -103,6 +103,11 @@ MODULE_VERSION(EFIVARS_VERSION); | |||
103 | */ | 103 | */ |
104 | #define GUID_LEN 36 | 104 | #define GUID_LEN 36 |
105 | 105 | ||
106 | static bool efivars_pstore_disable = | ||
107 | IS_ENABLED(EFI_VARS_PSTORE_DEFAULT_DISABLE); | ||
108 | |||
109 | module_param_named(pstore_disable, efivars_pstore_disable, bool, 0644); | ||
110 | |||
106 | /* | 111 | /* |
107 | * The maximum size of VariableName + Data = 1024 | 112 | * The maximum size of VariableName + Data = 1024 |
108 | * Therefore, it's reasonable to save that much | 113 | * Therefore, it's reasonable to save that much |
@@ -2009,7 +2014,8 @@ int register_efivars(struct efivars *efivars, | |||
2009 | if (error) | 2014 | if (error) |
2010 | unregister_efivars(efivars); | 2015 | unregister_efivars(efivars); |
2011 | 2016 | ||
2012 | efivar_pstore_register(efivars); | 2017 | if (!efivars_pstore_disable) |
2018 | efivar_pstore_register(efivars); | ||
2013 | 2019 | ||
2014 | register_filesystem(&efivarfs_type); | 2020 | register_filesystem(&efivarfs_type); |
2015 | 2021 | ||