2022-06-01 18:43:21

by Miaohe Lin

[permalink] [raw]
Subject: [PATCH] mm/memremap: fix missing call to untrack_pfn() in pagemap_range()

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.

Fixes: bca3feaa0764 ("mm/memory_hotplug: prevalidate the address range being added with platform")
Signed-off-by: Miaohe Lin <[email protected]>
---
mm/memremap.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mm/memremap.c b/mm/memremap.c
index 2b92e97cb25b..b870a659eee6 100644
--- a/mm/memremap.c
+++ b/mm/memremap.c
@@ -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();
--
2.23.0



2022-06-01 20:40:41

by Muchun Song

[permalink] [raw]
Subject: Re: [PATCH] mm/memremap: fix missing call to untrack_pfn() in pagemap_range()

On Tue, May 31, 2022 at 08:26:43PM +0800, Miaohe Lin wrote:
> 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.
>
> Fixes: bca3feaa0764 ("mm/memory_hotplug: prevalidate the address range being added with platform")
> Signed-off-by: Miaohe Lin <[email protected]>

Good catch.

Acked-by: Muchun Song <[email protected]>

Thanks.