diff mbox series

mm/memremap: avoid calling kasan_remove_zero_shadow() for device private memory

Message ID 20220126092602.1425-1-linmiaohe@huawei.com (mailing list archive)
State New
Headers show
Series mm/memremap: avoid calling kasan_remove_zero_shadow() for device private memory | expand

Commit Message

Miaohe Lin Jan. 26, 2022, 9:26 a.m. UTC
For device private memory, we do not create a linear mapping for the memory
because the device memory is un-accessible. Thus we do not add kasan zero
shadow for it. So it's unnecessary to do kasan_remove_zero_shadow() for it.

Signed-off-by: Miaohe Lin <linmiaohe@huawei.com>
---
 mm/memremap.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Muchun Song Jan. 26, 2022, 10:06 a.m. UTC | #1
On Wed, Jan 26, 2022 at 5:27 PM Miaohe Lin <linmiaohe@huawei.com> wrote:
>
> For device private memory, we do not create a linear mapping for the memory
> because the device memory is un-accessible. Thus we do not add kasan zero
> shadow for it. So it's unnecessary to do kasan_remove_zero_shadow() for it.
>
> Signed-off-by: Miaohe Lin <linmiaohe@huawei.com>

Good catch.

Reviewed-by: Muchun Song <songmuchun@bytedance.com>
diff mbox series

Patch

diff --git a/mm/memremap.c b/mm/memremap.c
index d2a72cf2ff83..d9e05952fff6 100644
--- a/mm/memremap.c
+++ b/mm/memremap.c
@@ -302,7 +302,8 @@  static int pagemap_range(struct dev_pagemap *pgmap, struct mhp_params *params,
 	return 0;
 
 err_add_memory:
-	kasan_remove_zero_shadow(__va(range->start), range_len(range));
+	if (!is_private)
+		kasan_remove_zero_shadow(__va(range->start), range_len(range));
 err_kasan:
 	untrack_pfn(NULL, PHYS_PFN(range->start), range_len(range));
 err_pfn_remap: