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();