mirror of
https://github.com/torvalds/linux.git
synced 2026-03-08 01:04:41 +01:00
KVM: Rework KVM_CAP_GUEST_MEMFD_MMAP into KVM_CAP_GUEST_MEMFD_FLAGS
Rework the not-yet-released KVM_CAP_GUEST_MEMFD_MMAP into a more generic KVM_CAP_GUEST_MEMFD_FLAGS capability so that adding new flags doesn't require a new capability, and so that developers aren't tempted to bundle multiple flags into a single capability. Note, kvm_vm_ioctl_check_extension_generic() can only return a 32-bit value, but that limitation can be easily circumvented by adding e.g. KVM_CAP_GUEST_MEMFD_FLAGS2 in the unlikely event guest_memfd supports more than 32 flags. Reviewed-by: Ackerley Tng <ackerleytng@google.com> Tested-by: Ackerley Tng <ackerleytng@google.com> Reviewed-by: David Hildenbrand <david@redhat.com> Link: https://lore.kernel.org/r/20251003232606.4070510-2-seanjc@google.com Signed-off-by: Sean Christopherson <seanjc@google.com>
This commit is contained in:
parent
034417c143
commit
d2042d8f96
4 changed files with 19 additions and 13 deletions
|
|
@ -4928,8 +4928,11 @@ static int kvm_vm_ioctl_check_extension_generic(struct kvm *kvm, long arg)
|
|||
#ifdef CONFIG_KVM_GUEST_MEMFD
|
||||
case KVM_CAP_GUEST_MEMFD:
|
||||
return 1;
|
||||
case KVM_CAP_GUEST_MEMFD_MMAP:
|
||||
return !kvm || kvm_arch_supports_gmem_mmap(kvm);
|
||||
case KVM_CAP_GUEST_MEMFD_FLAGS:
|
||||
if (!kvm || kvm_arch_supports_gmem_mmap(kvm))
|
||||
return GUEST_MEMFD_FLAG_MMAP;
|
||||
|
||||
return 0;
|
||||
#endif
|
||||
default:
|
||||
break;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue