Fix pinning Change-Id: Ie2ba49f5a304275f6bd0cd689d45230945421318
diff --git a/arch/arm64/kvm/hyp/nvhe/mem_protect.c b/arch/arm64/kvm/hyp/nvhe/mem_protect.c index 5f141cd..7e377d7 100644 --- a/arch/arm64/kvm/hyp/nvhe/mem_protect.c +++ b/arch/arm64/kvm/hyp/nvhe/mem_protect.c
@@ -1824,11 +1824,13 @@ int hyp_pin_shared_mem(void *from, void *to) ret = __hyp_check_page_state_range(start, size, PKVM_PAGE_SHARED_BORROWED); if (ret) - goto unlock; + goto unlock_pages; for (cur = start; cur < end; cur += PAGE_SIZE) hyp_page_ref_inc(hyp_virt_to_page(cur)); +unlock_pages: + __host_unlock_pages(__hyp_pa(start), size); unlock: host_unlock_component(); hyp_unlock_component();