Skip to contentSkip to conversation

Patch "efi: Add pstore variables to the deletion whitelist" has been added to the 4.4-stable tree

PATCH [email protected] 1 participant 1 message Mar 1, 2016

Subsystems (2)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

efi: Add pstore variables to the deletion whitelist

to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
efi-add-pstore-variables-to-the-deletion-whitelist.patch
and it can be found in the queue-4.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From e246eb568bc4cbbdd8a30a3c11151ff9b7ca7312 Mon Sep 17 00:00:00 2001

From: Matt Fleming <[email protected]>
Date: Mon, 15 Feb 2016 10:34:05 +0000
Subject: efi: Add pstore variables to the deletion whitelist

From: Matt Fleming <[email protected]>

commit e246eb568bc4cbbdd8a30a3c11151ff9b7ca7312 upstream.

Laszlo explains why this is a good idea,

'This is because the pstore filesystem can be backed by UEFI variables,
and (for example) a crash might dump the last kilobytes of the dmesg into a number of pstore entries, each entry backed by a separate UEFI variable in the above GUID namespace, and with a variable name according to the above pattern.

Please see "drivers/firmware/efi/efi-pstore.c".

While this patch series will not prevent the user from deleting those UEFI variables via the pstore filesystem (i.e., deleting a pstore fs entry will continue to delete the backing UEFI variable), I think it would be nice to preserve the possibility for the sysadmin to delete Linux-created UEFI variables that carry portions of the crash log, *without* having to mount the pstore filesystem.'

There's also no chance of causing machines to become bricked by deleting these variables, which is the whole purpose of excluding things from the whitelist.

Use the LINUX_EFI_CRASH_GUID guid and a wildcard '*' for the match so that we don't have to update the string in the future if new variable name formats are created for crash dump variables.

---
 drivers/firmware/efi/vars.c |    1 +
 1 file changed, 1 insertion(+)
drivers/firmware/efi/vars.c +1 -0
@@ -198,6 +198,7 @@ static const struct variable_validate va
 	{ EFI_GLOBAL_VARIABLE_GUID, "OsIndications", NULL },
 	{ EFI_GLOBAL_VARIABLE_GUID, "PlatformLang", validate_ascii_string },
 	{ EFI_GLOBAL_VARIABLE_GUID, "Timeout", validate_uint16 },
+	{ LINUX_EFI_CRASH_GUID, "*", NULL },
 	{ NULL_GUID, "", NULL },
 };
 

Patches currently in stable-queue which might be from [email protected] are

queue-4.4/efi-do-variable-name-validation-tests-in-utf8.patch queue-4.4/efi-make-our-variable-validation-list-include-the-guid.patch queue-4.4/efi-use-ucs2_as_utf8-in-efivarfs-instead-of-open-coding-a-bad-version.patch queue-4.4/efi-add-pstore-variables-to-the-deletion-whitelist.patch queue-4.4/efi-make-efivarfs-entries-immutable-by-default.patch queue-4.4/lib-ucs2_string-correct-ucs2-utf8-conversion.patch queue-4.4/lib-ucs2_string-add-ucs2-utf8-helper-functions.patch