diff mbox

powerpc/boot: Fix zImage TOC alignment

Message ID 1488930021-20227-1-git-send-email-mpe@ellerman.id.au (mailing list archive)
State Accepted
Headers show

Commit Message

Michael Ellerman March 7, 2017, 11:40 p.m. UTC
Recent toolchains force the TOC to be 256 byte aligned. We need to
enforce this alignment in the zImage linker script, otherwise pointers
to our TOC variables (__toc_start) could be incorrect. If the actual
start of the TOC and __toc_start don't have the same value we crash
early in the zImage wrapper.

Cc: stable@vger.kernel.org
Suggested-by: Alan Modra <amodra@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
---
 arch/powerpc/boot/zImage.lds.S | 1 +
 1 file changed, 1 insertion(+)

Comments

Michael Ellerman March 14, 2017, 11:45 a.m. UTC | #1
On Tue, 2017-03-07 at 23:40:21 UTC, Michael Ellerman wrote:
> Recent toolchains force the TOC to be 256 byte aligned. We need to
> enforce this alignment in the zImage linker script, otherwise pointers
> to our TOC variables (__toc_start) could be incorrect. If the actual
> start of the TOC and __toc_start don't have the same value we crash
> early in the zImage wrapper.
> 
> Cc: stable@vger.kernel.org
> Suggested-by: Alan Modra <amodra@gmail.com>
> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>

Applied to powerpc fixes.

https://git.kernel.org/powerpc/c/97ee351b50a49717543533cfb85b4b

cheers
diff mbox

Patch

diff --git a/arch/powerpc/boot/zImage.lds.S b/arch/powerpc/boot/zImage.lds.S
index 861e72109df2..f080abfc2f83 100644
--- a/arch/powerpc/boot/zImage.lds.S
+++ b/arch/powerpc/boot/zImage.lds.S
@@ -68,6 +68,7 @@  SECTIONS
   }
 
 #ifdef CONFIG_PPC64_BOOT_WRAPPER
+  . = ALIGN(256);
   .got :
   {
     __toc_start = .;