diff --git a/mm/share_pool.c b/mm/share_pool.c
index bd021da5a930bbd393792b64dbc4df224d36d213..d49c066d1229e1f475269422a3083eb6f2121622 100644
--- a/mm/share_pool.c
+++ b/mm/share_pool.c
@@ -2860,11 +2860,11 @@ static int is_vmap_hugepage(unsigned long addr)
 
 static unsigned long __sp_remap_get_pfn(unsigned long kva)
 {
-	unsigned long pfn;
+	unsigned long pfn = -EINVAL;
+
+	/* sp_make_share_k2u only support vmalloc address */
 	if (is_vmalloc_addr((void *)kva))
 		pfn = vmalloc_to_pfn((void *)kva);
-	else
-		pfn = virt_to_pfn(kva);
 
 	return pfn;
 }