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

Brad Figg brad.figg at canonical.com
Tue Feb 5 15:47:14 UTC 2013


On 02/05/2013 07:02 AM, Tim Gardner wrote:
> On 02/01/2013 03:45 PM, Brad Figg wrote:
>> 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(-)
>>
> 
> I know this is splitting hairs a bit, but I think the magnitude of this
> patch set is a bit disingenuous, especially when compared to the
> simplicity of the SAUCE patch that simply disables the Samsung laptop
> driver. Frankly, I'm fine with the SAUCE patch in Precise for now.
> 
> If we're intent on improving UEFI support in Precise (likely a worthy
> goal), then how about a new bug that addresses the actual issue ? We'll
> need to do some thorough testing on the UEFI kit that we have at hand.
> When all that appears to work, then we can readdress the Samsung laptop bug.
> 
> rtg
> 

There are two issues here.

First, there are conditions where our existing samsung patch will
still allow the samsung driver to run. See:

    http://marc.info/?l=linux-kernel&m=135892756601870&w=2

Second, Ben Hutchings has done a backport of the "Make 'efi_enabled'
a function to query EFI facilities" and the samsung patch and those
are making their way through upstream stable so we will be getting
this one way or the other.

At this point I'm ok taking Ben's patch, however, I think taking more
of the other cherry-picks would make furture UEFI backporting easier
and I find it hard to believe this will be the last of it.

Brad
-- 
Brad Figg brad.figg at canonical.com http://www.canonical.com




More information about the kernel-team mailing list