Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 07 Apr 2026 20:26:44 +0000
From:      bugzilla-noreply@freebsd.org
To:        bugs@FreeBSD.org
Subject:   [Bug 294312] Page fault with vmx0 interface (devctl disable / enable)
Message-ID:  <bug-294312-227@https.bugs.freebsd.org/bugzilla/>

index | next in thread | raw e-mail

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=294312

            Bug ID: 294312
           Summary: Page fault with vmx0 interface (devctl disable /
                    enable)
           Product: Base System
           Version: 14.3-RELEASE
          Hardware: amd64
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: kern
          Assignee: bugs@FreeBSD.org
          Reporter: mibelanger@qnx.com

Created attachment 269469
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=269469&action=edit
Screen shot of crash

Running in vmware.  Use a vmxnet3 device.

FreeBSD will create an vmx0 interface.

A page fault can be reproduced by disabling and enabling the device.
i.e.
# devctl disable vmx0
# devctl enable vmx0

The problem is that the admin status handler is being invoked by netlink.
When the interface first comes up, there are no listeners so
rtnl_handle_ifevent does not do very much.

I believe a listener will be added by invoking ifconfig, or maybe it gets
invoked when devctl disable is called.

When the devctl enable runs, the code in rtnl_handle_ifevent will make it past
the test for listeners and calls dump_iface.

This eventually gets to vmxnet3_update_admin_status and will crash as
sc->vmx_ds is NULL:

static void
vmxnet3_update_admin_status(if_ctx_t ctx)
{
        struct vmxnet3_softc *sc;

        sc = iflib_get_softc(ctx);
        if (sc->vmx_ds->event != 0)<<<<<here
                vmxnet3_evintr(sc);

        vmxnet3_refresh_host_stats(sc);
}

This may impact other iflib drivers depending on their update_admin_status
iflib callbacks.

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

home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-294312-227>