Patch "arm64: fix .data.rel.ro size assertion when CONFIG_LTO_CLANG" has been added to the 5.10-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    arm64: fix .data.rel.ro size assertion when CONFIG_LTO_CLANG

to the 5.10-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:
     arm64-fix-.data.rel.ro-size-assertion-when-config_lt.patch
and it can be found in the queue-5.10 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 37b7b178802f9ad94ee1ada3ac5c1883fe83679f
Author: Masahiro Yamada <masahiroy@xxxxxxxxxx>
Date:   Thu Nov 7 01:18:42 2024 +0900

    arm64: fix .data.rel.ro size assertion when CONFIG_LTO_CLANG
    
    [ Upstream commit 340fd66c856651d8c1d29f392dd26ad674d2db0e ]
    
    Commit be2881824ae9 ("arm64/build: Assert for unwanted sections")
    introduced an assertion to ensure that the .data.rel.ro section does
    not exist.
    
    However, this check does not work when CONFIG_LTO_CLANG is enabled,
    because .data.rel.ro matches the .data.[0-9a-zA-Z_]* pattern in the
    DATA_MAIN macro.
    
    Move the ASSERT() above the RW_DATA() line.
    
    Fixes: be2881824ae9 ("arm64/build: Assert for unwanted sections")
    Signed-off-by: Masahiro Yamada <masahiroy@xxxxxxxxxx>
    Acked-by: Will Deacon <will@xxxxxxxxxx>
    Link: https://lore.kernel.org/r/20241106161843.189927-1-masahiroy@xxxxxxxxxx
    Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/arch/arm64/kernel/vmlinux.lds.S b/arch/arm64/kernel/vmlinux.lds.S
index 71f4b5f24d15f..6922c4b3e974f 100644
--- a/arch/arm64/kernel/vmlinux.lds.S
+++ b/arch/arm64/kernel/vmlinux.lds.S
@@ -228,6 +228,9 @@ SECTIONS
 	__initdata_end = .;
 	__init_end = .;
 
+	.data.rel.ro : { *(.data.rel.ro) }
+	ASSERT(SIZEOF(.data.rel.ro) == 0, "Unexpected RELRO detected!")
+
 	_data = .;
 	_sdata = .;
 	RW_DATA(L1_CACHE_BYTES, PAGE_SIZE, THREAD_ALIGN)
@@ -279,9 +282,6 @@ SECTIONS
 		*(.plt) *(.plt.*) *(.iplt) *(.igot .igot.plt)
 	}
 	ASSERT(SIZEOF(.plt) == 0, "Unexpected run-time procedure linkages detected!")
-
-	.data.rel.ro : { *(.data.rel.ro) }
-	ASSERT(SIZEOF(.data.rel.ro) == 0, "Unexpected RELRO detected!")
 }
 
 #include "image-vars.h"




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux