2011-05-30 13:53:08

by Stefan Lippers-Hollmann

[permalink] [raw]
Subject: Re: Patch "x86, efi: Retain boot service code until after switching to" has been added to the 2.6.39-stable tree

Hi

On Monday 30 May 2011, [email protected] wrote:
> This is a note to let you know that I've just added the patch titled
>
> x86, efi: Retain boot service code until after switching to
>
> to the 2.6.39-stable tree which can be found at:
> http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
>
> The filename of the patch is:
> x86-efi-retain-boot-service-code-until-after-switching-to.patch
> and it can be found in the queue-2.6.39 subdirectory.

The -stable backport of this upstream commit introduces a syntax error,
see below.

> If you, or anyone else, feels it should not be added to the stable tree,
> please let <[email protected]> know about it.
>
>
> From 916f676f8dc016103f983c7ec54c18ecdbb6e349 Mon Sep 17 00:00:00 2001
> From: Matthew Garrett <[email protected]>
> Date: Wed, 25 May 2011 09:53:13 -0400
> Subject: x86, efi: Retain boot service code until after switching to
> virtual mode
>
> From: Matthew Garrett <[email protected]>
>
> commit 916f676f8dc016103f983c7ec54c18ecdbb6e349 upstream.
[...]
> --- a/arch/x86/platform/efi/efi_64.c
> +++ b/arch/x86/platform/efi/efi_64.c
> @@ -64,10 +64,11 @@ static void __init early_runtime_code_ma
> if (!(__supported_pte_mask & _PAGE_NX))
> return;
>
> - /* Make EFI runtime service code area executable */
> + /* Make EFI service code area executable */
> for (p = memmap.map; p < memmap.map_end; p += memmap.desc_size) {
> md = p;
> - if (md->type == EFI_RUNTIME_SERVICES_CODE) {
> + if (md->type == EFI_RUNTIME_SERVICES_CODE ||
> + md->type == EFI_BOOT_SERVICES_CODE)
^ missing '{'
> unsigned long end;
> end = md->phys_addr + (md->num_pages << EFI_PAGE_SHIFT);
> early_mapping_set_exec(md->phys_addr, end, executable);
[...]

This leads to:

arch/x86/platform/efi/efi_64.c: In function 'early_runtime_code_mapping_set_exec':
arch/x86/platform/efi/efi_64.c:72:4: error: expected expression before 'unsigned'
arch/x86/platform/efi/efi_64.c:73:4: error: 'end' undeclared (first use in this function)
arch/x86/platform/efi/efi_64.c:73:4: note: each undeclared identifier is reported only once for each function it appears in
arch/x86/platform/efi/efi_64.c: At top level:
arch/x86/platform/efi/efi_64.c:77:1: error: expected identifier or '(' before '}' token
make[5]: *** [arch/x86/platform/efi/efi_64.o] Error 1

Regards
Stefan Lippers-Hollmann


2011-05-30 14:27:36

by Greg KH

[permalink] [raw]
Subject: Re: Patch "x86, efi: Retain boot service code until after switching to" has been added to the 2.6.39-stable tree

On Mon, May 30, 2011 at 03:52:55PM +0200, Stefan Lippers-Hollmann wrote:
> Hi
>
> On Monday 30 May 2011, [email protected] wrote:
> > This is a note to let you know that I've just added the patch titled
> >
> > x86, efi: Retain boot service code until after switching to
> >
> > to the 2.6.39-stable tree which can be found at:
> > http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
> >
> > The filename of the patch is:
> > x86-efi-retain-boot-service-code-until-after-switching-to.patch
> > and it can be found in the queue-2.6.39 subdirectory.
>
> The -stable backport of this upstream commit introduces a syntax error,
> see below.

Thanks, I've fixed it now.

Didn't catch it here as all I have is a i386 slow laptop to build on at
the moment :(

greg k-h