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

Sergey Kandaurov pluknet at gmail.com
Mon Nov 11 16:21:09 UTC 2013


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 };

-- 
wbr,
pluknet


More information about the freebsd-virtualization mailing list