On Mon, Sep 21, 2020 at 06:03:53PM +1000, Stephen Rothwell wrote: > diff --cc arch/arm64/mm/mmu.c > index 087a844b4d26,64211436629d..000000000000 > --- a/arch/arm64/mm/mmu.c > +++ b/arch/arm64/mm/mmu.c > @@@ -493,21 -483,10 +494,15 @@@ static void __init map_mem(pgd_t *pgdp > #endif > > /* map all the memory banks */ > - for_each_memblock(memory, reg) { > - phys_addr_t start = reg->base; > - phys_addr_t end = start + reg->size; > - > + for_each_mem_range(i, &start, &end) { > if (start >= end) > break; > - if (memblock_is_nomap(reg)) > - continue; > - > - __map_memblock(pgdp, start, end, PAGE_KERNEL, flags); > + /* > + * The linear map must allow allocation tags reading/writing > + * if MTE is present. Otherwise, it has the same attributes as > + * PAGE_KERNEL. > + */ > + __map_memblock(pgdp, start, end, PAGE_KERNEL_TAGGED, flags); > } It looks fine. Thanks Stephen. -- Catalin