[PATCH] arm64: mm: drop redundant remap of FDT first page

Sang-Heon Jeon ekffu200098 at gmail.com
Wed May 27 05:36:38 PDT 2026


On Wed, May 27, 2026 at 3:57 AM Catalin Marinas <catalin.marinas at arm.com> wrote:
>
> On Thu, May 14, 2026 at 02:01:01AM +0900, Sang-Heon Jeon wrote:
> > fixmap_remap_fdt() calls create_mapping_noalloc() to map the first
> > page of the FDT to read its magic and totalsize from the header. If
> > the FDT does not fit in a single page, it calls create_mapping_noalloc()
> > again to map the rest.
> >
> > The second mapping redundantly covers the first page that was just
> > mapped by the first mapping.
> >
> > Start the second mapping at dt_phys_base + PAGE_SIZE so it only covers
> > the pages that have not been mapped yet. No functional change.
> >
> > Signed-off-by: Sang-Heon Jeon <ekffu200098 at gmail.com>
> [...]
> > diff --git a/arch/arm64/mm/fixmap.c b/arch/arm64/mm/fixmap.c
> > index c5c5425791da..f8aea5572f7c 100644
> > --- a/arch/arm64/mm/fixmap.c
> > +++ b/arch/arm64/mm/fixmap.c
> > @@ -167,8 +167,9 @@ void *__init fixmap_remap_fdt(phys_addr_t dt_phys, int *size, pgprot_t prot)
> >               return NULL;
> >
> >       if (offset + *size > PAGE_SIZE) {
> > -             create_mapping_noalloc(dt_phys_base, dt_virt_base,
> > -                                    offset + *size, prot);
> > +             create_mapping_noalloc(dt_phys_base + PAGE_SIZE,
> > +                     dt_virt_base + PAGE_SIZE,
> > +                     offset + *size - PAGE_SIZE, prot);
> >       }
>
> Is it actually worth it? It's not that we allocate memory here or take a
> noticeable time to reach the first pte. I find the current easier to
> read.

Fair point. This is just a minor cleanup on my side.
If you feel the original reads better, happy to drop this patch.

Thanks for reviewing, Catalin.

Best Regards
Sang-Heon Jeon

> --
> Catalin



More information about the linux-arm-kernel mailing list