Merge branch 'efi-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull EFI fixes from Ingo Molnar:
 "Two fixes: an ARM fix for KASLR interaction with hibernation, plus an
  efi_test crash fix"

* 'efi-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  efi/libstub/arm: Don't randomize runtime regions when CONFIG_HIBERNATION=y
  efi/efi_test: Prevent an Oops in efi_runtime_query_capsulecaps()
This commit is contained in:
Linus Torvalds 2017-10-27 17:14:32 -07:00
commit 5cefb4ee24
2 changed files with 5 additions and 1 deletions

View File

@ -238,7 +238,8 @@ unsigned long efi_entry(void *handle, efi_system_table_t *sys_table,
efi_random_get_seed(sys_table); efi_random_get_seed(sys_table);
if (!nokaslr()) { /* hibernation expects the runtime regions to stay in the same place */
if (!IS_ENABLED(CONFIG_HIBERNATION) && !nokaslr()) {
/* /*
* Randomize the base of the UEFI runtime services region. * Randomize the base of the UEFI runtime services region.
* Preserve the 2 MB alignment of the region by taking a * Preserve the 2 MB alignment of the region by taking a

View File

@ -593,6 +593,9 @@ static long efi_runtime_query_capsulecaps(unsigned long arg)
if (copy_from_user(&qcaps, qcaps_user, sizeof(qcaps))) if (copy_from_user(&qcaps, qcaps_user, sizeof(qcaps)))
return -EFAULT; return -EFAULT;
if (qcaps.capsule_count == ULONG_MAX)
return -EINVAL;
capsules = kcalloc(qcaps.capsule_count + 1, capsules = kcalloc(qcaps.capsule_count + 1,
sizeof(efi_capsule_header_t), GFP_KERNEL); sizeof(efi_capsule_header_t), GFP_KERNEL);
if (!capsules) if (!capsules)