From: Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org>
To: Ard Biesheuvel <ard.biesheuvel-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
Cc: "linux-efi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<linux-efi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
"linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org"
<linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>,
"leif.lindholm-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org"
<leif.lindholm-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
"msalter-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org"
<msalter-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
Will Deacon <Will.Deacon-5wv7dgnIgG8@public.gmane.org>,
"matt.fleming-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org"
<matt.fleming-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Subject: Re: [PATCH v2 2/3] arm64/efi: efistub: cover entire static mem footprint in PE/COFF .text
Date: Thu, 14 Aug 2014 12:31:25 +0100 [thread overview]
Message-ID: <20140814113125.GD24018@leverpostej> (raw)
In-Reply-To: <1406717944-24725-3-git-send-email-ard.biesheuvel-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
On Wed, Jul 30, 2014 at 11:59:03AM +0100, Ard Biesheuvel wrote:
> The static memory footprint of a kernel Image at boot is larger than the
> Image file itself. Things like .bss data and initial page tables are allocated
> statically but populated dynamically so their content is not contained in the
> Image file.
>
> However, if EFI (or GRUB) has loaded the Image at precisely the desired offset
> of base of DRAM + TEXT_OFFSET, the Image will be booted in place, and we have
> to make sure that the allocation done by the PE/COFF loader is large enough.
>
> Fix this by growing the PE/COFF .text section to cover the entire static
> memory footprint. The part of the section that is not covered by the payload
> will be zero initialised by the PE/COFF loader.
>
> Signed-off-by: Ard Biesheuvel <ard.biesheuvel-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
> Acked-by: Mark Salter <msalter-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
This looks sane to me and it seems we do the same for x86 as of
c7fb93ec51d4 (x86/efi: Include a .bss section within the PE/COFF
headers). So:
Acked-by: Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org>
> ---
> arch/arm64/kernel/head.S | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/arch/arm64/kernel/head.S b/arch/arm64/kernel/head.S
> index 144f10567f82..b6ca95aee348 100644
> --- a/arch/arm64/kernel/head.S
> +++ b/arch/arm64/kernel/head.S
> @@ -151,7 +151,7 @@ optional_header:
> .short 0x20b // PE32+ format
> .byte 0x02 // MajorLinkerVersion
> .byte 0x14 // MinorLinkerVersion
> - .long _edata - stext // SizeOfCode
> + .long _end - stext // SizeOfCode
> .long 0 // SizeOfInitializedData
> .long 0 // SizeOfUninitializedData
> .long efi_stub_entry - efi_head // AddressOfEntryPoint
> @@ -169,7 +169,7 @@ extra_header_fields:
> .short 0 // MinorSubsystemVersion
> .long 0 // Win32VersionValue
>
> - .long _edata - efi_head // SizeOfImage
> + .long _end - efi_head // SizeOfImage
>
> // Everything before the kernel image is considered part of the header
> .long stext - efi_head // SizeOfHeaders
> @@ -216,7 +216,7 @@ section_table:
> .byte 0
> .byte 0
> .byte 0 // end of 0 padding of section name
> - .long _edata - stext // VirtualSize
> + .long _end - stext // VirtualSize
> .long stext - efi_head // VirtualAddress
> .long _edata - stext // SizeOfRawData
> .long stext - efi_head // PointerToRawData
> --
> 1.8.3.2
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-efi" in
> the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
next prev parent reply other threads:[~2014-08-14 11:31 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-30 10:59 [PATCH 0/3 v2] arm64/efi: improve TEXT_OFFSET handling Ard Biesheuvel
[not found] ` <1406717944-24725-1-git-send-email-ard.biesheuvel-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2014-07-30 10:59 ` [PATCH v2 1/3] arm64: spin-table: handle unmapped cpu-release-addrs Ard Biesheuvel
[not found] ` <1406717944-24725-2-git-send-email-ard.biesheuvel-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2014-07-30 11:30 ` Will Deacon
[not found] ` <20140730113013.GL12239-5wv7dgnIgG8@public.gmane.org>
2014-07-30 12:00 ` Ard Biesheuvel
[not found] ` <CAKv+Gu-891BPCMCB2xnhsaUHxz_BCMkwbbwQ76kmK=JsUdifHQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-07-30 12:05 ` Ard Biesheuvel
2014-07-30 12:30 ` Mark Rutland
2014-07-30 12:42 ` Will Deacon
[not found] ` <20140730124258.GP12239-5wv7dgnIgG8@public.gmane.org>
2014-07-30 12:49 ` Mark Rutland
2014-07-30 13:10 ` Ard Biesheuvel
[not found] ` <CAKv+Gu-OunL2FdzvZ6y95cKaewOyFaoCgX+Rqsg4R92yLAg=tQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-07-30 13:28 ` Ard Biesheuvel
2014-07-30 19:17 ` Ard Biesheuvel
[not found] ` <CAKv+Gu8ne8k2NV12SyWye5aYJKHG0wHKAO+=V=1L89_hvyGopw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-07-31 9:45 ` Will Deacon
[not found] ` <20140731094515.GE26853-5wv7dgnIgG8@public.gmane.org>
2014-07-31 9:58 ` Mark Rutland
2014-07-31 10:04 ` Will Deacon
[not found] ` <20140731100439.GI26853-5wv7dgnIgG8@public.gmane.org>
2014-07-31 10:16 ` Ard Biesheuvel
2014-07-31 10:39 ` Mark Rutland
2014-08-01 11:35 ` Ard Biesheuvel
2014-07-31 14:41 ` Mark Salter
2014-07-31 10:01 ` Ard Biesheuvel
2014-07-30 10:59 ` [PATCH v2 2/3] arm64/efi: efistub: cover entire static mem footprint in PE/COFF .text Ard Biesheuvel
[not found] ` <1406717944-24725-3-git-send-email-ard.biesheuvel-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2014-08-14 11:31 ` Mark Rutland [this message]
2014-07-30 10:59 ` [PATCH v2 3/3] arm64/efi: efistub: don't abort if base of DRAM is occupied Ard Biesheuvel
[not found] ` <1406717944-24725-4-git-send-email-ard.biesheuvel-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2014-08-14 11:32 ` Mark Rutland
2014-08-20 17:10 ` Matt Fleming
[not found] ` <20140820171057.GG29733-HNK1S37rvNbeXh+fF434Mdi2O/JbrIOy@public.gmane.org>
2014-08-20 17:35 ` Mark Rutland
2014-08-21 8:00 ` Ard Biesheuvel
[not found] ` <CAKv+Gu-3wWQJf6DTSbx68cg4BV9FX4-5t=GQ+06ikvC4M5jSkw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-08-21 9:22 ` Matt Fleming
2014-09-09 19:39 ` Jon Masters
[not found] ` <540F577A.4040709-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2014-09-10 8:39 ` Will Deacon
2014-08-13 17:29 ` [PATCH 0/3 v2] arm64/efi: improve TEXT_OFFSET handling Leif Lindholm
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=20140814113125.GD24018@leverpostej \
--to=mark.rutland-5wv7dgnigg8@public.gmane.org \
--cc=Will.Deacon-5wv7dgnIgG8@public.gmane.org \
--cc=ard.biesheuvel-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
--cc=leif.lindholm-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
--cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
--cc=linux-efi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=matt.fleming-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
--cc=msalter-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox