mbox series

[GIT,PULL,00/13] First batch of EFI updates for v4.13

Message ID 20170602135207.21708-1-ard.biesheuvel@linaro.org
Headers show
Series First batch of EFI updates for v4.13 | expand

Message

Ard Biesheuvel June 2, 2017, 1:51 p.m. UTC
The following changes since commit 5ed02dbb497422bf225783f46e6eadd237d23d6b:

  Linux 4.12-rc3 (2017-05-28 17:20:53 -0700)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/efi/efi.git tags/efi-next

for you to fetch changes up to 3acbd5a24ab9d9a82c56d9018f4d340fa574b91d:

  efi: arm: enable DMI/SMBIOS (2017-06-02 13:38:56 +0000)

----------------------------------------------------------------
First batch of EFI changes for v4.13:
- rework the EFI capsule loader to allow for workarounds for non-compliant
  firmware to be implemented more easily and in a more self contained
  manner (Ard)
- implement a capsule loader quirk for Quark X102x, which prepends a
  security header in a non-compliant way (Jan Kiszka)
- enable SMBIOS/DMI support for the ARM architecture (Ard)
- add EFI_PGT_DUMP support for x86_32 and kexec (Sai Praneeth)
- some other cleanups

----------------------------------------------------------------
Andy Lutomirski (1):
      x86/efi: Clean up efi CR3 save/restore

Ard Biesheuvel (4):
      efi/capsule-loader: Use a cached copy of the capsule header
      efi/capsule-loader: Redirect calls to efi_capsule_setup_info via weak alias
      efi/capsule-loader: Use page addresses rather than struct page pointers
      efi: arm: enable DMI/SMBIOS

Fabian Frederick (1):
      efi/capsule: Remove NULL test on kmap()

Geliang Tang (1):
      efi/efi_test: Use memdup_user() helper

Jan Kiszka (5):
      efi/capsule: Fix return code on failing kmap/vmap
      efi/capsule: Remove pr_debug on ENOMEM or EFAULT
      efi/capsule: Clean up pr_err/info messages
      efi/capsule: Adjust return type of efi_capsule_setup_info
      efi/capsule: Add support for Quark security header

Sai Praneeth (1):
      x86/efi: Add EFI_PGT_DUMP support for x86_32 and kexec

 arch/arm/Kconfig                      |  17 +++++
 arch/arm/include/asm/dmi.h            |  19 +++++
 arch/arm64/kernel/efi.c               |  15 ----
 arch/x86/include/asm/efi.h            |  17 ++++-
 arch/x86/platform/efi/efi.c           |   9 ++-
 arch/x86/platform/efi/efi_32.c        |  21 ++++--
 arch/x86/platform/efi/efi_64.c        |  27 ++++---
 arch/x86/platform/efi/quirks.c        | 137 ++++++++++++++++++++++++++++++++++
 drivers/firmware/efi/Kconfig          |   9 +++
 drivers/firmware/efi/arm-runtime.c    |  16 ++++
 drivers/firmware/efi/capsule-loader.c | 117 ++++++++++++-----------------
 drivers/firmware/efi/capsule.c        |  11 +--
 drivers/firmware/efi/test/efi_test.c  |  11 +--
 include/linux/efi.h                   |  14 +++-
 14 files changed, 317 insertions(+), 123 deletions(-)
 create mode 100644 arch/arm/include/asm/dmi.h

Comments

Ard Biesheuvel June 5, 2017, 8:15 a.m. UTC | #1
(trim cc)

On 2 June 2017 at 13:51, Ard Biesheuvel <ard.biesheuvel@linaro.org> wrote:
> The following changes since commit 5ed02dbb497422bf225783f46e6eadd237d23d6b:

>

>   Linux 4.12-rc3 (2017-05-28 17:20:53 -0700)

>

> are available in the git repository at:

>

>   git://git.kernel.org/pub/scm/linux/kernel/git/efi/efi.git tags/efi-next

>

> for you to fetch changes up to 3acbd5a24ab9d9a82c56d9018f4d340fa574b91d:

>

>   efi: arm: enable DMI/SMBIOS (2017-06-02 13:38:56 +0000)

>

> ----------------------------------------------------------------

> First batch of EFI changes for v4.13:

> - rework the EFI capsule loader to allow for workarounds for non-compliant

>   firmware to be implemented more easily and in a more self contained

>   manner (Ard)

> - implement a capsule loader quirk for Quark X102x, which prepends a

>   security header in a non-compliant way (Jan Kiszka)

> - enable SMBIOS/DMI support for the ARM architecture (Ard)

> - add EFI_PGT_DUMP support for x86_32 and kexec (Sai Praneeth)

> - some other cleanups

>

> ----------------------------------------------------------------

> Andy Lutomirski (1):

>       x86/efi: Clean up efi CR3 save/restore

>

> Ard Biesheuvel (4):

>       efi/capsule-loader: Use a cached copy of the capsule header

>       efi/capsule-loader: Redirect calls to efi_capsule_setup_info via weak alias

>       efi/capsule-loader: Use page addresses rather than struct page pointers

>       efi: arm: enable DMI/SMBIOS

>

> Fabian Frederick (1):

>       efi/capsule: Remove NULL test on kmap()

>

> Geliang Tang (1):

>       efi/efi_test: Use memdup_user() helper

>

> Jan Kiszka (5):

>       efi/capsule: Fix return code on failing kmap/vmap

>       efi/capsule: Remove pr_debug on ENOMEM or EFAULT

>       efi/capsule: Clean up pr_err/info messages

>       efi/capsule: Adjust return type of efi_capsule_setup_info

>       efi/capsule: Add support for Quark security header

>

> Sai Praneeth (1):

>       x86/efi: Add EFI_PGT_DUMP support for x86_32 and kexec

>


All,

I just noticed that this patch lacks my signoff. This is due to the
fact that Matt queued this particular patch, and I didn't update the
branch to add my sob, so it is only signed off by Matt not me.

How should we handle this now, and in the future? Matt and I share
maintainership responsibilities, and so everything that gets queued
into the EFI tree may be treated as signed off by either and/or the
both of us. For multi-maintainer trees that get pulled directly, this
is usually not an issue AFAIK, but given that Ingo is the one that
deals with EFI usually, and prefers to apply the patches individually,
this may  get flagged as a missing signoff.

In any case, I am happy to respin the patches, re-sign the tag etc if
this is deemed necessary.

Thanks,
Ard.
Andy Lutomirski June 5, 2017, 4:14 p.m. UTC | #2
On Mon, Jun 5, 2017 at 9:03 AM, Ard Biesheuvel
<ard.biesheuvel@linaro.org> wrote:
> On 5 June 2017 at 15:40, Ingo Molnar <mingo@kernel.org> wrote:

>>

>> * Ard Biesheuvel <ard.biesheuvel@linaro.org> wrote:

>>

>>> From: Andy Lutomirski <luto@kernel.org>

>>>

>>> efi_call_phys_prolog() used to return a "pgd_t *" that meant one of

>>> three different things depending on kernel and system configuration.

>>> Clean it up so it uses a union and is more explicit about what's

>>> going on.

>>>

>>> Signed-off-by: Andy Lutomirski <luto@kernel.org>

>>> Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>

>>> Cc: Borislav Petkov <bp@alien8.de>

>>> Cc: Andy Lutomirski <luto@amacapital.net>

>>> Cc: Ingo Molnar <mingo@kernel.org>

>>> Signed-off-by: Matt Fleming <matt@codeblueprint.co.uk>

>>> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>

>>> ---

>>>  arch/x86/include/asm/efi.h     | 17 +++++++++++++++--

>>>  arch/x86/platform/efi/efi.c    |  6 +++---

>>>  arch/x86/platform/efi/efi_32.c | 12 ++++++------

>>>  arch/x86/platform/efi/efi_64.c | 22 ++++++++++++----------

>>>  4 files changed, 36 insertions(+), 21 deletions(-)

>>

>> Hm, this patch does not apply cleanly to v4.12-rc4:

>>

>>  Applying patch patches/x86efi_Clean_up_efi_CR3_saverestore-1.patch

>>  patching file arch/x86/include/asm/efi.h

>>  patching file arch/x86/platform/efi/efi.c

>>  patching file arch/x86/platform/efi/efi_32.c

>>  patching file arch/x86/platform/efi/efi_64.c

>>  Hunk #1 FAILED at 69.

>>  Hunk #2 FAILED at 86.

>>  Hunk #3 succeeded at 152 with fuzz 1 (offset 44 lines).

>>  Hunk #4 FAILED at 116.

>>  3 out of 4 hunks FAILED -- rejects in file arch/x86/platform/efi/efi_64.c

>>

>> what tree is this against?

>>

>

> This is against v4.12-rc3, which lacked the EFI fix Matt sent out in

> the mean time.

>

> Feel free to drop it for now, and we can requeue it later if Andy is

> willing to rebase it.


I had hoped this would make it into 4.12-rc1 so I could base PCID on
top of it.  I'll probably resend it once PCID lands and base it on
PCID instead.  (It's a trivial one-line conflict, but still...)

--Andy