lkml.org 
[lkml]   [2018]   [Feb]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.9 060/145] m68k: add missing SOFTIRQENTRY_TEXT linker section
    Date
    4.9-stable review patch.  If anyone has any objections, please let me know.

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

    From: Greg Ungerer <gerg@linux-m68k.org>


    [ Upstream commit 969de0988b77e5a57aac2f7270191a3c50540c52 ]

    Commit be7635e7287e ("arch, ftrace: for KASAN put hard/soft IRQ entries
    into separate sections") added a new linker section, SOFTIRQENTRY_TEXT,
    to the linker scripts for most architectures. It didn't add it to any of
    the linker scripts for the m68k architecture. This was not really a problem
    because it is only defined if either of CONFIG_FUNCTION_GRAPH_TRACER or
    CONFIG_KASAN are enabled - which can never be true for m68k.

    However commit 229a71860547 ("irq: Make the irqentry text section
    unconditional") means that SOFTIRQENTRY_TEXT is now always defined. So on
    m68k we now end up with a separate ELF section for .softirqentry.text
    instead of it being part of the .text section. On some m68k targets in some
    configurations this can also cause a fatal link error:

    LD vmlinux
    /usr/local/bin/../m68k-uclinux/bin/ld.real: section .softirqentry.text loaded at [0000000010de10c0,0000000010de12dd] overlaps section .rodata loaded at [0000000010de10c0,0000000010e0fd67]

    To fix add in the missing SOFTIRQENTRY_TEXT section into the m68k linker
    scripts. I noticed that m68k is also missing the IRQENTRY_TEXT section,
    so this patch also adds an entry for that too.

    Signed-off-by: Greg Ungerer <gerg@linux-m68k.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    arch/m68k/kernel/vmlinux-nommu.lds | 2 ++
    arch/m68k/kernel/vmlinux-std.lds | 2 ++
    arch/m68k/kernel/vmlinux-sun3.lds | 2 ++
    3 files changed, 6 insertions(+)

    --- a/arch/m68k/kernel/vmlinux-nommu.lds
    +++ b/arch/m68k/kernel/vmlinux-nommu.lds
    @@ -44,6 +44,8 @@ SECTIONS {
    .text : {
    HEAD_TEXT
    TEXT_TEXT
    + IRQENTRY_TEXT
    + SOFTIRQENTRY_TEXT
    SCHED_TEXT
    CPUIDLE_TEXT
    LOCK_TEXT
    --- a/arch/m68k/kernel/vmlinux-std.lds
    +++ b/arch/m68k/kernel/vmlinux-std.lds
    @@ -15,6 +15,8 @@ SECTIONS
    .text : {
    HEAD_TEXT
    TEXT_TEXT
    + IRQENTRY_TEXT
    + SOFTIRQENTRY_TEXT
    SCHED_TEXT
    CPUIDLE_TEXT
    LOCK_TEXT
    --- a/arch/m68k/kernel/vmlinux-sun3.lds
    +++ b/arch/m68k/kernel/vmlinux-sun3.lds
    @@ -15,6 +15,8 @@ SECTIONS
    .text : {
    HEAD_TEXT
    TEXT_TEXT
    + IRQENTRY_TEXT
    + SOFTIRQENTRY_TEXT
    SCHED_TEXT
    CPUIDLE_TEXT
    LOCK_TEXT

    \
     
     \ /
      Last update: 2018-02-23 20:57    [W:4.067 / U:0.604 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site