lkml.org 
[lkml]   [2017]   [Dec]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.9 016/109] m68k: fix ColdFire node shift size calculation
    Date
    4.9-stable review patch.  If anyone has any objections, please let me know.

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

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


    [ Upstream commit f55ab8f27548ff3431a6567d400c6757c49fd520 ]

    The m68k pg_data_table is a fix size array defined in arch/m68k/mm/init.c.
    Index numbers within it are defined based on memory size. But for Coldfire
    these don't take into account a non-zero physical RAM base address, and this
    causes us to access past the end of this array at system start time.

    Change the node shift calculation so that we keep the index inside its range.

    Reported-by: Angelo Dureghello <angelo@sysam.it>
    Tested-by: Angelo Dureghello <angelo@sysam.it>
    Signed-off-by: Greg Ungerer <gerg@linux-m68k.org>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    arch/m68k/mm/mcfmmu.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    --- a/arch/m68k/mm/mcfmmu.c
    +++ b/arch/m68k/mm/mcfmmu.c
    @@ -169,7 +169,7 @@ void __init cf_bootmem_alloc(void)
    max_pfn = max_low_pfn = PFN_DOWN(_ramend);
    high_memory = (void *)_ramend;

    - m68k_virt_to_node_shift = fls(_ramend - _rambase - 1) - 6;
    + m68k_virt_to_node_shift = fls(_ramend - 1) - 6;
    module_fixup(NULL, __start_fixup, __stop_fixup);

    /* setup bootmem data */

    \
     
     \ /
      Last update: 2017-12-07 15:10    [W:3.746 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site