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

From: Stefan Lippers-Hollmann
Date: Mon May 30 2011 - 09:53:11 EST


Hi

On Monday 30 May 2011, gregkh@xxxxxxx 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 <stable@xxxxxxxxxx> know about it.
>
>
> From 916f676f8dc016103f983c7ec54c18ecdbb6e349 Mon Sep 17 00:00:00 2001
> From: Matthew Garrett <mjg@xxxxxxxxxx>
> 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 <mjg@xxxxxxxxxx>
>
> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/