mm/memremap: fix missing call to untrack_pfn() in pagemap_range()
authorMiaohe Lin <linmiaohe@huawei.com>
Tue, 31 May 2022 12:26:43 +0000 (20:26 +0800)
committerakpm <akpm@linux-foundation.org>
Wed, 1 Jun 2022 22:57:16 +0000 (15:57 -0700)
We forget to call untrack_pfn() to pair with track_pfn_remap() when range
is not allowed to hotplug.  Fix it by jump err_kasan.

Link: https://lkml.kernel.org/r/20220531122643.25249-1-linmiaohe@huawei.com
Fixes: bca3feaa0764 ("mm/memory_hotplug: prevalidate the address range being added with platform")
Signed-off-by: Miaohe Lin <linmiaohe@huawei.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Acked-by: Muchun Song <songmuchun@bytedance.com>
Cc: Anshuman Khandual <anshuman.khandual@arm.com>
Cc: Oscar Salvador <osalvador@suse.de>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/memremap.c

index 2b92e97..b870a65 100644 (file)
@@ -214,7 +214,7 @@ static int pagemap_range(struct dev_pagemap *pgmap, struct mhp_params *params,
 
        if (!mhp_range_allowed(range->start, range_len(range), !is_private)) {
                error = -EINVAL;
-               goto err_pfn_remap;
+               goto err_kasan;
        }
 
        mem_hotplug_begin();