lkml.org 
[lkml]   [2019]   [Mar]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.0 15/52] MIPS: Ensure ELF appended dtb is relocated
    Date
    5.0-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Yasha Cherikovsky <yasha.che3@gmail.com>

    commit 3f0a53bc6482fb09770982a8447981260ea258dc upstream.

    This fixes booting with the combination of CONFIG_RELOCATABLE=y
    and CONFIG_MIPS_ELF_APPENDED_DTB=y.

    Sections that appear after the relocation table are not relocated
    on system boot (except .bss, which has special handling).

    With CONFIG_MIPS_ELF_APPENDED_DTB, the dtb is part of the
    vmlinux ELF, so it must be relocated together with everything else.

    Fixes: 069fd766271d ("MIPS: Reserve space for relocation table")
    Signed-off-by: Yasha Cherikovsky <yasha.che3@gmail.com>
    Signed-off-by: Paul Burton <paul.burton@mips.com>
    Cc: Ralf Baechle <ralf@linux-mips.org>
    Cc: Paul Burton <paul.burton@mips.com>
    Cc: James Hogan <jhogan@kernel.org>
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Cc: stable@vger.kernel.org # v4.7+
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    arch/mips/kernel/vmlinux.lds.S | 12 +++++++-----
    1 file changed, 7 insertions(+), 5 deletions(-)

    --- a/arch/mips/kernel/vmlinux.lds.S
    +++ b/arch/mips/kernel/vmlinux.lds.S
    @@ -140,6 +140,13 @@ SECTIONS
    PERCPU_SECTION(1 << CONFIG_MIPS_L1_CACHE_SHIFT)
    #endif

    +#ifdef CONFIG_MIPS_ELF_APPENDED_DTB
    + .appended_dtb : AT(ADDR(.appended_dtb) - LOAD_OFFSET) {
    + *(.appended_dtb)
    + KEEP(*(.appended_dtb))
    + }
    +#endif
    +
    #ifdef CONFIG_RELOCATABLE
    . = ALIGN(4);

    @@ -164,11 +171,6 @@ SECTIONS
    __appended_dtb = .;
    /* leave space for appended DTB */
    . += 0x100000;
    -#elif defined(CONFIG_MIPS_ELF_APPENDED_DTB)
    - .appended_dtb : AT(ADDR(.appended_dtb) - LOAD_OFFSET) {
    - *(.appended_dtb)
    - KEEP(*(.appended_dtb))
    - }
    #endif
    /*
    * Align to 64K in attempt to eliminate holes before the

    \
     
     \ /
      Last update: 2019-03-26 07:43    [W:3.210 / U:0.000 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site