vmm: Bump vmname buffer in struct vm to VM_MAX_NAMELEN + 1
In hw.vmm.create sysctl handler the maximum length of vm name is VM_MAX_NAMELEN. However in vm_create() the maximum length allowed is only VM_MAX_NAMELEN - 1 chars. Bump the length of the internal buffer to allow the length of VM_MAX_NAMELEN for vm name. MFC after: 3 days Reviewed by: grehan Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D31372
This commit is contained in:
parent
82bf6a2566
commit
df95cc76af
@ -174,7 +174,7 @@ struct vm {
|
||||
struct mem_map mem_maps[VM_MAX_MEMMAPS]; /* (i) guest address space */
|
||||
struct mem_seg mem_segs[VM_MAX_MEMSEGS]; /* (o) guest memory regions */
|
||||
struct vmspace *vmspace; /* (o) guest's address space */
|
||||
char name[VM_MAX_NAMELEN]; /* (o) virtual machine name */
|
||||
char name[VM_MAX_NAMELEN+1]; /* (o) virtual machine name */
|
||||
struct vcpu vcpu[VM_MAXCPU]; /* (i) guest vcpus */
|
||||
/* The following describe the vm cpu topology */
|
||||
uint16_t sockets; /* (o) num of sockets */
|
||||
@ -480,7 +480,8 @@ vm_create(const char *name, struct vm **retvm)
|
||||
if (!vmm_initialized)
|
||||
return (ENXIO);
|
||||
|
||||
if (name == NULL || strlen(name) >= VM_MAX_NAMELEN)
|
||||
if (name == NULL || strnlen(name, VM_MAX_NAMELEN + 1) ==
|
||||
VM_MAX_NAMELEN + 1)
|
||||
return (EINVAL);
|
||||
|
||||
vmspace = vmmops_vmspace_alloc(0, VM_MAXUSER_ADDRESS_LA48);
|
||||
|
Loading…
Reference in New Issue
Block a user