• Sean Christopherson's avatar
    KVM: Make KVM_MEM_GUEST_MEMFD mutually exclusive with KVM_MEM_READONLY · e5635922
    Sean Christopherson authored
    Disallow creating read-only memslots that support GUEST_MEMFD, as
    GUEST_MEMFD is fundamentally incompatible with KVM's semantics for
    read-only memslots.  Read-only memslots allow the userspace VMM to emulate
    option ROMs by filling the backing memory with readable, executable code
    and data, while triggering emulated MMIO on writes.  GUEST_MEMFD doesn't
    currently support writes from userspace and KVM doesn't support emulated
    MMIO on private accesses, i.e. the guest can only ever read zeros, and
    writes will always be treated as errors.
    
    Cc: Fuad Tabba <tabba@google.com>
    Cc: Michael Roth <michael.roth@amd.com>
    Cc: Isaku Yamahata <isaku.yamahata@gmail.com>
    Cc: Yu Zhang <yu.c.zhang@linux.intel.com>
    Cc: Chao Peng <chao.p.peng@linux.intel.com>
    Fixes: a7800aa8 ("KVM: Add KVM_CREATE_GUEST_MEMFD ioctl() for guest-specific backing memory")
    Link: https://lore.kernel.org/r/20240222190612.2942589-2-seanjc@google.comSigned-off-by: default avatarSean Christopherson <seanjc@google.com>
    e5635922
kvm_main.c 166 KB