On 6/5/26 09:23, David Hildenbrand (Arm) wrote:
>>>  static bool
>>> @@ -47,11 +56,26 @@ memfd_backend_memory_alloc(HostMemoryBackend *backend, 
>>> Error **errp)
>>>          goto have_fd;
>>>      }
>>>  
>>> -    fd = qemu_memfd_create(TYPE_MEMORY_BACKEND_MEMFD, backend->size,
>>> -                           m->hugetlb, m->hugetlbsize, m->seal ?
>>> -                           F_SEAL_GROW | F_SEAL_SHRINK | F_SEAL_SEAL : 0,
>>> -                           errp);
>>> -    if (fd == -1) {
>>> +    if (m->guest_memfd) {
>>> +        /* User choose to use fully shared guest-memfd to back the VM.. */
>>> +        if (!backend->share) {
>>> +            error_setg(errp, "Guest-memfd=on must be used with share=on");
>>> +            return false;
>>> +        }
>>> +
>>> +        /* TODO: add huge page support */
>>
>> Until that's added, the related options should be disabled. m->seal as
>> well doesn't seem to be applicable for guest_memfd case.
> 
> Which raises the question whether we want a new backend (I think you implement
> that in your version).
> 
> guest_memfd is rather different in some aspects (e.g., resizing is already
> completely forbidden).
> 
> What are the pros and cons of either approach?
> 

Ah, I see a discussion on that starting here:

https://lore.kernel.org/r/lpkcfd2crgparcd64ydry3ocryx3sfc5gj5pzrrms4nwvw6j4c@ulc3wa3rmefo


-- 
Cheers,

David

Reply via email to