|
@@ -122,6 +122,10 @@ struct efivar_attribute {
|
|
ssize_t (*store)(struct efivar_entry *entry, const char *buf, size_t count);
|
|
ssize_t (*store)(struct efivar_entry *entry, const char *buf, size_t count);
|
|
};
|
|
};
|
|
|
|
|
|
|
|
+#define PSTORE_EFI_ATTRIBUTES \
|
|
|
|
+ (EFI_VARIABLE_NON_VOLATILE | \
|
|
|
|
+ EFI_VARIABLE_BOOTSERVICE_ACCESS | \
|
|
|
|
+ EFI_VARIABLE_RUNTIME_ACCESS)
|
|
|
|
|
|
#define EFIVAR_ATTR(_name, _mode, _show, _store) \
|
|
#define EFIVAR_ATTR(_name, _mode, _show, _store) \
|
|
struct efivar_attribute efivar_attr_##_name = { \
|
|
struct efivar_attribute efivar_attr_##_name = { \
|
|
@@ -523,8 +527,9 @@ static u64 efi_pstore_write(enum pstore_type_id type, unsigned int part,
|
|
|
|
|
|
/* found */
|
|
/* found */
|
|
found = entry;
|
|
found = entry;
|
|
- efivars->ops->set_variable(entry->var.VariableName, &entry->var.VendorGuid,
|
|
|
|
- EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS,
|
|
|
|
|
|
+ efivars->ops->set_variable(entry->var.VariableName,
|
|
|
|
+ &entry->var.VendorGuid,
|
|
|
|
+ PSTORE_EFI_ATTRIBUTES,
|
|
0, NULL);
|
|
0, NULL);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -534,8 +539,7 @@ static u64 efi_pstore_write(enum pstore_type_id type, unsigned int part,
|
|
for (i = 0; i < DUMP_NAME_LEN; i++)
|
|
for (i = 0; i < DUMP_NAME_LEN; i++)
|
|
efi_name[i] = name[i];
|
|
efi_name[i] = name[i];
|
|
|
|
|
|
- efivars->ops->set_variable(efi_name, &vendor,
|
|
|
|
- EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS,
|
|
|
|
|
|
+ efivars->ops->set_variable(efi_name, &vendor, PSTORE_EFI_ATTRIBUTES,
|
|
size, psi->buf);
|
|
size, psi->buf);
|
|
|
|
|
|
spin_unlock(&efivars->lock);
|
|
spin_unlock(&efivars->lock);
|