On Thu, Aug 22, 2019 at 03:45:34AM +0000, Chester Lin wrote: > adjust_lowmem_bounds() checks every memblocks in order to find the boundary > between lowmem and highmem. However some memblocks could be marked as NOMAP > so they are not used by kernel, which should be skipped while calculating > the boundary. > > Signed-off-by: Chester Lin <c...@suse.com>
Reviewed-by: Mike Rapoport <r...@linux.ibm.com> > --- > arch/arm/mm/mmu.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/arch/arm/mm/mmu.c b/arch/arm/mm/mmu.c > index 426d9085396b..b86dba44d828 100644 > --- a/arch/arm/mm/mmu.c > +++ b/arch/arm/mm/mmu.c > @@ -1181,6 +1181,9 @@ void __init adjust_lowmem_bounds(void) > phys_addr_t block_start = reg->base; > phys_addr_t block_end = reg->base + reg->size; > > + if (memblock_is_nomap(reg)) > + continue; > + > if (reg->base < vmalloc_limit) { > if (block_end > lowmem_limit) > /* > -- > 2.22.0 > -- Sincerely yours, Mike.