[Precise] [PATCH 00/12] Prevent samsung-laptop bricking when using UEFI

Brad Figg brad.figg at canonical.com
Fri Feb 1 22:45:40 UTC 2013


BugLink: http://bugs.launchpad.net/bugs/1111689

SRU Justification:

Impact:
With the existing code there is still the chance that the samsung-laptop driver can run if the given system is booting a 32-bit kernel with 64-bit EFI firmware (or vice versa). This
can lead to a system that is "bricked" and can not be recovered.

Fix:
First, we will need to revert the existing commit we have for the samsung-laptop/EFI
issue:
    af3e234992e2a9a82ccd2b7692d61d5a47c5bece (Precise tree)

Then we need to cherry-pick/backport the following 9 commits from Linus' tree
    e8c7106280a305e1ff2a3a8a4dfce141469fb039 (cherry-pick)
    f7d7d01be53cb47e0ae212c4e968aa28b82d2138 (cherry-pick)
    83e7ee6657dfcd6b0ee2406d11024b558064252a (cherry-pick)
    e3cb3f5a35997906f9b79bf860029c02a54cfae6 (cherry-pick)
    a6a46f415dca828a04a435ca1f67de0bc5b9ae30 (cherry-pick)
    140bf275d3e89e9b36851d5cf498dbbbecdf7ca8 (cherry-pick)
    1adbfa3511ee1c1118e16a9a0246870f12fef4e6 (backport)
    4a27b01761e602f568cb04fbafbed365dacb4c97 (cherry-pick)
    5189c2a7c7769ee9d037d76c1a7b8550ccf3481c (backport)
    83e68189745ad931c2afd45d8ee3303929233e7f (backport)
    e0094244e41c4d0c7ad69920681972fc45d8ce34 (backport)

The following patches do exactly that, they revert the previous Ubuntu Sauce
patch to the samsung-laptop driver, backport the "Make 'efi_enabled' a function"
commit and cherry-pick a new commit to the samsung-laptop driver.

Brad Figg (1):
  Revert "UBUNTU: SAUCE: samsung-laptop: disable in UEFI mode"

Josh Triplett (1):
  efi: Defer freeing boot services memory until after ACPI init

Matt Fleming (4):
  x86, efi: Calling __pa() with an ioremap()ed address is invalid
  x86: Don't use magic strings for EFI loader signature
  efi: Make 'efi_enabled' a function to query EFI facilities
  samsung-laptop: Disable on EFI hardware

Olof Johansson (6):
  x86, efi: Refactor efi_init() a bit
  x86, efi: Convert printk to pr_*()
  x86, efi: Cleanup config table walking
  x86, efi: Add basic error handling
  x86, efi: Allow basic init with mixed 32/64-bit efi/kernel
  x86: efi: Turn off efi_enabled after setup on mixed fw/kernel

 arch/x86/include/asm/e820.h            |    8 +
 arch/x86/include/asm/efi.h             |   13 +-
 arch/x86/kernel/e820.c                 |    3 +-
 arch/x86/kernel/reboot.c               |    2 +-
 arch/x86/kernel/setup.c                |   56 +++-
 arch/x86/platform/efi/efi.c            |  451 ++++++++++++++++++++++----------
 arch/x86/platform/efi/efi_64.c         |   17 --
 drivers/acpi/osl.c                     |    2 +-
 drivers/firmware/dmi_scan.c            |    2 +-
 drivers/firmware/efivars.c             |    4 +-
 drivers/firmware/iscsi_ibft_find.c     |    2 +-
 drivers/gpu/drm/radeon/radeon_device.c |    3 +-
 drivers/platform/x86/ibm_rtl.c         |    2 +-
 drivers/platform/x86/samsung-laptop.c  |   10 +-
 drivers/scsi/isci/init.c               |    2 +-
 include/linux/efi.h                    |   72 ++++-
 init/main.c                            |    5 +-
 17 files changed, 468 insertions(+), 186 deletions(-)

-- 
1.7.9.5





More information about the kernel-team mailing list