Patch "s390: expicitly align _edata and _end symbols on page boundary" has been added to the 5.15-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

    s390: expicitly align _edata and _end symbols on page boundary

to the 5.15-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:
     s390-expicitly-align-_edata-and-_end-symbols-on-page.patch
and it can be found in the queue-5.15 subdirectory.

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



commit 19294ae040c17ec0ccd194f8250d1b2efac70250
Author: Alexander Gordeev <agordeev@xxxxxxxxxxxxx>
Date:   Wed Dec 7 17:15:19 2022 +0100

    s390: expicitly align _edata and _end symbols on page boundary
    
    [ Upstream commit 45d619bdaf799196d702a9ae464b07066d6db2f9 ]
    
    Symbols _edata and _end in the linker script are the
    only unaligned expicitly on page boundary. Although
    _end is aligned implicitly by BSS_SECTION macro that
    is still inconsistent and could lead to a bug if a tool
    or function would assume that _edata is as aligned as
    others.
    
    For example, vmem_map_init() function does not align
    symbols _etext, _einittext etc. Should these symbols
    be unaligned as well, the size of ranges to update
    were short on one page.
    
    Instead of fixing every occurrence of this kind in the
    code and external tools just force the alignment on
    these two symbols.
    
    Reviewed-by: Heiko Carstens <hca@xxxxxxxxxxxxx>
    Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxxxxx>
    Signed-off-by: Heiko Carstens <hca@xxxxxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/arch/s390/kernel/vmlinux.lds.S b/arch/s390/kernel/vmlinux.lds.S
index b508ccad4856..8ce1615c1046 100644
--- a/arch/s390/kernel/vmlinux.lds.S
+++ b/arch/s390/kernel/vmlinux.lds.S
@@ -80,6 +80,7 @@ SECTIONS
 		_end_amode31_refs = .;
 	}
 
+	. = ALIGN(PAGE_SIZE);
 	_edata = .;		/* End of data section */
 
 	/* will be freed after init */
@@ -194,6 +195,7 @@ SECTIONS
 
 	BSS_SECTION(PAGE_SIZE, 4 * PAGE_SIZE, PAGE_SIZE)
 
+	. = ALIGN(PAGE_SIZE);
 	_end = . ;
 
 	/*



[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