ANDROID: KVM: arm64: Fix prot for __pkvm_host_use_dma_page

pkvm_mkstate expects prot and state to create a prot(including SW bits)
to be mapped in the page table, however the wrong macro for MMIO was
used which was the full PTE instead of prot.

Bug: 277989609
Bug: 278749606

Change-Id: I6e907d2010a699bc9690039929562e78a33198cc
Signed-off-by: Mostafa Saleh <smostafa@google.com>
This commit is contained in:
Mostafa Saleh 2024-06-11 12:27:52 +00:00
parent 9c451cdb92
commit ce6eb6fa08

View File

@ -2384,7 +2384,7 @@ static int __pkvm_host_use_dma_page(phys_addr_t phys_addr)
return 0;
if (state != PKVM_PAGE_OWNED)
return -EPERM;
prot = pkvm_mkstate(KVM_HOST_S2_DEFAULT_MMIO_PTE, PKVM_PAGE_MMIO_DMA);
prot = pkvm_mkstate(PKVM_HOST_MMIO_PROT, PKVM_PAGE_MMIO_DMA);
return host_stage2_idmap_locked(phys_addr, PAGE_SIZE, prot, false);
}