On 2015-01-21 00:48, Russell King - ARM Linux wrote: > On Wed, Jan 21, 2015 at 12:37:44AM +0100, Stefan Agner wrote: >> Add early fixmap support, initially to support permanent, fixed >> mapping support for early console. A temporary, early pte is >> created which is migrated to a permanent mapping in paging_init. >> This is also needed since the attributs may change as the memory >> types are initialized. The 3MiB range of fixmap spans two pte >> tables, but currently only one pte is created for early fixmap >> support. > > I think this needs to be done more carefully - I think the entry(ies) > should be removed, the TLBs flushed, and the new entry established. > So:
I'm not experienced in mm development, hence please review critical. > >> +static void __init early_fixmap_shutdown(void) >> +{ >> + int i; >> + >> + pte_offset_fixmap = &pte_offset_late_fixmap; >> + pmd_clear(fixmap_pmd(fix_to_virt(__end_of_permanent_fixed_addresses - >> 1))); > > I think you should flush tlbs here. Even this shutdown function is still before preemption or SMP, hence local_flush_tlb_kernel_page should be fine here? -- Stefan -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/