Re: [PATCH 2/4] KVM: selftests: Add helper macros for ioctl()s that return file descriptors

From: Oliver Upton
Date: Fri Aug 04 2023 - 12:46:37 EST


Hi Sean,

On Thu, Aug 03, 2023 at 05:42:24PM -0700, Sean Christopherson wrote:
> Add KVM, VM, and vCPU scoped helpers for ioctl()s that return file
> descriptors, i.e. deduplicate code for asserting success on ioctls() for
> which a positive return value, not just zero, is considered success.
>
> Signed-off-by: Sean Christopherson <seanjc@xxxxxxxxxx>

I appreciate the desire to eliminate duplicate code, but I think the
naming just muddies the waters. TBH, when I first read the diff w/o the
changelog, I thought you were describing the input fd (i.e. 'kvm_fd',
'vm_fd', 'vcpu_fd'). I don't think explicitly spelling out the condition
each time (i.e. ret >= 0) is all that difficult.

[...]

> /*
> * Looks up and returns the value corresponding to the capability
> * (KVM_CAP_*) given by cap.
> */
> static inline int vm_check_cap(struct kvm_vm *vm, long cap)
> {
> - int ret = __vm_ioctl(vm, KVM_CHECK_EXTENSION, (void *)cap);
> -
> - TEST_ASSERT(ret >= 0, KVM_IOCTL_ERROR(KVM_CHECK_EXTENSION, ret));
> - return ret;
> + return vm_fd_ioctl(vm, KVM_CHECK_EXTENSION, (void *)cap);
> }

Though the same error condition, this isn't returning an fd.

--
Thanks,
Oliver