mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 11:26:02 +09:00
Revert "ANDROID: KVM: arm64: Only map swap-backed pages into the guest"
This reverts commit 14ad77dd00.
Bug: 233587962
Signed-off-by: Will Deacon <willdeacon@google.com>
Change-Id: I42a107a75ec09cd6a721ada5df0aed18a939172a
This commit is contained in:
@@ -1189,22 +1189,7 @@ static int pkvm_mem_abort(struct kvm_vcpu *vcpu, phys_addr_t fault_ipa,
|
||||
ret = pin_user_pages(hva, 1, flags, &page, NULL);
|
||||
mmap_read_unlock(mm);
|
||||
|
||||
/*
|
||||
* We really can't deal with page-cache pages returned by GUP
|
||||
* because (a) we may trigger writeback of a page for which we
|
||||
* no longer have access and (b) page_mkclean() won't find the
|
||||
* stage-2 mapping in the rmap so we can get out-of-whack with
|
||||
* the filesystem when marking the page dirty during unpinning.
|
||||
*
|
||||
* Ideally we'd just restrict ourselves to anonymous pages, but
|
||||
* we also want to allow memfd (i.e. shmem) pages, so check for
|
||||
* pages backed by swap in the knowledge that the GUP pin will
|
||||
* prevent try_to_unmap() from succeeding.
|
||||
*/
|
||||
if (!PageSwapBacked(page)) {
|
||||
ret = -EIO;
|
||||
goto dec_account;
|
||||
} else if (ret == -EHWPOISON) {
|
||||
if (ret == -EHWPOISON) {
|
||||
kvm_send_hwpoison_signal(hva, PAGE_SHIFT);
|
||||
ret = 0;
|
||||
goto dec_account;
|
||||
|
||||
Reference in New Issue
Block a user