diff --git a/components/lwp/lwp_user_mm.c b/components/lwp/lwp_user_mm.c index a765f8cbb3ff2a17bc70749c4aab20ba7360da2b..57473c3d9a85a083a1c210fba75608e993b17b06 100644 --- a/components/lwp/lwp_user_mm.c +++ b/components/lwp/lwp_user_mm.c @@ -129,6 +129,7 @@ int lwp_unmap_user(struct rt_lwp *lwp, void *va) int pa_need_free = 0; rt_mm_lock(); + va = (void *)((size_t)va & ~ARCH_PAGE_MASK); ma_avl_node = lwp_map_find(lwp->map_area, (size_t)va); if (!ma_avl_node) {