git: 01b0690c495e - main - if_vmx: fix panic during kldload

From: Eric van Gyzen <vangyzen_at_FreeBSD.org>
Date: Sat, 04 Oct 2025 20:24:21 UTC
The branch main has been updated by vangyzen:

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

commit 01b0690c495e1043a72cae9ee945f9f2c2adc216
Author:     Eric van Gyzen <vangyzen@FreeBSD.org>
AuthorDate: 2025-10-04 12:23:41 +0000
Commit:     Eric van Gyzen <vangyzen@FreeBSD.org>
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);