The error path should never happen in practice (unless bringing up a new device driver, or on BUGs). However, it's clearer to not touch anything in case we are going to return right away. Move the check/return. Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Oscar Salvador <osalvador@xxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxxx> Cc: David Hildenbrand <david@xxxxxxxxxx> Cc: Pavel Tatashin <pasha.tatashin@xxxxxxxxxx> Cc: Dan Williams <dan.j.williams@xxxxxxxxx> Cc: Wei Yang <richardw.yang@xxxxxxxxxxxxxxx> Signed-off-by: David Hildenbrand <david@xxxxxxxxxx> --- mm/memory_hotplug.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c index 32a5386758ce..71779b7b14df 100644 --- a/mm/memory_hotplug.c +++ b/mm/memory_hotplug.c @@ -542,13 +542,13 @@ void __remove_pages(struct zone *zone, unsigned long pfn, unsigned long map_offset = 0; unsigned long nr, start_sec, end_sec; + if (check_pfn_span(pfn, nr_pages, "remove")) + return; + map_offset = vmem_altmap_offset(altmap); clear_zone_contiguous(zone); - if (check_pfn_span(pfn, nr_pages, "remove")) - return; - start_sec = pfn_to_section_nr(pfn); end_sec = pfn_to_section_nr(pfn + nr_pages - 1); for (nr = start_sec; nr <= end_sec; nr++) { -- 2.21.0