The branch main has been updated by vangyzen:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=01b0690c495e1043a72cae9ee945f9f2c2adc216

commit 01b0690c495e1043a72cae9ee945f9f2c2adc216
Author:     Eric van Gyzen <[email protected]>
AuthorDate: 2025-10-04 12:23:41 +0000
Commit:     Eric van Gyzen <[email protected]>
CommitDate: 2025-10-04 15:20:00 +0000

    if_vmx: fix panic during kldload
    
    Just like vmxnet3_intr_disable_all, iflib may invoke this routine
    before vmxnet3_attach_post() has run, which is before the top-level
    shared data area is initialized and the device made aware of it.
    
    MFC after:      1 week
    Sponsored by:   Dell Inc.
---
 sys/dev/vmware/vmxnet3/if_vmx.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/sys/dev/vmware/vmxnet3/if_vmx.c b/sys/dev/vmware/vmxnet3/if_vmx.c
index 62b5f313a137..1a314ca6660e 100644
--- a/sys/dev/vmware/vmxnet3/if_vmx.c
+++ b/sys/dev/vmware/vmxnet3/if_vmx.c
@@ -2056,7 +2056,12 @@ vmxnet3_update_admin_status(if_ctx_t ctx)
        struct vmxnet3_softc *sc;
 
        sc = iflib_get_softc(ctx);
-       if (sc->vmx_ds->event != 0)
+       /*
+        * iflib may invoke this routine before vmxnet3_attach_post() has
+        * run, which is before the top level shared data area is
+        * initialized and the device made aware of it.
+        */
+       if (sc->vmx_ds != NULL && sc->vmx_ds->event != 0)
                vmxnet3_evintr(sc);
 
        vmxnet3_refresh_host_stats(sc);

Reply via email to