Running `sysctl -a` causes crash (Hyper-V)

Roger Pau Monné roger.pau at citrix.com
Mon Nov 11 16:26:20 UTC 2013


On 11/11/13 17:21, Sergey Kandaurov wrote:
> On 11 November 2013 20:00, Roger Pau Monné <roger.pau at citrix.com> wrote:
>> On 11/11/13 15:31, Sergey Kandaurov wrote:
>>> On 11 November 2013 18:13, Pavel Timofeev <timp87 at gmail.com> wrote:
>>>> [...]
>>>> (kgdb) p vm_guest
>>>> $1 = 3
>>>> Current language:  auto; currently minimal
>>>> (kgdb)
>>>>
>>>
>>> What if you try this change?
>>>
>>> Index: sys/kern/subr_param.c
>>> ===================================================================
>>> --- sys/kern/subr_param.c    (revision 257695)
>>> +++ sys/kern/subr_param.c    (working copy)
>>> @@ -153,6 +153,7 @@
>>>      "none",
>>>      "generic",
>>>      "xen",
>>> +    "hv",
>>>      NULL
>>>  };
>>
>> This is my fault, I've added VM_GUEST_HV to the guest type enum without
>> knowing there was another array in a completely different file that
>> contained a description for those values.
> 
> Ok, I committed the fix in r257996.
> 
>>
>> If you (or someone else) are going to commit this change, I would
>> recommend adding a BIG comment in sys/systm.h above the declaration of
>> VM_GUEST explaining that if you add a new guest type there you also need
>> to add a description in subr_param.c, this will probably prevent
>> something like this happening again.
>>
> 
> What about this change?
> 
> Index: sys/sys/systm.h
> ===================================================================
> --- sys/sys/systm.h    (revision 257695)
> +++ sys/sys/systm.h    (working copy)
> @@ -70,6 +70,7 @@
>   * Detected virtual machine guest types. The intention is to expand
>   * and/or add to the VM_GUEST_VM type if specific VM functionality is
>   * ever implemented (e.g. vendor-specific paravirtualization features).
> + * Keep in sync with vm_guest_sysctl_names[].
>   */
>  enum VM_GUEST { VM_GUEST_NO = 0, VM_GUEST_VM, VM_GUEST_XEN, VM_GUEST_HV };

Looks good to me.



More information about the freebsd-virtualization mailing list