On 6/19/2026 8:31 AM, Ackerley Tng via B4 Relay wrote:
@@ -4969,6 +4973,11 @@ static int kvm_vm_ioctl_check_extension_generic(struct
kvm *kvm, long arg)
return 1;
case KVM_CAP_GUEST_MEMFD_FLAGS:
return kvm_gmem_get_supported_flags(kvm);
+ case KVM_CAP_GUEST_MEMFD_MEMORY_ATTRIBUTES:
+ if (!gmem_in_place_conversion || !kvm_supports_private_mem(kvm))
+ return 0;
+
+ return KVM_MEMORY_ATTRIBUTE_PRIVATE;
#endif
default:
break;
this looks inconsistent with the
case KVM_SET_MEMORY_ATTRIBUTES2:
if (!gmem_in_place_conversion)
return -ENOTTY;
Well, the check of
if (!kvm_arch_has_private_mem(f->kvm))
return -EINVAL;
is buried in the following kvm_gmem_set_attributes(). How about moving
of kvm_arch_has_private_mem() check to put it along with
gmem_in_place_conversion check in kvm_gmem_ioctl() in Patch 13?