All of lore.kernel.org
 help / color / mirror / Atom feed
From: Matt Fleming <matt@console-pimps.org>
To: Mathias Krause <minipli@googlemail.com>
Cc: Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, "H. Peter Anvin" <hpa@zytor.com>,
	linux-kernel@vger.kernel.org, x86@kernel.org,
	Matt Fleming <matt.fleming@intel.com>,
	Borislav Petkov <bp@alien8.de>
Subject: Re: [PATCHv2 1/3] x86, ptdump: Add section for EFI runtime services
Date: Fri, 3 Oct 2014 14:47:07 +0100	[thread overview]
Message-ID: <20141003134707.GJ14343@console-pimps.org> (raw)
In-Reply-To: <1411313216-2641-2-git-send-email-minipli@googlemail.com>

On Sun, 21 Sep, at 05:26:54PM, Mathias Krause wrote:
> In commit 3891a04aafd6 ("x86-64, espfix: Don't leak bits 31:16 of %esp
> returning..") the "ESPFix Area" was added to the page table dump special
> sections. That area, though, has a limited amount of entries printed.
> 
> The EFI runtime services are, unfortunately, located in-between the
> espfix area and the high kernel memory mapping. Due to the enforced
> limitation for the espfix area, the EFI mappings won't be printed in the
> page table dump.
> 
> To make the ESP runtime service mappings visible again, provide them a
> dedicated entry.
> 
> Signed-off-by: Mathias Krause <minipli@googlemail.com>
> Cc: Matt Fleming <matt.fleming@intel.com>
> Cc: H. Peter Anvin <hpa@zytor.com>
> ---
> v2: same as v1
> 
>  arch/x86/include/asm/pgtable_64_types.h |    2 ++
>  arch/x86/mm/dump_pagetables.c           |    3 +++
>  arch/x86/platform/efi/efi_64.c          |    3 +--
>  3 files changed, 6 insertions(+), 2 deletions(-)
 
Looks OK to me. Borislav?

> diff --git a/arch/x86/include/asm/pgtable_64_types.h b/arch/x86/include/asm/pgtable_64_types.h
> index 7166e25ecb57..602b6028c5b6 100644
> --- a/arch/x86/include/asm/pgtable_64_types.h
> +++ b/arch/x86/include/asm/pgtable_64_types.h
> @@ -63,6 +63,8 @@ typedef struct { pteval_t pte; } pte_t;
>  #define MODULES_LEN   (MODULES_END - MODULES_VADDR)
>  #define ESPFIX_PGD_ENTRY _AC(-2, UL)
>  #define ESPFIX_BASE_ADDR (ESPFIX_PGD_ENTRY << PGDIR_SHIFT)
> +#define EFI_VA_START	 ( -4 * (_AC(1, UL) << 30))
> +#define EFI_VA_END	 (-68 * (_AC(1, UL) << 30))
>  
>  #define EARLY_DYNAMIC_PAGE_TABLES	64
>  
> diff --git a/arch/x86/mm/dump_pagetables.c b/arch/x86/mm/dump_pagetables.c
> index 95a427e57887..1a8053d1012e 100644
> --- a/arch/x86/mm/dump_pagetables.c
> +++ b/arch/x86/mm/dump_pagetables.c
> @@ -76,6 +76,9 @@ static struct addr_marker address_markers[] = {
>  # ifdef CONFIG_X86_ESPFIX64
>  	{ ESPFIX_BASE_ADDR,	"ESPfix Area", 16 },
>  # endif
> +# ifdef CONFIG_EFI
> +	{ EFI_VA_END,		"EFI Runtime Services" },
> +# endif
>  	{ __START_KERNEL_map,   "High Kernel Mapping" },
>  	{ MODULES_VADDR,        "Modules" },
>  	{ MODULES_END,          "End Modules" },
> diff --git a/arch/x86/platform/efi/efi_64.c b/arch/x86/platform/efi/efi_64.c
> index 290d397e1dd9..899c7f17ad85 100644
> --- a/arch/x86/platform/efi/efi_64.c
> +++ b/arch/x86/platform/efi/efi_64.c
> @@ -48,8 +48,7 @@ static unsigned long efi_flags __initdata;
>   * We allocate runtime services regions bottom-up, starting from -4G, i.e.
>   * 0xffff_ffff_0000_0000 and limit EFI VA mapping space to 64G.
>   */
> -static u64 efi_va	= -4 * (1UL << 30);
> -#define EFI_VA_END	(-68 * (1UL << 30))
> +static u64 efi_va = EFI_VA_START;
>  
>  /*
>   * Scratch space used for switching the pagetable in the EFI stub
> -- 
> 1.7.10.4
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

-- 
Matt Fleming, Intel Open Source Technology Center

  reply	other threads:[~2014-10-03 13:47 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-21 15:26 [PATCHv2 0/3] x86, ptdump: a EFI related fix + enhancements Mathias Krause
2014-09-21 15:26 ` [PATCHv2 1/3] x86, ptdump: Add section for EFI runtime services Mathias Krause
2014-10-03 13:47   ` Matt Fleming [this message]
2014-10-07 15:01     ` Borislav Petkov
2014-10-07 17:07       ` Mathias Krause
2014-10-08 15:17         ` Borislav Petkov
2014-10-08 21:58           ` Mathias Krause
2014-10-08 22:26             ` Borislav Petkov
2014-10-12 12:55               ` Mathias Krause
2014-10-28 18:57                 ` Borislav Petkov
2014-10-28 19:48                   ` Mathias Krause
2014-10-28 20:13                     ` Borislav Petkov
2014-10-28 21:14                       ` Mathias Krause
2014-10-28 21:26                         ` Borislav Petkov
2014-10-28 21:49                           ` Mathias Krause
2014-10-28 22:07                             ` Borislav Petkov
2014-10-29  8:06                               ` Mathias Krause
2014-10-29 14:20                         ` Matt Fleming
2014-10-29 15:19                           ` Mathias Krause
2014-10-29 14:22                     ` Matt Fleming
2014-10-29 15:22                       ` Mathias Krause
2014-11-11 21:59                       ` Mathias Krause
2014-11-11 22:32                         ` Matt Fleming
2014-09-21 15:26 ` [PATCHv2 2/3] x86, ptdump: Simplify page flag evaluation code Mathias Krause
2014-09-21 19:49   ` Arjan van de Ven
2014-09-21 20:33     ` Mathias Krause
2014-09-24  7:45       ` Ingo Molnar
2014-09-25 19:27         ` Mathias Krause
2014-09-26  9:25           ` Ingo Molnar
2014-09-26 10:11             ` Borislav Petkov
2014-09-26 11:15               ` Ingo Molnar
2014-09-26 12:35             ` Mathias Krause
2014-09-21 15:26 ` [PATCHv2 3/3] x86, ptdump: Take parent page flags into account Mathias Krause

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20141003134707.GJ14343@console-pimps.org \
    --to=matt@console-pimps.org \
    --cc=bp@alien8.de \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=matt.fleming@intel.com \
    --cc=mingo@redhat.com \
    --cc=minipli@googlemail.com \
    --cc=tglx@linutronix.de \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.