Alexandru Elisei <alexandru.elisei@xxxxxxx> writes: > Hi, > > On Tue, Feb 11, 2025 at 01:08:52PM +0530, Aneesh Kumar K.V (Arm) wrote: >> Linux kernel documentation states: >> >> "Note! KVM_EXIT_MEMORY_FAULT is unique among all KVM exit reasons in >> that it accompanies a return code of '-1', not '0'! errno will always be >> set to EFAULT or EHWPOISON when KVM exits with KVM_EXIT_MEMORY_FAULT, >> userspace should assume kvm_run.exit_reason is stale/undefined for all >> other error numbers." " >> >> Update the KVM_RUN ioctl error handling to correctly handle >> KVM_EXIT_MEMORY_FAULT. > > I've tried to follow how kvmtool handles KVM_EXIT_MEMORY_FAULT before and after > this patch. > > Before: calls die_perror(). > After: prints more information about the error, in kvm_cpu_thread(). > > Is that what you want? Because "correctly handle KVM_EXIT_MEMORY_FAULT" can be > interpreted as kvmtool resolving the memory fault, which is something that > kvmtool does not do. > That is correct. The changes to enable the handling of KVM_EXIT_MEMORY_FAULT is not yet part of upstream [1]. But then the return value for KVM_RUN ioctl() is defined as part of Documentation/virt/kvm/api.rst in the Linux kernel. [1] https://gitlab.arm.com/linux-arm/kvmtool-cca/-/blob/cca/v4/arm/kvm-cpu.c?ref_type=heads#L247 > > Also, can you update kvm_exit_reasons with KVM_EXIT_MEMORY_FAULT, because > otherwise kvm_cpu_thread() will segfault when it tries to access > kvm_exit_reasons[KVM_EXIT_MEMORY_FAULT]. > Will update. -aneesh