[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <cover.1694599703.git.isaku.yamahata@intel.com>
Date: Wed, 13 Sep 2023 03:48:49 -0700
From: isaku.yamahata@...el.com
To: kvm@...r.kernel.org, linux-kernel@...r.kernel.org
Cc: isaku.yamahata@...el.com, isaku.yamahata@...il.com,
Michael Roth <michael.roth@....com>,
Paolo Bonzini <pbonzini@...hat.com>,
Sean Christopherson <seanjc@...gle.com>, erdemaktas@...gle.com,
Sagi Shahar <sagis@...gle.com>,
David Matlack <dmatlack@...gle.com>,
Kai Huang <kai.huang@...el.com>,
Zhi Wang <zhi.wang.linux@...il.com>, chen.bo@...el.com,
linux-coco@...ts.linux.dev,
Chao Peng <chao.p.peng@...ux.intel.com>,
Ackerley Tng <ackerleytng@...gle.com>,
Vishal Annapurve <vannapurve@...gle.com>,
Yuan Yao <yuan.yao@...ux.intel.com>,
Jarkko Sakkinen <jarkko@...nel.org>,
Xu Yilun <yilun.xu@...el.com>,
Quentin Perret <qperret@...gle.com>, wei.w.wang@...el.com,
Fuad Tabba <tabba@...gle.com>
Subject: [RFC PATCH 0/6] KVM: gmem: Implement error_remove_page
From: Isaku Yamahata <isaku.yamahata@...el.com>
This patch series is to share my progress on the KVM gmem error_remove_page task.
Although I'm still working on test cases, I don't want to hold the patches
locally until I finish test cases.
- Update error_remove_page method. Unmap gfn on poisoned pages. Pass related
arguments. Unfortunately, the error_remove_page callback is passed struct
page. So the callback can't know about the actual poisoned address and range.
The memory poisoning would be based on cache line size, though.
- Add a new flag to KVM_EXIT_MEMORY_FAULT to indicate the page is poisoned.
- Add check in faultin_pfn_private. When the page is poisoned,
KVM_EXIT_MEMORY_FAULT(HWPOISON).
- Only test case for ioctl(FIBMAP). Test cases are TODO.
TODOs
- Implement test cases to inject HWPOISON or MCE by hwpoison
(/sys/kernel/debug/hwpoison/corrupt-pfn) or MCE injection
(/sys/kernel/debug/mce-inject).
- Update qemu to handle KVM_EXIT_MEMORY_FAULT(HWPOISON)
- Update TDX KVM to handle it and Add test cases for TDX.
- Try to inject HWPOISON as soon as the poison is detected.
Isaku Yamahata (6):
KVM: guest_memfd: Add config to show the capability to handle error
page
KVM: guestmem_fd: Make error_remove_page callback to unmap guest
memory
KVM: guest_memfd, x86: MEMORY_FAULT exit with hw poisoned page
KVM: guest_memfd: Implemnet bmap inode operation
KVM: selftests: Add selftest for guest_memfd() fibmap
KVM: X86: Allow KVM gmem hwpoison test cases
arch/x86/kvm/Kconfig | 2 +
arch/x86/kvm/mmu/mmu.c | 21 +++--
include/linux/kvm_host.h | 2 +
include/uapi/linux/kvm.h | 3 +-
.../testing/selftests/kvm/guest_memfd_test.c | 45 ++++++++++
virt/kvm/Kconfig | 7 ++
virt/kvm/guest_mem.c | 82 +++++++++++++++----
7 files changed, 139 insertions(+), 23 deletions(-)
base-commit: a5accd8596fa84b9fe00076444b5ef628d2351b9
--
2.25.1
Powered by blists - more mailing lists