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? > + case GH_VM_SET_USER_MEM_REGION: { > + struct gh_userspace_memory_region region; > + > + if (copy_from_user(®ion, 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, ®ion); > + 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? thanks, greg k-h