[Bug 274810] FreeBSD 14.0-RC3 early crash during boot on Vultr

From: <bugzilla-noreply_at_freebsd.org>
Date: Mon, 30 Oct 2023 19:34:26 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=274810

Mitchell Horne <mhorne@freebsd.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|New                         |Open
                 CC|                            |mhorne@freebsd.org

--- Comment #1 from Mitchell Horne <mhorne@freebsd.org> ---
Hi,

I looked at the reported faulting address in objdump/addr2line. It seems to be
the result of a bad call to acpi_get_handle(), whose definition is expanded
from line 280 of acpivar.h.

Consider the following two lines in vmbus_doattach(), added in e7a9817b8d32
(Sept 2023):

        dev_res =  devclass_get_device(devclass_find("vmbus_res"), 0);
        handle = acpi_get_handle(dev_res);

There is no NULL check for dev_res, which means if the vmbus_res0 device is not
found (attached), we will get a page fault in the following call to
acpi_get_handle().

Now, _why_ vmbus_res0 can't be found, I cannot guess. It has similar attachment
criteria to vmbus0.

Strangely, my Vultr VM doesn't run on Hyper-V, instead the kern.vm_guest sysctl
reports "kvm". So this is all I can do when it comes to testing/debugging. Let
me tag the maintainers.

-- 
You are receiving this mail because:
You are the assignee for the bug.