Messages in this thread | | | Date | Fri, 4 Aug 2023 16:58:26 +0200 | Subject | Re: [PATCH 3/4] KVM: selftests: Use asserting kvm_ioctl() macros when getting ARM page sizes | From | Michal Luczaj <> |
| |
On 8/4/23 02:42, Sean Christopherson wrote: > Use kvm_ioctl() instead of open coding equivalent ioctl()+TEST_ASSERT() > calls when getting the support page sizes on ARM. The macro usage is a > little funky since the "kvm_fd" parameter implies an actual /dev/kvm fd, > but on the other hand the code is invoking KVM ioctl()s. > > Alternatively, the core utilities could expose a vm_open()+vm_close() > pair so that the ARM code could create a dummy, on-stack VM+vCPU pair and > use {vm,vcpu}_ioctl() as appropriate. But the odds of something breaking > due to oddball, partial usage of kvm_vm and kvm_vcpu structures is much > higher than realizing meaningful benefit from using {vm,vcpu}_ioctl().
Since you're doing the cleanup, does mmio_warning_test qualify for the same (funky usage ahead)?
- kvm = open("/dev/kvm", O_RDWR); - TEST_ASSERT(kvm != -1, "failed to open /dev/kvm"); - kvmvm = __kvm_ioctl(kvm, KVM_CREATE_VM, NULL); - TEST_ASSERT(kvmvm > 0, KVM_IOCTL_ERROR(KVM_CREATE_VM, kvmvm)); - kvmcpu = ioctl(kvmvm, KVM_CREATE_VCPU, 0); - TEST_ASSERT(kvmcpu != -1, KVM_IOCTL_ERROR(KVM_CREATE_VCPU, kvmcpu)); + kvm = open_path_or_exit(KVM_DEV_PATH, O_RDWR); + kvmvm = kvm_fd_ioctl(kvm, KVM_CREATE_VM, NULL); + kvmcpu = kvm_fd_ioctl(kvmvm, KVM_CREATE_VCPU, NULL);
Side note, just in case this wasn't your intention: no kvm@ in cc.
thanks, Michal
| |