diff --git a/debian/changelog b/debian/changelog index b7443036d..b68d6bdb1 100644 --- a/debian/changelog +++ b/debian/changelog @@ -22,6 +22,7 @@ linux (3.9.7-1) UNRELEASED; urgency=low [ Ben Hutchings ] * yama: Disable ptrace restrictions by default, and change boot message to indicate this (Closes: #712740) + * [x86] efi: Fix dummy variable buffer allocation -- Ben Hutchings Wed, 19 Jun 2013 04:30:59 +0100 diff --git a/debian/patches/bugfix/x86/x86-efi-Fix-dummy-variable-buffer-allocation.patch b/debian/patches/bugfix/x86/x86-efi-Fix-dummy-variable-buffer-allocation.patch new file mode 100644 index 000000000..f42bc64be --- /dev/null +++ b/debian/patches/bugfix/x86/x86-efi-Fix-dummy-variable-buffer-allocation.patch @@ -0,0 +1,43 @@ +From: Ben Hutchings +Date: Sun, 16 Jun 2013 21:27:12 +0100 +Subject: x86/efi: Fix dummy variable buffer allocation + +commit b8cb62f82103083a6e8fa5470bfe634a2c06514d upstream. + +1. Check for allocation failure +2. Clear the buffer contents, as they may actually be written to flash +3. Don't leak the buffer + +Compile-tested only. + +[ Tested successfully on my buggy ASUS machine - Matt ] + +Signed-off-by: Ben Hutchings +Signed-off-by: Matt Fleming +--- + arch/x86/platform/efi/efi.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +--- a/arch/x86/platform/efi/efi.c ++++ b/arch/x86/platform/efi/efi.c +@@ -1074,7 +1074,10 @@ efi_status_t efi_query_variable_store(u3 + * that by attempting to use more space than is available. + */ + unsigned long dummy_size = remaining_size + 1024; +- void *dummy = kmalloc(dummy_size, GFP_ATOMIC); ++ void *dummy = kzalloc(dummy_size, GFP_ATOMIC); ++ ++ if (!dummy) ++ return EFI_OUT_OF_RESOURCES; + + status = efi.set_variable(efi_dummy_name, &EFI_DUMMY_GUID, + EFI_VARIABLE_NON_VOLATILE | +@@ -1094,6 +1097,8 @@ efi_status_t efi_query_variable_store(u3 + 0, dummy); + } + ++ kfree(dummy); ++ + /* + * The runtime code may now have triggered a garbage collection + * run, so check the variable info again diff --git a/debian/patches/series b/debian/patches/series index f3e5eefcc..36b2e75ae 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -107,3 +107,4 @@ features/arm/0001-ARM-mvebu-Add-thermal-support-to-Armada-XP-device-tr.patch bugfix/x86/viafb-autoload-on-olpc-xo1.5-only.patch debian/powerpc-machdep-avoid-abi-change-in-3.9.6.patch debian/yama-disable-by-default.patch +bugfix/x86/x86-efi-Fix-dummy-variable-buffer-allocation.patch