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.
Link: https://lkml.kernel.org/r/20220126092602.1425-1-linmiaohe@huawei.com
Signed-off-by: Miaohe Lin <linmiaohe@huawei.com>
Reviewed-by: Muchun Song <songmuchun@bytedance.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
 
        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: