On Thu, 05 Jan, at 05:12:42PM, Dave Young wrote: > On 12/22/16 at 11:23am, Nicolai Stange wrote: > > Before invoking the arch specific handler, efi_mem_reserve() reserves > > the given memory region through memblock. > > > > efi_mem_reserve() can get called after mm_init() though -- through > > efi_bgrt_init(), for example. After mm_init(), memblock is dead and should > > not be used anymore. > > It did not fail during previous test so we did not catch this bug, if memblock > can not be used after mm_init(), IMHO it should fail instead of silently succeed. This must literally be the fifth time or so that I've been caught out by this over the years because there's no hard error if you call the memblock code after slab and co. are up. MM folks, is there some way to catch these errors without requiring the sprinkling of slab_is_available() everywhere? > Matt, can we move the efi_mem_reserve to earlier code for example in > efi_memblock_x86_reserve_range just after reserving the memmap? No, it *needs* to be callable from efi_bgrt_init(), because you only want to reserve those regions if you have the BGRT driver available. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>