Re: [PATCH v10 12/26] gunyah: vm_mgr: Add/remove user memory regions

From: Elliot Berman
Date: Thu Feb 16 2023 - 12:25:05 EST




On 2/15/2023 10:38 PM, Greg Kroah-Hartman wrote:
On Tue, Feb 14, 2023 at 01:24:16PM -0800, Elliot Berman wrote:

When launching a virtual machine, Gunyah userspace allocates memory for
the guest and informs Gunyah about these memory regions through
SET_USER_MEMORY_REGION ioctl.

It also frees memory, see below. Why not document that?


I can mention in commit text, too.

+ case GH_VM_SET_USER_MEM_REGION: {
+ struct gh_userspace_memory_region region;
+
+ if (copy_from_user(&region, argp, sizeof(region)))
+ return -EFAULT;
+
+ /* All other flag bits are reserved for future use */
+ if (region.flags & ~(GH_MEM_ALLOW_READ | GH_MEM_ALLOW_WRITE | GH_MEM_ALLOW_EXEC |
+ GH_MEM_LENT))
+ return -EINVAL;

Nice, thanks for validating that.


+
+

Nit, 2 blank lines are not needed :(


+ if (region.memory_size)
+ r = gh_vm_mem_alloc(ghvm, &region);
+ else
+ r = gh_vm_mem_free(ghvm, region.label);

So if you set the size to 0 it is freed? Wouldn't a separate ioctl make
more sense? Where is this logic documented to userspace? >

We're following KVM convention here. The logic is documented in patch 17/26.

Thanks,
Elliot