On Thu, Mar 04, 2021 at 07:50:10AM -0800, Dave Hansen wrote: > On 3/1/21 12:32 AM, Oscar Salvador wrote: > > remove_pte_table() is prepared to handle the case where either the > > start or the end of the range is not PAGE aligned. > > This cannot actually happen: > > > > __populate_section_memmap enforces the range to be PMD aligned, > > so as long as the size of the struct page remains multiple of 8, > > the vmemmap range will be aligned to PAGE_SIZE. > > > > Drop the dead code and place a VM_BUG_ON in vmemmap_{populate,free} > > to catch nasty cases. > > I was wondering why the VM_BUG_ON()s went in vmemmap_free() instead of > closer to the code that you modified in remove_pte_table(). I assume > this was because vmemmap_free() is the only (indirect) caller of > remove_pte_table(). Yes, that was pretty much the reason. It seemed reasonable to me to fence it off at the "gate", and not further deep. Does it make sense to you? May I keep your Ack? Thanks Dave! > > Otherwise, this looks fine to me: > > Acked-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> > -- Oscar Salvador SUSE L3