• Steve Capper's avatar
    arm64: Initialise high_memory global variable earlier · f24e5834
    Steve Capper authored
    The high_memory global variable is used by
    cma_declare_contiguous(.) before it is defined.
    
    We don't notice this as we compute __pa(high_memory - 1), and it looks
    like we're processing a VA from the direct linear map.
    
    This problem becomes apparent when we flip the kernel virtual address
    space and the linear map is moved to the bottom of the kernel VA space.
    
    This patch moves the initialisation of high_memory before it used.
    
    Cc: <stable@vger.kernel.org>
    Fixes: f7426b98 ("mm: cma: adjust address limit to avoid hitting low/high memory boundary")
    Signed-off-by: default avatarSteve Capper <steve.capper@arm.com>
    Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
    f24e5834
init.c 19.2 KB