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 <[email protected]>
Cc: Oscar Salvador <[email protected]>
Cc: Michal Hocko <[email protected]>
Cc: David Hildenbrand <[email protected]>
Cc: Pavel Tatashin <[email protected]>
Cc: Dan Williams <[email protected]>
Cc: Wei Yang <[email protected]>
Signed-off-by: David Hildenbrand <[email protected]>
---
 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

Reply via email to